|
|
|
import 'dart:async';
|
|
|
|
import 'dart:convert';
|
|
|
|
import 'dart:io';
|
|
|
|
|
|
|
|
import 'package:common_utils/common_utils.dart';
|
|
|
|
import 'package:dio/dio.dart';
|
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
|
import 'package:fluwx/fluwx.dart' as fluwx;
|
|
|
|
import 'package:fluwx/fluwx.dart';
|
|
|
|
import 'package:one_key/app.dart';
|
|
|
|
import 'package:one_key/models/checkbind_phone_model.dart';
|
|
|
|
import 'package:one_key/models/store_info.dart';
|
|
|
|
import 'package:one_key/net/dio_util.dart';
|
|
|
|
import 'package:one_key/provider/create_store_model.dart';
|
|
|
|
import 'package:one_key/provider/other_login_provider.dart';
|
|
|
|
import 'package:one_key/provider/user_model.dart';
|
|
|
|
import 'package:one_key/res/colors.dart';
|
|
|
|
import 'package:one_key/route/navigate_service.dart';
|
|
|
|
import 'package:one_key/route/navigator_util.dart';
|
|
|
|
import 'package:one_key/utils/dialog_util.dart';
|
|
|
|
import 'package:one_key/utils/utils.dart';
|
|
|
|
import 'package:one_key/widgets/MyDivider.dart';
|
|
|
|
import 'package:one_key/widgets/h_empty_view.dart';
|
|
|
|
import 'package:one_key/widgets/loading.dart';
|
|
|
|
import 'package:one_key/widgets/round_button.dart';
|
|
|
|
import 'package:one_key/widgets/v_empty_view.dart';
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:sign_in_with_apple/sign_in_with_apple.dart';
|
|
|
|
|
|
|
|
class LoginPage extends StatefulWidget {
|
|
|
|
@override
|
|
|
|
State<StatefulWidget> createState() {
|
|
|
|
// TODO: implement createState
|
|
|
|
return new LoginState();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class LoginState extends State<LoginPage> with WidgetsBindingObserver {
|
|
|
|
TextEditingController _sellerCodeController = TextEditingController();
|
|
|
|
TextEditingController _accountController = TextEditingController();
|
|
|
|
final TextEditingController _pwdController = TextEditingController();
|
|
|
|
final ScrollController _scrollController = new ScrollController();
|
|
|
|
|
|
|
|
final FocusNode _sellerCodeFocusNode = new FocusNode();
|
|
|
|
final FocusNode _accountFocusNode = new FocusNode();
|
|
|
|
final FocusNode _pwdFocusNode = new FocusNode();
|
|
|
|
|
|
|
|
bool obscureText = true; //是否隐藏密码
|
|
|
|
bool isActivate = false; //是否激活登录
|
|
|
|
|
|
|
|
String errorText = ""; //错误提示
|
|
|
|
|
|
|
|
bool _check = false;
|
|
|
|
StreamSubscription<BaseWeChatResponse> streamSubscription;
|
|
|
|
OtherLoginProvider otherLoginProvider;
|
|
|
|
CreateStoreModel createStoreModel;
|
|
|
|
|
|
|
|
@override
|
|
|
|
void initState() {
|
|
|
|
// TODO: implement initState
|
|
|
|
super.initState();
|
|
|
|
//第一次打开应用
|
|
|
|
// import 'dart:async';
|
|
|
|
// import 'dart:convert';
|
|
|
|
// import 'dart:io';
|
|
|
|
|
|
|
|
// import 'package:common_utils/common_utils.dart';
|
|
|
|
// import 'package:dio/dio.dart';
|
|
|
|
// import 'package:flutter/cupertino.dart';
|
|
|
|
// import 'package:flutter/material.dart';
|
|
|
|
// import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
|
// import 'package:fluwx/fluwx.dart' as fluwx;
|
|
|
|
// import 'package:fluwx/fluwx.dart';
|
|
|
|
// import 'package:one_key/app.dart';
|
|
|
|
// import 'package:one_key/models/checkbind_phone_model.dart';
|
|
|
|
// import 'package:one_key/models/store_info.dart';
|
|
|
|
// import 'package:one_key/net/dio_util.dart';
|
|
|
|
// import 'package:one_key/provider/create_store_model.dart';
|
|
|
|
// import 'package:one_key/provider/other_login_provider.dart';
|
|
|
|
// import 'package:one_key/provider/user_model.dart';
|
|
|
|
// import 'package:one_key/res/colors.dart';
|
|
|
|
// import 'package:one_key/route/navigate_service.dart';
|
|
|
|
// import 'package:one_key/route/navigator_util.dart';
|
|
|
|
// import 'package:one_key/utils/dialog_util.dart';
|
|
|
|
// import 'package:one_key/utils/utils.dart';
|
|
|
|
// import 'package:one_key/widgets/MyDivider.dart';
|
|
|
|
// import 'package:one_key/widgets/h_empty_view.dart';
|
|
|
|
// import 'package:one_key/widgets/loading.dart';
|
|
|
|
// import 'package:one_key/widgets/round_button.dart';
|
|
|
|
// import 'package:one_key/widgets/v_empty_view.dart';
|
|
|
|
// import 'package:provider/provider.dart';
|
|
|
|
// import 'package:sign_in_with_apple/sign_in_with_apple.dart';
|
|
|
|
|
|
|
|
// class LoginPage extends StatefulWidget {
|
|
|
|
// @override
|
|
|
|
// State<StatefulWidget> createState() {
|
|
|
|
// // TODO: implement createState
|
|
|
|
// return new LoginState();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// class LoginState extends State<LoginPage> with WidgetsBindingObserver {
|
|
|
|
// TextEditingController _sellerCodeController = TextEditingController();
|
|
|
|
// TextEditingController _accountController = TextEditingController();
|
|
|
|
// final TextEditingController _pwdController = TextEditingController();
|
|
|
|
// final ScrollController _scrollController = new ScrollController();
|
|
|
|
|
|
|
|
// final FocusNode _sellerCodeFocusNode = new FocusNode();
|
|
|
|
// final FocusNode _accountFocusNode = new FocusNode();
|
|
|
|
// final FocusNode _pwdFocusNode = new FocusNode();
|
|
|
|
|
|
|
|
// bool obscureText = true; //是否隐藏密码
|
|
|
|
// bool isActivate = false; //是否激活登录
|
|
|
|
|
|
|
|
// String errorText = ""; //错误提示
|
|
|
|
|
|
|
|
// bool _check = false;
|
|
|
|
// StreamSubscription<BaseWeChatResponse> streamSubscription;
|
|
|
|
// OtherLoginProvider otherLoginProvider;
|
|
|
|
// CreateStoreModel createStoreModel;
|
|
|
|
|
|
|
|
// @override
|
|
|
|
// void initState() {
|
|
|
|
// // TODO: implement initState
|
|
|
|
// super.initState();
|
|
|
|
// //第一次打开应用
|
|
|
|
|
|
|
|
|
|
|
|
_checkWechat();
|
|
|
|
isLogin();
|
|
|
|
WidgetsBinding.instance.addObserver(this);
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
|
|
final UserModel userModel =
|
|
|
|
Provider.of<UserModel>(context, listen: false);
|
|
|
|
if (userModel != null && userModel.user != null) {
|
|
|
|
Future.delayed(Duration(milliseconds: 50), () {
|
|
|
|
_sellerCodeController.text = userModel.user.sellercode;
|
|
|
|
_accountController.text = userModel.user.account;
|
|
|
|
// FocusScope.of(context).requestFocus(_pwdFocusNode);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
//当页面离开时要清除监听器
|
|
|
|
@override
|
|
|
|
void dispose() {
|
|
|
|
super.dispose();
|
|
|
|
WidgetsBinding.instance.removeObserver(this);
|
|
|
|
if (streamSubscription != null) {
|
|
|
|
streamSubscription.cancel();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//微信是否安装
|
|
|
|
_checkWechat() async {
|
|
|
|
// await registerWxApi(
|
|
|
|
// appId: "wx85aa3cdd0f791e65",
|
|
|
|
// doOnAndroid: true,
|
|
|
|
// doOnIOS: true,
|
|
|
|
// universalLink: "https://xt04.colorcun.com/link/OneKey/");
|
|
|
|
var result = await isWeChatInstalled;
|
|
|
|
if (result != null && result) {
|
|
|
|
App.isInstallWx = true;
|
|
|
|
} else {
|
|
|
|
App.isInstallWx = false;
|
|
|
|
}
|
|
|
|
setState(() {});
|
|
|
|
LogUtil.v("is installed $result");
|
|
|
|
}
|
|
|
|
|
|
|
|
handlePostFrame(_) {
|
|
|
|
// _scrollController.jumpTo(_scrollController.position.maxScrollExtent);
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
void didChangeMetrics() {
|
|
|
|
// TODO: implement didChangeMetrics
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback(handlePostFrame);
|
|
|
|
super.didChangeDependencies();
|
|
|
|
}
|
|
|
|
|
|
|
|
//监听输入框,设置登录按钮状态
|
|
|
|
setActivate() {
|
|
|
|
if (_sellerCodeController.text.isNotEmpty &&
|
|
|
|
_accountController.text.isNotEmpty &&
|
|
|
|
_pwdController.text.isNotEmpty) {
|
|
|
|
setState(() {
|
|
|
|
errorText = "";
|
|
|
|
isActivate = true;
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
setState(() {
|
|
|
|
errorText = "";
|
|
|
|
isActivate = false;
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//判断是否登录
|
|
|
|
void isLogin() async {
|
|
|
|
await App.initSp();
|
|
|
|
UserModel userModel = Provider.of<UserModel>(context, listen: false);
|
|
|
|
userModel.initUser();
|
|
|
|
if (App.sp.getBool("isLogin") ?? false) {
|
|
|
|
Future.delayed(Duration(milliseconds: 200), () {
|
|
|
|
NavigatorUtil.goHomePage(context);
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
_getWxCode();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
///微信登陆
|
|
|
|
|
|
|
|
_wxLogin() {
|
|
|
|
sendWeChatAuth(scope: "snsapi_userinfo");
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取微信登录code
|
|
|
|
_getWxCode() {
|
|
|
|
streamSubscription = fluwx.weChatResponseEventHandler
|
|
|
|
.distinct((a, b) => a == b)
|
|
|
|
.listen((res) {
|
|
|
|
if (res is fluwx.WeChatAuthResponse && res.errCode == 0) {
|
|
|
|
LogUtil.v("code:" + res.code);
|
|
|
|
// Loading.showLoading(context);
|
|
|
|
_getAccessToken(res.code);
|
|
|
|
} else {
|
|
|
|
// Utils.showToast(res.errStr??"登录失败,请稍后重试");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
///获取微信登录access_token
|
|
|
|
_getAccessToken(String code) async {
|
|
|
|
Response response = await DioUtil.getInstance().getDio().get(
|
|
|
|
"https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx85aa3cdd0f791e65&secret=87c9a23c2e6032b2da75af6b0efc5424&code=$code&grant_type=authorization_code");
|
|
|
|
LogUtil.v("access_token:${response.toString()}");
|
|
|
|
Map<String, dynamic> responseData = json.decode(response.data.toString());
|
|
|
|
if (responseData["errcode"] != null) {
|
|
|
|
Utils.showToast(responseData["errmsg"] ?? "登录失败,请稍后重试");
|
|
|
|
// Loading.hideLoading(context);
|
|
|
|
} else {
|
|
|
|
App.sp.setString("openid", responseData["openid"]);
|
|
|
|
App.sp.setString("unionid", responseData["unionid"]);
|
|
|
|
|
|
|
|
//跳转至手机号绑定页面
|
|
|
|
//判断是否已经绑定手机号码 ******调用接口*******
|
|
|
|
//有,通过手机号吗或者opened查找店铺信息进行登陆
|
|
|
|
//没有,跳转至绑定手机号码页面
|
|
|
|
// Map<String, String> params = {
|
|
|
|
// "unionid": responseData["unionid"],
|
|
|
|
// };
|
|
|
|
// BuildContext contextTemp =
|
|
|
|
// App.getIt<NavigateService>().key.currentState.overlay.context;
|
|
|
|
// CheckbindPhoneSunModel model =
|
|
|
|
// await otherLoginProvider.checkbindPhone(contextTemp, params);
|
|
|
|
// // Loading.hideLoading(context);
|
|
|
|
// if (model != null) {
|
|
|
|
// createStoreModel.storeInfo = StoreInfo();
|
|
|
|
// createStoreModel.storeInfo.phone = model.phone;
|
|
|
|
createStoreModel.storeInfo = StoreInfo();
|
|
|
|
NavigatorUtil.goIfNeedCreateStorePage(context);
|
|
|
|
// } else {
|
|
|
|
// NavigatorUtil.goBindingPhonePage(context);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// _getUserInfo(responseData["access_token"], responseData["openid"]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// //获取用户信息
|
|
|
|
// _getUserInfo(String access_token, String openid) async {
|
|
|
|
// _checkWechat();
|
|
|
|
// isLogin();
|
|
|
|
// WidgetsBinding.instance.addObserver(this);
|
|
|
|
// WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
|
|
// final UserModel userModel =
|
|
|
|
// Provider.of<UserModel>(context, listen: false);
|
|
|
|
// if (userModel != null && userModel.user != null) {
|
|
|
|
// Future.delayed(Duration(milliseconds: 50), () {
|
|
|
|
// _sellerCodeController.text = userModel.user.sellercode;
|
|
|
|
// _accountController.text = userModel.user.account;
|
|
|
|
// // FocusScope.of(context).requestFocus(_pwdFocusNode);
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //当页面离开时要清除监听器
|
|
|
|
// @override
|
|
|
|
// void dispose() {
|
|
|
|
// super.dispose();
|
|
|
|
// WidgetsBinding.instance.removeObserver(this);
|
|
|
|
// if (streamSubscription != null) {
|
|
|
|
// streamSubscription.cancel();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //微信是否安装
|
|
|
|
// _checkWechat() async {
|
|
|
|
// // await registerWxApi(
|
|
|
|
// // appId: "wx85aa3cdd0f791e65",
|
|
|
|
// // doOnAndroid: true,
|
|
|
|
// // doOnIOS: true,
|
|
|
|
// // universalLink: "https://xt04.colorcun.com/link/OneKey/");
|
|
|
|
// var result = await isWeChatInstalled;
|
|
|
|
// if (result != null && result) {
|
|
|
|
// App.isInstallWx = true;
|
|
|
|
// } else {
|
|
|
|
// App.isInstallWx = false;
|
|
|
|
// }
|
|
|
|
// setState(() {});
|
|
|
|
// LogUtil.v("is installed $result");
|
|
|
|
// }
|
|
|
|
|
|
|
|
// handlePostFrame(_) {
|
|
|
|
// // _scrollController.jumpTo(_scrollController.position.maxScrollExtent);
|
|
|
|
// }
|
|
|
|
|
|
|
|
// @override
|
|
|
|
// void didChangeMetrics() {
|
|
|
|
// // TODO: implement didChangeMetrics
|
|
|
|
// WidgetsBinding.instance.addPostFrameCallback(handlePostFrame);
|
|
|
|
// super.didChangeDependencies();
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //监听输入框,设置登录按钮状态
|
|
|
|
// setActivate() {
|
|
|
|
// if (_sellerCodeController.text.isNotEmpty &&
|
|
|
|
// _accountController.text.isNotEmpty &&
|
|
|
|
// _pwdController.text.isNotEmpty) {
|
|
|
|
// setState(() {
|
|
|
|
// errorText = "";
|
|
|
|
// isActivate = true;
|
|
|
|
// });
|
|
|
|
// } else {
|
|
|
|
// setState(() {
|
|
|
|
// errorText = "";
|
|
|
|
// isActivate = false;
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// //判断是否登录
|
|
|
|
// void isLogin() async {
|
|
|
|
// await App.initSp();
|
|
|
|
// UserModel userModel = Provider.of<UserModel>(context, listen: false);
|
|
|
|
// userModel.initUser();
|
|
|
|
// if (App.sp.getBool("isLogin") ?? false) {
|
|
|
|
// Future.delayed(Duration(milliseconds: 200), () {
|
|
|
|
// NavigatorUtil.goHomePage(context);
|
|
|
|
// });
|
|
|
|
// } else {
|
|
|
|
// _getWxCode();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// ///微信登陆
|
|
|
|
|
|
|
|
// _wxLogin() {
|
|
|
|
// sendWeChatAuth(scope: "snsapi_userinfo");
|
|
|
|
// }
|
|
|
|
|
|
|
|
// ///获取微信登录code
|
|
|
|
// _getWxCode() {
|
|
|
|
// streamSubscription = fluwx.weChatResponseEventHandler
|
|
|
|
// .distinct((a, b) => a == b)
|
|
|
|
// .listen((res) {
|
|
|
|
// if (res is fluwx.WeChatAuthResponse && res.errCode == 0) {
|
|
|
|
// LogUtil.v("code:" + res.code);
|
|
|
|
// // Loading.showLoading(context);
|
|
|
|
// _getAccessToken(res.code);
|
|
|
|
// } else {
|
|
|
|
// // Utils.showToast(res.errStr??"登录失败,请稍后重试");
|
|
|
|
// }
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
|
|
|
|
// ///获取微信登录access_token
|
|
|
|
// _getAccessToken(String code) async {
|
|
|
|
// Response response = await DioUtil.getInstance().getDio().get(
|
|
|
|
// "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid");
|
|
|
|
// LogUtil.v('userinfo:' + response.data);
|
|
|
|
// "https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx85aa3cdd0f791e65&secret=87c9a23c2e6032b2da75af6b0efc5424&code=$code&grant_type=authorization_code");
|
|
|
|
// LogUtil.v("access_token:${response.toString()}");
|
|
|
|
// Map<String, dynamic> responseData = json.decode(response.data.toString());
|
|
|
|
// if (responseData["errcode"] != null) {
|
|
|
|
// // Utils.showToast(responseData["errmsg"]??"登录,请稍后重试");
|
|
|
|
// Utils.showToast(responseData["errmsg"] ?? "登录失败,请稍后重试");
|
|
|
|
// // Loading.hideLoading(context);
|
|
|
|
// } else {
|
|
|
|
// App.sp.setString("nickName", responseData["nickname"]);
|
|
|
|
// App.sp.setString("headImg", responseData["headimgurl"]);
|
|
|
|
// App.sp.setString("openid", responseData["openid"]);
|
|
|
|
// App.sp.setString("unionid", responseData["unionid"]);
|
|
|
|
// App.sp.setBool("isLogin", true);
|
|
|
|
// // _fromTypeGo();
|
|
|
|
// String unionId = App.sp.getString("unionid");
|
|
|
|
// _getMiniOpenid(unionId);
|
|
|
|
|
|
|
|
// //跳转至手机号绑定页面
|
|
|
|
// //判断是否已经绑定手机号码 ******调用接口*******
|
|
|
|
// //有,通过手机号吗或者opened查找店铺信息进行登陆
|
|
|
|
// //没有,跳转至绑定手机号码页面
|
|
|
|
// // Map<String, String> params = {
|
|
|
|
// // "unionid": responseData["unionid"],
|
|
|
|
// // };
|
|
|
|
// // BuildContext contextTemp =
|
|
|
|
// // App.getIt<NavigateService>().key.currentState.overlay.context;
|
|
|
|
// // CheckbindPhoneSunModel model =
|
|
|
|
// // await otherLoginProvider.checkbindPhone(contextTemp, params);
|
|
|
|
// // // Loading.hideLoading(context);
|
|
|
|
// // if (model != null) {
|
|
|
|
// // createStoreModel.storeInfo = StoreInfo();
|
|
|
|
// // createStoreModel.storeInfo.phone = model.phone;
|
|
|
|
// createStoreModel.storeInfo = StoreInfo();
|
|
|
|
// NavigatorUtil.goIfNeedCreateStorePage(context);
|
|
|
|
// // } else {
|
|
|
|
// // NavigatorUtil.goBindingPhonePage(context);
|
|
|
|
// // }
|
|
|
|
|
|
|
|
// // _getUserInfo(responseData["access_token"], responseData["openid"]);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// // //获取用户信息
|
|
|
|
// // _getUserInfo(String access_token, String openid) async {
|
|
|
|
// // Response response = await DioUtil.getInstance().getDio().get(
|
|
|
|
// // "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid");
|
|
|
|
// // LogUtil.v('userinfo:' + response.data);
|
|
|
|
// // Map<String, dynamic> responseData = json.decode(response.data.toString());
|
|
|
|
// // if (responseData["errcode"] != null) {
|
|
|
|
// // // Utils.showToast(responseData["errmsg"]??"登录,请稍后重试");
|
|
|
|
// // } else {
|
|
|
|
// // App.sp.setString("nickName", responseData["nickname"]);
|
|
|
|
// // App.sp.setString("headImg", responseData["headimgurl"]);
|
|
|
|
// // App.sp.setString("unionid", responseData["unionid"]);
|
|
|
|
// // App.sp.setBool("isLogin", true);
|
|
|
|
// // // _fromTypeGo();
|
|
|
|
// // String unionId = App.sp.getString("unionid");
|
|
|
|
// // _getMiniOpenid(unionId);
|
|
|
|
// // }
|
|
|
|
// // }
|
|
|
|
// // //获取绑定小程序openid
|
|
|
|
// // _getMiniOpenid(String unionId) async {
|
|
|
|
// // UserModel userInfoProvider = UserModel();
|
|
|
|
// // // Provider.of<UserInfoProvider>(context, listen: false);
|
|
|
|
// // Map<String, String> params = {"unionid": unionId};
|
|
|
|
// // String miniOpenid =
|
|
|
|
// // await userInfoProvider.getMiniProgramOpenid(context, params);
|
|
|
|
// // if (miniOpenid == null) {
|
|
|
|
// // goMiniProgramMd(unionId);
|
|
|
|
// // }
|
|
|
|
// // }
|
|
|
|
|
|
|
|
// /*
|
|
|
|
// 苹果登录获取用户信息
|
|
|
|
// */
|
|
|
|
// _getUserInfoIOS() async {
|
|
|
|
// // Map<String, String> params = {"openid": App.sp.getString("openid")};
|
|
|
|
// // UserInfoProvider userInfoProvider =
|
|
|
|
// // Provider.of<UserInfoProvider>(context, listen: false);
|
|
|
|
// // UseInfoItemModel useInfoItemModel =
|
|
|
|
// // await userInfoProvider.getUserInfo(context, params);
|
|
|
|
|
|
|
|
// // if (ObjectUtil.isNotEmpty(useInfoItemModel.openid)) {
|
|
|
|
// // _hideLoading(context);
|
|
|
|
// // App.sp.setString("nickName", useInfoItemModel.nickname);
|
|
|
|
// // App.sp.setString("headImg", '');
|
|
|
|
// // App.sp.setString("unionid", '');
|
|
|
|
// // App.sp.setBool("isLogin", true);
|
|
|
|
// // UserInfoProvider userInfoProvider = new UserInfoProvider();
|
|
|
|
// // userInfoProvider.initPlatformState(context);
|
|
|
|
// // // Loading.hideLoading(context);
|
|
|
|
// // _fromTypeGo();
|
|
|
|
// // } else {
|
|
|
|
// // // 已经授权,但是后台库里没有数据,版本差异,重新插入数据库
|
|
|
|
// // Map param = {
|
|
|
|
// // 'openid': App.sp.getString("openid"),
|
|
|
|
// // 'avatar': 'ios_avatar',
|
|
|
|
// // 'nickname': '',
|
|
|
|
// // 'gender': '1'
|
|
|
|
// // };
|
|
|
|
// // LoginRespository().appleLogin(context, param, () {
|
|
|
|
// // _getUserInfoIOS();
|
|
|
|
// // });
|
|
|
|
// // }
|
|
|
|
// }
|
|
|
|
|
|
|
|
// _showLoading(BuildContext context) {
|
|
|
|
// showGeneralDialog(
|
|
|
|
// context: context,
|
|
|
|
// barrierDismissible: false,
|
|
|
|
// barrierLabel:
|
|
|
|
// MaterialLocalizations.of(context).modalBarrierDismissLabel,
|
|
|
|
// transitionDuration: const Duration(milliseconds: 150),
|
|
|
|
// pageBuilder: (BuildContext context, Animation animation,
|
|
|
|
// Animation secondaryAnimation) {
|
|
|
|
// return Align(
|
|
|
|
// child: ClipRRect(
|
|
|
|
// borderRadius: BorderRadius.circular(10),
|
|
|
|
// child: Container(
|
|
|
|
// width: 80,
|
|
|
|
// height: 80,
|
|
|
|
// child: CupertinoActivityIndicator(),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// );
|
|
|
|
// }).then((v) {});
|
|
|
|
// }
|
|
|
|
|
|
|
|
// ///苹果登陆
|
|
|
|
// _iosLogin(UserModel value) async {
|
|
|
|
// String info = await Utils.getDeviceInfoSystem();
|
|
|
|
// int systemInfo = info.compareTo('13');
|
|
|
|
// if (systemInfo < 0) {
|
|
|
|
// Utils.showToast('该系统版本不支持苹果登录');
|
|
|
|
// return;
|
|
|
|
// }
|
|
|
|
// final credential = await SignInWithApple.getAppleIDCredential(
|
|
|
|
// scopes: [
|
|
|
|
// AppleIDAuthorizationScopes.email,
|
|
|
|
// AppleIDAuthorizationScopes.fullName,
|
|
|
|
// ],
|
|
|
|
// webAuthenticationOptions: WebAuthenticationOptions(
|
|
|
|
// // TODO: Set the `clientId` and `redirectUri` arguments to the values you entered in the Apple Developer portal during the setup
|
|
|
|
// clientId: 'com.naji.reserveLine',
|
|
|
|
// redirectUri: Uri.parse(
|
|
|
|
// 'https://flutter-sign-in-with-apple-example.glitch.me/callbacks/sign_in_with_apple',
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// );
|
|
|
|
// // _showLoading(context);
|
|
|
|
// // print(credential.userIdentifier);
|
|
|
|
// _loginAppleData(value);
|
|
|
|
// // NavigatorUtil.goBindingPhonePage(context, wechat: false);
|
|
|
|
// // String mdString = Utils.generateMd5(credential.userIdentifier);
|
|
|
|
// // String temp = mdString.substring(8, mdString.length - 2);
|
|
|
|
// // String openid = 'IOSID_$temp';
|
|
|
|
// // App.sp.setString("openid", openid);
|
|
|
|
// // App.sp.setString("unionid", '');
|
|
|
|
// // print(openid.length);
|
|
|
|
|
|
|
|
// // 第一次授权
|
|
|
|
// // if (ObjectUtil.isNotEmpty(credential.familyName)) {
|
|
|
|
// // Map param = {
|
|
|
|
// // 'openid': openid,
|
|
|
|
// // 'avatar': 'ios_avatar',
|
|
|
|
// // 'nickname': '${credential.familyName}${credential.givenName}',
|
|
|
|
// // 'gender': '1'
|
|
|
|
// // };
|
|
|
|
// // LoginRespository().appleLogin(context, param, () {
|
|
|
|
// // _getUserInfoIOS();
|
|
|
|
// // });
|
|
|
|
// // } else {
|
|
|
|
// // if (ObjectUtil.isNotEmpty(App.sp.getString("newUserMsg"))) {
|
|
|
|
// // Map newUserMsg = jsonDecode(App.sp.getString("newUserMsg"));
|
|
|
|
// // //上次失败了,这次重新传
|
|
|
|
// // LoginRespository().appleLogin(context, newUserMsg, () {
|
|
|
|
// // _getUserInfoIOS();
|
|
|
|
// // });
|
|
|
|
// // } else {
|
|
|
|
// // _getUserInfoIOS();
|
|
|
|
// // }
|
|
|
|
// // }
|
|
|
|
// }
|
|
|
|
// //获取绑定小程序openid
|
|
|
|
// _getMiniOpenid(String unionId) async {
|
|
|
|
// UserModel userInfoProvider = UserModel();
|
|
|
|
// // Provider.of<UserInfoProvider>(context, listen: false);
|
|
|
|
// Map<String, String> params = {"unionid": unionId};
|
|
|
|
// String miniOpenid =
|
|
|
|
// await userInfoProvider.getMiniProgramOpenid(context, params);
|
|
|
|
// if (miniOpenid == null) {
|
|
|
|
// goMiniProgramMd(unionId);
|
|
|
|
|
|
|
|
// _loginAppleData(UserModel value) {
|
|
|
|
// if (App.sp.containsKey('unionid')) {
|
|
|
|
// //微信登陆的时候,退出清空数据
|
|
|
|
// App.sp.remove('openid');
|
|
|
|
// App.sp.remove("unionid");
|
|
|
|
// }
|
|
|
|
// Map<String, String> params = {
|
|
|
|
// "seller_code": "001297",
|
|
|
|
// "alias": "ssahdahgdafgahjkhakjgh",
|
|
|
|
// "account": "0001",
|
|
|
|
// "password": "123456"
|
|
|
|
// };
|
|
|
|
// value.login(context, params).then((value) {
|
|
|
|
// // setState(() {
|
|
|
|
// // // errorText = value ?? "";
|
|
|
|
// // });
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
|
|
|
|
/*
|
|
|
|
苹果登录获取用户信息
|
|
|
|
*/
|
|
|
|
_getUserInfoIOS() async {
|
|
|
|
// Map<String, String> params = {"openid": App.sp.getString("openid")};
|
|
|
|
// UserInfoProvider userInfoProvider =
|
|
|
|
// Provider.of<UserInfoProvider>(context, listen: false);
|
|
|
|
// UseInfoItemModel useInfoItemModel =
|
|
|
|
// await userInfoProvider.getUserInfo(context, params);
|
|
|
|
|
|
|
|
// if (ObjectUtil.isNotEmpty(useInfoItemModel.openid)) {
|
|
|
|
// _hideLoading(context);
|
|
|
|
// App.sp.setString("nickName", useInfoItemModel.nickname);
|
|
|
|
// App.sp.setString("headImg", '');
|
|
|
|
// App.sp.setString("unionid", '');
|
|
|
|
// App.sp.setBool("isLogin", true);
|
|
|
|
// UserInfoProvider userInfoProvider = new UserInfoProvider();
|
|
|
|
// userInfoProvider.initPlatformState(context);
|
|
|
|
// // Loading.hideLoading(context);
|
|
|
|
// _fromTypeGo();
|
|
|
|
// } else {
|
|
|
|
// // 已经授权,但是后台库里没有数据,版本差异,重新插入数据库
|
|
|
|
// Map param = {
|
|
|
|
// 'openid': App.sp.getString("openid"),
|
|
|
|
// 'avatar': 'ios_avatar',
|
|
|
|
// 'nickname': '',
|
|
|
|
// 'gender': '1'
|
|
|
|
// };
|
|
|
|
// LoginRespository().appleLogin(context, param, () {
|
|
|
|
// _getUserInfoIOS();
|
|
|
|
// });
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
_showLoading(BuildContext context) {
|
|
|
|
showGeneralDialog(
|
|
|
|
context: context,
|
|
|
|
barrierDismissible: false,
|
|
|
|
barrierLabel:
|
|
|
|
MaterialLocalizations.of(context).modalBarrierDismissLabel,
|
|
|
|
transitionDuration: const Duration(milliseconds: 150),
|
|
|
|
pageBuilder: (BuildContext context, Animation animation,
|
|
|
|
Animation secondaryAnimation) {
|
|
|
|
return Align(
|
|
|
|
child: ClipRRect(
|
|
|
|
borderRadius: BorderRadius.circular(10),
|
|
|
|
child: Container(
|
|
|
|
width: 80,
|
|
|
|
height: 80,
|
|
|
|
child: CupertinoActivityIndicator(),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}).then((v) {});
|
|
|
|
}
|
|
|
|
|
|
|
|
///苹果登陆
|
|
|
|
_iosLogin(UserModel value) async {
|
|
|
|
String info = await Utils.getDeviceInfoSystem();
|
|
|
|
int systemInfo = info.compareTo('13');
|
|
|
|
if (systemInfo < 0) {
|
|
|
|
Utils.showToast('该系统版本不支持苹果登录');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
final credential = await SignInWithApple.getAppleIDCredential(
|
|
|
|
scopes: [
|
|
|
|
AppleIDAuthorizationScopes.email,
|
|
|
|
AppleIDAuthorizationScopes.fullName,
|
|
|
|
],
|
|
|
|
webAuthenticationOptions: WebAuthenticationOptions(
|
|
|
|
// TODO: Set the `clientId` and `redirectUri` arguments to the values you entered in the Apple Developer portal during the setup
|
|
|
|
clientId: 'com.naji.reserveLine',
|
|
|
|
redirectUri: Uri.parse(
|
|
|
|
'https://flutter-sign-in-with-apple-example.glitch.me/callbacks/sign_in_with_apple',
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
// _showLoading(context);
|
|
|
|
// print(credential.userIdentifier);
|
|
|
|
_loginAppleData(value);
|
|
|
|
// NavigatorUtil.goBindingPhonePage(context, wechat: false);
|
|
|
|
// String mdString = Utils.generateMd5(credential.userIdentifier);
|
|
|
|
// String temp = mdString.substring(8, mdString.length - 2);
|
|
|
|
// String openid = 'IOSID_$temp';
|
|
|
|
// App.sp.setString("openid", openid);
|
|
|
|
// App.sp.setString("unionid", '');
|
|
|
|
// print(openid.length);
|
|
|
|
|
|
|
|
// 第一次授权
|
|
|
|
// if (ObjectUtil.isNotEmpty(credential.familyName)) {
|
|
|
|
// Map param = {
|
|
|
|
// 'openid': openid,
|
|
|
|
// 'avatar': 'ios_avatar',
|
|
|
|
// 'nickname': '${credential.familyName}${credential.givenName}',
|
|
|
|
// 'gender': '1'
|
|
|
|
// };
|
|
|
|
// LoginRespository().appleLogin(context, param, () {
|
|
|
|
// _getUserInfoIOS();
|
|
|
|
// });
|
|
|
|
// } else {
|
|
|
|
// if (ObjectUtil.isNotEmpty(App.sp.getString("newUserMsg"))) {
|
|
|
|
// Map newUserMsg = jsonDecode(App.sp.getString("newUserMsg"));
|
|
|
|
// //上次失败了,这次重新传
|
|
|
|
// LoginRespository().appleLogin(context, newUserMsg, () {
|
|
|
|
// _getUserInfoIOS();
|
|
|
|
// });
|
|
|
|
// } else {
|
|
|
|
// _getUserInfoIOS();
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
|
|
|
|
_loginAppleData(UserModel value) {
|
|
|
|
if (App.sp.containsKey('unionid')) {
|
|
|
|
//微信登陆的时候,退出清空数据
|
|
|
|
App.sp.remove('openid');
|
|
|
|
App.sp.remove("unionid");
|
|
|
|
}
|
|
|
|
Map<String, String> params = {
|
|
|
|
"seller_code": "001297",
|
|
|
|
"alias": "ssahdahgdafgahjkhakjgh",
|
|
|
|
"account": "0001",
|
|
|
|
"password": "123456"
|
|
|
|
};
|
|
|
|
value.login(context, params).then((value) {
|
|
|
|
// setState(() {
|
|
|
|
// // errorText = value ?? "";
|
|
|
|
// });
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
ScreenUtil.init(context, width: 750, height: 1334);
|
|
|
|
otherLoginProvider =
|
|
|
|
Provider.of<OtherLoginProvider>(context, listen: false);
|
|
|
|
createStoreModel = Provider.of<CreateStoreModel>(context, listen: false);
|
|
|
|
final Size size = MediaQuery.of(context).size;
|
|
|
|
App.screenWidth = size.width;
|
|
|
|
App.screenHeight = size.height;
|
|
|
|
App.statusBarHeight = MediaQuery.of(context).padding.top;
|
|
|
|
App.bottomBarHeight = MediaQuery.of(context).padding.bottom;
|
|
|
|
|
|
|
|
final double prefixIconWidth = ScreenUtil().setWidth(24);
|
|
|
|
|
|
|
|
return Scaffold(
|
|
|
|
backgroundColor: MyColours.color_ffffff,
|
|
|
|
body: Container(
|
|
|
|
width: double.infinity,
|
|
|
|
height: double.infinity,
|
|
|
|
child: SingleChildScrollView(
|
|
|
|
controller: _scrollController,
|
|
|
|
child: Column(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: <Widget>[
|
|
|
|
// VEmptyView(218 - App.statusBarHeight),
|
|
|
|
VEmptyView(80 + App.statusBarHeight),
|
|
|
|
Image.asset(
|
|
|
|
"assets/logo.png",
|
|
|
|
width: ScreenUtil().setWidth(74 * 2),
|
|
|
|
height: ScreenUtil().setWidth(71 * 2),
|
|
|
|
),
|
|
|
|
VEmptyView(80),
|
|
|
|
Container(
|
|
|
|
height: ScreenUtil().setHeight(84),
|
|
|
|
width: ScreenUtil().setWidth(611),
|
|
|
|
padding: EdgeInsets.only(left: ScreenUtil().setWidth(20)),
|
|
|
|
alignment: Alignment.center,
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border.all(
|
|
|
|
color: MyColours.color_bff6f7,
|
|
|
|
width: ScreenUtil().setWidth(2)),
|
|
|
|
borderRadius:
|
|
|
|
BorderRadius.circular(ScreenUtil().setWidth(8))),
|
|
|
|
child: Row(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: <Widget>[
|
|
|
|
Image.asset(
|
|
|
|
"assets/icon_sellercode.png",
|
|
|
|
width: prefixIconWidth,
|
|
|
|
),
|
|
|
|
HEmptyView(26),
|
|
|
|
Center(
|
|
|
|
child: Text(
|
|
|
|
"商户编号",
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_353535,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
)),
|
|
|
|
Expanded(
|
|
|
|
child: Container(
|
|
|
|
height: ScreenUtil().setHeight(84),
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: ScreenUtil().setWidth(20),
|
|
|
|
right: ScreenUtil().setWidth(20),
|
|
|
|
top: ScreenUtil().setWidth(8)),
|
|
|
|
child: TextField(
|
|
|
|
controller: _sellerCodeController,
|
|
|
|
focusNode: _sellerCodeFocusNode,
|
|
|
|
// autofocus: _sellerCodeController.text.isEmpty,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_353535,
|
|
|
|
fontSize: ScreenUtil().setSp(28),
|
|
|
|
textBaseline: TextBaseline.alphabetic),
|
|
|
|
// textAlignVertical: TextAlignVertical.center,
|
|
|
|
decoration: InputDecoration(
|
|
|
|
hintText: "请输入6位商户编码",
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: MyColours.color_c1c1c1,
|
|
|
|
fontSize: ScreenUtil().setSp(28),
|
|
|
|
),
|
|
|
|
border: OutlineInputBorder(
|
|
|
|
borderSide: BorderSide.none),
|
|
|
|
contentPadding: EdgeInsets.zero,
|
|
|
|
),
|
|
|
|
onChanged: (_) {
|
|
|
|
setActivate();
|
|
|
|
},
|
|
|
|
keyboardType: TextInputType.number,
|
|
|
|
)),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
)),
|
|
|
|
|
|
|
|
Container(
|
|
|
|
height: ScreenUtil().setHeight(84),
|
|
|
|
width: ScreenUtil().setWidth(611),
|
|
|
|
padding: EdgeInsets.only(left: ScreenUtil().setWidth(20)),
|
|
|
|
margin: EdgeInsets.only(top: ScreenUtil().setHeight(8)),
|
|
|
|
alignment: Alignment.center,
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border.all(
|
|
|
|
color: MyColours.color_bff6f7,
|
|
|
|
width: ScreenUtil().setWidth(2)),
|
|
|
|
borderRadius:
|
|
|
|
BorderRadius.circular(ScreenUtil().setWidth(8))),
|
|
|
|
child: Row(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: <Widget>[
|
|
|
|
Image.asset(
|
|
|
|
"assets/icon_account.png",
|
|
|
|
width: prefixIconWidth,
|
|
|
|
),
|
|
|
|
HEmptyView(26),
|
|
|
|
Text(
|
|
|
|
"工 号",
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_353535,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
child: Container(
|
|
|
|
height: ScreenUtil().setHeight(84),
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: ScreenUtil().setWidth(20),
|
|
|
|
right: ScreenUtil().setWidth(20),
|
|
|
|
top: ScreenUtil().setWidth(8)),
|
|
|
|
child: TextField(
|
|
|
|
controller: _accountController,
|
|
|
|
focusNode: _accountFocusNode,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_353535,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
decoration: InputDecoration(
|
|
|
|
hintText: "请输入4位工号",
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: MyColours.color_c1c1c1,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
border: OutlineInputBorder(
|
|
|
|
borderSide: BorderSide.none),
|
|
|
|
contentPadding: EdgeInsets.zero,
|
|
|
|
),
|
|
|
|
onChanged: (_) {
|
|
|
|
setActivate();
|
|
|
|
},
|
|
|
|
keyboardType: TextInputType.number,
|
|
|
|
),
|
|
|
|
))
|
|
|
|
],
|
|
|
|
)),
|
|
|
|
Container(
|
|
|
|
height: ScreenUtil().setHeight(84),
|
|
|
|
width: ScreenUtil().setWidth(611),
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: ScreenUtil().setWidth(20),
|
|
|
|
right: ScreenUtil().setWidth(27)),
|
|
|
|
margin: EdgeInsets.only(top: ScreenUtil().setHeight(8)),
|
|
|
|
alignment: Alignment.center,
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
border: Border.all(
|
|
|
|
color: MyColours.color_bff6f7,
|
|
|
|
width: ScreenUtil().setWidth(2)),
|
|
|
|
borderRadius:
|
|
|
|
BorderRadius.circular(ScreenUtil().setWidth(8))),
|
|
|
|
child: Row(
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
children: <Widget>[
|
|
|
|
Image.asset(
|
|
|
|
"assets/icon_pwd.png",
|
|
|
|
width: prefixIconWidth,
|
|
|
|
),
|
|
|
|
HEmptyView(26),
|
|
|
|
Text(
|
|
|
|
"密 码",
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_353535,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
),
|
|
|
|
Expanded(
|
|
|
|
child: Container(
|
|
|
|
height: ScreenUtil().setHeight(84),
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: ScreenUtil().setWidth(20),
|
|
|
|
right: ScreenUtil().setWidth(20),
|
|
|
|
top: ScreenUtil().setWidth(8)),
|
|
|
|
child: TextField(
|
|
|
|
controller: _pwdController,
|
|
|
|
focusNode: _pwdFocusNode,
|
|
|
|
// autofocus: _sellerCodeController.text.isNotEmpty &&
|
|
|
|
// _accountController.text.isNotEmpty &&
|
|
|
|
// _pwdController.text.isEmpty,
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_353535,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
decoration: InputDecoration(
|
|
|
|
hintText: "请输入密码",
|
|
|
|
hintStyle: TextStyle(
|
|
|
|
color: MyColours.color_c1c1c1,
|
|
|
|
fontSize: ScreenUtil().setSp(28)),
|
|
|
|
border: OutlineInputBorder(
|
|
|
|
borderSide: BorderSide.none),
|
|
|
|
contentPadding: EdgeInsets.zero,
|
|
|
|
),
|
|
|
|
onChanged: (_) {
|
|
|
|
setActivate();
|
|
|
|
},
|
|
|
|
obscureText: obscureText,
|
|
|
|
keyboardType: TextInputType.text,
|
|
|
|
)),
|
|
|
|
),
|
|
|
|
GestureDetector(
|
|
|
|
child: Padding(
|
|
|
|
padding: EdgeInsets.all(ScreenUtil().setWidth(10)),
|
|
|
|
child: Image.asset(
|
|
|
|
obscureText
|
|
|
|
? "assets/icon_pwd_show.png"
|
|
|
|
: "assets/icon_pwd_hide.png",
|
|
|
|
width: ScreenUtil().setWidth(35),
|
|
|
|
height: ScreenUtil().setHeight(24),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
onTap: () {
|
|
|
|
setState(() {
|
|
|
|
obscureText = !obscureText;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
)
|
|
|
|
],
|
|
|
|
)),
|
|
|
|
|
|
|
|
Container(
|
|
|
|
width: ScreenUtil().setWidth(611),
|
|
|
|
margin: EdgeInsets.only(top: ScreenUtil().setHeight(16)),
|
|
|
|
alignment: Alignment.centerLeft,
|
|
|
|
child: Text(
|
|
|
|
errorText,
|
|
|
|
// 'hfhfhf',
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_d93535,
|
|
|
|
fontSize: ScreenUtil().setSp(16)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
VEmptyView(40),
|
|
|
|
Consumer<UserModel>(
|
|
|
|
builder:
|
|
|
|
(BuildContext context, UserModel value, Widget child) {
|
|
|
|
return GestureDetector(
|
|
|
|
onTap: () {
|
|
|
|
if (!isActivate) return;
|
|
|
|
if (!_check) {
|
|
|
|
Utils.showToast('请先仔细阅读并同意协议');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (App.sp.containsKey('unionid')) {
|
|
|
|
//微信登陆的时候,退出清空数据
|
|
|
|
App.sp.remove('openid');
|
|
|
|
App.sp.remove("unionid");
|
|
|
|
}
|
|
|
|
Map<String, String> params = {
|
|
|
|
"seller_code": "${_sellerCodeController.text}",
|
|
|
|
"alias": "ssahdahgdafgahjkhakjgh",
|
|
|
|
"account": "${_accountController.text}",
|
|
|
|
"password": "${_pwdController.text}"
|
|
|
|
};
|
|
|
|
value.login(context, params).then((value) {
|
|
|
|
setState(() {
|
|
|
|
errorText = value ?? "";
|
|
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
height: ScreenUtil().setWidth(84),
|
|
|
|
width: ScreenUtil().setWidth(611),
|
|
|
|
alignment: Alignment.center,
|
|
|
|
decoration: BoxDecoration(
|
|
|
|
color: isActivate
|
|
|
|
? MyColours.color_2bb5b7
|
|
|
|
: MyColours.color_2bb5b7,
|
|
|
|
boxShadow: [
|
|
|
|
BoxShadow(
|
|
|
|
color: MyColours.color_26000000,
|
|
|
|
offset: Offset(0, ScreenUtil().setWidth(4)),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
borderRadius: BorderRadius.all(
|
|
|
|
Radius.circular(ScreenUtil().setWidth(8)))),
|
|
|
|
child: Text(
|
|
|
|
"登录",
|
|
|
|
style: TextStyle(
|
|
|
|
color: MyColours.color_ffffff,
|
|
|
|
fontSize: ScreenUtil().setSp(34)),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
},
|
|
|
|
),
|
|
|
|
|
|
|
|
VEmptyView(20),
|
|
|
|
Row(
|
|
|
|
// mainAxisSize: MainAxisSize.min,
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
children: <Widget>[
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
setState(() {
|
|
|
|
_check = !_check;
|
|
|
|
});
|
|
|
|
},
|
|
|
|
child: Container(
|
|
|
|
alignment: Alignment.topCenter,
|
|
|
|
// color: Colors.red,
|
|
|
|
height: ScreenUtil().setWidth(134),
|
|
|
|
padding: EdgeInsets.only(
|
|
|
|
left: ScreenUtil().setWidth(102),
|
|
|
|
bottom: ScreenUtil().setWidth(10)),
|
|
|
|
child: Image.asset(
|
|
|
|
_check
|
|
|
|
? "assets/mine_radio_sel.png"
|
|
|
|
: "assets/mine_radio_nor.png",
|
|
|
|
width: ScreenUtil().setWidth(42),
|
|
|
|
height: ScreenUtil().setWidth(42)),
|
|
|
|
)),
|
|
|
|
HEmptyView(6),
|
|
|
|
Padding(
|
|
|
|
padding: EdgeInsets.only(top: ScreenUtil().setWidth(10)),
|
|
|
|
child: Text(
|
|
|
|
'已阅读并同意',
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(24),
|
|
|
|
color: MyColours.color_353535),
|
|
|
|
),
|
|
|
|
),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
NavigatorUtil.goWebPage(context, '软件服务协议', "xy");
|
|
|
|
},
|
|
|
|
child: Padding(
|
|
|
|
padding:
|
|
|
|
EdgeInsets.only(top: ScreenUtil().setWidth(10)),
|
|
|
|
child: Text(
|
|
|
|
'《软件服务协议》',
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(24),
|
|
|
|
color: MyColours.color_2bb5b7),
|
|
|
|
)),
|
|
|
|
),
|
|
|
|
Padding(
|
|
|
|
padding:
|
|
|
|
EdgeInsets.only(top: ScreenUtil().setWidth(10)),
|
|
|
|
child: Text('及',
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(24),
|
|
|
|
color: MyColours.color_353535))),
|
|
|
|
InkWell(
|
|
|
|
onTap: () {
|
|
|
|
NavigatorUtil.goWebPage(context, '隐私政策', "zc");
|
|
|
|
},
|
|
|
|
child: Padding(
|
|
|
|
padding:
|
|
|
|
EdgeInsets.only(top: ScreenUtil().setWidth(10)),
|
|
|
|
child: Text('《隐私政策》',
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setSp(24),
|
|
|
|
color: MyColours.color_2bb5b7))),
|
|
|
|
)
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(120),
|
|
|
|
Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
children: [
|
|
|
|
MyDivider(
|
|
|
|
ScreenUtil().setWidth(68 * 2), ScreenUtil().setWidth(2),
|
|
|
|
color: MyColours.color_e5e5e5),
|
|
|
|
HEmptyView(20),
|
|
|
|
Text(
|
|
|
|
'其他登录方式',
|
|
|
|
style: TextStyle(
|
|
|
|
fontSize: ScreenUtil().setWidth(24),
|
|
|
|
color: MyColours.color_999999),
|
|
|
|
),
|
|
|
|
HEmptyView(20),
|
|
|
|
MyDivider(
|
|
|
|
ScreenUtil().setWidth(68 * 2), ScreenUtil().setWidth(2),
|
|
|
|
color: MyColours.color_e5e5e5),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
VEmptyView(80),
|
|
|
|
Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
children: <Widget>[
|
|
|
|
Platform.isAndroid
|
|
|
|
? Text('')
|
|
|
|
: Consumer<UserModel>(builder: (BuildContext context,
|
|
|
|
UserModel value, Widget child) {
|
|
|
|
return InkWell(
|
|
|
|
child: Image.asset(Utils.getImgPath('apple'),
|
|
|
|
width: ScreenUtil().setWidth(100)),
|
|
|
|
onTap: () {
|
|
|
|
if (!_check) {
|
|
|
|
Utils.showToast('请先仔细阅读并同意协议');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
_iosLogin(value);
|
|
|
|
});
|
|
|
|
}),
|
|
|
|
Offstage(
|
|
|
|
offstage: !App.isInstallWx,
|
|
|
|
child: InkWell(
|
|
|
|
child: Container(
|
|
|
|
margin: EdgeInsets.only(
|
|
|
|
left: Platform.isAndroid
|
|
|
|
? ScreenUtil().setWidth(0)
|
|
|
|
: ScreenUtil().setWidth(140)),
|
|
|
|
child: Image.asset(
|
|
|
|
Utils.getImgPath('icon_wechat_login'),
|
|
|
|
width: ScreenUtil().setWidth(100))),
|
|
|
|
onTap: () {
|
|
|
|
if (!_check) {
|
|
|
|
Utils.showToast('请先仔细阅读并同意协议');
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
_wxLogin();
|
|
|
|
},
|
|
|
|
)),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
],
|
|
|
|
),
|
|
|
|
),
|
|
|
|
));
|
|
|
|
}
|
|
|
|
} |
|
|
|
// @override
|
|
|
|
// Widget build(BuildContext context) {
|
|
|
|
// ScreenUtil.init(context, width: 750, height: 1334);
|
|
|
|
// otherLoginProvider =
|
|
|
|
// Provider.of<OtherLoginProvider>(context, listen: false);
|
|
|
|
// createStoreModel = Provider.of<CreateStoreModel>(context, listen: false);
|
|
|
|
// final Size size = MediaQuery.of(context).size;
|
|
|
|
// App.screenWidth = size.width;
|
|
|
|
// App.screenHeight = size.height;
|
|
|
|
// App.statusBarHeight = MediaQuery.of(context).padding.top;
|
|
|
|
// App.bottomBarHeight = MediaQuery.of(context).padding.bottom;
|
|
|
|
|
|
|
|
// final double prefixIconWidth = ScreenUtil().setWidth(24);
|
|
|
|
|
|
|
|
// return Scaffold(
|
|
|
|
// backgroundColor: MyColours.color_ffffff,
|
|
|
|
// body: Container(
|
|
|
|
// width: double.infinity,
|
|
|
|
// height: double.infinity,
|
|
|
|
// child: SingleChildScrollView(
|
|
|
|
// controller: _scrollController,
|
|
|
|
// child: Column(
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
// children: <Widget>[
|
|
|
|
// // VEmptyView(218 - App.statusBarHeight),
|
|
|
|
// VEmptyView(80 + App.statusBarHeight),
|
|
|
|
// Image.asset(
|
|
|
|
// "assets/logo.png",
|
|
|
|
// width: ScreenUtil().setWidth(74 * 2),
|
|
|
|
// height: ScreenUtil().setWidth(71 * 2),
|
|
|
|
// ),
|
|
|
|
// VEmptyView(80),
|
|
|
|
// Container(
|
|
|
|
// height: ScreenUtil().setHeight(84),
|
|
|
|
// width: ScreenUtil().setWidth(611),
|
|
|
|
// padding: EdgeInsets.only(left: ScreenUtil().setWidth(20)),
|
|
|
|
// alignment: Alignment.center,
|
|
|
|
// decoration: BoxDecoration(
|
|
|
|
// border: Border.all(
|
|
|
|
// color: MyColours.color_bff6f7,
|
|
|
|
// width: ScreenUtil().setWidth(2)),
|
|
|
|
// borderRadius:
|
|
|
|
// BorderRadius.circular(ScreenUtil().setWidth(8))),
|
|
|
|
// child: Row(
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
// children: <Widget>[
|
|
|
|
// Image.asset(
|
|
|
|
// "assets/icon_sellercode.png",
|
|
|
|
// width: prefixIconWidth,
|
|
|
|
// ),
|
|
|
|
// HEmptyView(26),
|
|
|
|
// Center(
|
|
|
|
// child: Text(
|
|
|
|
// "商户编号",
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: MyColours.color_353535,
|
|
|
|
// fontSize: ScreenUtil().setSp(28)),
|
|
|
|
// )),
|
|
|
|
// Expanded(
|
|
|
|
// child: Container(
|
|
|
|
// height: ScreenUtil().setHeight(84),
|
|
|
|
// padding: EdgeInsets.only(
|
|
|
|
// left: ScreenUtil().setWidth(20),
|
|
|
|
// right: ScreenUtil().setWidth(20),
|
|
|
|
// top: ScreenUtil().setWidth(8)),
|
|
|
|
// child: TextField(
|
|
|
|
// controller: _sellerCodeController,
|
|
|
|
// focusNode: _sellerCodeFocusNode,
|
|
|
|
// // autofocus: _sellerCodeController.text.isEmpty,
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: MyColours.color_353535,
|
|
|
|
// fontSize: ScreenUtil().setSp(28),
|
|
|
|
// textBaseline: TextBaseline.alphabetic),
|
|
|
|
// // textAlignVertical: TextAlignVertical.center,
|
|
|
|
// decoration: InputDecoration(
|
|
|
|
// hintText: "请输入6位商户编码",
|
|
|
|
// hintStyle: TextStyle(
|
|
|
|
// color: MyColours.color_c1c1c1,
|
|
|
|
// fontSize: ScreenUtil().setSp(28),
|
|
|
|
// ),
|
|
|
|
// border: OutlineInputBorder(
|
|
|
|
// borderSide: BorderSide.none),
|
|
|
|
// contentPadding: EdgeInsets.zero,
|
|
|
|
// ),
|
|
|
|
// onChanged: (_) {
|
|
|
|
// setActivate();
|
|
|
|
// },
|
|
|
|
// keyboardType: TextInputType.number,
|
|
|
|
// )),
|
|
|
|
// )
|
|
|
|
// ],
|
|
|
|
// )),
|
|
|
|
|
|
|
|
// Container(
|
|
|
|
// height: ScreenUtil().setHeight(84),
|
|
|
|
// width: ScreenUtil().setWidth(611),
|
|
|
|
// padding: EdgeInsets.only(left: ScreenUtil().setWidth(20)),
|
|
|
|
// margin: EdgeInsets.only(top: ScreenUtil().setHeight(8)),
|
|
|
|
// alignment: Alignment.center,
|
|
|
|
// decoration: BoxDecoration(
|
|
|
|
// border: Border.all(
|
|
|
|
// color: MyColours.color_bff6f7,
|
|
|
|
// width: ScreenUtil().setWidth(2)),
|
|
|
|
// borderRadius:
|
|
|
|
// BorderRadius.circular(ScreenUtil().setWidth(8))),
|
|
|
|
// child: Row(
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
// children: <Widget>[
|
|
|
|
// Image.asset(
|
|
|
|
// "assets/icon_account.png",
|
|
|
|
// width: prefixIconWidth,
|
|
|
|
// ),
|
|
|
|
// HEmptyView(26),
|
|
|
|
// Text(
|
|
|
|
// "工 号",
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: MyColours.color_353535,
|
|
|
|
// fontSize: ScreenUtil().setSp(28)),
|
|
|
|
// ),
|
|
|
|
// Expanded(
|
|
|
|
// child: Container(
|
|
|
|
// height: ScreenUtil().setHeight(84),
|
|
|
|
// padding: EdgeInsets.only(
|
|
|
|
// left: ScreenUtil().setWidth(20),
|
|
|
|
// right: ScreenUtil().setWidth(20),
|
|
|
|
// top: ScreenUtil().setWidth(8)),
|
|
|
|
// child: TextField(
|
|
|
|
// controller: _accountController,
|
|
|
|
// focusNode: _accountFocusNode,
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: MyColours.color_353535,
|
|
|
|
// fontSize: ScreenUtil().setSp(28)),
|
|
|
|
// decoration: InputDecoration(
|
|
|
|
// hintText: "请输入4位工号",
|
|
|
|
// hintStyle: TextStyle(
|
|
|
|
// color: MyColours.color_c1c1c1,
|
|
|
|
// fontSize: ScreenUtil().setSp(28)),
|
|
|
|
// border: OutlineInputBorder(
|
|
|
|
// borderSide: BorderSide.none),
|
|
|
|
// contentPadding: EdgeInsets.zero,
|
|
|
|
// ),
|
|
|
|
// onChanged: (_) {
|
|
|
|
// setActivate();
|
|
|
|
// },
|
|
|
|
// keyboardType: TextInputType.number,
|
|
|
|
// ),
|
|
|
|
// ))
|
|
|
|
// ],
|
|
|
|
// )),
|
|
|
|
// Container(
|
|
|
|
// height: ScreenUtil().setHeight(84),
|
|
|
|
// width: ScreenUtil().setWidth(611),
|
|
|
|
// padding: EdgeInsets.only(
|
|
|
|
// left: ScreenUtil().setWidth(20),
|
|
|
|
// right: ScreenUtil().setWidth(27)),
|
|
|
|
// margin: EdgeInsets.only(top: ScreenUtil().setHeight(8)),
|
|
|
|
// alignment: Alignment.center,
|
|
|
|
// decoration: BoxDecoration(
|
|
|
|
// border: Border.all(
|
|
|
|
// color: MyColours.color_bff6f7,
|
|
|
|
// width: ScreenUtil().setWidth(2)),
|
|
|
|
// borderRadius:
|
|
|
|
// BorderRadius.circular(ScreenUtil().setWidth(8))),
|
|
|
|
// child: Row(
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
|
// children: <Widget>[
|
|
|
|
// Image.asset(
|
|
|
|
// "assets/icon_pwd.png",
|
|
|
|
// width: prefixIconWidth,
|
|
|
|
// ),
|
|
|
|
// HEmptyView(26),
|
|
|
|
// Text(
|
|
|
|
// "密 码",
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: MyColours.color_353535,
|
|
|
|
// fontSize: ScreenUtil().setSp(28)),
|
|
|
|
// ),
|
|
|
|
// Expanded(
|
|
|
|
// child: Container(
|
|
|
|
// height: ScreenUtil().setHeight(84),
|
|
|
|
// padding: EdgeInsets.only(
|
|
|
|
// left: ScreenUtil().setWidth(20),
|
|
|
|
// right: ScreenUtil().setWidth(20),
|
|
|
|
// top: ScreenUtil().setWidth(8)),
|
|
|
|
// child: TextField(
|
|
|
|
// controller: _pwdController,
|
|
|
|
// focusNode: _pwdFocusNode,
|
|
|
|
// // autofocus: _sellerCodeController.text.isNotEmpty &&
|
|
|
|
// // _accountController.text.isNotEmpty &&
|
|
|
|
// // _pwdController.text.isEmpty,
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: MyColours.color_353535,
|
|
|
|
// fontSize: ScreenUtil().setSp(28)),
|
|
|
|
// decoration: InputDecoration(
|
|
|
|
// hintText: "请输入密码",
|
|
|
|
// hintStyle: TextStyle(
|
|
|
|
// color: MyColours.color_c1c1c1,
|
|
|
|
// fontSize: ScreenUtil().setSp(28)),
|
|
|
|
// border: OutlineInputBorder(
|
|
|
|
// borderSide: BorderSide.none),
|
|
|
|
// contentPadding: EdgeInsets.zero,
|
|
|
|
// ),
|
|
|
|
// onChanged: (_) {
|
|
|
|
// setActivate();
|
|
|
|
// },
|
|
|
|
// obscureText: obscureText,
|
|
|
|
// keyboardType: TextInputType.text,
|
|
|
|
// )),
|
|
|
|
// ),
|
|
|
|
// GestureDetector(
|
|
|
|
// child: Padding(
|
|
|
|
// padding: EdgeInsets.all(ScreenUtil().setWidth(10)),
|
|
|
|
// child: Image.asset(
|
|
|
|
// obscureText
|
|
|
|
// ? "assets/icon_pwd_show.png"
|
|
|
|
// : "assets/icon_pwd_hide.png",
|
|
|
|
// width: ScreenUtil().setWidth(35),
|
|
|
|
// height: ScreenUtil().setHeight(24),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// onTap: () {
|
|
|
|
// setState(() {
|
|
|
|
// obscureText = !obscureText;
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// )
|
|
|
|
// ],
|
|
|
|
// )),
|
|
|
|
|
|
|
|
// Container(
|
|
|
|
// width: ScreenUtil().setWidth(611),
|
|
|
|
// margin: EdgeInsets.only(top: ScreenUtil().setHeight(16)),
|
|
|
|
// alignment: Alignment.centerLeft,
|
|
|
|
// child: Text(
|
|
|
|
// errorText,
|
|
|
|
// // 'hfhfhf',
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: MyColours.color_d93535,
|
|
|
|
// fontSize: ScreenUtil().setSp(16)),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// VEmptyView(40),
|
|
|
|
// Consumer<UserModel>(
|
|
|
|
// builder:
|
|
|
|
// (BuildContext context, UserModel value, Widget child) {
|
|
|
|
// return GestureDetector(
|
|
|
|
// onTap: () {
|
|
|
|
// if (!isActivate) return;
|
|
|
|
// if (!_check) {
|
|
|
|
// Utils.showToast('请先仔细阅读并同意协议');
|
|
|
|
// return;
|
|
|
|
// }
|
|
|
|
// if (App.sp.containsKey('unionid')) {
|
|
|
|
// //微信登陆的时候,退出清空数据
|
|
|
|
// App.sp.remove('openid');
|
|
|
|
// App.sp.remove("unionid");
|
|
|
|
// }
|
|
|
|
// Map<String, String> params = {
|
|
|
|
// "seller_code": "${_sellerCodeController.text}",
|
|
|
|
// "alias": "ssahdahgdafgahjkhakjgh",
|
|
|
|
// "account": "${_accountController.text}",
|
|
|
|
// "password": "${_pwdController.text}"
|
|
|
|
// };
|
|
|
|
// value.login(context, params).then((value) {
|
|
|
|
// setState(() {
|
|
|
|
// errorText = value ?? "";
|
|
|
|
// });
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// child: Container(
|
|
|
|
// height: ScreenUtil().setWidth(84),
|
|
|
|
// width: ScreenUtil().setWidth(611),
|
|
|
|
// alignment: Alignment.center,
|
|
|
|
// decoration: BoxDecoration(
|
|
|
|
// color: isActivate
|
|
|
|
// ? MyColours.color_2bb5b7
|
|
|
|
// : MyColours.color_2bb5b7,
|
|
|
|
// boxShadow: [
|
|
|
|
// BoxShadow(
|
|
|
|
// color: MyColours.color_26000000,
|
|
|
|
// offset: Offset(0, ScreenUtil().setWidth(4)),
|
|
|
|
// )
|
|
|
|
// ],
|
|
|
|
// borderRadius: BorderRadius.all(
|
|
|
|
// Radius.circular(ScreenUtil().setWidth(8)))),
|
|
|
|
// child: Text(
|
|
|
|
// "登录",
|
|
|
|
// style: TextStyle(
|
|
|
|
// color: MyColours.color_ffffff,
|
|
|
|
// fontSize: ScreenUtil().setSp(34)),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// );
|
|
|
|
// },
|
|
|
|
// ),
|
|
|
|
|
|
|
|
// VEmptyView(20),
|
|
|
|
// Row(
|
|
|
|
// // mainAxisSize: MainAxisSize.min,
|
|
|
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
// children: <Widget>[
|
|
|
|
// InkWell(
|
|
|
|
// onTap: () {
|
|
|
|
// setState(() {
|
|
|
|
// _check = !_check;
|
|
|
|
// });
|
|
|
|
// },
|
|
|
|
// child: Container(
|
|
|
|
// alignment: Alignment.topCenter,
|
|
|
|
// // color: Colors.red,
|
|
|
|
// height: ScreenUtil().setWidth(134),
|
|
|
|
// padding: EdgeInsets.only(
|
|
|
|
// left: ScreenUtil().setWidth(102),
|
|
|
|
// bottom: ScreenUtil().setWidth(10)),
|
|
|
|
// child: Image.asset(
|
|
|
|
// _check
|
|
|
|
// ? "assets/mine_radio_sel.png"
|
|
|
|
// : "assets/mine_radio_nor.png",
|
|
|
|
// width: ScreenUtil().setWidth(42),
|
|
|
|
// height: ScreenUtil().setWidth(42)),
|
|
|
|
// )),
|
|
|
|
// HEmptyView(6),
|
|
|
|
// Padding(
|
|
|
|
// padding: EdgeInsets.only(top: ScreenUtil().setWidth(10)),
|
|
|
|
// child: Text(
|
|
|
|
// '已阅读并同意',
|
|
|
|
// style: TextStyle(
|
|
|
|
// fontSize: ScreenUtil().setSp(24),
|
|
|
|
// color: MyColours.color_353535),
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// InkWell(
|
|
|
|
// onTap: () {
|
|
|
|
// NavigatorUtil.goWebPage(context, '软件服务协议', "xy");
|
|
|
|
// },
|
|
|
|
// child: Padding(
|
|
|
|
// padding:
|
|
|
|
// EdgeInsets.only(top: ScreenUtil().setWidth(10)),
|
|
|
|
// child: Text(
|
|
|
|
// '《软件服务协议》',
|
|
|
|
// style: TextStyle(
|
|
|
|
// fontSize: ScreenUtil().setSp(24),
|
|
|
|
// color: MyColours.color_2bb5b7),
|
|
|
|
// )),
|
|
|
|
// ),
|
|
|
|
// Padding(
|
|
|
|
// padding:
|
|
|
|
// EdgeInsets.only(top: ScreenUtil().setWidth(10)),
|
|
|
|
// child: Text('及',
|
|
|
|
// style: TextStyle(
|
|
|
|
// fontSize: ScreenUtil().setSp(24),
|
|
|
|
// color: MyColours.color_353535))),
|
|
|
|
// InkWell(
|
|
|
|
// onTap: () {
|
|
|
|
// NavigatorUtil.goWebPage(context, '隐私政策', "zc");
|
|
|
|
// },
|
|
|
|
// child: Padding(
|
|
|
|
// padding:
|
|
|
|
// EdgeInsets.only(top: ScreenUtil().setWidth(10)),
|
|
|
|
// child: Text('《隐私政策》',
|
|
|
|
// style: TextStyle(
|
|
|
|
// fontSize: ScreenUtil().setSp(24),
|
|
|
|
// color: MyColours.color_2bb5b7))),
|
|
|
|
// )
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// VEmptyView(120),
|
|
|
|
// Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
// children: [
|
|
|
|
// MyDivider(
|
|
|
|
// ScreenUtil().setWidth(68 * 2), ScreenUtil().setWidth(2),
|
|
|
|
// color: MyColours.color_e5e5e5),
|
|
|
|
// HEmptyView(20),
|
|
|
|
// Text(
|
|
|
|
// '其他登录方式',
|
|
|
|
// style: TextStyle(
|
|
|
|
// fontSize: ScreenUtil().setWidth(24),
|
|
|
|
// color: MyColours.color_999999),
|
|
|
|
// ),
|
|
|
|
// HEmptyView(20),
|
|
|
|
// MyDivider(
|
|
|
|
// ScreenUtil().setWidth(68 * 2), ScreenUtil().setWidth(2),
|
|
|
|
// color: MyColours.color_e5e5e5),
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// VEmptyView(80),
|
|
|
|
// Row(
|
|
|
|
// mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
// children: <Widget>[
|
|
|
|
// Platform.isAndroid
|
|
|
|
// ? Text('')
|
|
|
|
// : Consumer<UserModel>(builder: (BuildContext context,
|
|
|
|
// UserModel value, Widget child) {
|
|
|
|
// return InkWell(
|
|
|
|
// child: Image.asset(Utils.getImgPath('apple'),
|
|
|
|
// width: ScreenUtil().setWidth(100)),
|
|
|
|
// onTap: () {
|
|
|
|
// if (!_check) {
|
|
|
|
// Utils.showToast('请先仔细阅读并同意协议');
|
|
|
|
// return;
|
|
|
|
// }
|
|
|
|
// _iosLogin(value);
|
|
|
|
// });
|
|
|
|
// }),
|
|
|
|
// Offstage(
|
|
|
|
// offstage: !App.isInstallWx,
|
|
|
|
// child: InkWell(
|
|
|
|
// child: Container(
|
|
|
|
// margin: EdgeInsets.only(
|
|
|
|
// left: Platform.isAndroid
|
|
|
|
// ? ScreenUtil().setWidth(0)
|
|
|
|
// : ScreenUtil().setWidth(140)),
|
|
|
|
// child: Image.asset(
|
|
|
|
// Utils.getImgPath('icon_wechat_login'),
|
|
|
|
// width: ScreenUtil().setWidth(100))),
|
|
|
|
// onTap: () {
|
|
|
|
// if (!_check) {
|
|
|
|
// Utils.showToast('请先仔细阅读并同意协议');
|
|
|
|
// return;
|
|
|
|
// }
|
|
|
|
// _wxLogin();
|
|
|
|
// },
|
|
|
|
// )),
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// ],
|
|
|
|
// ),
|
|
|
|
// ),
|
|
|
|
// ));
|
|
|
|
// }
|
|
|
|
// } |
...
|
...
|
|