分享到 :

HarmonyOS_SDK接口说明

1.登录接口(Promise)

/**
   * 授权登录
   * @param reqOptions 授权相关参数
   */
  login(reqOptions:AuthReqOptions): Promise<AuthResult>

参数 AuthReqOptions 详细说明

字段说明传值
scope申请授权权限列表默认值为"all"
forceWebLogin是否强制使用网页登录默认 false
useQrCode是否使用扫码登录(仅在使用 H5 授权时生效,App 授权不支持)默认 false
networkTimeout配置sdk内部WebView网页加载超时时长(单位ms,仅在 >0 时
生效,如传入<=0 则sdk内部会使用默认值 5000ms)
默认 5000

回调结果 AuthResult 说明

字段说明
type授权结果,值范围为枚举AuthResultType{Success = 1,Cancel=2,Error=3}
message授权结果消息
detail授权结果详细信息
authResponse授权 code 数据类,业务关注 authCode 即可

2.登录接口(Callback)

/**
   * 授权登录
   * @param reqOptions 授权相关参数
   * @param apiCallback 授权登录回调监听
   */
  login(reqOptions:AuthReqOptions, apiCallback: ApiCallback<AuthResponse>): void

备注:AuthReqOptions、AuthResponse 与 1.0接口中的一致

3. 分享接口(Promise)

/**
* 分享
* @param type 分享类型
* @param shareJsonData 分享数据
*/
share(type: number, shareData: ShareData, openId?: string): Promise<ShareResult>

分享业务开发流程说明:

为保证业务分享数据的可信,需要对分享数据进行签名,以分享图文ark消息为例,我们推荐业务采用以下流程:

业务客户端:用户分享时,将分享的UGC内容传到业务后台

业务后台:使用用户UGC数据完成ark业务JSON数据的组装(ShareData.shareJson),生成ShareData中的时间戳(ShareData.timestamp)、随机自然数(ShareData.nonce),并对这三部分数据进行签名计算后,将以上数据回调业务客户端,由业务客户端调用互联分享接口发起分享。

参数说明:

type: 分享类型,目前支持图文ark类型 3006

shareData: 分享数据,包含分享业务数据+签名部分数据,详细内容如下:

字段说明备注
shareJson分享图片ark业务数据举例:{
"msg_style": 0,
"title": "鸿蒙ARK图文",
"summary": "ARK分享的内容",
"brief": "互联分享",
"url": "https://www.qq.com",
"picture_url": "https://tangram-1251316161.file.myqcloud.com/files/20200722/
796170665c821b9a1982918094aa6ba7.png"
}
timestamp分享时的当前时间戳
nonce随机自然数
shareJsonSignshareJson + timestamp + nonce 三部分合并后使用互联AppKey进行签名。由业务后台使用互联AppKey计算分享数据签名
TODO:签名生成说明文档

回调数据ShareResult说明:

字段说明备注
resultType分享结果枚举
Success:分享成功
Cancel:用户取消
Error:分享异常
用户分享到QQ后,可能选择停留在QQ,这种场景下业务无法接受到分享回调。
code分享错误码
message分享错误消息
detail分享错误详细信息

4. 分享接口(Callback)

/**
* 分享
* @param type 分享类型
* @param shareJsonData 分享数据
*/
share(type: number, shareJsonData: ShareData, openId?: string, callback?: ApiCallback<ShareResult>): void

参数说明:见3.0

5. 判断 QQ 是否安装

isQQInstalled(): boolean

6. 注册日志类

sdk输出日志,业务可将日志记录到业务日志文件中,方便后续排查问题

/**
* 向sdk注册 日志接收类
* @param iLogger
*/
IQQOpenApi.addCustomLogger(iLogger: ILogger): void;
返回顶部