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

21
lib/controller/mine/user_controller.dart

@ -75,6 +75,16 @@ class UserController extends GetxController {
final response = await _userApi.getMarriageInformationDetail(); final response = await _userApi.getMarriageInformationDetail();
if (response.data.isSuccess) { if (response.data.isSuccess) {
// data是否为null或者是空对象 // 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!; final information = response.data.data!;
if (information.id.isNotEmpty) { if (information.id.isNotEmpty) {
final result = await _userApi.getCertificationList(information.id); final result = await _userApi.getCertificationList(information.id);
@ -83,16 +93,21 @@ class UserController extends GetxController {
information.realAuth = record.status == 1; information.realAuth = record.status == 1;
} }
GlobalData().userData = information; GlobalData().userData = information;
print(95111);
print(GlobalData().userData);
if (information.id.isEmpty || information.genderCode.isNaN || information.birthYear == null) { if (information.id.isEmpty || information.genderCode.isNaN || information.birthYear == null) {
// //
SmartDialog.showToast('转到完善信息'); SmartDialog.showToast('转到完善信息');
// //
Get.offAll(() => UserInfoPage());
if(isMain){
SmartDialog.showToast('转到完善信息');
Get.to(() => UserInfoPage());
} else {
Get.offAll(() => UserInfoPage());
}
} else if(!isMain){ } else if(!isMain){
Get.offAll(MainPage()); Get.offAll(MainPage());
} }
} else {
//
} }
} catch (e) { } 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 genderValue;
final String? homeCountryCode; final String? homeCountryCode;
final String? homeCountry; final String? homeCountry;
final String? provinceCode;
final int? provinceCode;
final String? provinceName; final String? provinceName;
final String? cityCode;
final int? cityCode;
final String? cityName; final String? cityName;
final String? districtCode;
final int? districtCode;
final String? districtName; final String? districtName;
final String? birthYear; final String? birthYear;
final String? birthDate; final String? birthDate;
final String? constellationCode;
final int? constellationCode;
final String? constellation; final String? constellation;
final String? chineseZodiacCode;
final int? chineseZodiacCode;
final String? chineseZodiac; final String? chineseZodiac;
final String? height;
final String? weight;
final int? height;
final int? weight;
final int? educationCode; final int? educationCode;
final String? education; final String? education;
final String? maritalStatusCode;
final int? maritalStatusCode;
final String? maritalStatusName; 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? income;
final String? describeInfo; final String? describeInfo;
final String? domicilePlaceProvinceCode;
final int? domicilePlaceProvinceCode;
final String? domicilePlaceProvinceName; final String? domicilePlaceProvinceName;
final String? domicilePlaceCityCode;
final int? domicilePlaceCityCode;
final String? domicilePlaceCityName; final String? domicilePlaceCityName;
final String? nationCode;
final int? nationCode;
final String? nation; final String? nation;
final String? bodilyFormCode;
final int? bodilyFormCode;
final String? bodilyForm; final String? bodilyForm;
final String? accountTypeCode;
final int? accountTypeCode;
final String? accountTypeName; final String? accountTypeName;
final String? nationalityCode;
final int? nationalityCode;
final String? nationality; final String? nationality;
final String? nativePlaceCode;
final int? nativePlaceCode;
final String? nativePlaceName; final String? nativePlaceName;
final String? industryCode;
final int? industryCode;
final String? industry; final String? industry;
final String? occupationCode;
final int? occupationCode;
final String? occupation; final String? occupation;
final String? onlyChild;
final String? carPurchaseSituationCode;
final int? onlyChild;
final int? carPurchaseSituationCode;
final String? carPurchaseSituation; final String? carPurchaseSituation;
final String? propertyPermitsCode;
final int? propertyPermitsCode;
final String? propertyPermits; final String? propertyPermits;
final String? hometownProvinceCode;
final int? hometownProvinceCode;
final String? hometownProvinceName; final String? hometownProvinceName;
final String? hometownCityCode;
final int? hometownCityCode;
final String? hometownCityName; final String? hometownCityName;
bool? realAuth; 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 'package:dating_touchme_app/controller/mine/user_controller.dart';
import '../../extension/router_service.dart';
import '../../widget/double_tap_to_exit_widget.dart'; import '../../widget/double_tap_to_exit_widget.dart';
import '../discover/discover_page.dart'; import '../discover/discover_page.dart';
import '../home/home_page.dart'; import '../home/home_page.dart';
@ -43,7 +44,7 @@ class _MainPageState extends State<MainPage> {
// UserController并调用获取环信用户token的方法 // UserController并调用获取环信用户token的方法
final userController = Get.put(UserController()); final userController = Get.put(UserController());
userController.getHxUserToken(); userController.getHxUserToken();
Get.put(RouteGuardService());
// token并调用获取婚姻信息详情的方法 // token并调用获取婚姻信息详情的方法
checkTokenAndFetchMarriageInfo(); checkTokenAndFetchMarriageInfo();
} }

6
lib/pages/mine/auth_center_page.dart

@ -5,6 +5,7 @@ import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import '../../controller/mine/auth_controller.dart'; import '../../controller/mine/auth_controller.dart';
import '../../extension/router_service.dart';
import 'edit_info_page.dart'; import 'edit_info_page.dart';
class AuthCenterPage extends StatelessWidget { class AuthCenterPage extends StatelessWidget {
@ -115,9 +116,12 @@ class AuthCenterPage extends StatelessWidget {
if(!item.authed){ if(!item.authed){
if(item.index == 2){ if(item.index == 2){
Get.to(() => EditInfoPage()); Get.to(() => EditInfoPage());
// Get.to(widget.path);
} else if(item.index == 3){ } else if(item.index == 3){
final result = await Get.to(() => RealNamePage()); 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/get.dart';
import 'package:get_storage/get_storage.dart'; import 'package:get_storage/get_storage.dart';
import '../../extension/router_service.dart';
class MinePage extends StatefulWidget { class MinePage extends StatefulWidget {
const MinePage({super.key}); const MinePage({super.key});
@ -239,6 +241,7 @@ class _BlockItemState extends State<BlockItem> {
onTap: (){ onTap: (){
// context.pushNamed(widget.path); // context.pushNamed(widget.path);
Get.to(widget.path); Get.to(widget.path);
// RouteGuardService.to.toWithAuth(widget.path, null);
}, },
child: Container( child: Container(
width: 170.w, width: 170.w,

Loading…
Cancel
Save