diff --git a/lib/http/init.dart b/lib/http/init.dart index db56fa70..8a11034c 100644 --- a/lib/http/init.dart +++ b/lib/http/init.dart @@ -9,6 +9,7 @@ import 'package:dio/dio.dart'; import 'package:dio/io.dart'; import 'package:dio_cookie_manager/dio_cookie_manager.dart'; import 'package:hive/hive.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/id_utils.dart'; import '../utils/storage.dart'; import '../utils/utils.dart'; @@ -43,7 +44,7 @@ class Request { dio.interceptors.add(cookieManager); final List cookie = await cookieManager.cookieJar .loadForRequest(Uri.parse(HttpString.baseUrl)); - final userInfo = userInfoCache.get('userInfoCache'); + final UserInfoData? userInfo = userInfoCache.get('userInfoCache'); if (userInfo != null && userInfo.mid != null) { final List cookie2 = await cookieManager.cookieJar .loadForRequest(Uri.parse(HttpString.tUrl)); diff --git a/lib/http/member.dart b/lib/http/member.dart index 53e14eae..66d0ff47 100644 --- a/lib/http/member.dart +++ b/lib/http/member.dart @@ -4,6 +4,7 @@ import 'package:hive/hive.dart'; import 'package:html/parser.dart'; import 'package:pilipala/models/member/article.dart'; import 'package:pilipala/models/member/like.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/global_data_cache.dart'; import '../common/constants.dart'; import '../models/dynamics/result.dart'; @@ -472,9 +473,9 @@ class MemberHttp { String accessKey = res.data['data']['access_token']; Box localCache = GStorage.localCache; Box userInfoCache = GStorage.userInfo; - var userInfo = userInfoCache.get('userInfoCache'); + final UserInfoData? userInfo = userInfoCache.get('userInfoCache'); localCache.put( - LocalCacheKey.accessKey, {'mid': userInfo.mid, 'value': accessKey}); + LocalCacheKey.accessKey, {'mid': userInfo!.mid, 'value': accessKey}); return {'status': true, 'data': [], 'msg': '操作成功'}; } else { return { diff --git a/lib/pages/bangumi/controller.dart b/lib/pages/bangumi/controller.dart index 746808bf..e7582cfc 100644 --- a/lib/pages/bangumi/controller.dart +++ b/lib/pages/bangumi/controller.dart @@ -3,6 +3,7 @@ import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/http/bangumi.dart'; import 'package:pilipala/models/bangumi/list.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; class BangumiController extends GetxController { @@ -15,14 +16,14 @@ class BangumiController extends GetxController { Box userInfoCache = GStorage.userInfo; RxBool userLogin = false.obs; late int mid; - var userInfo; + UserInfoData? userInfo; @override void onInit() { super.onInit(); userInfo = userInfoCache.get('userInfoCache'); if (userInfo != null) { - mid = userInfo.mid; + mid = userInfo!.mid!; } userLogin.value = userInfo != null; } @@ -55,7 +56,7 @@ class BangumiController extends GetxController { if (userInfo == null) { return; } - var result = await BangumiHttp.getRecentBangumi(mid: userInfo.mid); + var result = await BangumiHttp.getRecentBangumi(mid: userInfo!.mid!); if (result['status']) { bangumiFollowList.value = result['data'].list; total.value = result['data'].total; diff --git a/lib/pages/bangumi/introduction/controller.dart b/lib/pages/bangumi/introduction/controller.dart index 2e6cd392..f06e6ee8 100644 --- a/lib/pages/bangumi/introduction/controller.dart +++ b/lib/pages/bangumi/introduction/controller.dart @@ -8,6 +8,7 @@ import 'package:pilipala/http/search.dart'; import 'package:pilipala/http/video.dart'; import 'package:pilipala/models/bangumi/info.dart'; import 'package:pilipala/models/user/fav_folder.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/pages/video/detail/index.dart'; import 'package:pilipala/pages/video/detail/reply/index.dart'; import 'package:pilipala/plugin/pl_player/models/play_repeat.dart'; @@ -57,7 +58,7 @@ class BangumiIntroController extends GetxController { RxBool isFollowed = false.obs; RxInt followStatus = 1.obs; int _tempThemeValue = -1; - var userInfo; + UserInfoData? userInfo; PersistentBottomSheetController? bottomSheetController; List> followStatusList = [ {'title': '标记为 「想看」', 'status': 1}, @@ -259,7 +260,7 @@ class BangumiIntroController extends GetxController { Future queryVideoInFolder() async { var result = await VideoHttp.videoInFolder( - mid: userInfo.mid, rid: IdUtils.bv2av(bvid)); + mid: userInfo!.mid!, rid: IdUtils.bv2av(bvid)); if (result['status']) { favFolderData.value = result['data']; } diff --git a/lib/pages/bangumi/introduction/view.dart b/lib/pages/bangumi/introduction/view.dart index 3ad0625f..75e293c4 100644 --- a/lib/pages/bangumi/introduction/view.dart +++ b/lib/pages/bangumi/introduction/view.dart @@ -148,7 +148,7 @@ class _BangumiInfoState extends State { // 收藏 showFavBottomSheet() async { - if (bangumiIntroController.userInfo.mid == null) { + if (bangumiIntroController.userInfo?.mid == null) { SmartDialog.showToast('账号未登录'); return; } diff --git a/lib/pages/bangumi/widgets/bangumi_panel.dart b/lib/pages/bangumi/widgets/bangumi_panel.dart index f6f1ff22..63da14fd 100644 --- a/lib/pages/bangumi/widgets/bangumi_panel.dart +++ b/lib/pages/bangumi/widgets/bangumi_panel.dart @@ -5,6 +5,7 @@ import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/models/bangumi/info.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/pages/video/detail/index.dart'; import 'package:pilipala/utils/storage.dart'; import '../../../common/pages_bottom_sheet.dart'; @@ -37,7 +38,7 @@ class _BangumiPanelState extends State { late RxInt currentIndex = (-1).obs; final ScrollController listViewScrollCtr = ScrollController(); Box userInfoCache = GStorage.userInfo; - dynamic userInfo; + UserInfoData? userInfo; // 默认未开通 int vipStatus = 0; late int cid; @@ -63,7 +64,7 @@ class _BangumiPanelState extends State { /// 获取大会员状态 userInfo = userInfoCache.get('userInfoCache'); if (userInfo != null) { - vipStatus = userInfo.vipStatus; + vipStatus = userInfo!.vipStatus!; } } diff --git a/lib/pages/dynamics/controller.dart b/lib/pages/dynamics/controller.dart index ff5c959a..cdc08bdd 100644 --- a/lib/pages/dynamics/controller.dart +++ b/lib/pages/dynamics/controller.dart @@ -10,6 +10,7 @@ import 'package:pilipala/models/common/dynamics_type.dart'; import 'package:pilipala/models/dynamics/result.dart'; import 'package:pilipala/models/dynamics/up.dart'; import 'package:pilipala/models/live/item.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/feed_back.dart'; import 'package:pilipala/utils/id_utils.dart'; import 'package:pilipala/utils/route_push.dart'; @@ -52,7 +53,7 @@ class DynamicsController extends GetxController { RxInt initialValue = 0.obs; Box userInfoCache = GStorage.userInfo; RxBool userLogin = false.obs; - var userInfo; + UserInfoData? userInfo; RxBool isLoadingDynamic = false.obs; Box setting = GStorage.setting; @@ -246,7 +247,7 @@ class DynamicsController extends GetxController { } upData.value.upList!.insertAll(0, [ UpItem(face: '', uname: '全部动态', mid: -1), - UpItem(face: userInfo.face, uname: '我', mid: userInfo.mid), + UpItem(face: userInfo!.face, uname: '我', mid: userInfo!.mid), ]); } return res; diff --git a/lib/pages/dynamics/widgets/action_panel.dart b/lib/pages/dynamics/widgets/action_panel.dart index f403ee19..26c0d7a1 100644 --- a/lib/pages/dynamics/widgets/action_panel.dart +++ b/lib/pages/dynamics/widgets/action_panel.dart @@ -90,7 +90,7 @@ class _ActionPanelState extends State SmartDialog.showToast('请先登录'); return; } - int mid = userInfo.mid; + int mid = userInfo.mid!; showModalBottomSheet( context: context, enableDrag: true, diff --git a/lib/pages/fan/controller.dart b/lib/pages/fan/controller.dart index 1a82b538..f9a9388f 100644 --- a/lib/pages/fan/controller.dart +++ b/lib/pages/fan/controller.dart @@ -3,6 +3,7 @@ import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/http/fan.dart'; import 'package:pilipala/models/fans/result.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; class FansController extends GetxController { @@ -13,7 +14,7 @@ class FansController extends GetxController { RxList fansList = [].obs; late int mid; late String name; - var userInfo; + UserInfoData? userInfo; RxString loadingText = '加载中...'.obs; RxBool isOwner = false.obs; @@ -23,9 +24,9 @@ class FansController extends GetxController { userInfo = userInfoCache.get('userInfoCache'); mid = Get.parameters['mid'] != null ? int.parse(Get.parameters['mid']!) - : userInfo.mid; - isOwner.value = mid == userInfo.mid; - name = Get.parameters['name'] ?? userInfo.uname; + : userInfo!.mid!; + isOwner.value = mid == userInfo?.mid; + name = Get.parameters['name'] ?? userInfo?.uname ?? ''; } Future queryFans(type) async { diff --git a/lib/pages/follow/controller.dart b/lib/pages/follow/controller.dart index e39eb3cd..04bba2f9 100644 --- a/lib/pages/follow/controller.dart +++ b/lib/pages/follow/controller.dart @@ -6,6 +6,7 @@ import 'package:pilipala/http/follow.dart'; import 'package:pilipala/http/member.dart'; import 'package:pilipala/models/follow/result.dart'; import 'package:pilipala/models/member/tags.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; /// 查看自己的关注时,可以查看分类 @@ -18,7 +19,7 @@ class FollowController extends GetxController with GetTickerProviderStateMixin { RxList followList = [].obs; late int mid; late String name; - var userInfo; + UserInfoData? userInfo; RxString loadingText = '加载中...'.obs; RxBool isOwner = false.obs; late List followTags; @@ -30,9 +31,9 @@ class FollowController extends GetxController with GetTickerProviderStateMixin { userInfo = userInfoCache.get('userInfoCache'); mid = Get.parameters['mid'] != null ? int.parse(Get.parameters['mid']!) - : userInfo.mid; - isOwner.value = mid == userInfo.mid; - name = Get.parameters['name'] ?? userInfo.uname; + : userInfo!.mid!; + isOwner.value = mid == userInfo?.mid; + name = Get.parameters['name'] ?? userInfo?.uname ?? ''; } Future queryFollowings(type) async { @@ -68,7 +69,7 @@ class FollowController extends GetxController with GetTickerProviderStateMixin { // 当查看当前用户的关注时,请求关注分组 Future followUpTags() async { - if (userInfo != null && mid == userInfo.mid) { + if (userInfo != null && mid == userInfo!.mid) { var res = await MemberHttp.followUpTags(); if (res['status']) { followTags = res['data']; diff --git a/lib/pages/home/controller.dart b/lib/pages/home/controller.dart index 91f16c9f..0797f499 100644 --- a/lib/pages/home/controller.dart +++ b/lib/pages/home/controller.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/models/common/tab_type.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; import '../../http/index.dart'; @@ -18,7 +19,7 @@ class HomeController extends GetxController with GetTickerProviderStateMixin { Box settingStorage = GStorage.setting; RxBool userLogin = false.obs; RxString userFace = ''.obs; - var userInfo; + UserInfoData? userInfo; Box setting = GStorage.setting; late final StreamController searchBarStream = StreamController.broadcast(); @@ -33,7 +34,7 @@ class HomeController extends GetxController with GetTickerProviderStateMixin { super.onInit(); userInfo = userInfoCache.get('userInfoCache'); userLogin.value = userInfo != null; - userFace.value = userInfo != null ? userInfo.face : ''; + userFace.value = userInfo != null ? userInfo!.face! : ''; hideSearchBar = setting.get(SettingBoxKey.hideSearchBar, defaultValue: false); if (setting.get(SettingBoxKey.enableSearchWord, defaultValue: true)) { @@ -62,7 +63,7 @@ class HomeController extends GetxController with GetTickerProviderStateMixin { userInfo = await userInfoCache.get('userInfoCache'); userLogin.value = val ?? false; if (val) return; - userFace.value = userInfo != null ? userInfo.face : ''; + userFace.value = userInfo != null ? userInfo!.face! : ''; } void setTabConfig() async { diff --git a/lib/pages/home/widgets/app_bar.dart b/lib/pages/home/widgets/app_bar.dart index 8715a513..4f15cb30 100644 --- a/lib/pages/home/widgets/app_bar.dart +++ b/lib/pages/home/widgets/app_bar.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/common/widgets/network_img_layer.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; Box userInfoCache = GStorage.userInfo; @@ -12,7 +13,7 @@ class HomeAppBar extends StatelessWidget { @override Widget build(BuildContext context) { - var userInfo = userInfoCache.get('userInfoCache'); + final UserInfoData? userInfo = userInfoCache.get('userInfoCache'); return SliverAppBar( // forceElevated: true, scrolledUnderElevation: 0, diff --git a/lib/pages/main/controller.dart b/lib/pages/main/controller.dart index 3a3cc9eb..b89fe403 100644 --- a/lib/pages/main/controller.dart +++ b/lib/pages/main/controller.dart @@ -7,6 +7,7 @@ import 'package:flutter/material.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/common/widgets/network_img_layer.dart'; import 'package:pilipala/http/common.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; import 'package:pilipala/utils/utils.dart'; import '../../models/common/dynamic_badge_mode.dart'; @@ -26,7 +27,7 @@ class MainController extends GetxController { late PageController pageController; int selectedIndex = 0; Box userInfoCache = GStorage.userInfo; - dynamic userInfo; + UserInfoData? userInfo; RxBool userLogin = false.obs; late Rx dynamicBadgeType = DynamicBadgeMode.number.obs; late bool enableGradientBg; @@ -85,7 +86,7 @@ class MainController extends GetxController { } if (mineItemIndex != -1 && userInfo != null) { Widget avatar = NetworkImgLayer( - width: 28, height: 28, src: userInfo.face, type: 'avatar'); + width: 28, height: 28, src: userInfo!.face, type: 'avatar'); navigationBars[mineItemIndex]['icon'] = avatar; navigationBars[mineItemIndex]['selectIcon'] = avatar; } diff --git a/lib/pages/member/controller.dart b/lib/pages/member/controller.dart index 6e66b5ed..3c63d560 100644 --- a/lib/pages/member/controller.dart +++ b/lib/pages/member/controller.dart @@ -9,6 +9,7 @@ import 'package:pilipala/models/member/archive.dart'; import 'package:pilipala/models/member/coin.dart'; import 'package:pilipala/models/member/info.dart'; import 'package:pilipala/models/member/like.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; import 'package:share_plus/share_plus.dart'; @@ -22,7 +23,7 @@ class MemberController extends GetxController { late int ownerMid; // 投稿列表 RxList? archiveList = [].obs; - dynamic userInfo; + UserInfoData? userInfo; RxInt attribute = (-1).obs; RxString attributeText = '关注'.obs; RxList recentCoinsList = [].obs; @@ -34,7 +35,7 @@ class MemberController extends GetxController { super.onInit(); mid = int.tryParse(Get.parameters['mid']!) ?? -2; userInfo = userInfoCache.get('userInfoCache'); - ownerMid = userInfo != null ? userInfo.mid : -1; + ownerMid = userInfo != null ? userInfo!.mid! : -1; isOwner.value = mid == ownerMid; face.value = Get.arguments['face'] ?? ''; heroTag = Get.arguments['heroTag'] ?? ''; diff --git a/lib/pages/mine_edit/controller.dart b/lib/pages/mine_edit/controller.dart index 148aaccc..79e1e32a 100644 --- a/lib/pages/mine_edit/controller.dart +++ b/lib/pages/mine_edit/controller.dart @@ -3,6 +3,7 @@ import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/http/user.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; class MineEditController extends GetxController { @@ -13,7 +14,7 @@ class MineEditController extends GetxController { final TextEditingController signCtr = TextEditingController(); final TextEditingController birthdayCtr = TextEditingController(); String? sex; - dynamic userInfo; + UserInfoData? userInfo; @override void onInit() { diff --git a/lib/pages/setting/controller.dart b/lib/pages/setting/controller.dart index ca027832..459a36a2 100644 --- a/lib/pages/setting/controller.dart +++ b/lib/pages/setting/controller.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; -import 'package:pilipala/http/init.dart'; import 'package:pilipala/models/common/theme_type.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/feed_back.dart'; import 'package:pilipala/utils/login.dart'; import 'package:pilipala/utils/storage.dart'; @@ -22,7 +22,7 @@ class SettingController extends GetxController { RxDouble toastOpacity = (1.0).obs; RxInt picQuality = 10.obs; Rx themeType = ThemeType.system.obs; - var userInfo; + UserInfoData? userInfo; Rx dynamicBadgeType = DynamicBadgeMode.number.obs; RxInt defaultHomePage = 0.obs; diff --git a/lib/pages/setting/privacy_setting.dart b/lib/pages/setting/privacy_setting.dart index 9b7f5f6e..3b70e86c 100644 --- a/lib/pages/setting/privacy_setting.dart +++ b/lib/pages/setting/privacy_setting.dart @@ -3,6 +3,7 @@ import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/http/member.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/utils/storage.dart'; class PrivacySetting extends StatefulWidget { @@ -15,7 +16,7 @@ class PrivacySetting extends StatefulWidget { class _PrivacySettingState extends State { bool userLogin = false; Box userInfoCache = GStorage.userInfo; - var userInfo; + UserInfoData? userInfo; @override void initState() { diff --git a/lib/pages/setting/recommend_setting.dart b/lib/pages/setting/recommend_setting.dart index 16d60d25..89e670c8 100644 --- a/lib/pages/setting/recommend_setting.dart +++ b/lib/pages/setting/recommend_setting.dart @@ -3,6 +3,7 @@ import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/http/member.dart'; import 'package:pilipala/models/common/rcmd_type.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/pages/setting/widgets/select_dialog.dart'; import 'package:pilipala/utils/recommend_filter.dart'; import 'package:pilipala/utils/storage.dart'; @@ -21,7 +22,7 @@ class _RecommendSettingState extends State { static Box localCache = GStorage.localCache; late dynamic defaultRcmdType; Box userInfoCache = GStorage.userInfo; - late dynamic userInfo; + UserInfoData? userInfo; bool userLogin = false; late dynamic accessKeyInfo; // late int filterUnfollowedRatio; diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 0f66ad02..da3b0cbc 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -14,6 +14,7 @@ import 'package:pilipala/models/common/reply_type.dart'; import 'package:pilipala/models/common/search_type.dart'; import 'package:pilipala/models/sponsor_block/segment.dart'; import 'package:pilipala/models/sponsor_block/segment_type.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/models/video/later.dart'; import 'package:pilipala/models/video/play/quality.dart'; import 'package:pilipala/models/video/play/url.dart'; @@ -94,7 +95,7 @@ class VideoDetailController extends GetxController double? brightness; // 默认记录历史记录 bool enableHeart = true; - var userInfo; + UserInfoData? userInfo; late bool isFirstTime = true; Floating? floating; late PreferredSizeWidget headerControl; @@ -617,7 +618,7 @@ class VideoDetailController extends GetxController var count = argMap['count']; var res = await UserHttp.getMediaList( type: 2, - bizId: userInfo.mid, + bizId: userInfo!.mid!, ps: count, ); if (res['status']) { diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 5ddede96..24bd7db0 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -9,6 +9,7 @@ import 'package:pilipala/http/constants.dart'; import 'package:pilipala/http/user.dart'; import 'package:pilipala/http/video.dart'; import 'package:pilipala/models/user/fav_folder.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/models/video/ai.dart'; import 'package:pilipala/models/video/tags.dart'; import 'package:pilipala/models/video_detail_res.dart'; @@ -49,10 +50,8 @@ class VideoIntroController extends GetxController { List delMediaIdsNew = []; // 关注状态 默认未关注 RxMap followStatus = {}.obs; - int _tempThemeValue = -1; - RxInt lastPlayCid = 0.obs; - var userInfo; + UserInfoData? userInfo; RxList videoTags = [].obs; // 同时观看 @@ -301,7 +300,7 @@ class VideoIntroController extends GetxController { Future queryVideoInFolder() async { var result = await VideoHttp.videoInFolder( - mid: userInfo.mid, rid: IdUtils.bv2av(bvid)); + mid: userInfo!.mid!, rid: IdUtils.bv2av(bvid)); if (result['status']) { favFolderData.value = result['data']; } diff --git a/lib/pages/whisper_detail/controller.dart b/lib/pages/whisper_detail/controller.dart index 54d6a2c4..24a0f8c2 100644 --- a/lib/pages/whisper_detail/controller.dart +++ b/lib/pages/whisper_detail/controller.dart @@ -6,6 +6,7 @@ import 'package:get/get.dart'; import 'package:hive/hive.dart'; import 'package:pilipala/http/msg.dart'; import 'package:pilipala/models/msg/session.dart'; +import 'package:pilipala/models/user/info.dart'; import 'package:pilipala/pages/whisper/index.dart'; import '../../utils/feed_back.dart'; import '../../utils/storage.dart'; @@ -80,7 +81,7 @@ class WhisperDetailController extends GetxController { Future sendMsg() async { feedBack(); String message = replyContentController.text; - final userInfo = userInfoCache.get('userInfoCache'); + final UserInfoData? userInfo = userInfoCache.get('userInfoCache'); if (userInfo == null) { SmartDialog.showToast('请先登录'); return; @@ -90,7 +91,7 @@ class WhisperDetailController extends GetxController { return; } var result = await MsgHttp.sendMsg( - senderUid: userInfo.mid, + senderUid: userInfo.mid!, receiverId: int.parse(mid), content: {'content': message}, msgType: 1, diff --git a/lib/pages/whisper_detail/view.dart b/lib/pages/whisper_detail/view.dart index f79c241d..3c3d9f18 100644 --- a/lib/pages/whisper_detail/view.dart +++ b/lib/pages/whisper_detail/view.dart @@ -2,14 +2,12 @@ import 'dart:async'; import 'dart:math'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:hive/hive.dart'; import 'package:pilipala/common/widgets/network_img_layer.dart'; import 'package:pilipala/models/video/reply/emote.dart'; import 'package:pilipala/pages/emote/index.dart'; import 'package:pilipala/pages/video/detail/reply_new/toolbar_icon_button.dart'; import 'package:pilipala/pages/whisper_detail/controller.dart'; import 'package:pilipala/utils/feed_back.dart'; -import '../../utils/storage.dart'; import 'widget/chat_item.dart'; class WhisperDetailPage extends StatefulWidget { @@ -30,7 +28,6 @@ class _WhisperDetailPageState extends State late double emoteHeight = 230.0; double keyboardHeight = 0.0; // 键盘高度 RxString toolbarType = ''.obs; - Box userInfoCache = GStorage.userInfo; @override void initState() {