微信账户 1010+

接口声明

  1. {
  2. "name": "service.wxaccount",
  3. "params": {
  4. "appId": "your app id"
  5. }
  6. }

参数

参数值类型说明
appIdString微信开放平台 申请应用时分配的 appId

导入模块

  1. import wxaccount from '@service.wxaccount' const wxaccount = require("@service.wxaccount")

接口定义

wxaccount.getType()

获取当前的微信登陆方式

参数:

返回值:

返回值备注
APP微信 app 登陆方式
NONE当前微信登录不可用,微信未安装或者手机系统不支持

wxaccount.authorize(OBJECT)

发起微信登陆,调用之前应该先使用 getType 函数查询 APP 登陆方式是否被支持

注意:rpk 的包名/签名需要和在微信后台注册的移动应用包名/签名一致。

参数:

参数名类型必填说明
scopeString应用授权作用域,如获取用户个人信息则填写 snsapi_userinfo,微信关于 scope 的说明
stateString用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止 csrf 攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加 session 进行校验
successFunction成功回调
failFunction失败回调
cancelFunction取消回调

success 返回值:

参数名类型说明
codeString用于换取 accessToken 的 code,方法参考微信的文档
stateString第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用 sendReq 时传入,由微信终端回传,state 字符串长度不能超过 1K
langString微信客户端当前语言
countryString微信用户当前国家信息

fail 返回错误代码:

错误码说明
-2004用户拒绝授权
-2006微信错误码-6,该操作被微信屏蔽,原因是 rpk 签名和微信后台签名不符或者无权限
1000微信未安装
1001接口声明中没有配置 appId

示例

  1. useWXAccount: function() {
  2. var type = wxaccount.getType();
  3. if (type == 'APP') {
  4. wxaccount.authorize({
  5. scope: 'snsapi_userinfo',
  6. state: 'randomString',
  7. success: function(data) {
  8. console.log("wxaccount authorize success:" + JSON.stringify(data));
  9. },
  10. fail: function(data, code) {
  11. console.log("wxaccount authorize fail:" + data + ", code:" + code);
  12. },
  13. cancel: function() {
  14. console.log("wxaccount authorize cancelled.");
  15. }
  16. });
  17. } else {
  18. console.log("wxaccount not available.");
  19. }
  20. }

后台运行限制

禁止使用。后台运行详细用法参见后台运行 脚本

支持明细

厂商支持备注
小米YES-
中兴no-
华为no-
金立YES-
联想no-
魅族no-
努比亚YES-
OPPOYES需 ColorOS 5.0+,部分机型 ColorOS 3.x+
vivoYES-
一加--
预览版no预览版不提供微信账户接口