在你的 App 中集成手机微信一键授权(注册)登录功能,达到快速注册、快速登录功能
按照本教程的操作指引,预计5分钟即可帮你实现并掌握微信登录的实现
微信开放平台创建应用
前往微信开放平台,创建一个移动应用的接入,审核通过后,你就可以获取到一个 appid 和 secret;
下文中提到的所有 appid 和 secret 都是指的这里的,不是公众号的,不是服务号的,更不是小程序的,千万注意!!
开发者后台配置 appid 和 secret
《使用 apifm 插件进行 Flutter 云开发——安装篇》
开启 “系统参数设置” 模块
- 登录 “第一步” 注册的后台,左侧菜单 --> 工厂设置 --> 模块管理
- 找到 “系统参数设置” 模块,点击 “启用模块” ,然后 F5 刷新一下后台界面
添加系统参数
- 添加文本参数 wx_sns_appid ,参数值填你的 appid ,参数状态位公开参数,flutter 中初始化时候的 appid 可以通过读取系统设置方法读取该值;
- 添加文本参数 wx_sns_secret ,参数值填写你的 secret ,参数状态一定要设置为保密参数防止泄露该数据;
安装 Flutter 依赖
pubspec.yaml 文件增加依赖
1dependencies: 2 fluwx: ^1.0.6
安装依赖
1$ flutter pub get
引入 package
在 dart 文件中,引入插件,下面会用到
1import 'package:fluwx/fluwx.dart' as fluwx;
调用微信授权
1const appid = 'wx4f32d9265f9cf669'; // 这是上面创建应用的 appid 2await fluwx.register(appId: appid); // 初始化 3fluwx.sendAuth(scope: "snsapi_userinfo", state: "login"); // 呼出微信授权界面 4fluwx.responseFromAuth.listen((data) { // 用户操作后的回调 5 data.state // 上面传的 state,原路返回 6 data.errCode // ERR_OK = 0(用户同意) ERR_AUTH_DENIED = -4(用户拒绝授权) ERR_USER_CANCEL = -2(用户取消) 7 data.code // 用户授权后得到的登录临时凭证 8});
apifm 方法
微信一键注册
1Apifm.registerWX(Map<String, String> params)
微信的一键注册功能,需要以下参数:
授权后返回的参数:
code
可选参数:
referrer 邀请人,邀请你注册的用户id
postJsonString 注册的扩展信息,Json数据格式
微信一键登录
1Apifm.loginWX(String code)
code 为授权成功后返回的临时凭证
绑定微信一键登录
1Apifm.bindWXOpenid(token, code)
手机号码、用户名等方式注册的用户,通过该方法绑定微信,后期将可以使用微信一键登录
code 为用户授权后返回的临时凭证
本例Flutter源码: