在你的 App 中集成手机微信一键授权(注册)登录功能,达到快速注册、快速登录功能
按照本教程的操作指引,预计5分钟即可帮你实现并掌握微信登录的实现
微信一键登录/注册 - 图1

微信开放平台创建应用

https://open.weixin.qq.com

前往微信开放平台,创建一个移动应用的接入,审核通过后,你就可以获取到一个 appid 和 secret;
下文中提到的所有 appid 和 secret 都是指的这里的,不是公众号的,不是服务号的,更不是小程序的,千万注意!!

开发者后台配置 appid 和 secret

《使用 apifm 插件进行 Flutter 云开发——安装篇》

开启 “系统参数设置” 模块

  1. 登录 “第一步” 注册的后台,左侧菜单 —> 工厂设置 —> 模块管理
  2. 找到 “系统参数设置” 模块,点击 “启用模块” ,然后 F5 刷新一下后台界面

添加系统参数

  1. 添加文本参数 wx_sns_appid ,参数值填你的 appid ,参数状态位公开参数,flutter 中初始化时候的 appid 可以通过读取系统设置方法读取该值;
  2. 添加文本参数 wx_sns_secret ,参数值填写你的 secret ,参数状态一定要设置为保密参数防止泄露该数据;

安装 Flutter 依赖

pubspec.yaml 文件增加依赖

  1. dependencies:
  2. fluwx: ^1.0.6

安装依赖

  1. $ flutter pub get

引入 package

在 dart 文件中,引入插件,下面会用到

  1. import 'package:fluwx/fluwx.dart' as fluwx;

调用微信授权

  1. const appid = 'wx4f32d9265f9cf669'; // 这是上面创建应用的 appid
  2. await fluwx.register(appId: appid); // 初始化
  3. fluwx.sendAuth(scope: "snsapi_userinfo", state: "login"); // 呼出微信授权界面
  4. fluwx.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 方法

微信一键注册

  1. Apifm.registerWX(Map<String, String> params)

微信的一键注册功能,需要以下参数:

授权后返回的参数:

code

可选参数:

referrer 邀请人,邀请你注册的用户id
postJsonString 注册的扩展信息,Json数据格式

微信一键登录

  1. Apifm.loginWX(String code)

code 为授权成功后返回的临时凭证

绑定微信一键登录

  1. Apifm.bindWXOpenid(token, code)

手机号码、用户名等方式注册的用户,通过该方法绑定微信,后期将可以使用微信一键登录

code 为用户授权后返回的临时凭证

本例Flutter源码:

https://github.com/gooking/apifm-flutter-demo