From 438f6efac8e7cf0e8e5cca532203bb7a195f6a62 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Wed, 23 Apr 2025 10:18:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/data/services/spotify_service.dart | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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, '