更新
This commit is contained in:
@@ -4,12 +4,15 @@ import 'package:EasyDartModule/EasyDartModule.dart';
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutterflow_ui/flutterflow_ui.dart';
|
||||
import 'package:fluwx/fluwx.dart';
|
||||
import 'package:get_storage/get_storage.dart';
|
||||
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
||||
import 'package:vbvs_app/common/color/app_uri_status.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
||||
import 'package:vbvs_app/controller/time/countdown_controller.dart';
|
||||
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
import 'package:vbvs_app/model/api_response.dart';
|
||||
import 'package:vbvs_app/model/user_data.dart';
|
||||
@@ -46,9 +49,9 @@ class LoginModel {
|
||||
|
||||
class LoginController extends GetControllerEx<LoginModel> {
|
||||
// 初始化实例
|
||||
// final Fluwx fluwx = Fluwx();
|
||||
final Fluwx fluwx = Fluwx();
|
||||
// 微信监听返回值
|
||||
// FluwxCancelable? fluwxCancelable;
|
||||
FluwxCancelable? fluwxCancelable;
|
||||
|
||||
// final UserRepository repository = UserRepository();
|
||||
LoginController() {
|
||||
@@ -70,6 +73,17 @@ class LoginController extends GetControllerEx<LoginModel> {
|
||||
String serviceName = ServiceConstant.server_service;
|
||||
String serviceApi = ServiceConstant.login;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
queryUrl += "&lang=$language";
|
||||
} else {
|
||||
queryUrl += "?lang=$language";
|
||||
}
|
||||
}
|
||||
var data = {
|
||||
"type": 1,
|
||||
"userName": model.phone,
|
||||
@@ -83,6 +97,8 @@ class LoginController extends GetControllerEx<LoginModel> {
|
||||
ApiResponse res = ApiResponse.fromJson(responseData, (object) => object);
|
||||
MyUtils.formatResponse(apiResponse, "其他手机登录页.登陆成功".tr, "其他手机登录页.登陆失败".tr);
|
||||
if (res.code == HttpStatusCodes.ok) {
|
||||
CountdownController countdownController = Get.find();
|
||||
countdownController.countdown.value = 0;
|
||||
UserInfoController userInfoController = Get.find();
|
||||
userInfoController.model.login = 1;
|
||||
userInfoController.model.user = UserModel.fromJson(res.data);
|
||||
@@ -118,6 +134,17 @@ class LoginController extends GetControllerEx<LoginModel> {
|
||||
String serviceName = ServiceConstant.server_service;
|
||||
String serviceApi = ServiceConstant.send_code;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
queryUrl += "&lang=$language";
|
||||
} else {
|
||||
queryUrl += "?lang=$language";
|
||||
}
|
||||
}
|
||||
var data = {
|
||||
"userName": model.phone,
|
||||
};
|
||||
@@ -147,32 +174,34 @@ class LoginController extends GetControllerEx<LoginModel> {
|
||||
}
|
||||
|
||||
//微信登录
|
||||
// Future<void> wxLoginSendAuth() async {
|
||||
// /*
|
||||
// 1、目前移动应用上微信登录只提供原生的登录方式,需要用户安装微信客户端才能配合使用。
|
||||
// 2、对于Android应用,建议总是显示微信登录按钮,当用户手机没有安装微信客户端时,请引导用户下载安装微信客户端。
|
||||
// 3、对于iOS应用,考虑到iOS应用商店审核指南中的相关规定,建议开发者接入微信登录时,先检测用户手机是否已安装微信客户端
|
||||
// (使用sdk中isWXAppInstalled函数 ),对未安装的用户隐藏微信登录按钮,只提供其他登录方式(比如手机号注册登录、游客登录等)
|
||||
// */
|
||||
// if (isAndroid) {
|
||||
// bool isWeChatInstalled = await fluwx.isWeChatInstalled;
|
||||
// debugPrint('is wechat installed: $isWeChatInstalled');
|
||||
// if (!isWeChatInstalled) {
|
||||
// showToast("请先安装微信APP,再使用微信登录");
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
// fluwx
|
||||
// .authBy(
|
||||
// which: NormalAuth(
|
||||
// scope: 'snsapi_userinfo',
|
||||
// state: 'wechat_sdk_zhmht_wxlogin',
|
||||
// ))
|
||||
// .then((data) {
|
||||
// //返回true表示成功或者false表示失败,这边没有意义从login_controller页面构造函数监听中去处理
|
||||
// debugPrint('msg:$data');
|
||||
// });
|
||||
// }
|
||||
Future<void> wxLoginSendAuth(BuildContext context) async {
|
||||
/*
|
||||
1、目前移动应用上微信登录只提供原生的登录方式,需要用户安装微信客户端才能配合使用。
|
||||
2、对于Android应用,建议总是显示微信登录按钮,当用户手机没有安装微信客户端时,请引导用户下载安装微信客户端。
|
||||
3、对于iOS应用,考虑到iOS应用商店审核指南中的相关规定,建议开发者接入微信登录时,先检测用户手机是否已安装微信客户端
|
||||
(使用sdk中isWXAppInstalled函数 ),对未安装的用户隐藏微信登录按钮,只提供其他登录方式(比如手机号注册登录、游客登录等)
|
||||
*/
|
||||
if (isAndroid) {
|
||||
bool isWeChatInstalled = await fluwx.isWeChatInstalled;
|
||||
if (!isWeChatInstalled) {
|
||||
TopSlideNotification.show(context,
|
||||
text: "微信安装提示".tr, textColor: themeController.currentColor.sc9);
|
||||
return;
|
||||
}
|
||||
}
|
||||
fluwx
|
||||
.authBy(
|
||||
which: NormalAuth(
|
||||
scope: 'snsapi_userinfo',
|
||||
state: 'wechat_sdk_theh_wxlogin',
|
||||
))
|
||||
.then((data) {
|
||||
//返回true表示成功或者false表示失败,这边没有意义从login_controller页面构造函数监听中去处理
|
||||
debugPrint('msg:$data');
|
||||
});
|
||||
}
|
||||
|
||||
loginByWechatCode(String code) {}
|
||||
|
||||
//退出登录
|
||||
// Future<void> logout() async {
|
||||
|
||||
Reference in New Issue
Block a user