教程 其他 框架 组件 接口

微信账户 1010+

接口声明

{
  "name": "service.wxaccount",
  "params": {
    "appId": "your app id"
  }
}

参数

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

导入模块

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

示例

useWXAccount: function() {
    var type = wxaccount.getType();
    if (type == 'APP') {
        wxaccount.authorize({
            scope: 'snsapi_userinfo',
            state: 'randomString',
            success: function(data) {
                console.log("wxaccount authorize success:" + JSON.stringify(data));
            },
            fail: function(data, code) {
                console.log("wxaccount authorize fail:" + data + ", code:" + code);
            },
            cancel: function() {
                console.log("wxaccount authorize cancelled.");
            }
        });
    } else {
        console.log("wxaccount not available.");
    }
}

支持明细

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

条匹配 "" 的结果

    没有搜索到与 "" 相关的内容