Browse Source

no message

ios
ZHR007 4 months ago
parent
commit
bd84da1f37
7 changed files with 122 additions and 32 deletions
  1. 9
      lib/controller/mine/auth_controller.dart
  2. 21
      lib/controller/mine/user_controller.dart
  3. 62
      lib/extension/router_service.dart
  4. 50
      lib/model/mine/user_data.dart
  5. 3
      lib/pages/main/main_page.dart
  6. 6
      lib/pages/mine/auth_center_page.dart
  7. 3
      lib/pages/mine/mine_page.dart

9
lib/controller/mine/auth_controller.dart

@ -74,6 +74,11 @@ class AuthController extends GetxController {
return id[17].toUpperCase() == checkCode;
}
void changeAuth(int index){
AuthCard card = dataList.firstWhere((item) => item.index == index);
card.authed = true;
}
Future<void> startAuthing() async {
if (name.value.isEmpty) {
SmartDialog.showToast('请输入姓名');
@ -103,7 +108,7 @@ class AuthController extends GetxController {
if (response.data.isSuccess) {
GlobalData().userData?.realAuth = true;
SmartDialog.showToast('认证成功');
Get.back(result: {'index': 3});
Get.back(result: 3);
} else {
SmartDialog.showToast(response.data.message);
}
@ -120,7 +125,7 @@ class AuthCard {
final String title;
final String desc;
final int index;
final bool authed;
bool authed;
AuthCard({
required this.desc,

21
lib/controller/mine/user_controller.dart

@ -75,6 +75,16 @@ class UserController extends GetxController {
final response = await _userApi.getMarriageInformationDetail();
if (response.data.isSuccess) {
// data是否为null或者是空对象
print(78111);
if(response.data.data == null){
if(isMain){
SmartDialog.showToast('转到完善信息');
Get.to(() => UserInfoPage());
} else {
Get.offAll(() => UserInfoPage());
}
return;
}
final information = response.data.data!;
if (information.id.isNotEmpty) {
final result = await _userApi.getCertificationList(information.id);
@ -83,16 +93,21 @@ class UserController extends GetxController {
information.realAuth = record.status == 1;
}
GlobalData().userData = information;
print(95111);
print(GlobalData().userData);
if (information.id.isEmpty || information.genderCode.isNaN || information.birthYear == null) {
//
SmartDialog.showToast('转到完善信息');
//
Get.offAll(() => UserInfoPage());
if(isMain){
SmartDialog.showToast('转到完善信息');
Get.to(() => UserInfoPage());
} else {
Get.offAll(() => UserInfoPage());
}
} else if(!isMain){
Get.offAll(MainPage());
}
} else {
//
}
} catch (e) {
//

62
lib/extension/router_service.dart

@ -0,0 +1,62 @@
//
import 'package:dating_touchme_app/controller/global.dart';
import 'package:get/get.dart';
import '../pages/mine/user_info_page.dart';
class RouteGuardService extends GetxService {
static RouteGuardService get to => Get.find();
//
Future<T?> toWithAuth<T>(dynamic page, dynamic arguments) async {
bool checked = false;
if (GlobalData().userData != null) {
final information = GlobalData().userData!;
if(information.id.isNotEmpty && information.birthYear != null){
checked = true;
}
}
if(!checked){
final result = await Get.to(() => UserInfoPage());
if (result != true) {
// return null;
}
return null;
}
return Get.to(() => page, arguments: arguments);
}
//
// Future<T?> toWithRole<T>(dynamic page, String requiredRole) async {
// //
// if (!await _checkAuth()) return null;
//
// //
// if (!AuthService.to.hasRole(requiredRole)) {
// Get.snackbar('权限不足', '需要$requiredRole权限');
// return null;
// }
//
// return Get.to(() => page);
// }
// VIP
// Future<T?> toWithVIP<T>(dynamic page) async {
// if (!await _checkAuth()) return null;
//
// if (!AuthService.to.isVIP.value) {
// final result = await Get.to(() => VIPPurchasePage());
// if (result != true) return null;
// }
// return Get.to(() => page);
// }
// Future<bool> _checkAuth() async {
// if (!AuthService.to.isLoggedIn.value) {
// final result = await Get.to(() => LoginPage());
// return result == true;
// }
// return true;
// }
}

50
lib/model/mine/user_data.dart

@ -9,55 +9,55 @@ class UserData {
final String genderValue;
final String? homeCountryCode;
final String? homeCountry;
final String? provinceCode;
final int? provinceCode;
final String? provinceName;
final String? cityCode;
final int? cityCode;
final String? cityName;
final String? districtCode;
final int? districtCode;
final String? districtName;
final String? birthYear;
final String? birthDate;
final String? constellationCode;
final int? constellationCode;
final String? constellation;
final String? chineseZodiacCode;
final int? chineseZodiacCode;
final String? chineseZodiac;
final String? height;
final String? weight;
final int? height;
final int? weight;
final int? educationCode;
final String? education;
final String? maritalStatusCode;
final int? maritalStatusCode;
final String? maritalStatusName;
final String? minimumIncome;
final String? maximumIncome;
final String? incomeCode;
final int? minimumIncome;
final int? maximumIncome;
final int? incomeCode;
final String? income;
final String? describeInfo;
final String? domicilePlaceProvinceCode;
final int? domicilePlaceProvinceCode;
final String? domicilePlaceProvinceName;
final String? domicilePlaceCityCode;
final int? domicilePlaceCityCode;
final String? domicilePlaceCityName;
final String? nationCode;
final int? nationCode;
final String? nation;
final String? bodilyFormCode;
final int? bodilyFormCode;
final String? bodilyForm;
final String? accountTypeCode;
final int? accountTypeCode;
final String? accountTypeName;
final String? nationalityCode;
final int? nationalityCode;
final String? nationality;
final String? nativePlaceCode;
final int? nativePlaceCode;
final String? nativePlaceName;
final String? industryCode;
final int? industryCode;
final String? industry;
final String? occupationCode;
final int? occupationCode;
final String? occupation;
final String? onlyChild;
final String? carPurchaseSituationCode;
final int? onlyChild;
final int? carPurchaseSituationCode;
final String? carPurchaseSituation;
final String? propertyPermitsCode;
final int? propertyPermitsCode;
final String? propertyPermits;
final String? hometownProvinceCode;
final int? hometownProvinceCode;
final String? hometownProvinceName;
final String? hometownCityCode;
final int? hometownCityCode;
final String? hometownCityName;
bool? realAuth;

3
lib/pages/main/main_page.dart

@ -7,6 +7,7 @@ import 'package:get_storage/get_storage.dart';
import 'package:dating_touchme_app/controller/mine/user_controller.dart';
import '../../extension/router_service.dart';
import '../../widget/double_tap_to_exit_widget.dart';
import '../discover/discover_page.dart';
import '../home/home_page.dart';
@ -43,7 +44,7 @@ class _MainPageState extends State<MainPage> {
// UserController并调用获取环信用户token的方法
final userController = Get.put(UserController());
userController.getHxUserToken();
Get.put(RouteGuardService());
// token并调用获取婚姻信息详情的方法
checkTokenAndFetchMarriageInfo();
}

6
lib/pages/mine/auth_center_page.dart

@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart';
import '../../controller/mine/auth_controller.dart';
import '../../extension/router_service.dart';
import 'edit_info_page.dart';
class AuthCenterPage extends StatelessWidget {
@ -115,9 +116,12 @@ class AuthCenterPage extends StatelessWidget {
if(!item.authed){
if(item.index == 2){
Get.to(() => EditInfoPage());
// Get.to(widget.path);
} else if(item.index == 3){
final result = await Get.to(() => RealNamePage());
print(result);
if(result > 0){
controller.changeAuth(result);
}
}
}
});

3
lib/pages/mine/mine_page.dart

@ -6,6 +6,8 @@ import 'package:dating_touchme_app/generated/assets.dart';
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import '../../extension/router_service.dart';
class MinePage extends StatefulWidget {
const MinePage({super.key});
@ -239,6 +241,7 @@ class _BlockItemState extends State<BlockItem> {
onTap: (){
// context.pushNamed(widget.path);
Get.to(widget.path);
// RouteGuardService.to.toWithAuth(widget.path, null);
},
child: Container(
width: 170.w,

Loading…
Cancel
Save