Browse Source

Merge remote-tracking branch 'onewaygame/tanls' into lxm

newdev_shunjiawei
lxm 2 years ago
parent
commit
601374eaec
  1. 4
      lib/modules/home/bindings/home_binding.dart
  2. 44
      lib/modules/login/controllers/facebookLogin.dart
  3. 6
      lib/modules/login/controllers/login_controller.dart

4
lib/modules/home/bindings/home_binding.dart

@ -1,11 +1,13 @@
import '../../explore/controllers/explore_controller.dart'; import '../../explore/controllers/explore_controller.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import '../../explore/controllers/explore_controller.dart';
import '../controllers/home_controller.dart'; import '../controllers/home_controller.dart';
class HomeBinding extends Bindings { class HomeBinding extends Bindings {
@override @override
void dependencies() { void dependencies() {
Get.lazyPut<HomeController>(() => HomeController()); Get.lazyPut<HomeController>(() => HomeController());
Get.lazyPut<ExploreController>(()=>ExploreController());// 注册ExploreController Get.lazyPut<ExploreController>(
() => ExploreController()); // 注册ExploreController
} }
} }

44
lib/modules/login/controllers/facebookLogin.dart

@ -10,7 +10,7 @@ import 'package:get/get.dart';
import 'package:crypto/crypto.dart'; import 'package:crypto/crypto.dart';
class Facebook { class Facebook {
String token = ''; String? token = '';
String name = ''; String name = '';
String email = ''; String email = '';
@ -31,10 +31,27 @@ class Facebook {
return digest.toString(); return digest.toString();
} }
// FaceBook登录
// 修改后的 signInWithFacebook
Future<bool> signInWithFacebook() async { Future<bool> signInWithFacebook() async {
try { try {
UserCredential userCredential = await loginFacebook();
//UserCredential userCredential = await loginGoogle();
token = await userCredential.user?.getIdToken();
print('facebook响应数据userCredential: $token');
if (token != "") {
return true;
} else {
return false;
}
} catch (e) {
print(e);
return false;
}
}
// FaceBook登录
// 修改后的 signInWithFacebook
Future<UserCredential> loginFacebook() async {
//try {
final rawNonce = generateNonce(); final rawNonce = generateNonce();
final nonce = sha256ofString(rawNonce); final nonce = sha256ofString(rawNonce);
final LoginResult loginResult = await FacebookAuth.instance final LoginResult loginResult = await FacebookAuth.instance
@ -61,7 +78,7 @@ class Facebook {
switch (loginResult.accessToken!.type) { switch (loginResult.accessToken!.type) {
case AccessTokenType.classic: case AccessTokenType.classic:
final classicToken = loginResult.accessToken as ClassicToken; final classicToken = loginResult.accessToken as ClassicToken;
token = classicToken.tokenString; // token = classicToken.tokenString;
print('Token 字符串: ${classicToken.tokenString}'); print('Token 字符串: ${classicToken.tokenString}');
print('classicToken值: ${classicToken}'); print('classicToken值: ${classicToken}');
facebookAuthCredential = FacebookAuthProvider.credential( facebookAuthCredential = FacebookAuthProvider.credential(
@ -70,7 +87,7 @@ class Facebook {
break; break;
case AccessTokenType.limited: case AccessTokenType.limited:
final limitedToken = loginResult.accessToken as LimitedToken; final limitedToken = loginResult.accessToken as LimitedToken;
token = limitedToken.tokenString; //token = limitedToken.tokenString;
print('Token 字符串: ${limitedToken.tokenString}'); print('Token 字符串: ${limitedToken.tokenString}');
print('LimitedToken值: ${limitedToken}'); print('LimitedToken值: ${limitedToken}');
facebookAuthCredential = OAuthCredential( facebookAuthCredential = OAuthCredential(
@ -85,7 +102,7 @@ class Facebook {
facebookAuthCredential = FacebookAuthProvider.credential( facebookAuthCredential = FacebookAuthProvider.credential(
loginResult.accessToken!.tokenString, loginResult.accessToken!.tokenString,
); );
token = loginResult.accessToken!.tokenString; //token = loginResult.accessToken!.tokenString;
} }
print('facebookAuthCredential值: ${facebookAuthCredential}'); print('facebookAuthCredential值: ${facebookAuthCredential}');
if (facebookAuthCredential == null) { if (facebookAuthCredential == null) {
@ -98,12 +115,17 @@ class Facebook {
pictureurl = userData["picture"]["data"]["url"].toString(); pictureurl = userData["picture"]["data"]["url"].toString();
id = userData["id"].toString(); id = userData["id"].toString();
print("user login facebook ${email}${pictureurl}${name}${id}"); print("user login facebook ${email}${pictureurl}${name}${id}");
return FirebaseAuth.instance.signInWithCredential(facebookAuthCredential);
return true; // final User? user = userCredential.user; // 获取用户信息
} catch (e) { // token = await userCredential.user?.getIdToken();
print("Facebook 登录异常:$e"); // print("irebaseAuth.instance.signInWithCredential ${token}");
return false;
} // return true;
// } catch (e) {
// print("Facebook 登录异常:$e");
// return false;
// }
} }
// 退出Google登录 // 退出Google登录

6
lib/modules/login/controllers/login_controller.dart

@ -378,7 +378,7 @@ class LoginController extends GetxController {
print("数据获取Facebook"); print("数据获取Facebook");
final facebook = Facebook(); final facebook = Facebook();
bool authResult = await facebook.signInWithFacebook(); bool authResult = await facebook.signInWithFacebook();
print("数据获取Facebook().token${authResult}");
if (authResult) { if (authResult) {
print("数据获取_Facebook.token${facebook.token}"); print("数据获取_Facebook.token${facebook.token}");
print("数据获取_Facebook.pictureurl${facebook.pictureurl}"); print("数据获取_Facebook.pictureurl${facebook.pictureurl}");
@ -392,7 +392,7 @@ class LoginController extends GetxController {
requestLogin({ requestLogin({
"mail": facebook.email, "mail": facebook.email,
"phone": "", "phone": "",
"stype": loginType, "stype": 5,
"vcode": "", "vcode": "",
"ttoken": facebook.token, "ttoken": facebook.token,
"phonemodel": "", "phonemodel": "",
@ -421,7 +421,7 @@ class LoginController extends GetxController {
requestLogin({ requestLogin({
"mail": google.email, "mail": google.email,
"phone": "", "phone": "",
"stype": loginType, "stype": 5,
"vcode": "", "vcode": "",
"ttoken": google.token, "ttoken": google.token,
"phonemodel": "", "phonemodel": "",

Loading…
Cancel
Save