设置opk为首页
机器人支持自定义首页的功能(首页指机器人进入小豹后,启动的页面)。目前机器人启动后的首页在 portal opk 中,如果需要自定义首页,需要开发人员开发自定义的 portal opk,来设置为系统默认启动的 opk。设置成功后,后续进入小豹,将会启动自定义的首页opk。
下面将系统当前的首页 opk 简称为:默认 portal,开发人员自定义的首页 opk 简称为:自定义 portal
注:豹小秘mini使用此功能需Rom版本>= 6.8
新建一个插件式opk
创建插件式opk的方法,参考文档的【入门指南】-【创建应用】
注册首页所需场景
opk创建完成后,在项目根目录下的index.js文件中注册场景。需要注册的场景分为
- 开发者自己开发的场景页面
- 需要替换的场景页面
注册自己的场景
默认在index.js中第一个注册的场景为默认启动场景,比如下图所示的A就是opk启动时默认的启动场景。后面可以继续注册项目中的其他场景。
需要替换的场景
目前有以下三个需要替换的场景,场景替换的方式是在index.js中注册相同的appKey(因为在系统默认的 portal 内已经注册过下面三个场景,所以在自定义 portal 开发中需要再次注册,覆盖原本的场景)。其中的component,指定到项目的具体页面。
- wakeUp:大眼睛画面通道,系统默认功能中有部分场景结束使用后,会跳转至wakeup场景。此处替换,使能从其他场景返回至自定义portal,而不是系统默认portal
- home:进入小豹后的首页,系统默认功能中有部分场景结束使用后,例如天气、导航等结束后,会跳转至home场景。此处替换,使能从其他场景返回至自定义portal的home场景,而不是系统默认portal的home场景
- idle:推上充电桩时,会切换到idle场景
在接待后台设置为默认opk
opk开发完后,需要先上架并发布,才能在接待后台的应用中心中设置为默认opk。
在接待后台【应用中心】-【已安装应用】中,点击“通用设置”,在默认启动技能中把开发的opk设置为默认启动技能。
注意事项
- 如果需要跳转到其他功能场景,且语音链路优先级较高,需要在当前页面对应的voice中处理,写trigger进行跳转。
- 如果默认的场景开始的时候需要关闭大眼睛,目前必须延时关闭,不然会导致后续所有使用到大眼睛的控件黑屏问题,可参照以下实现(onStart与onStop)。
const TAG = 'DemoViewModel'; export class DemoViewModel extends BaseViewModel { private mTimer: any; public constructor() { super('demo'); } public onStart(): void { console.log(TAG, 'onStart'); this.mTimer = setTimeout((): void =>{ this.hideEmojiPlayer(); }, 200); } public onStop(): void { console.log(TAG, 'onStop'); if (this.mTimer) { clearTimeout(this.mTimer); } } }
- 第一次发布后,后续可直接 orionos run 相同 appid 的 opk 进行开发与调试,不需要每次改动都发版。
此处提供一个自定义开发portal的实例,可以点击进行下载 :自定义首页 portal实例