From 8f6e0c5aaba84d9ec093c5872c773ed6b7a07781 Mon Sep 17 00:00:00 2001 From: yangyuhao <291808500@qq.com> Date: Thu, 7 Sep 2023 16:19:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BC=9A=E8=AF=9D=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=20=E5=8F=91=E9=80=81=E8=A7=86=E9=A2=91=E5=92=8C?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=8B=8D=E6=91=84=20=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=90=8C=E6=84=8F=E9=9A=90=E7=A7=81=E5=8D=8F=E8=AE=AE=E7=9A=84?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- circle_app/android/app/build.gradle | 4 +-- .../tim_uikit_text_field_layout/narrow.dart | 31 +++++++++++------- .../lib/app/dialog/YesAgreementDialog.dart | 32 ++++++++++++++----- circle_app/lib/app/splash/logic.dart | 16 +++++++--- circle_app/lib/app/webview/view.dart | 7 +--- circle_app/lib/network/api.dart | 13 ++++++-- 6 files changed, 68 insertions(+), 35 deletions(-) diff --git a/circle_app/android/app/build.gradle b/circle_app/android/app/build.gradle index bbb3fee..eed052d 100644 --- a/circle_app/android/app/build.gradle +++ b/circle_app/android/app/build.gradle @@ -65,8 +65,8 @@ android { // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion 21 targetSdkVersion flutter.targetSdkVersion - versionCode 10 - versionName "1.0.9" + versionCode 11 + versionName "1.1.0" manifestPlaceholders = [ vivo_APPID: "105669716", vivo_APPKEY:"84f750207787376b310ca5b0d5969122", diff --git a/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/narrow.dart b/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/narrow.dart index 89fa94b..7dc7e82 100644 --- a/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/narrow.dart +++ b/circle_app/lib/app/chat/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/narrow.dart @@ -1,4 +1,5 @@ import 'dart:async'; +import 'dart:ffi'; import 'dart:io'; import 'dart:math'; import 'dart:typed_data'; @@ -804,16 +805,14 @@ class _TIMTextFieldLayoutNarrowState ); } - Future checkVipStatus() async { - if (!isVip) { - var data = await DioManager.instance.get(url: Api.getUserMine); - var bean = BaseResponse.fromJson( - data, (data) => MineResponseBean.fromJson(data)); - if (bean.isSuccess()) { - User userInfoBean = bean.data.user!; - isVip = userInfoBean.vip > 0; - } + Future checkVipStatus(int plate) async { + var data = + await DioManager.instance.get(url: Api.getIsVips + plate.toString()); + + if (data['code'] == 200) { + isVip = !data['data']; } + if (!isVip) { showOKToast('开通会员之后才能发送图片'); Get.bottomSheet( @@ -833,7 +832,8 @@ class _TIMTextFieldLayoutNarrowState VideoPlayerController? videoPlayerController; Future getVideoFile(ImageSource imageSource) async { - bool isOK = await checkVipStatus(); + bool isOK = await checkVipStatus(imageSource == ImageSource.camera ? 2 : 4); + if (!isOK) { return; } @@ -874,6 +874,11 @@ class _TIMTextFieldLayoutNarrowState duration: durationInSeconds.toInt(), inputElement: context, ); + if (imageSource == ImageSource.camera) { + DioManager.instance.get(url: Api.getAddTrialCount + "2"); + } else { + DioManager.instance.get(url: Api.getAddTrialCount + "4"); + } } catch (e) { print(e); // setState(() { @@ -906,7 +911,7 @@ class _TIMTextFieldLayoutNarrowState } Future getImageFile() async { - bool isOK = await checkVipStatus(); + bool isOK = await checkVipStatus(3); if (!isOK) { return; } @@ -919,6 +924,7 @@ class _TIMTextFieldLayoutNarrowState convID: widget.conversationID, convType: widget.conversationType, inputElement: context); + var data = await DioManager.instance.get(url: Api.getAddTrialCount + "3"); } catch (e) { print(e); // setState(() { @@ -928,7 +934,7 @@ class _TIMTextFieldLayoutNarrowState } Future getTakeImageFile() async { - bool isOK = await checkVipStatus(); + bool isOK = await checkVipStatus(1); if (!isOK) { return; } @@ -942,6 +948,7 @@ class _TIMTextFieldLayoutNarrowState convID: widget.conversationID, convType: widget.conversationType, inputElement: context); + var data = await DioManager.instance.get(url: Api.getAddTrialCount + "1"); } catch (e) {} } diff --git a/circle_app/lib/app/dialog/YesAgreementDialog.dart b/circle_app/lib/app/dialog/YesAgreementDialog.dart index e4005aa..0e5dcc7 100644 --- a/circle_app/lib/app/dialog/YesAgreementDialog.dart +++ b/circle_app/lib/app/dialog/YesAgreementDialog.dart @@ -1,10 +1,13 @@ +import 'dart:ffi'; import 'dart:io'; +import 'package:connectivity/connectivity.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:tencent_chat_push_for_china/tencent_chat_push_for_china.dart'; import 'package:tencent_cloud_chat_uikit/tencent_cloud_chat_uikit.dart'; @@ -36,7 +39,6 @@ class _CustomDialogState extends State { Widget build(BuildContext context) { return WillPopScope( onWillPop: () async { - print(getAgreemement()); return false; }, @@ -126,10 +128,23 @@ class _CustomDialogState extends State { GestureDetector( onTap: () async { // 点击操作 - var sp = await SharedPreferencesHelper.getInstance(); - sp.setBool(SharedPreferencesHelper.AGREEMENT, true); + SmartDialog.showLoading(); + var connectivityResult = + await Connectivity().checkConnectivity(); + + if (connectivityResult == ConnectivityResult.none) { + showOKToast("请检查网络连接是否正常"); + print('没网'); + return; + } + + try { + var sp = await SharedPreferencesHelper.getInstance(); + sp.setBool(SharedPreferencesHelper.AGREEMENT, true); + } catch (e) {} + await uploadBuzIDAndToken(); + SmartDialog.dismiss(); pushLoginPage(); - uploadBuzIDAndToken(); }, child: Container( width: 240.sp, @@ -159,8 +174,8 @@ class _CustomDialogState extends State { TextButton( onPressed: () { // 点击不同意按钮的操作 - // exit(1); - SystemNavigator.pop(); + // exit(1); + SystemNavigator.pop(); }, child: Text( "不同意并退出应用", @@ -179,8 +194,7 @@ class _CustomDialogState extends State { ); } - - void uploadBuzIDAndToken() async { + Future uploadBuzIDAndToken() async { if (Platform.isAndroid) { initWxApi(); } @@ -199,5 +213,7 @@ class _CustomDialogState extends State { print("token=" + res.code.toString()); } + + return true; } } diff --git a/circle_app/lib/app/splash/logic.dart b/circle_app/lib/app/splash/logic.dart index 3a5e162..5c2ce7f 100644 --- a/circle_app/lib/app/splash/logic.dart +++ b/circle_app/lib/app/splash/logic.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:connectivity/connectivity.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_native_splash/flutter_native_splash.dart'; @@ -26,13 +27,18 @@ class SplashLogic extends GetxController { super.onReady(); } + @override void onInit() async { super.onInit(); // await Future.delayed(Duration(seconds: 30)); + // 启动网络连接监听 + + + var data1 = - await DioManager.instance.get(url: Api.getCircleList, params: {}); + await DioManager.instance.get(url: Api.getCircleList, params: {}); var bean1 = BaseResponse.fromJson( data1, (data1) => ConfigBean.fromJson(data1)); if (bean1.code == 200) { @@ -50,7 +56,6 @@ class SplashLogic extends GetxController { }); } - if ((await getAuthorization()).isEmpty) { if (Platform.isIOS) { pushLoginPage(); @@ -64,7 +69,7 @@ class SplashLogic extends GetxController { } } else { var data = - await DioManager.instance.put(url: Api.refreshToken, params: {}); + await DioManager.instance.put(url: Api.refreshToken, params: {}); var bean = BaseResponse.fromJson( data, (data) => LoginData.fromJson(data)); if (bean.code == 200) { @@ -82,7 +87,9 @@ class SplashLogic extends GetxController { }); return; - } else if (bean.code == 5000 || bean.code == 5001 || bean.code == 5002 || + } else if (bean.code == 5000 || + bean.code == 5001 || + bean.code == 5002 || bean.code == 5003) { pushLoginPage(); return; @@ -99,7 +106,6 @@ class SplashLogic extends GetxController { } } - void showReportDialog() { FlutterNativeSplash.remove(); showDialog( diff --git a/circle_app/lib/app/webview/view.dart b/circle_app/lib/app/webview/view.dart index 0d41b51..a7170b3 100644 --- a/circle_app/lib/app/webview/view.dart +++ b/circle_app/lib/app/webview/view.dart @@ -45,12 +45,7 @@ class _WebViewContainerState extends State { }, onWebResourceError: (WebResourceError error) {}, - onNavigationRequest: (NavigationRequest request) { - if (request.url.startsWith('')) { - return NavigationDecision.prevent; - } - return NavigationDecision.navigate; - }, + ), ) ..loadRequest(Uri.parse(url)); diff --git a/circle_app/lib/network/api.dart b/circle_app/lib/network/api.dart index cbeac92..dcc9db6 100644 --- a/circle_app/lib/network/api.dart +++ b/circle_app/lib/network/api.dart @@ -1,9 +1,9 @@ class Api { - static const baseUrl = 'https://leyuan666.com/zuul-service/'; +static const baseUrl = 'https://leyuan666.com/zuul-service/'; - // static const baseUrl = 'http://192.168.3.55:2000/' ; +// static const baseUrl = 'http://192.168.3.55:2000/' ; // 获取验证码 @@ -80,6 +80,15 @@ class Api { static const getUserMine = 'user-service/my/main'; + //发消息是否需要vip弹窗 + static const getIsVips = 'mall-service/vips/show/'; + + + + //发视频图片消息增加计数 + static const getAddTrialCount = 'mall-service/vips/trialCount/'; + + //个人信息 static const getUserInfo = 'user-service/my/home';