加载中…

微信一键登录/注册

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