From 7bd1baad8756519eb3b514454b9ef60b210dc4dd Mon Sep 17 00:00:00 2001 From: YangYuhao Date: Fri, 30 Jun 2023 17:57:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9Edel=E8=AF=B7=E6=B1=82=20?= =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF=E7=9B=B8?= =?UTF-8?q?=E5=86=8C=E7=9B=B8=E5=85=B3=E5=92=8C=E5=82=AC=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/login/complete_material/logic.dart | 89 ++++--- .../lib/app/login/complete_material/view.dart | 15 +- circle_app/lib/app/minefragment/view.dart | 5 +- circle_app/lib/app/userinfo/logic.dart | 234 +++++++++++++++--- circle_app/lib/app/userinfo/state.dart | 5 +- circle_app/lib/app/userinfo/view.dart | 36 +-- circle_app/lib/main.dart | 2 + circle_app/lib/network/api.dart | 30 +++ circle_app/lib/network/dio_manager.dart | 24 ++ circle_app/lib/router/app_pages.dart | 6 +- circle_app/pubspec.yaml | 2 +- 11 files changed, 347 insertions(+), 101 deletions(-) diff --git a/circle_app/lib/app/login/complete_material/logic.dart b/circle_app/lib/app/login/complete_material/logic.dart index 5b84b9a..e7ad1f1 100644 --- a/circle_app/lib/app/login/complete_material/logic.dart +++ b/circle_app/lib/app/login/complete_material/logic.dart @@ -1,15 +1,11 @@ -import 'dart:io'; -import 'dart:math'; import 'package:circle_app/network/dio_manager.dart'; import 'package:circle_app/router/app_routers.dart'; import 'package:circle_app/util/util.dart'; -import 'package:flutter_luban/flutter_luban.dart'; import 'package:flutter_pickers/time_picker/model/pduration.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:image_picker/image_picker.dart'; -import 'package:qiniu_flutter_sdk/qiniu_flutter_sdk.dart'; import '../../../common/config.dart'; import '../../../network/api.dart'; @@ -17,7 +13,6 @@ import '../../../util/device.dart'; import '../../../util/qiniu.dart'; import '../../select_circle/logic.dart'; import '../../userinfo/logic.dart'; -import '../login/logic.dart'; import 'state.dart'; class Complete_materialLogic extends GetxController { @@ -59,6 +54,9 @@ class Complete_materialLogic extends GetxController { state.textEditingController.text = userInfoBean!.nickname; state.descEditingController.text = userInfoBean!.signature; headUrl = userInfoBean!.avatar; + userInfoBean!.interests.forEach((element) { + numbers.add(MyConfigData(element.id.toString(),element.title,false)); + }); update(); // state.nickName = userInfoBean!.nickname; }else{ @@ -72,7 +70,10 @@ class Complete_materialLogic extends GetxController { await DioManager.instance.get(url: Api.getqiniuToken, params: {}); var bean = BaseResponse.fromJson( data, (data) => QnTokenData.fromJson(data)); - quToken = bean.data!.token.toString(); + if(bean.isSuccess()){ + quToken = bean.data!.token.toString(); + } + var data1 = await DioManager.instance.get(url: Api.getCircleList, params: {}); @@ -102,7 +103,7 @@ class Complete_materialLogic extends GetxController { } SmartDialog.showLoading(); upDataImage(quToken,pickedFile!,CONFIG.USER_INFO_AVATAR,(result){ - SmartDialog.dismiss(); + SmartDialog.dismiss(force: true); headUrl = result; update(); }); @@ -175,38 +176,60 @@ class Complete_materialLogic extends GetxController { } editInfo() async { - Map params = Map(); - if (numbers.length > 0) { - List interestsList = []; - numbers.forEach((element) { - interestsList.add(element.id); - }); - params['interests'] = interestsList; + if (state.textEditingController.text.isEmpty) { + showToast('请输入您的昵称'); + return; + } else if (state.sex.isEmpty) { + showToast('请选择您的属性'); + return; + } else if (state.age.isEmpty) { + showToast('请选择您的年龄'); + return; + } else if (state.role.isEmpty) { + showToast('请选择您的角色'); + return; + } else if (state.role.isEmpty) { + showToast('请选择您的角色'); + return; + } else if (state.orientation.isEmpty) { + showToast('请选择您的取向'); + return; + } else if (numbers.isEmpty) { + showToast('请选择您的兴趣'); + // return; + } else if (state.descEditingController.text.isEmpty) { + showToast('请输入您的交友宣言'); + return; + } else if (state.descEditingController.text.length < 5) { + showToast('您的交友宣言太短'); + return; } - if (!headUrl.isEmpty) { - params['avatar_url'] = headUrl; - } - if (!state.brithday.isEmpty) { - params['birthday'] = state.brithday; - } - if (!state.genderId.isEmpty) { - params['gender'] = state.genderId; - } - if (!state.roleId.isEmpty) { - params['role'] = state.roleId; - } - if (!state.orientationId.isEmpty) { - params['orientation'] = state.orientationId; + if (headUrl == '') { + showToast('请上传头像'); + return; } LatLng location = await getLocation(); - params['lat'] = location.latitude; - params['lng'] = location.longitude; - params['nickname'] = state.textEditingController.text; - params['signature'] = state.descEditingController.text; - var data = await DioManager.instance.put(url: Api.UpdataUserInfo, params: params); + List interestsList = []; + numbers.forEach((element) { + interestsList.add(element.id); + }); + var data = await DioManager.instance.put(url: Api.UpdataUserInfo, params: { + 'avatar_url': headUrl, + 'birthday': state.brithday, + 'gender': state.genderId, //性别 + 'role': state.roleId, //Int 角色 + 'interests': interestsList, //兴趣 + 'orientation': state.orientationId, //Int 爱好 + 'lat': location.latitude, + 'lng': location.longitude, + 'nickname': state.textEditingController.text, + 'signature': state.descEditingController.text, + }); var bean = BaseResponse.fromJson(data, (data) => data); if (bean.code == 200) { Get.back(); + }else{ + showToast(bean.msg); } } diff --git a/circle_app/lib/app/login/complete_material/view.dart b/circle_app/lib/app/login/complete_material/view.dart index dd01cb0..f660270 100644 --- a/circle_app/lib/app/login/complete_material/view.dart +++ b/circle_app/lib/app/login/complete_material/view.dart @@ -9,13 +9,15 @@ import 'package:flutter_pickers/time_picker/model/date_mode.dart'; import 'package:flutter_pickers/time_picker/model/pduration.dart'; import 'package:flutter_pickers/time_picker/model/suffix.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'logic.dart'; class Complete_materialPage extends StatelessWidget { Complete_materialPage({Key? key}) : super(key: key); - final logic = Get.put(Complete_materialLogic()); + + // final logic = Get.put(Complete_materialLogic()); // PickerStyle pickerStyle = PickerStyle(); @override @@ -63,8 +65,8 @@ class Complete_materialPage extends StatelessWidget { ) : ClipOval( child: CachedNetworkImage( - fit: BoxFit.fill, - imageUrl: controller.headUrl, + fit: BoxFit.cover, + imageUrl: controller.headUrl, width: 86.sp, height: 86.sp, ), @@ -156,9 +158,9 @@ class Complete_materialPage extends StatelessWidget { var data = await Get.toNamed( AppRoutes.SelectCircleActivity, arguments: { - "interestMap" :controller.configBean.interestMap, - 'selectCircle':controller.numbers, - "isRodio" :false + "interestMap": controller.configBean.interestMap, + 'selectCircle': controller.numbers, + "isRodio": false }); if (data != null) { controller.numbers = data; @@ -345,7 +347,6 @@ class Complete_materialPage extends StatelessWidget { ); } - showSexPiker(context, Complete_materialLogic controller) { Pickers.showSinglePicker(context, pickerStyle: DefaultPickerStyle.dark(), diff --git a/circle_app/lib/app/minefragment/view.dart b/circle_app/lib/app/minefragment/view.dart index 2081712..cc714f7 100644 --- a/circle_app/lib/app/minefragment/view.dart +++ b/circle_app/lib/app/minefragment/view.dart @@ -352,8 +352,9 @@ class MinefragmentPage extends StatelessWidget { Widget _buildAvatarRow(MinefragmentLogic logic) { return GestureDetector( behavior: HitTestBehavior.opaque, - onTap: () { - Get.toNamed(AppRoutes.UserInfoActivity, arguments: ""); + onTap: () async{ + await Get.toNamed(AppRoutes.UserInfoActivity, arguments: ""); + logic.onInit(); }, child: Container( width: Get.width, diff --git a/circle_app/lib/app/userinfo/logic.dart b/circle_app/lib/app/userinfo/logic.dart index 5c0a00d..7d4cbde 100644 --- a/circle_app/lib/app/userinfo/logic.dart +++ b/circle_app/lib/app/userinfo/logic.dart @@ -1,6 +1,6 @@ -import 'dart:io'; -import 'package:flutter_luban/flutter_luban.dart'; +import 'dart:convert'; + import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:image_picker/image_picker.dart'; @@ -23,7 +23,10 @@ class UserinfoLogic extends GetxController { var onLineCity = ""; var isLikeFoMsg = ''; var quToken = ''; -bool isMe = false; + bool isMe = false; + bool isEdit = false; + bool isUrgeStatus = false; + @override void onInit() async { super.onInit(); @@ -32,54 +35,105 @@ bool isMe = false; var data = await DioManager.instance.get(url: Api.getUserInfo); var bean = BaseResponse.fromJson( data, (data) => ResponseBean.fromJson(data)); - if(bean.isSuccess()){ - isLikeFoMsg = "${bean.data.imageUrgeCount}位圈友感兴趣,其中${bean.data.likeMeCount}位已催您更新"; + if (bean.isSuccess()) { + isLikeFoMsg = + "${bean.data.imageUrgeCount}位圈友感兴趣,其中${bean.data.likeMeCount}位已催您更新"; userInfoBean = bean.data.user; isVip = userInfoBean!.vip; - onLineCity = userInfoBean!.isOnline == true? "在线":"离线"; - if(userInfoBean!.city != null) { + onLineCity = userInfoBean!.isOnline == true ? "在线" : "离线"; + if (userInfoBean!.city != null) { onLineCity = "$onLineCity·${userInfoBean!.city}"; } - ageMsg = getAgeCOntent(userInfoBean!.gender, userInfoBean!.age, userInfoBean!.role, userInfoBean!.orientation); - }else{ + ageMsg = getAgeCOntent(userInfoBean!.gender, userInfoBean!.age, + userInfoBean!.role, userInfoBean!.orientation); + } else { showToast(bean.msg); } + var myAlbumData = await DioManager.instance.get(url: Api.getMyAlbum,); + var myAlbumBean = BaseResponse.fromJson( + myAlbumData, (myAlbumData) => AlbumResponseBean.fromJson(myAlbumData)); + if(myAlbumBean.isSuccess()){ + myAlbumBean.data.lists.forEach((element) { + state.imaglist.add(element); + }); + } + + + } else { isMe = false; - var data = await DioManager.instance.get(url: Api.getUserInfoTA+userId+"/home"); + var data = await DioManager.instance + .get(url: "${Api.getUserInfoTA + userId}/home"); var bean = BaseResponse.fromJson( data, (data) => ResponseBean.fromJson(data)); - if(bean.isSuccess()){ - isLikeFoMsg = "${bean.data.imageUrgeCount}位圈友感兴趣,其中${bean.data.likeMeCount}位已催您更新"; - userInfoBean = bean.data!.user; - isVip = userInfoBean!.vip; - onLineCity = userInfoBean!.isOnline == true? "在线":"离线"; - if(userInfoBean!.city != null){ - onLineCity = "$onLineCity·${userInfoBean!.city}"; - } + if (bean.isSuccess()) { + isLikeFoMsg = + "${bean.data.imageUrgeCount}位圈友感兴趣,其中${bean.data.likeMeCount}位已催您更新"; + userInfoBean = bean.data!.user; + isVip = userInfoBean!.vip; + onLineCity = userInfoBean!.isOnline == true ? "在线" : "离线"; + if (userInfoBean!.city != null) { + onLineCity = "$onLineCity·${userInfoBean!.city}"; + } - ageMsg = getAgeCOntent(userInfoBean!.gender, userInfoBean!.age, userInfoBean!.role, userInfoBean!.orientation); - }else{ + ageMsg = getAgeCOntent(userInfoBean!.gender, userInfoBean!.age, + userInfoBean!.role, userInfoBean!.orientation); + } else { showToast(bean.msg); } + + + var myAlbumData = await DioManager.instance.get(url: Api.getTaAlbum+userId+"/albums"); + var myAlbumBean = BaseResponse.fromJson( + myAlbumData, (myAlbumData) => AlbumResponseBean.fromJson(myAlbumData)); + if(myAlbumBean.isSuccess()){ + myAlbumBean.data.lists.forEach((element) { + state.imaglist.add(element.url); + }); + } + + + + var urgedata = await DioManager.instance.get(url: Api.getUrgeStatus+userId+"/urge/album/status"); + var urgeBean = BaseResponse.fromJson( + urgedata, (urgedata) => UrgentStatus.fromJson(urgedata)); + isUrgeStatus = urgeBean.data.isUrgent; + } update(); - - var data = - await DioManager.instance.get(url: Api.getqiniuToken, params: {}); + await DioManager.instance.get(url: Api.getqiniuToken, params: {}); var bean = BaseResponse.fromJson( data, (data) => QnTokenData.fromJson(data)); - quToken = bean.data!.token.toString(); + if (bean.isSuccess()) { + quToken = bean.data!.token.toString(); + } + } + urgeChange() async{ + var data = await DioManager.instance.post(url: Api.urgeAlbum+userId+"/urge/album"); + var bean = BaseResponse.fromJson(data, (data) => data); + if(bean.isSuccess()){ + showToast("催更成功"); + isUrgeStatus = true; + update(); + } } - updataImage(){ - showToast(""+state.updataimaglist.toString()); + + delAlbumImage(int index) async{ + var data = await DioManager.instance.delete(url: Api.deleteAlbum+state.imaglist[index].id.toString()); + var bean = BaseResponse.fromJson(data, (data) => data); + if(bean.code == 200){ + state.imaglist.removeAt(index); + update(); + } + + } Future getImageFile() async { @@ -87,20 +141,29 @@ bool isMe = false; final XFile? pickedFile = await _picker.pickImage( source: ImageSource.gallery, ); - if(null==pickedFile){ + if (null == pickedFile) { return; } - SmartDialog.showLoading(); - upDataImage(quToken,pickedFile!,CONFIG.USER_ALBUM_IMAGE,(result){ - SmartDialog.dismiss(); - state.imaglist.add(result); - state.updataimaglist.add(result); - update(); - }); - } catch (e) { - } + SmartDialog.showLoading(); + upDataImage(quToken, pickedFile, CONFIG.USER_ALBUM_IMAGE, (result) async { + var data = await DioManager.instance.post(url: Api.updataAlbum,params: { + "type" :1, + "url": result + }); + var myAlbumBean = BaseResponse.fromJson( + data, (data) => AddAlbum.fromJson(data)); + + if (myAlbumBean.code == 200) { + SmartDialog.dismiss(); + state.imaglist.add(AlbumListItem(id:myAlbumBean.data.id,type:myAlbumBean.data.type,url: result)); + update(); + } + + }); + } catch (e) {} } + } class UserBean { @@ -114,6 +177,7 @@ class UserBean { int gender; int role; int orientation; + List interests; double lng; double lat; String? city; @@ -132,6 +196,7 @@ class UserBean { required this.gender, required this.role, required this.orientation, + required this.interests, required this.lng, required this.lat, this.city, @@ -152,16 +217,38 @@ class UserBean { gender: json['gender'], role: json['role'], orientation: json['orientation'], + interests: List.from( + json['interests'].map((x) => Interest.fromJson(x)), + ), lng: json['lng'], lat: json['lat'], city: json['city'], isOnline: json['isOnline'], - offlineTime: json['offlineTime'] != null ? DateTime.parse(json['offlineTime']) : null, + offlineTime: json['offlineTime'] != null + ? DateTime.parse(json['offlineTime']) + : null, avatarThumb: json['avatar_thumb'], ); } } +class Interest { + int id; + String title; + + Interest({ + required this.id, + required this.title, + }); + + factory Interest.fromJson(Map json) { + return Interest( + id: json['id'], + title: json['title'], + ); + } +} + class ResponseBean { UserBean user; int likeMeCount; @@ -182,3 +269,76 @@ class ResponseBean { } } +class AlbumResponseBean { + List lists; + int total; + + AlbumResponseBean({ + required this.lists, + required this.total, + }); + + factory AlbumResponseBean.fromJson(Map json) { + return AlbumResponseBean( + lists: List.from(json['lists'].map((x) => AlbumListItem.fromJson(x))), + total: json['total'], + ); + } +} + +class AlbumListItem { + int id; + int type; + String url; + + AlbumListItem({ + required this.id, + required this.type, + required this.url, + }); + + factory AlbumListItem.fromJson(Map json) { + return AlbumListItem( + id: json['id'], + type: json['type'], + url: json['url'], + ); + } +} + + +class AddAlbum { + int id; + int type; + String url; + + AddAlbum({ + required this.id, + required this.type, + required this.url, + }); + + factory AddAlbum.fromJson(Map json) { + return AddAlbum( + id: json['id'], + type: json['type'], + url: json['url'], + ); + } +} + +class UrgentStatus { + bool isUrgent; + + UrgentStatus({ + required this.isUrgent, + }); + + factory UrgentStatus.fromJson(Map json) { + return UrgentStatus( + isUrgent: json['is_urge'], + ); + } +} + + diff --git a/circle_app/lib/app/userinfo/state.dart b/circle_app/lib/app/userinfo/state.dart index 50d127b..8524523 100644 --- a/circle_app/lib/app/userinfo/state.dart +++ b/circle_app/lib/app/userinfo/state.dart @@ -1,8 +1,9 @@ +import 'logic.dart'; + class UserinfoState { UserinfoState() { ///Initialize variables } - List imaglist = []; - List updataimaglist = []; + List imaglist = []; } diff --git a/circle_app/lib/app/userinfo/view.dart b/circle_app/lib/app/userinfo/view.dart index 1f8af58..ba7f1a7 100644 --- a/circle_app/lib/app/userinfo/view.dart +++ b/circle_app/lib/app/userinfo/view.dart @@ -87,7 +87,8 @@ class _MyTabbedScreenState extends State return GestureDetector( onTap: () { // showToast("完善资料"); - Get.toNamed(AppRoutes.Complete_materialPage, arguments: "user"); + Get.toNamed(AppRoutes.Complete_materialPage, arguments: "user"); + // controller.onInit(); }, child: Center( child: Container( @@ -243,7 +244,7 @@ class _MyTabbedScreenState extends State // margin: EdgeInsets.only(top: 18.sp, bottom: 18.sp), height: 59.sp, child: ListView.builder( - itemCount: 8, + itemCount: controller.userInfoBean==null ? 0 : controller.userInfoBean!.interests.length, // 替换为实际的 item 数量 scrollDirection: Axis.horizontal, // 设置为水平方向 @@ -275,7 +276,7 @@ class _MyTabbedScreenState extends State top: 2.sp, bottom: 2.sp, left: 15.sp, right: 15.sp), child: Center( child: Text( - "圆角背景边框", + controller.userInfoBean!.interests[index].title, style: TextStyle( fontSize: 11.0, color: Colors.white, @@ -334,15 +335,17 @@ class _MyTabbedScreenState extends State ], ), GestureDetector(onTap: (){ - controller.updataImage(); + controller.isMe? controller.isEdit = !controller.isEdit : controller.urgeChange(); + controller.update(); + // controller.updataImage(); }, child: Container( decoration: BoxDecoration( borderRadius: BorderRadius.circular(17), gradient: LinearGradient( colors: [ - controller.state.updataimaglist.length==0 && controller.isMe? Color(0xFF4A3E5D):Color(0xFF06F9FA), - controller.state.updataimaglist.length==0 && controller.isMe? Color(0xFF344143):Color(0xFFDC5BFD), + Color(0xFF06F9FA), + Color(0xFFDC5BFD), ], begin: Alignment.centerLeft, end: Alignment.centerRight, @@ -351,7 +354,7 @@ class _MyTabbedScreenState extends State padding: EdgeInsets.only( top: 2.sp, bottom: 2.sp, left: 12.sp, right: 12.sp), child: Text( - controller.isMe? "完成" : "催更", + controller.isMe? controller.isEdit?"完成": "管理" : controller.isUrgeStatus? "已催更":"催更", style: TextStyle( color: Colors.white, fontSize: 12, @@ -367,9 +370,11 @@ class _MyTabbedScreenState extends State gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 3, // 每行显示的项目数量 ), - itemCount:controller.isMe? controller.state.imaglist.length+1: controller.state.imaglist.length, // 项目的总数量,包括固定图片和接口获取的项目 + itemCount:controller.isMe? + controller.isEdit? controller.state.imaglist.length+1 : controller.state.imaglist.length: + controller.state.imaglist.length, // 项目的总数量,包括固定图片和接口获取的项目 itemBuilder: (BuildContext context, int index) { - if(controller.isMe){ + if(controller.isMe&&controller.isEdit){ if (index == 0) { // 第一个项目,显示固定的图片 return GestureDetector( @@ -389,7 +394,7 @@ class _MyTabbedScreenState extends State margin: EdgeInsets.all(5.sp), child: Center( child: _buildImageItem( - controller.state.imaglist[index-1], + controller.state.imaglist[index-1].url, controller,index-1)), ); } @@ -398,7 +403,7 @@ class _MyTabbedScreenState extends State margin: EdgeInsets.all(5.sp), child: Center( child: _buildImageItem( - controller.state.imaglist[index], + controller.state.imaglist[index].url, controller,index)), ); } @@ -555,11 +560,11 @@ class _MyTabbedScreenState extends State _showDelImgDialog(context,controller,index); }, - child: Image( + child:controller.isEdit? Image( image: AssetImage(getMineImage("icon_img_del")), width: 20.sp, height: 20.sp, - ), + ):Container(), )) ], ); @@ -744,10 +749,9 @@ class _MyTabbedScreenState extends State GestureDetector( onTap: () { Navigator.pop(context); - controller.state.updataimaglist.remove(controller.state.updataimaglist[index]); - controller.state.imaglist.removeAt(index); + controller.delAlbumImage(index); + - controller.update(); }, child: Container( diff --git a/circle_app/lib/main.dart b/circle_app/lib/main.dart index aaea0c9..5f0e689 100644 --- a/circle_app/lib/main.dart +++ b/circle_app/lib/main.dart @@ -6,6 +6,7 @@ import 'package:circle_app/router/app_routers.dart'; import 'package:circle_app/util/util.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:tencent_cloud_chat_uikit/tencent_cloud_chat_uikit.dart'; @@ -107,6 +108,7 @@ class _MyAppState extends State { initialBinding: SplashBinding(), getPages: AppPages.routes, home: SplashPage(), + builder: FlutterSmartDialog.init(), debugShowCheckedModeBanner: false, ); }); diff --git a/circle_app/lib/network/api.dart b/circle_app/lib/network/api.dart index 9146f9a..300e258 100644 --- a/circle_app/lib/network/api.dart +++ b/circle_app/lib/network/api.dart @@ -56,4 +56,34 @@ class Api { //他人信息 static const getUserInfoTA = 'user-service/user/'; + + + + //我的相册 + static const getMyAlbum = 'up-service/my/albums'; + + + //他的相册 + static const getTaAlbum = 'up-service/user/'; + + + //上传相册照片 + static const updataAlbum = 'up-service/album'; + + + + //删除相册照片 + static const deleteAlbum = 'up-service/album/'; + + + + //催更Ta的相册 + static const urgeAlbum = 'up-service/user/'; + + + +//获取催更状态 + static const getUrgeStatus = 'up-service/user/'; + + } \ No newline at end of file diff --git a/circle_app/lib/network/dio_manager.dart b/circle_app/lib/network/dio_manager.dart index 5276613..eb91587 100644 --- a/circle_app/lib/network/dio_manager.dart +++ b/circle_app/lib/network/dio_manager.dart @@ -107,6 +107,30 @@ class DioManager { } + Future delete({ + required String url, + Map? params, + bool isAddTokenInHeader = true, + bool isShowErrorToast = true, + FormData? formData, + CancelToken? cancelToken, + ProgressCallback? onSendProgress, + ProgressCallback? onReceiveProgress, + }) async { + return await requestHttp( + url, + method: DioMethod.delete, + // 修改请求方法为 delete + isShowErrorToast: isShowErrorToast, + params: params, + formData: formData, + cancelToken: cancelToken, + onSendProgress: onSendProgress, + onReceiveProgress: onReceiveProgress, + ); + } + + /// Dio request 方法 Future requestHttp(String url, diff --git a/circle_app/lib/router/app_pages.dart b/circle_app/lib/router/app_pages.dart index 5d5f599..1fa6404 100644 --- a/circle_app/lib/router/app_pages.dart +++ b/circle_app/lib/router/app_pages.dart @@ -59,7 +59,7 @@ class AppPages { ), GetPage( name: AppRoutes.Complete_materialPage, - page: () => FlutterSmartDialog(child: Complete_materialPage(),), + page: () => Complete_materialPage(), binding: Complete_materialBinding(), ), GetPage( @@ -104,12 +104,12 @@ class AppPages { ), GetPage( name: AppRoutes.UserInfoActivity, - page: () => FlutterSmartDialog(child: UserinfoPage()), + page: () => UserinfoPage(), binding: UserinfoBinding(), ), GetPage( name: AppRoutes.Call_out, - page: () => FlutterSmartDialog(child:Call_outPage() ,) , + page: () => Call_outPage() , binding: Call_outBinding(), ), GetPage(name: AppRoutes.Login, page: () => LoginPage()), diff --git a/circle_app/pubspec.yaml b/circle_app/pubspec.yaml index 599bc32..cc091e2 100644 --- a/circle_app/pubspec.yaml +++ b/circle_app/pubspec.yaml @@ -67,7 +67,7 @@ dependencies: #权限申请 permission_handler: ^10.3.0 #loading - flutter_smart_dialog: 4.9.2 + flutter_smart_dialog: ^4.9.2 #获取位置信息 geolocator: ^9.0.2 #获取视频第一帧