快应用 FeatureFeature API

service.miaccount · 小米账户"

社区/商业版资料,openvela 开源仓库未收录(无 JIDL 实证),内容来自洛汐文档库,API 以实际设备引擎为准。

项目说明
模块名service.miaccount
Feature 类型社区/商业版资料,开源仓库未收录

导入方式

const m = require('service.miaccount')

service.miaccount

小米帐号系统服务桥,用于扫码登录、取得 Service Token,并对小米帐号请求参数进行加解密。





import
 miaccount
 from
 '
@service.miaccount
'

这些方法采用快应用常见的 options + success/fail/complete 回调模型。回调数据会包含帐号标识、Token 或加密材料,不应写入日志。

方法总览

方法关键参数用途
getUserId无或回调对象读取当前系统帐号用户 ID
loginByScanserviceId发起手表扫码登录
getServiceTokenserviceId、accountType读取已缓存的服务 Token
refreshServiceTokenserviceId、accountType强制刷新服务 Token
setEnv0 或 1切换帐号服务环境
getEnv无读取环境
encryptRequestParams加密参数对象生成帐号协议要求的加密请求参数
decryptResponseDatasecurity、data解密服务响应

扫码登录


interface LoginByScanOptions {
  serviceId: string
  cServiceId?: string
  cBackUri?: string
  loginCallback?: string
  success?: (result: object) => void
  fail?: (result: object, code?: number) => void
  complete?:  => void
}

serviceId 是原生实现强制检查的字段。预装汽车应用还传入当前业务的 cServiceId、回跳 URI 和登录回调地址。成功结果可包含登录 URL、二维码或过期时间;具体字段取决于帐号服务版本。



miaccount.loginByScan({
  serviceId: 'your-service-id',
  cServiceId: 'your-client-service-id',
  cBackUri: 'https://example.invalid/callback',
  loginCallback: 'https://example.invalid/login-result',
  success(result) {
    // 用页面二维码组件展示 result 中的登录地址。
  },
  fail(data, code) { console.error(code) }
})

用户与 Service Token


getUserId(options?: Callbacks): void

getServiceToken(options: {
  serviceId: string
  accountType?: string | number
  success?: (result: ServiceTokenResult) => void
  fail?: FailureCallback
  complete?:  => void
}): void

refreshServiceToken(options: GetServiceTokenOptions): void

固件关联字段包括 serviceToken、security、stsCookies 和 expireTime。调用方必须按 expireTime 刷新,不要永久缓存 Token;security 是后续请求加解密材料,不是可展示字段。

环境


setEnv(env: 0 | 1): void
getEnv(options?: Callbacks): void

原生实现只接受 0 或 1。它们分别代表哪个部署环境由产品配置决定,不能在没有真实配置表时写成“正式/预发”。修改环境会令已有登录态、Token 和服务器地址不匹配,只应由系统应用在初始化阶段设置。

请求加解密


encryptRequestParams(options: object): void

decryptResponseData(options: {
  security: string
  data: string
  success?: (plainText: string) => void
  fail?: FailureCallback
  complete?:  => void
}): void

encryptRequestParams 的输入是待加密参数及当前帐号安全材料组成的对象;预装应用把返回结果进行 URI 编码后用于网络请求。decryptResponseData 强制要求 security 与 data。不要自行实现或替换其加密算法,系统帐号服务会管理密钥格式与轮换。

机型支持明细

设备产品说明
小米 S1 Pro 运动健康手表不支持
小米手环 8 Pro不支持
小米手环 9 / 9 Pro不支持
Xiaomi Watch S3不支持
Redmi Watch 4不支持
小米腕部心电血压记录仪不支持
小米手环 10不支持
小米手环 10 Pro不支持
Xiaomi Watch S4部分支持
REDMI Watch 5不支持
REDMI Watch 6不支持
Xiaomi Watch S5支持

获取源代码


参考来源

大纲