flutter分享微信支付等操作

首先抱怨一下sharesdk这个三方,上个kottlin版的项目是使用sharesdk的,然后本想着flutter版也要sharesdk的,结果到集成的时候,各种调用不起来,把flutter版的demo跑了起来也是出现调用不起来的情况,测试手机:华为7,荣耀还是唱响?,我的P10也是不行,后面因为急着上线iOS就耽搁了一个礼拜。

今天又抽空把微信登录做了一遍,算了还是用原生的写,索性的用了网上的fluwx,感觉还可以,还集成了微信支付在里面。

直接上步骤:
项目地址:

https://github.com/OpenFlutter/fluwx

直接在https://pub.dev/上搜索:fluwx

配置:
在flutter中的yaml文件中进行配置:

fluwx: ^1.0.4
1
初始化:
在main.dart中进行初始化操作,尽可能早的初始化

await fluwx.register(
    appId: "wxxxxxxxxxxxxx",
    doOnAndroid: true,
    doOnIOS: true,
    enableMTA: false);
var result = await fluwx.isWeChatInstalled();

1
2
3
4
5
6
记得填写你的appId
登录页进行
例如在login.dart中

String _result = “无”;

@override
void initState() {
super.initState();
fluwx.responseFromAuth.listen((data) {
if (mounted) {
}
// 这里返回结果,errCode=1为微信用户授权成功的标志,其他看微信官方开发文档
setState(() {
_result = “initState ====== ${data.errCode} — ${data.code}”;
int errCode = data.errCode;
if (errCode == Constant.WECHAT_SUCCESS) {
String code = data.code;
print(‘code $code’);
getWeChatAccessToken(code);
}else {
Util.showToast(“${data.code}”);
}
print(‘aaaa ====== > $_result’);
});
});
}

@override
void dispose() {
super.dispose();
_result = null;
}

// 某个按钮触发的操作
void _weChatLogin(){
fluwx.sendAuth(
scope: “snsapi_userinfo”, state: “wechat_sdk_demo_test”)
.then((data) {
setState(() {
});
}).catchError((e){print(‘weChatLogin e $e’);});
}

到这里我们就已经将微信登录的操作完成了,这里我们只获取到微信登录里的code,我们可以通过这个code去请求access_token和open_id,再通过access_token获取到微信用户信息等。