Browse Source

上传qq音乐播放逻辑代码优化

newdev_shunjiawei
liwei1dao 1 year ago
parent
commit
957dbe35dd
  1. 10
      lib/modules/agent/controllers/agent_controller.dart
  2. 5
      lib/modules/qqmusic/views/qqmusic_playlist_view.dart
  3. 14
      local_plugins/chat_api/android/src/main/kotlin/com/yunqiinnovation/chat_api/QQMusicSystemFunctionHandler.kt

10
lib/modules/agent/controllers/agent_controller.dart

@ -719,7 +719,15 @@ class AgentController extends GetxController {
);
}
}
if (metaResult.containsKey("maps_route_navigation")) {
if (metaResult.containsKey("qqmusic_searchandplay_songs")) {
final qqmusic_search_songs =
metaResult['qqmusic_searchandplay_songs']
as Map<String, dynamic>;
final data = qqmusic_search_songs['data'];
if (data != null && data is List) {
_qqmusicManager.syncCurrentPlayInfo();
}
} else if (metaResult.containsKey("maps_route_navigation")) {
//导航
final start = metaResult["maps_route_navigation"]
["card_navigation"]["start"] as String;

5
lib/modules/qqmusic/views/qqmusic_playlist_view.dart

@ -96,14 +96,15 @@ class QqmusicPlaylistView extends GetView<QQMusicPlaylistController> {
),
);
}
return Container(
padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 12.h),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// 封面图片 - 现在安全了
_buildCoverImage(currentSong.albumPic ?? '', isDarkMode, size: 110.w),
_buildCoverImage(currentSong.albumPic ?? '', isDarkMode,
size: 110.w),
SizedBox(height: 12.h),
// 歌曲信息 - 现在安全了
_buildSongInfo(currentSong.name, currentSong.artist, isDarkMode),

14
local_plugins/chat_api/android/src/main/kotlin/com/yunqiinnovation/chat_api/QQMusicSystemFunctionHandler.kt

@ -232,7 +232,7 @@ private class QQMusicSearchHandler(private val context: Context?) : FunctionHand
val duration = songMap["duration"] ?: 0
"{\"mid\": \"$mid\", \"name\": \"$name\", \"artist\": \"$artist\", \"album\": \"$album\", \"duration\":$duration,\"pic\": \"$pic\"}"
}
"{\"success\": true, \"message\": \"搜索成功,增在播放\", \"data\": [$songsJson]}"
"{\"success\": true, \"broadcast\": false, \"message\": \"搜索成功,增在播放\", \"data\": [$songsJson]}"
} else {
val error = searchResult.exceptionOrNull()
"{\"success\": false, \"message\": \"搜索失败: ${error?.message}\"}"
@ -309,7 +309,7 @@ private class QQMusicPauseHandler(private val context: Context?) : FunctionHandl
qqMusicSingleton.pauseMusic { pauseResult ->
result = if (pauseResult.isSuccess) {
"{\"success\": true, \"message\": \"暂停播放\"}"
"{\"notreply\": true, \"success\": true, \"message\": \"暂停播放\"}"
} else {
val error = pauseResult.exceptionOrNull()
"{\"success\": false, \"message\": \"暂停失败: ${error?.message}\"}"
@ -333,7 +333,7 @@ private class QQMusicResumeHandler(private val context: Context?) : FunctionHand
qqMusicSingleton.resumeMusic { resumeResult ->
result = if (resumeResult.isSuccess) {
"{\"success\": true, \"message\": \"恢复播放\"}"
"{\"notreply\": true, \"success\": true, \"message\": \"恢复播放\"}"
} else {
val error = resumeResult.exceptionOrNull()
"{\"success\": false, \"message\": \"恢复播放失败: ${error?.message}\"}"
@ -357,7 +357,7 @@ private class QQMusicStopHandler(private val context: Context?) : FunctionHandle
qqMusicSingleton.stopMusic { stopResult ->
result = if (stopResult.isSuccess) {
"{\"success\": true, \"message\": \"停止播放\"}"
"{\"notreply\": true, \"success\": true, \"message\": \"停止播放\"}"
} else {
val error = stopResult.exceptionOrNull()
"{\"success\": false, \"message\": \"停止失败: ${error?.message}\"}"
@ -381,7 +381,7 @@ private class QQMusicNextHandler(private val context: Context?) : FunctionHandle
qqMusicSingleton.skipToNext { nextResult ->
result = if (nextResult.isSuccess) {
"{\"success\": true, \"message\": \"切换到下一首\"}"
"{\"notreply\": true, \"success\": true, \"message\": \"切换到下一首\"}"
} else {
val error = nextResult.exceptionOrNull()
"{\"success\": false, \"message\": \"切换失败: ${error?.message}\"}"
@ -405,7 +405,7 @@ private class QQMusicPreviousHandler(private val context: Context?) : FunctionHa
qqMusicSingleton.skipToPrevious { previousResult ->
result = if (previousResult.isSuccess) {
"{\"success\": true, \"message\": \"切换到上一首\"}"
"{\"notreply\": true, \"success\": true, \"message\": \"切换到上一首\"}"
} else {
val error = previousResult.exceptionOrNull()
"{\"success\": false, \"message\": \"切换失败: ${error?.message}\"}"
@ -433,7 +433,7 @@ private class QQMusicGetPlaybackStateHandler(private val context: Context?) : Fu
val stateJson = state.entries.joinToString(",") { (key, value) ->
"\"$key\": \"$value\""
}
"{\"success\": true, \"message\": \"获取播放状态成功\", \"data\": {$stateJson}}"
"{\"notreply\": true, \"success\": true, \"message\": \"获取播放状态成功\", \"data\": {$stateJson}}"
} else {
val error = stateResult.exceptionOrNull()
"{\"success\": false, \"message\": \"获取播放状态失败: ${error?.message}\"}"

Loading…
Cancel
Save