Appearance
电视JS应用编程
进入在线编程
在线编程环境codeserver
- 将代码编写、调试、编译、运行以及其他相关操作都集成在一起,为开发者提供了一个统一的开发平台。
- 不同用户之间:用户空间独立,租赁方式共享编程环境。
进入在线编程
在工作台选择打开应用,进入在线编程环境 * 第1步:进入工作台 > 应用视图 > 项目应用 或 个人应用 * 第2步:调整筛选项筛选应用,或输入应用的中文名或英文名搜索应用. * 第3步:从列表中选择目标电视应用(类型为rn-tv),点击vscode图标,进入codeserver。 
代码仓库构成
开发者打开应用后,codeserver后会自动检出显示该应用的源码仓和发布仓。
- 1个源码仓
- index.js 应用入口文件
- package.json 包依赖配置文件
- debug.py 真机预览参数配置脚本:预览使用的电视APPid
- release.sh 编译控制脚本
- 1个发布仓
- baselines.yml 发布仓基线
- 截图说明:

保存提交代码
- 第1步:保存修改后的源代码。有以下两种操作方式:
- 鼠标焦点离开编辑的文件窗口时自动保存。
- 用户修改代码过程中按Ctrl+s手动保存。
- 第2步:在源码仓先后执行下面两条命令,将代码推送到远程仓库
- git tag v1.0.xx
- gita push origin v1.0.xx
补充说明:v1.0来源于发布仓baselines.yml中jssource指定的tag(如下注释), xx为从1开始递增的整数。
下方为baselines.yml中截取的部分内容块:
source: - url: "${REPO_URL}/git/web_development/rnapptv_tools.git" tag: "v2.0" name: "toolkit" - url: "${REPO_URL}/git/tvproject001/tv_simple_app0.git" tag: "v1.0" //v1.0来自jssource指定的tag name: "jssource"
真机预览调试
开发人员可以通过电视(正常连网运行电视软终端APK的电视机)真机预览应用,进行代码的开发调试。
第1步:在源码仓执行install命令安装package.json中指定的依赖包
- 根据package.json中"ipanel-rntv-core"的版本 选择执行下方1条install命令
yarn install //ipanel-rntv-core 版本 2.0.3 及以上推荐 npm install //ipanel-rntv-core 版本 不限- 操作截图

- 安装依赖包完成结果提示

第2步:在源码仓执行yarn start 启动Metro Bundler服务
Metro Bundler是一个React Native的JavaScript打包器。
运行yarn start时会启动Metro Bundler服务, 它会监听项目中的文件变化; 同时会启动一个http服务器, 使模拟器或真机上可以预览应用。

第3步:电视上电连网并启动电视软终端APK。 电视网络要求:
- 电视能正常访问ipanel cloud集群 -- 执行yarn debug时,codeserver通过ipanel cloud通知电视真机预览http地址
- 电视和codeserver的网络正常互通 -- 电视基于真机预览地址,和codeserver建立websocket连接,和metro服务互通信息。
第4步:在电视软终端APK的工程菜单中可以获取真机预览的配置参数
电视APP_ID 工程菜单中点击"电视信息", 对应弹框显示的"应用ID",手机扫二维码可以直接取到文本.

连接的iPanelCloud集群域名 工程菜单中点击"版本Release信息", 查看弹框信息中 build > bulid-ocnfig > IPANEL_CLOUD_COMAIN
...... "build":[ { "configs":{ "bulid-config":[ "IPANEL_CLOUD_DOMAIN:ipanelcloud2.ipanel.cn", ..... ], ..... }, ...... } ]第5步:配置真机预览参数,启动电视真机预览
- 源码仓debug.py中配置真机预览参数
DEVICE_ID = 'EMBSTV4b4f7a2ed3f68ef216cc96d033091030' # 电视APP_ID,根据电视修改。 TOKEN = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJpcGFuZWwuY24iLCJpbmRleCI6IjEiLCJleHAiOjk3ODM3NzE5ODN9.AhaqhkO3DYWHjZ5STK1_v_3NEFxH-q8QdIB89OT3rTo' #cloud集群的心跳服务请求TOKEN PULSER_URL = 'http://'+TOKEN+':@ipanelcloud2.ipanel.cn:50080/s/pulser' #电视连接的cloud集群的心跳服务请求地址。- 源码仓打开新的终端执行yarn debug启动电视真机预览
执行yarn debug命令时,codeserver通过iPanelCloud通知电视软终端打开真机预览地址预览应用。
执行命令后,终端会打印输出: 真机预览地址(http服务器代理后的地址)、真机预览启动结果
- 电视真机预览启动成功后,metro服务中显示应用打包信息,应用代码运行的实时日志打印.

- 真机预览中,保存修改的应用代码时,电视会实时刷新显示
编译打包推送
- 操作: 提交代码后,在源码仓执行yarn release命令,进行编译打包推送

- 命令执行过程打印说明:
- rek u -- 检出发布仓基线baselines.yml中source指定的源

- rek b -- 安装依赖进行编译


- rek pack -- 打包

- rek push -- 推送发布到远程仓库

- rek u -- 检出发布仓基线baselines.yml中source指定的源