尿结石挂什么科| lily是什么牌子| 血管堵塞吃什么好疏通| 有什么游戏| 小苏打是什么| 脚心是什么穴位| nt是什么| 什么就像什么造句| 幽门螺杆菌吃什么药好| 怀孕初期需要注意些什么| 手疼挂什么科| 婴儿胎发什么时候剪最好| 老舍被誉为什么称号| 膝盖积水是什么原因造成的| 什么是牛黄| ncs是什么意思| 头发为什么会变黄| b型血为什么叫贵族血| 霏字五行属什么| 十月一日什么星座| 意象是什么意思| 犯困是什么原因| 网是什么结构的字| 保释是什么意思| 紫癜是一种什么病严重吗| 肠易激综合症吃什么药| 猪脚炖什么好吃| 什么是精神病| sby是什么意思| 打飞机是什么意思| 大专什么专业好就业| 盗墓笔记的结局是什么| gv是什么意思| 舌头生疮是什么原因引起的| 纬字五行属什么| 闪婚是什么意思| 心力衰竭吃什么药最好| 皮肤细菌感染用什么药| 天花是什么病| 安享晚年是什么意思| 蒲公英什么时候播种| 张衡发明了什么| 月经来了一点就没了是什么原因| 杭州菜属于什么菜系| 小鱼缸适合养什么鱼| 耳目比喻什么| 心率低40多吃什么药| 乳腺导管扩张是什么意思严重吗| 梦见好多虫子是什么意思| 喝酒伤什么| 属狗的和什么属相最配| 东北有什么好玩的景点| 男性裆部瘙痒用什么药好| 尿道炎吃什么| 嗓子有痰是什么原因| 3月29号是什么星座| 甲沟炎医院挂什么科| 胎发什么时候剃最合适| 十二生肖代表什么花| 谷子是什么意思| 做梦梦到很多蛇是什么意思| 巡演是什么意思| 二月什么座| 嗓子老有痰是什么原因| 结石排出来是什么感觉| 洗牙有什么危害吗| 牙出血是什么病的前兆| 烤乳扇是什么| 渗透压偏高是什么原因| 尿里带血是什么原因男性| 体寒的人吃什么食物好| 7月初二是什么星座| 韩信点兵什么意思| 针眼用什么眼药水| 多吃木瓜有什么好处| 银行卡为什么会被冻结| 为什么吐后反而舒服了| 陶渊明什么朝代| 什么是喜欢什么是爱| nbi是什么意思| 做背有什么好处及作用| 为什么睡觉流口水| 妖魔鬼怪是什么生肖| 手背上长痣代表什么| sp是什么意思| 女人吃什么养颜又美白| 什么孕妇容易怀脑瘫儿| 尿酸高吃什么可以降下去| 整夜失眠是什么病| 硬度不够吃什么药| 湘女多情是什么意思| 马齿苋有什么功效| 长粉刺是什么原因| 什么的眉头| via什么意思| 盐是什么味道| 地包天是什么意思| 肾病吃什么药最好| 全身瘙痒要警惕什么病| 尖锐湿疣挂什么科| 抽筋什么原因| 洋人是什么意思| 鱼腥草泡水喝有什么功效| 铮字五行属什么| 祈字五行属什么| 皮肤白斑是什么原因| 男人吃什么补肾壮阳效果最好| 早晨起来口苦是什么原因| 什么动物菩萨心肠| 吃什么润肺养肺最快| 75年的兔是什么命| 发福了是什么意思| 补铁吃什么食物好| 后中长是什么意思| 眼睛出现重影是什么原因| 三个马读什么| 淋巴细胞百分比低说明什么问题| 湿疹为什么要查肝功能| 全糖是什么意思| 浸润癌是什么意思| 锁阳是什么东西| 脱毛膏是什么原理| 全能教是什么| 生吃西红柿有什么好处| 为什么会突发脑溢血| 吃什么对脾胃好| 巾帼是指什么| 乳腺回声不均匀是什么意思| 尿胆原norm是什么意思| 女性尿频繁是什么原因| bid医学上是什么意思| 女性口臭都是什么原因| dha是什么意思| 八八年属什么| rhc血型阳性是什么意思| 小孩老是打嗝是什么原因| 史迪仔是什么动物| 抽血能检查出什么| 小腿麻木是什么原因| 什么叫双飞| 脸上长斑吃什么药调理| 青柠是什么水果| 什么的植物| 阴道放屁是什么原因| 罗纹布是什么面料| 私处瘙痒用什么药| hm是什么| 什么情况下需要做造影| 127是什么意思| 舌苔黑是什么病| 日照香炉生紫烟是什么意思| 吃什么补阳气| 斗拱是什么意思| 孙武和孙膑是什么关系| 圣旨是什么意思| 吃什么补精养肾| 脂肪肝能吃什么水果| 艾滋病是什么症状| 不小心怀孕了吃什么药可以流掉| 为什么会骨盆前倾| 花雕酒是什么| 肚子痛吃什么药好| 妇科炎症吃什么食物好| 唐僧取经取的是什么经| 什么是假性狐臭| 林黛玉属什么生肖| 男性婚检都检查什么项目| 甘油是什么成分| 医生规培是什么意思| 少量盆腔积液是什么意思| 同甘共苦什么意思| 为什么月经迟迟不来| 胸腔积液吃什么药最有效| 完璧归赵发生在什么时期| 脑电图轻度异常什么病| 什么动物站着睡觉| 女生男相的是什么命| 热毛巾敷眼睛有什么好处| 胸口中间疼是什么原因| 眉毛痒是什么原因| 吃什么都吐是什么原因| 异想天开什么意思| 滴虫性阴炎有什么症状表现| 6月16号是什么星座| 什么牌子的护肝药最好| 番薯什么时候传入中国| 梦见鱼是什么预兆| 葡式蛋挞为什么叫葡式| 狐狸是什么科| 舌系带短会有什么影响| 全身皮肤瘙痒是什么原因引起的| 小猫发烧有什么症状| 什么是有限公司| 多事之秋是什么意思| tsh是什么| 什么是小针刀治疗| 为什么手指会发麻| 宝宝蛋白质过敏喝什么奶粉| 情缘是什么意思| 什么是介入手术| 绝对零度是什么意思| triangle是什么意思| 喝什么可以美白| 面霜和乳液有什么区别| 免疫肝是什么病| 跟腱炎吃什么药效果好| 过奖是什么意思| 崴脚用什么药| momax是什么牌子| 哼哈二将是什么意思| f00d中文是什么意思| 扁桃体结石吃什么药| 骨折移位有什么感觉| 旗舰机是什么意思| 黄瓜和什么一起炒好吃| 黄色鞋子配什么颜色裤子| 头发秃一块是什么原因| 诸君是什么意思| 抑郁症是什么意思| 肛门里面痒是什么原因| 16年是什么年| saba是什么药| 吃什么解暑| 前列腺炎是什么引起的| 属兔的跟什么属相最配| wy是什么牌子| 师夷长技以制夷是什么意思| 乱伦是什么| 头皮上长疣是什么原因造成的| 幽门螺杆菌是什么意思| 黎民是什么意思| 6月19日是什么节日| 诸什么意思| 耳朵里面疼是什么原因| 急性肠胃炎能吃什么水果| 试管婴儿什么价格| 胸口有痣代表什么意思| prog是什么意思| 耳心痒是什么原因| 乳头出血是什么原因| 食管裂孔疝是什么原因造成的| 甘薯和红薯有什么区别| rem睡眠是什么意思| 梵行是什么意思| 孕期血糖高可以吃什么水果| 宇宙的尽头是什么| 脐下三寸是什么地方| ga什么意思| 产后第一天吃什么最好| 1990属什么生肖| 15年婚姻是什么婚| 梦见骡子是什么意思| 陶和瓷有什么区别| jb什么意思| 谋生是什么意思| 洗牙为什么要验血| 一什么雨伞| 夜尿多什么原因| 作古是什么意思| 为什么空腹血糖比餐后血糖高| 大公无私是什么意思| 女生心脏在什么位置| 太阳出来我爬山坡是什么歌| 龙眼是什么季节的水果| 百度
分享到 :

