Commit fec032bb88f682938e4d4d7654e6ea4dcf2834d2

Authored by wdn127929
1 parent d3ce4913

微信注册监听,login页dispose的时候,cancel掉监听(没有remove掉监听,多次注册导致,重复调用监听)

... ... @@ -60,6 +60,8 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
late CreateStoreModel createStoreModel;
Fluwx fluwx = Fluwx();
late Function(WeChatResponse) responseListener;
@override
void initState() {
// TODO: implement initState
... ... @@ -86,6 +88,8 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
@override
void dispose() {
super.dispose();
fluwx.removeSubscriber(responseListener);
WidgetsBinding.instance.removeObserver(this);
}
... ... @@ -100,6 +104,8 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
var result = await fluwx.isWeChatInstalled;
if (result != null && result) {
App.isInstallWx = true;
_getWxCode();
} else {
App.isInstallWx = false;
}
... ... @@ -159,7 +165,6 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
});
} else {
_checkWechat();
_getWxCode();
}
}
... ... @@ -178,7 +183,7 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
///获取微信登录code
_getWxCode() {
fluwx.addSubscriber((res) {
responseListener = (res) {
if (res is WeChatAuthResponse && res.errCode == 0) {
LogUtil.v("code:" + res.code!);
// Loading.showLoading(context);
... ... @@ -186,7 +191,8 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
} else {
// Utils.showToast(res.errStr??"登录失败,请稍后重试");
}
});
};
fluwx.addSubscriber(responseListener);
}
//获取用户信息
... ... @@ -234,6 +240,7 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
// if (model != null) {
// createStoreModel.storeInfo = StoreInfo();
// createStoreModel.storeInfo.phone = model.phone;
// fluwx.removeSubscriber(responseListener);
createStoreModel.storeInfo = StoreInfo();
NavigatorUtil.goIfNeedCreateStorePage(context);
// } else {
... ...