教程 框架 组件 接口 工具 其他

账号 account 1000+

接口声明

{ "name": "service.account" }

导入模块

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

接口定义

account.getProvider()

获取服务提供商。

参数:

返回值:

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

示例:

console.log(account.getProvider())

接口定义

account.isLogin(OBJECT) 1060+

判断账户登录状态。

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
isLoginBoolean登录状态值。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 授权。

参数:

参数名类型必填说明
typeString授权码模式为 code,简化模式为 token。
redirectUriString重定向 URI。
scopeString申请的权限范围,假如不填则 getProfile 只返回 openId。 scope.baseProfile:获取用户基本信息 ;scope.basePhone:获取手机号 1100+;scope.basePhoneProfile:获取手机号和用户基本信息 1100+
stateString可以指定任意值,认证服务器会原封不动地返回这个值。
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
stateString请求时同字段指定的任意值。
codeString授权码模式下可用,返回的授权码。
accessTokenString简化模式下可用,返回的访问令牌。
tokenTypeString简化模式下可用,访问令牌类型。
expiresInNumber简化模式下可用,访问令牌过期时间,单位为秒,如果通过其他方式设置,则此处可能为空。
scopeString简化模式下可用,实际权限范围,如果与申请一致,则此处可能为空。
fail 返回错误代码
错误码说明
201用户拒绝,获取帐号权限失败
202 1100+超出权限范围,不支持获取此scope对应的权限
207 1100+用户拒绝并勾选不再询问复选框

示例:

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}, errorMsg=${data}`)
  }
})

account.getProfile(OBJECT)

获得用户基本信息。根据授权时选择的scope,返回不同信息。

参数:

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

unionid 机制说明

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

scope与success返回值对应关系:
参数名baseProfilebasePhonebasePhoneProfile
openid
id
unionid
nickname
avatar
phoneNumber

示例:

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) 1070+

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

权限要求

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

参数:

参数名类型必填说明
encryptBoolean获取手机号码是否加密,默认false,加解密方案需要跟具体的厂商对接。
successFunction成功回调
failFunction失败回调
completeFunction执行结束后的回调
success 返回值:
参数名类型说明
phoneNumberString用户手机号码
fail 返回错误代码:
错误码说明
201用户拒绝,获取用户手机号码失败
203还未实现这个接口
205前一次请求尚未完成,不允许发起新的请求
207 1100+用户拒绝并勾选不再询问复选框
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}, errorMsg=${data}`)
  }
})

account.getEncryptedID(OBJECT) 1080+

获取厂商加密过的系统账号ID,无需用户授权。当需要和厂商对接服务时,可以使用此ID.

参数:

参数名类型必填说明
successFunction成功回调
failFunction失败回调
success返回值:
参数名类型说明
encryptedidString加密过的系统账号ID
fail返回错误代码:
错误码说明
200通用错误
1001未登录账号

示例:

account.getEncryptedID({
  success: function (data) {
    console.log(`handling success: ${data.encryptedid}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

后台运行限制

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

支持明细

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

条匹配 "" 的结果

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