当前位置: 首页 > news >正文

国外设计网站排名站长网站后台

国外设计网站排名,站长网站后台,上海企业网络推广方案,青岛网站设计模板一、方案概述 当用户使用应用/元服务时#xff0c;开发者可以按照标准意图Schema向系统共享数据#xff0c;并支持意图调用#xff08;空调用与传参调用#xff09;#xff0c;以实现用户点击卡片后#xff0c;可后台执行功能#xff08;例如播放指定歌曲#xff09;或…一、方案概述 当用户使用应用/元服务时开发者可以按照标准意图Schema向系统共享数据并支持意图调用空调用与传参调用以实现用户点击卡片后可后台执行功能例如播放指定歌曲或跳转至指定内容页面例如指定的歌曲播放页面。 二、意图注册 以歌曲本地搜索特性为例首先要注册播放歌曲意图PlayMusic。开发者需要编辑对应的意图配置PROJECT_HOME/entry/src/main/resources/base/profile/insight_intent.json文件实现意图注册。 {// 应用支持的意图列表// 必须声明应用支持插件包含的必选意图应用上架时会进行校验insightIntents: [{// 意图名称// 名称应当遵循意图框架规范当前仅支持预置垂域意图不允许自定义// 应用内意图名称唯一不允许出现相同的名称定义intentName: PlayMusic,// 意图所属的垂域domain: MusicDomain,// 意图版本号// 插件引用意图时会校验该版本号只有和插件定义的版本号一致才能正常调用intentVersion: 1.0.1,// 意图调用逻辑入口srcEntry: ./ets/entryability/InsightIntentExecutorImpl.ets,uiAbility: {// 意图所在module、ability以及代码相对路径入口ability: EntryAbility,// UIAbility支持前后台两种执行模式executeMode: [background,foreground]}}] } 三、端侧意图共享 构建意图对象并且调用shareIntent()实现意图共享。可同时构建多个PlayMusic或PlayMusicList的意图对象。 import { insightIntent } from kit.IntentsKit; import { BusinessError } from kit.BasicServicesKit;let playMusicIntent1: insightIntent.InsightIntent; let playMusicIntent2: insightIntent.InsightIntent; // 共享数据接口 意图数组可以是更多的实体 // 根据实际代码上下文自行传入合适的context insightIntent.shareIntent(context, [playMusicIntent1, playMusicIntent2]).then(() {console.info(shareIntent succeed); }).catch((err: BusinessError) {console.error(error.code: ${err?.code}, failed because ${err?.message}); }); PlayMusic的意图共享字段定义见各垂域意图Schema定义代码示例如下 import { insightIntent } from kit.IntentsKit;let playMusicIntent: insightIntent.InsightIntent {intentName: PlayMusic,intentVersion: 1.0,identifier: 52dac3b0-6520-4974-81e5-25f0879449b5,intentActionInfo: {actionMode: EXECUTED,executedTimeSlots: {executedStartTime: 1637393212000,executedEndTime: 1637393112000,},currentPercentage: 50,},intentEntityInfo: {entityName: Music,entityId: C10194368,entityGroupId: C10194321312,displayName: 测试歌曲1,description: NA,logoURL: https://www-file.abc.com/-/media/corporate/images/home/logo/abc_logo.png,keywords: [华为音乐, 化妆],rankingHint: 99,expirationTime: 1637393212000,metadataModificationTime: 1637393212000,activityType: [1, 2, 3],artist: [测试歌手1, 测试歌手2],lyricist: [测试词作者1, 测试词作者2],composer: [测试曲作者1, 测试曲作者2],albumName: 测试专辑,duration: 244000,playCount: 100000,musicalGenre: [流行, 华语, 金曲, 00后],isPublicData: false,} } 完整的意图共享示例如下所示该示例构建了一个PlayMusic意图并进行了shareIntent调用。 import { insightIntent } from kit.IntentsKit; import { BusinessError } from kit.BasicServicesKit;let playMusicIntent: insightIntent.InsightIntent {intentName: PlayMusic,intentVersion: 1.0,identifier: 52dac3b0-6520-4974-81e5-25f0879449b5,intentActionInfo: {actionMode: EXECUTED,executedTimeSlots: {executedStartTime: 1637393212000,executedEndTime: 1637393112000,},currentPercentage: 50,},intentEntityInfo: {entityName: Music,entityId: C10194368,entityGroupId: C10194321312,displayName: 测试歌曲1,description: NA,logoURL: https://www-file.abc.com/-/media/corporate/images/home/logo/abc_logo.png,keywords: [华为音乐, 化妆],rankingHint: 99,expirationTime: 1637393212000,metadataModificationTime: 1637393212000,activityType: [1, 2, 3],artist: [测试歌手1, 测试歌手2],lyricist: [测试词作者1, 测试词作者2],composer: [测试曲作者1, 测试曲作者2],albumName: 测试专辑,duration: 244000,playCount: 100000,musicalGenre: [流行, 华语, 金曲, 00后],isPublicData: false,} } // 共享数据接口 意图数组可以是更多的实体 // 根据实际代码上下文自行传入合适的context insightIntent.shareIntent(context, [playMusicIntent]).then(() {console.info(shareIntent succeed); }).catch((err: BusinessError) {console.error(error.code: ${err?.code}, failed because ${err?.message}); }); 四、端侧意图调用 开发者需要自己实现InsightIntentExecutor并在对应回调实现打开落地页点击推荐卡片跳转的界面或后台执行的能力PlayMusic的意图调用字段定义见各垂域意图Schema。 步骤如下 继承InsightIntentExecutor。 重写对应方法例如目标拉起前台页面则可重写onExecuteInUIAbilityForegroundMode方法。 通过意图名称识别播放歌曲意图PlayMusic在对应的方法中传递意图参数param并拉起对应落地页如播放歌曲落地页或后台执行播放歌曲。 import { insightIntent, InsightIntentExecutor } from kit.AbilityKit; import { window } from kit.ArkUI; import { BusinessError } from kit.BasicServicesKit;/*** 意图调用样例*/ export default class InsightIntentExecutorImpl extends InsightIntentExecutor {private static readonly PLAY_MUSIC PlayMusic;/*** override 执行前台UIAbility意图** param name 意图名称* param param 意图参数* param pageLoader 窗口* returns 意图调用结果*/onExecuteInUIAbilityForegroundMode(name: string, param: Recordstring, Object, pageLoader: window.WindowStage):PromiseinsightIntent.ExecuteResult {// 根据意图名称分发处理逻辑switch (name) {case InsightIntentExecutorImpl.PLAY_MUSIC:return this.playMusic(param, pageLoader);default:break;}return Promise.resolve({code: -1,result: {message: unknown intent}} as insightIntent.ExecuteResult)}/*** 实现调用播放歌曲功能** param param 意图参数* param pageLoader 窗口*/private playMusic(param: Recordstring, Object, pageLoader: window.WindowStage): PromiseinsightIntent.ExecuteResult {return new Promise((resolve, reject) {let para: Recordstring, string {result: JSON.stringify(param)};let localStorage: LocalStorage new LocalStorage(para);// TODO 实现意图调用loadContent的入参为歌曲落地页路径例如pages/IndexpageLoader.loadContent(pages/Index, localStorage).then(() {let entityId: string (param.items as Arrayobject)?.[0]?.[entityId];// TODO 调用成功的情况此处可以打印日志resolve({code: 0,result: {message: Intent execute succeed}});}).catch((err: BusinessError) {// TODO 调用失败的情况resolve({code: -1,result: {message: Intent execute failed}})});})} } 本文主要参考鸿蒙官方网站材料
http://www.hkea.cn/news/14575376/

