diff --git a/lib/data/services/spotify_service.dart b/lib/data/services/spotify_service.dart index 983868394..05d439e18 100644 --- a/lib/data/services/spotify_service.dart +++ b/lib/data/services/spotify_service.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:io'; import 'dart:convert'; import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:get_storage/get_storage.dart'; import 'package:spotify_sdk/spotify_sdk.dart'; import 'package:get/get.dart'; import 'ai_service.dart'; @@ -11,6 +12,10 @@ import 'package:path_provider/path_provider.dart'; /// OpenAI服务适配器 - 连接AiService接口与OpenAIService插件 class SpotifService { bool isInitialized = false; + final GetStorage _storage = GetStorage(); + + late String SPOTIFY_CLIENT_ID; + late String SPOTIFY_REDIRECT_URL; /// 初始化OpenAI服务 Future initialize() async { @@ -18,6 +23,9 @@ class SpotifService { await getAccessToken(); await connectToSpotifyRemote(); isInitialized = true; + final _env = _storage.read("ENV") as Map; + SPOTIFY_CLIENT_ID = _env['SPOTIFY_CLIENT_ID'] ?? ''; + SPOTIFY_REDIRECT_URL = _env['SPOTIFY_REDIRECT_URL'] ?? ''; printInfo(info: "SpotifService----------- initialize"); } @@ -28,8 +36,8 @@ class SpotifService { Future connectToSpotifyRemote() async { try { var result = await SpotifySdk.connectToSpotifyRemote( - clientId: dotenv.env['SPOTIFY_CLIENT_ID'].toString(), - redirectUrl: dotenv.env['SPOTIFY_REDIRECT_URL'].toString(), + clientId: SPOTIFY_CLIENT_ID, + redirectUrl: SPOTIFY_REDIRECT_URL, scope: 'user-read-private user-read-email streaming app-remote-control user-modify-playback-state', ); @@ -46,8 +54,8 @@ class SpotifService { Future getAccessToken() async { try { var authenticationToken = await SpotifySdk.getAccessToken( - clientId: dotenv.env['SPOTIFY_CLIENT_ID'].toString(), - redirectUrl: dotenv.env['SPOTIFY_REDIRECT_URL'].toString(), + clientId: SPOTIFY_CLIENT_ID, + redirectUrl: SPOTIFY_REDIRECT_URL, scope: 'app-remote-control, ' 'user-modify-playback-state, ' 'playlist-read-private, '