文档修复与一键构建
🌐 语言 / Language: 中文 | English
一个基于 openvela 快应用框架的智能手环演示应用,包含多表盘、健康数据、运动记录、消息通知、蓝牙同步和低功耗管理等功能。
目标设备:智能手表 / 手环(deviceTypeList: ["watch"])当前状态:面向 AIoT-IDE 模拟器构建和演示,部分系统能力在真机上需根据硬件进一步适配。
deviceTypeList: ["watch"]
项目根目录提供了 一键构建脚本,自动检测依赖并构建 RPK:
Windows:
build.bat
macOS / Linux:
sh build.sh
脚本会自动执行:
node_modules
npm install
npm run build
构建产物位于 .temp_vela_band/dist/com.application.watch.demo.debug.1.0.0.rpk。
.temp_vela_band/dist/com.application.watch.demo.debug.1.0.0.rpk
# 1. 安装依赖 npm install # 2. 开发模式(热更新) npm run start # 3. 构建开发版 RPK npm run build # ✅ build success # 4. 构建发布版 RPK npm run release # 5. 代码规范检查(可选) npm run lint
pages/clock
vela_band ├── LICENSE # MIT 开源协议(单独文件) ├── NOTICE # 第三方依赖声明 ├── README.md # 本文件 ├── build.bat # Windows 一键构建 ├── build.sh # macOS/Linux 一键构建 ├── docs/ # 详细文档 │ ├── README_EN.md # 英文版 README │ ├── TECHNICAL.md # 技术方案(架构、动画、系统 API) │ ├── B_F_IMPLEMENTATION.md # 运动 / 蓝牙模块实现说明 │ └── PROJECT_OWNER_GUIDE.md # 项目负责人口袋手册(语法、排查、学习顺序) ├── src/ │ ├── manifest.json # 应用配置与页面路由 │ ├── app.ux # 应用生命周期 │ ├── common/ # 业务逻辑与工具 │ │ ├── watch_data.js # 健康 / 历史 / 通知数据 │ │ ├── power_manager.js # 功耗状态机 │ │ ├── device_settings.js # 设置持久化 │ │ ├── notification_manager.js # 通知接收与演示 │ │ ├── page_motion.js # 页面转场动画 │ │ ├── workout_manager.js # 运动记录状态机 │ │ ├── sync_protocol.js # 蓝牙同步协议包 │ │ └── ble_sync.js # 蓝牙传输适配层 │ ├── components/ # 表盘组件 │ │ └── watchfaces/ # sport / simple / dashboard │ ├── pages/ # 页面 │ │ ├── clock/ # 主表盘 │ │ ├── applist/ # 应用列表 │ │ ├── heartrate/ # 心率详情 │ │ ├── steps/ # 今日健康 │ │ ├── history/ # 7 日趋势 │ │ ├── workout_select/ # 运动选择 │ │ ├── workout/ # 运动进行页 │ │ ├── workout_history/ # 运动历史 │ │ ├── watchface_select/ # 表盘选择 │ │ ├── notification_demo/ # 通知演示 │ │ └── settings/ # 设置 │ └── i18n/ # 国际化(示例) └── package.json
在 IDE 控制台或扩展控制台发送 system.event:
system.event
{ "eventName": "band.demo.notification", "params": { "type": "call", "contact": "张三", "phone": "13900139000" } }
支持 type:call(来电)、sms(短信)、app(应用)。
type
call
sms
app
未传字段时系统使用以下默认值:
测试
未知
+86 123456
通知覆盖层采用内联写法(与息屏 / 暗屏遮罩一致),避免自定义组件渲染异常。详见 技术方案 → 通知系统。
应用列表 → 通知演示页,点击「短信演示」「电话演示」「应用演示」按钮即可本地触发全屏通知覆盖层。
onInit
onReady
onShow
onHide
onDestroy
setTimeout
setInterval
不清理会导致重复运行、内存泄漏或返回页面后越来越快。
clock.ux
watchface_select.ux
components/watchfaces/*.ux
watch_data.js
notification_demo.ux
notification_manager.js
history.ux
steps.ux
power_manager.js
brightness.ux
device_settings.js
brightness
完整已知不足和排查思路见 项目负责人学习手册。
manifest.json
router.push
private
onHide/onDestroy
saveTodayHealth
powerIdleTimer
notificationManager.onChange
visible
band.demo.notification
aiot-toolkit
@aiot-toolkit/jsc
eslint-formatter-codeframe
详细声明见 NOTICE 文件。MIT 协议内容见 LICENSE 文件。
NOTICE
LICENSE
本项目采用 MIT License。第三方依赖许可证见 NOTICE。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
vela_band
一个基于 openvela 快应用框架的智能手环演示应用,包含多表盘、健康数据、运动记录、消息通知、蓝牙同步和低功耗管理等功能。
目录
功能概览
环境要求
快速开始
一键构建 (build.bat / build.sh)
项目根目录提供了 一键构建脚本,自动检测依赖并构建 RPK:
Windows:
macOS / Linux:
脚本会自动执行:
node_modules是否存在,若缺失则自动运行npm installnpm run build构建 RPK构建产物位于
.temp_vela_band/dist/com.application.watch.demo.debug.1.0.0.rpk。分步构建
在模拟器中运行
pages/clock(表盘页)项目结构
主要页面导航
通知模拟
控制台事件
在 IDE 控制台或扩展控制台发送
system.event:支持
type:call(来电)、sms(短信)、app(应用)。默认值
未传字段时系统使用以下默认值:
测试未知+86 123456本地演示
应用列表 → 通知演示页,点击「短信演示」「电话演示」「应用演示」按钮即可本地触发全屏通知覆盖层。
负责人速查
生命周期要点
onInitonReadyonShowonHideonDestroysetTimeout/setInterval/ 传感器 / 事件订阅A/C/D/E 核心文件对应
clock.ux、watchface_select.ux、components/watchfaces/*.ux、watch_data.jsclock.ux、notification_demo.ux、notification_manager.js、watch_data.jswatch_data.js、history.ux、steps.uxpower_manager.js、clock.ux、brightness.ux、device_settings.js当前已知边界
brightnessAPI常见问题排查
manifest.json是否注册?router.pushuri 路径正确?private是否有默认值?storage 异步回调是否已完成?onHide/onDestroy是否清理了定时器?传感器是否取消订阅?saveTodayHealth是否调用?日期 key 是今天吗?powerIdleTimer是否运行?clock.ux或notification_demo.ux?notificationManager.onChange是否更新了visible?模拟器演示清单
band.demo.notification第三方依赖
aiot-toolkit@aiot-toolkit/jsceslint-formatter-codeframe文档索引
开源协议
本项目采用 MIT License。第三方依赖许可证见 NOTICE。
相关链接