codecamp

快应用 微信账户

接口声明

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

参数

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

导入模块

import wxaccount from '@service.wxaccount' 
或 
var wxaccount = require("@service.wxaccount")

接口定义

wxaccount.getType()

获取当前的微信登陆方式

参数:

返回值:

返回值 备注
NONE 微信未安装或者手机不支持
APP 微信app登陆方式

wxaccount.authorize(OBJECT)

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

参数:

参数名 类型 必填 说明
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-
OPPOYES需 ColorOS 5.0+,部分机型 ColorOS 3.x+
vivoYES-
一加--
预览版no预览版不提供微信账户接口


快应用 QQ账户
快应用 微博账户
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

快应用 参考手册

快应用 安全

快应用 声音音频

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }