codecamp

快应用 账号

接口声明

{"name": "service.account"}

导入模块

import account from '@service.account' 
或 
const account = require('@service.account')

接口定义

account.getProvider()

获取服务提供商。

参数:

返回值:

字符串,服务提供商的代号,如厂商的英文品牌名称,假如无此服务则返回空字符串

示例:

console.log(account.getProvider())

account.authorize(OBJECT)

进行OAuth授权。

参数:

参数名 类型 必填 说明
type String 授权码模式为code,简化模式为token。
redirectUri Uri 重定向URI。
scope String 申请的权限范围,目前只支持一种scope,假如不填则getProfile只返回openId。 scope.baseProfile:获取用户基本信息。
state String 可以指定任意值,认证服务器会原封不动地返回这个值。
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
success返回值:
参数名 类型 说明
state String 请求时同字段指定的任意值。
code String 授权码模式下可用,返回的授权码。
accessToken String 简化模式下可用,返回的访问令牌。
tokenType String 简化模式下可用,访问令牌类型。
expiresIn Number 简化模式下可用,访问令牌过期时间,单位为秒,如果通过其他方式设置,则此处可能为空。
scope String 简化模式下可用,实际权限范围,如果与申请一致,则此处可能为空。
fail返回错误代码
错误码 说明
201 用户拒绝,获取帐号权限失败

示例:

account.authorize({
  type: 'code',
  redirectUri: 'http://www.example.com/',
  success: function (data) {
    console.log(`handling success: ${data.code}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

接口定义

account.getProvider()

获取服务提供商。

参数:

返回值:

字符串,服务提供商的代号,如厂商的英文品牌名称,假如无此服务则返回空字符串

示例:

console.log(account.getProvider())

接口定义

account.isLogin(OBJECT) 

判断账户登录状态。

参数:

参数名 类型 必填 说明
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
success 返回值:
参数名 类型 说明
isLogin Boolean 登录状态值。true表示已登录,false表示未登录
fail 返回错误代码:
错误码 说明
200 通用错误,判断出错时返回该错误码

示例:

account.isLogin({
  success: function (data) {
    console.log('data.isLogin=' + data.isLogin)
    console.log('handling success' + JSON.stringify(data))
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
});

account.authorize(OBJECT)

进行 OAuth 授权。

参数:

参数名 类型 必填 说明
type String 授权码模式为 code,简化模式为 token。
redirectUri Uri 重定向 URI。
scope String 申请的权限范围,目前只支持一种 scope,假如不填则 getProfile 只返回 openId。 scope.baseProfile:获取用户基本信息。
state String 可以指定任意值,认证服务器会原封不动地返回这个值。
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
success 返回值:
参数名 类型 说明
state String 请求时同字段指定的任意值。
code String 授权码模式下可用,返回的授权码。
accessToken String 简化模式下可用,返回的访问令牌。
tokenType String 简化模式下可用,访问令牌类型。
expiresIn Number 简化模式下可用,访问令牌过期时间,单位为秒,如果通过其他方式设置,则此处可能为空。
scope String 简化模式下可用,实际权限范围,如果与申请一致,则此处可能为空。
fail 返回错误代码
错误码 说明
201 用户拒绝,获取帐号权限失败

示例:

account.authorize({
  type: 'code',
  redirectUri: 'http://www.example.com/',
  success: function(data) {
    console.log(`handling success: ${data.code}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

account.getProfile(OBJECT)

获得用户基本信息。

参数:

参数名 类型 必填 说明
token String 访问令牌
success Function 成功回调
fail Function 失败回调,返回失败原因
complete Function 执行结束后的回调
success 返回值:
参数名 类型 说明
openid String 用户的 openid,可能为空
id String 用户的 user id,可能为空
unionid String 用户在开放平台上的唯一标示符,本字段在满足一定条件下才会返回(需要在厂商的开放平台上额外申请)
nickname String 用户的昵称,可能为空
avatar Object 用户的头像图片地址,可能为空,按照分辨率组织,当只有一个分辨率时,可以使用 default 对应的图片地址

unionid 机制说明

如果开发者拥有多个移动应用,可通过 unionid 来区分用户的唯一性,因为只要是同一个开放平台帐号下的移动应用,用户的 unionid 是唯一的。换句话说,同一用户,对同一个开放平台下的不同应用,unionid 是相同的。

示例:

account.getProfile({
  token: 'abcdefg',
  success: function(data) {
    console.log(`handling success: ${data.nickname}`)
  },
  fail: function(data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

account.getPhoneNumber(OBJECT) 

使用该接口前需要先跟厂商签订相应的商务合同,在获取用户的手机号码时,用户同意后,默认获取当前手机登录的厂商账号的手机号码,或者通过验证的用户输入的其他手机号码。

权限要求

每次请求时都需要用户确认

参数:

参数名 类型 必填 说明
encrypt Boolean 获取手机号码是否加密,默认false,加解密方案需要跟具体的厂商对接。
success Function 成功回调
fail Function 失败回调
complete Function 执行结束后的回调
success 返回值:
参数名 类型 说明
phoneNumber String 用户手机号码
fail 返回错误代码:
错误码 说明
201 用户拒绝,获取用户手机号码失败
203 还未实现这个接口
205 前一次请求尚未完成,不允许发起新的请求
1001 不允许调用这个接口,需要先跟厂商签订相关的商务合同

示例:

account.getPhoneNumber({
  encrypt: false,
  success: function(data) {
    console.log(`handling success phoneNumber${data.phoneNumber}`)
  },
  fail: function(data, code) {
    console.log(`handling fail!, code = ${code}`)
  }
})

后台运行限制

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

支持明细

厂商 支持 备注
小米 YES 小米帐号授权登录服务
中兴 1010+ -
华为 YES 华为开发者联盟
金立 1010+ 金立快应用开发者中心
联想 no -
魅族 YES 魅族账号接入服务
努比亚 1010+ 努比亚开发者平台
OPPO YES OPPO 开放平台
vivo YES vivo帐号授权登录服务
一加 - -
预览版 no 预览版不提供账号接口


快应用 统计
快应用 健康
温馨提示
下载编程狮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; }