高压氧治疗显奇效——记高压氧治疗麻疹脑炎一例

百度 下阶段,市文明办和市整治办将进一步完善测评标准,用更科学合理的方式,体现工作成效,打造更多全市规范行人和非机动车交通行为工作样板,使非机动车和行人出行条件和通行空间得到有效保障,城市道路交通进一步畅通。

目前QQ HarmonyOS SDK v1.0.3版本已经发布,各位应用开发者可参考接入文档说明提前熟悉接入流程;
*当前包含能力:扫码登录、授权登录、分享至QQ,其他功能正在持续迭代中,敬请期待后续版本。

1.添加依赖、module.json5 配置

(1)运行 ohpm i @tencent/qq-open-sdk

运行后在工程级 oh-package.json5 文件中可看到新增依赖库

备注:

互联 sdk 的 har 包采用字节码编译,业务项目编译选项需开启useNormalizedOHMUrl

har 包字节码编译鸿蒙官网文档:文档中心

鸿蒙编译选项鸿蒙官网文档: 文档中心

(2)module.json5 配置文件修改

// module.json5 的"module"节点下配置 querySchemes
"querySchemes": [
    "http",
    "qqopenapi"
]  

// 在 Ability 的 skills 节点中配置scheme
"skills": [
 {
    "entities": [
      "entity.system.browsable"
    ],
    "actions": [
      "ohos.want.action.viewData"
    ],
    "uris": [
      {
        "scheme": "qqopenapi", // 接收 QQ 回调数据
        "host": "xxxxxxxxx", // 业务申请的互联 appId,如果填错会导致 QQ 无法回调
        "pathRegex": "\\b(auth|share)\\b",
        "linkFeature": "Login",
      }
    ]
  }
]