相关文章:

  • 单页面网站模板宁波制作网站企业有哪些
  • 怎么修改WordPress文件結構seo深圳网络推广
  • 韩顺平 开源网站昆明百度seo
  • 百度怎么制作网站教程详情页设计图片
  • 国内比较高端的设计网站微信群发布网站建设
  • 高校网站建设模板南京展厅设计装修
  • 网站建设要程序员吗开封网站开发公司
  • 基于php的网站开发英文文献网上做试卷的网站
  • wordpress 建站 搜索网站建设一般用什么编程
  • 网站建设的岗位叫什么定制企业网站多少钱
  • 南宁建筑网站网站建站模板
  • 潍坊有哪些网站网站开发是固定资产吗
  • 西安地区网站建设鞍山人才招聘网官网
  • 腾讯网网站网址手机网站开发指南
  • 文件外链生成网站wordpress 导航别名
  • 我本沉默传奇新开网站网页设计与制作软件有哪些
  • 网站建设淘宝模板php可以做网站吗
  • 网站建设导航滁州注册公司流程和费用
  • 最简单的单页网站怎么做asp网站水印支除
  • 申请网站空间怎么做灵台门户网
  • 网站建设续费的回访话术做试管婴儿的网站
  • 网站的设计风格与特点郑州高端定制建设网站
  • 临沂中文网站建设网站添加外链
  • 北海市住房和城乡建设局网站网站开发需要什么资料
  • 网站开发费怎么做账做网站用平板吗
  • 网站建设APP的软件苏州学校网站建设
  • 潍坊网络推广网站建设wordpress换不了密码错误
  • 服装网站公司网站北京网站优化托管
  • 静态网站生成一团网站建设
  • 网站运营成本预算中铁建设集团有限公司梅洪亮