微信账户 wxaccount 1010+
接口声明
{
"name": "service.wxaccount",
"params": {
"appId": "your app id"
}
}
参数
参数值 | 类型 | 说明 |
---|
appId | String | 在 微信开放平台 申请应用时分配的 appId |
导入模块
import wxaccount from '@service.wxaccount' 或 const wxaccount = require("@service.wxaccount")
接口定义
wxaccount.getType()
获取当前的微信登陆方式
参数:
无
返回值:
返回值 | 备注 |
---|
APP | 微信 app 登陆方式 |
NONE | 当前微信登录不可用,微信未安装或者手机系统不支持 |
wxaccount.authorize(OBJECT)
发起微信登陆,调用之前应该先使用 getType 函数查询 APP 登陆方式是否被支持
注意:rpk 的包名/签名需要和在微信后台注册的移动应用包名/签名一致。
参数:
参数名 | 类型 | 必填 | 说明 |
---|
scope | String | 是 | 应用授权作用域,如获取用户个人信息则填写 snsapi_userinfo,微信关于 scope 的说明 |
state | String | 否 | 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止 csrf 攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加 session 进行校验 |
success | Function | 否 | 成功回调 |
fail | Function | 否 | 失败回调 |
cancel | Function | 否 | 取消回调 |
success 返回值:
参数名 | 类型 | 说明 |
---|
code | String | 用于换取 accessToken 的 code,方法参考微信的文档 |
state | String | 第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用 sendReq 时传入,由微信终端回传,state 字符串长度不能超过 1K |
lang | String | 微信客户端当前语言 |
country | String | 微信用户当前国家信息 |
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 | - |
OPPO | YES | 需 ColorOS 5.0+,部分机型 ColorOS 3.x+ |
vivo | YES | - |
一加 | - | - |
预览版 | no | 预览版不提供微信账户接口 |