可参考 demo 工程中配置

2.授权登录接入

(1) 创建IQQOpenApi实例

// 推荐声明为全局静态变量
iQQOpenApi: IQQOpenApi = QQOpenApiFactory.createApi(appId)

(2) 调用授权登录接口获取authCode

a.基于Promise

this.iQQOpenApi.login(this.getUIContext(), {
scope: "all",
useQrCode: this.useQrcode,
networkTimeout: 0,
forceWebLogin: this.forceWebAuth
})
.then((result: AuthResult) => {
if (result.type == AuthResultType.Success) {
let code = result.authResponse?.authCode
if (code) {
// 获取 server-side 授权 code 成功,模拟业务后台到 QQ 互联后台换取 授权 accessToken,并获取用户 QQ 信息
HttpUtils.getAccessToken(this.tencent.appId.(), "[your open appkey]", code)
.then((value: AccessTokenJson) => {
hilog.debug(0x0000, TAG, "code get token : " + JSON.stringify(value))
this.tencent.getUserInfo(value.access_token, value.openid, this.iuListener)
}).catch((error: string) => {
hilog.debug(0x0000, TAG, "code get token error msg: " + error)
})
}
} else if (result.type == AuthResultType.Cancel) {
this.alert(result.message ?? "")
} else if (result.type == AuthResultType.Error) {
this.alert(result.message ?? "")
}
}).catch(() => {

})

b. 基于回调方式

// step1 互联授权登录回调监听
loginApiCallback: ApiCallback<AuthResponse> = {
onComplete: (response: AuthResponse): void => {
hilog.debug(0x0000, TAG, `onComplete response: ${JSON.stringify(response)}`);
if (response.ret == 0) {
// 获取 server-side 授权 code 成功,模拟业务后台到 QQ 互联后台换取 授权 accessToken,并获取用户 QQ 信息
HttpUtils.getAccessToken(this.tencent.appId.(), "[your open appkey]", response.authCode)
.then((value: AccessTokenJson) => {
hilog.debug(0x0000, TAG, "code get token : " + JSON.stringify(value))
this.tencent.getUserInfo(value.access_token, value.openid, this.apiCallback)
}).catch((error: string) => {
hilog.debug(0x0000, TAG, "code get token error msg: " + error)
})
}

promptAction.showToast({
message: "获取code成功:" + response.authCode
})
},
onError: (msg: string | null): void => {
this.alert(`onError msg: ${msg}`);
},
onCancel: (msg: string | null): void => {
this.alert(`onCancel msg: ${msg}`);
}
}

// step2 调用接口
this.iQQOpenApi.login(this.getUIContext(), {
scope: "all",
useQrCode: this.useQrcode,
forceWebLogin: false,
networkTimeout: 0
}, this.loginApiCallback)

(3)调用 IQQOpenApi.handleResult()处理回调数据

// 在业务 Ability.onNewWant() 中调用(注意 IQQOpenApi 实例需要与调用 login 方法为同一实例,同时需要与 module.json5 中配置 scheme 为同一个 Ability)
  onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    super.onNewWant(want, launchParam);
    ApiHolder.getInstance()?.handleResult(want)
  }   

备注:

1、用户授权鸿蒙app登录成功后,后台会派发临时票据code(短期且仅一次有效)。

2、业务获取code后,业务需通过code+应用秘钥(只能存后台,客户端泄露风险高),在业务后台获取openid+access_token+refresh_token。具体参考:code换access_token接口

3、refresh_token有效期大于access_token,通过刷新可获取新的access_token+refresh_token,历史票据自动失效,因此,业务需要保存、刷新使用最新票据。

返回顶部 百度