Commit 63830387 by tanghuan

未安装微信App时,选择微信登录、或跳转小程序时,进行相应提醒。

1 parent b3d52116
...@@ -7,6 +7,10 @@ class OpenWeappHandler extends MessageHandler { ...@@ -7,6 +7,10 @@ class OpenWeappHandler extends MessageHandler {
@override @override
Future<bool> handleMessage(params) async { Future<bool> handleMessage(params) async {
if (!await _fluwx.isWeChatInstalled) {
throw Exception('设备上未安装微信App,不支持跳转打开微信小程序');
}
if (params is! Map<String, dynamic>) { if (params is! Map<String, dynamic>) {
throw Exception('参数错误'); throw Exception('参数错误');
} }
......
import 'package:appframe/bloc/login_main_cubit.dart'; import 'package:appframe/bloc/login_main_cubit.dart';
import 'package:appframe/config/locator.dart';
import 'package:appframe/ui/widgets/login/login_page_agreed_widget.dart'; import 'package:appframe/ui/widgets/login/login_page_agreed_widget.dart';
import 'package:appframe/ui/widgets/login/login_page_header_widget.dart'; import 'package:appframe/ui/widgets/login/login_page_header_widget.dart';
import 'package:appframe/ui/widgets/login/login_page_image_widget.dart'; import 'package:appframe/ui/widgets/login/login_page_image_widget.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:fluwx/fluwx.dart';
class LoginMainPage extends StatelessWidget { class LoginMainPage extends StatelessWidget {
const LoginMainPage({super.key}); const LoginMainPage({super.key});
...@@ -86,8 +88,12 @@ class LoginMainPage extends StatelessWidget { ...@@ -86,8 +88,12 @@ class LoginMainPage extends StatelessWidget {
width: double.infinity, width: double.infinity,
height: 47, height: 47,
child: ElevatedButton( child: ElevatedButton(
onPressed: () { onPressed: () async {
if (await getIt.get<Fluwx>().isWeChatInstalled) {
loginMainCubit.wechatAuth(); loginMainCubit.wechatAuth();
} else {
_noWechatLogin(context);
}
}, },
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: Color(0xFF00CB60), backgroundColor: Color(0xFF00CB60),
...@@ -301,4 +307,25 @@ class LoginMainPage extends StatelessWidget { ...@@ -301,4 +307,25 @@ class LoginMainPage extends StatelessWidget {
loginMainCubit.cancelAgreed(); loginMainCubit.cancelAgreed();
} }
} }
void _noWechatLogin(BuildContext ctx) {
showDialog(
context: ctx,
barrierDismissible: false,
builder: (BuildContext context) {
return AlertDialog(
title: Text('温馨提示'),
content: Text('设备上未安装微信App,请选择其它登录方式'),
actions: <Widget>[
TextButton(
child: Text('关闭'),
onPressed: () {
Navigator.of(context).pop();
},
),
],
);
},
);
}
} }
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!