GreenLife Carbon · OpenHarmony 智慧低碳生态平台
·
🌿 GreenLife Carbon · OpenHarmony 智慧低碳生态平台
一款 100% 离线运行 的 OpenHarmony(HarmonyOS NEXT / API 12)全民低碳生活应用:
记录低碳行为 → 计算真实减排量 → 累积碳积分 → 培育属于自己的 数字生态岛。
- 开发语言:ArkTS | UI:ArkUI(Stage 模型 / MVVM)
- 数据:RelationalStore + Preferences + rawfile JSON(无服务器、无网络依赖)
- 图形:ArkUI Canvas 自绘图表与 3D 生态岛 | 图标:官方 Lucide 矢量图标(自研 SVG 渲染器)

https://github.com/lfl171/green-life.git
一、页面与功能(保留完整功能,风格统一)
| 页面 | 定位 | 核心能力 |
|---|---|---|
| 首页 | 碳驾驶舱 | 今日减排大数字(能量环)、积分与环保等级、今日行动圆环入口、今日建议、Green AI 入口、碳森林生态卡、趋势/科普入口 |
| 记录 | 行为管理中心 | 今日减排/完成次数/连续低碳数据卡、12 类行为卡片(图标+今日数据+减排量)、醒目「新增记录」、低碳日历、时间轴最近记录 |
| 森林 | 数字生态资产 | 3D 数字生态岛(树木/草地/河流/飞鸟/小鱼/能量粒子/科技光环)、生态身份 Lv1-3、森林健康度、成长路线(种子→发芽→小树→森林)、生态贡献资产卡、荣誉徽章墙、「进入森林」沉浸页 |
| 任务 | 成长激励中心 | 等级与成长进度、今日任务卡片 + 完成度进度条、成长路线四阶段、长期挑战(连续7天/100次/减排50kg/覆盖4类)、徽章收藏(带进度条) |
| 我的 | 个人碳账户 | 碳身份卡(等级/成长值/累计减排/连续天数)、生态贡献换算(种树/代替驾车/省电)、荣誉徽章墙、我的服务(年度报告·数据分析·Green AI·双碳知识·设置) |
| 设置 | 账号与数据中心 | 昵称编辑、导出 JSON 备份、导出 CSV 报表、恢复备份、重新填充演示数据、清除演示数据、重置全部数据、关于 |
| AI 识碳 | 端侧识别 | 7 类低碳场景演示识别(扫描动画 → 识别结果 → 确认数量 → 自动生成记录);预留 MindSpore Lite 接入点 |
| 年度报告 | 数据报告 | 年度总览(减排/积分/次数/活跃天数)、月度柱状、行为结构环形、等效贡献、专属评语、导出入口 |
| 双碳科普 | 离线知识库 | 5 大分类 20 篇文章(碳足迹入门/碳达峰碳中和/绿色能源/低碳生活/国家战略),本地 rawfile 离线阅读 |
二、技术架构
UI 层 ArkUI 页面 + 组件(Home / Record / Forest / Task / Mine / Settings
+ AiScan / Report / Knowledge / ArticleDetail / About / ForestImmerse)
│ @StorageProp('glTick') 订阅 + 页签按 tick 强制重建,保证数据实时
ViewModel DataHub(单例):领域操作 + 聚合派生 + 反应式通知
Service CarbonEngine 碳计算引擎 · StatsService 统计聚合 · SuggestService 规则建议
AIService 端侧识别 · ExportService 备份导出
Database RdbManager:RelationalStore(含“探针自检 + 内存降级”双模式)
Config Preferences + resources/rawfile/*.json
碳计算与积分
减排量(kg CO₂e) = 行为数量 × 碳排放因子
积分 = 行为基础分 + max(1, round(减排量 × 10))
基础分:出行 +3 · 节电 +4 · 节水 +2 · 回收 +5 · 光盘 +2
- 因子表见
entry/src/main/resources/rawfile/carbon_factor.json(电网因子 0.5703 kg/kWh 等公开权威口径); - 一棵树固碳折合 18.9 kg 减排,用于“森林/种树”换算。
数据表(RelationalStore)
| 表 | 说明 |
|---|---|
user | 昵称、任务奖励积分(bonus_score)、创建时间 |
carbon_record | 行为类型/名称/图标/分类/单位/数量/减排量/积分/日期/时间/备注/演示标记 |
task | 每日任务(key+date 唯一),完成状态 |
badge | 徽章(key 唯一),解锁状态与解锁日期 |
预览器兼容:初始化时执行“建表 → 插入 → 回读”探针;若运行环境(如 Previewer)中 RelationalStore 静默不可用,则自动切换 内存模式,保证演示与交互不中断。
三、设计规范(未来生态科技风)
| 语义 | 色值 |
|---|---|
| Background | #F6FAF8 |
| Primary Green | #00B86B |
| Dark Green | #063B2A |
| AI Blue | #1687F7 |
| Reward Gold | #F5B942 |
| 主文字 / 次级 / 弱化 | #102A22 / #5F7A6E / #9DB4A9 |
- 大量留白、少边框、白色玻璃卡(
#FFFFFFCC)+ 绿色渐变; - 圆角 18–26,柔和投影;
- 全项目无 emoji 图标,统一使用官方 Lucide 线性图标(自研
VuiIconSVG 子集渲染器,支持 path 绝对/相对命令、圆、矩形与椭圆弧)。
四、目录结构
GreenLifeCarbon
├─ AppScope/ 应用级配置与图标
├─ entry/src/main/
│ ├─ ets/
│ │ ├─ entryability/EntryAbility.ets
│ │ ├─ pages/ Index(外壳) Home Record Forest Task Mine
│ │ │ Settings AiScan Report Knowledge ArticleDetail About ForestImmerse
│ │ ├─ components/ VuiIcon ForestScene LineChart BarChart DonutChart
│ │ │ GaugeRing ParticlesBack GlassCard SectionHeader
│ │ ├─ service/ DataHub CarbonEngine StatsService SuggestService
│ │ │ AIService ExportService
│ │ ├─ database/RdbManager.ets
│ │ ├─ model/Models.ets
│ │ └─ common/ Theme.ets Utils.ets
│ ├─ resources/rawfile/ carbon_factor / tasks / badges / levels / articles JSON
│ └─ resources/base|zh_CN|en_US
├─ dist/ 已构建产物(未签名 HAP)
└─ build-profile.json5 oh-package.json5 hvigorfile.ts hvigor/hvigor-config.json5
五、构建与运行
环境:DevEco Studio 5.0.3+ | SDK:HarmonyOS NEXT 5.0.0 (API 12) | hvigor 5.7.3
- DevEco Studio →
File → Open选择本目录; - 等待 Sync 完成;
- 运行方式任选:
- Previewer 预览:打开
pages/Index.ets触发预览(无需签名;数据库自动降级内存模式); - 模拟器 / 真机:
Project Structure → Signing Configs勾选自动签名后运行。
- Previewer 预览:打开
命令行(本机已验证):
hvigorw --mode module -p module=entry@default -p product=default assembleHap
首次启动会自动载入近 28 天演示数据,可在「我的 → 设置 → 清除演示数据」一键删除,或「重新填充演示数据」重建。
六、测试与质量
| 项目 | 结果 |
|---|---|
| 全量 ArkTS 编译(hvigor assembleHap) | ✅ 0 Error / 0 Warning |
| 图标键位自检(脚本扫描页面用到的图标名 vs 图标库定义) | ✅ 全部命中,无“空图标” |
| rawfile 配置校验(factors/tasks/badges/levels/articles) | ✅ JSON 合法,图标键有效 |
| 纯逻辑单元测试(CarbonEngine / StatsService / SuggestService,Node 执行真实源码) | ✅ 计算、统计、建议生成通过 |
| 交互验收(记录保存、积分与今日减排联动、任务/徽章/森林成长) | 需在 Previewer/模拟器手动执行(见下) |
手动 QA 清单:启动初始化 → 首页数据 → 行为记录(一步进面板/实时推算/Toast)→ 今日数据联动 → 任务完成与挑战进度 → 徽章解锁 → 森林动画与沉浸页养护 → 我的/设置(导出 JSON/CSV、恢复、演示数据管理)→ AI 识碳 → 年度报告 → 双碳科普阅读。
七、离线与隐私
- 无任何网络请求、无账号体系,数据仅存本机;
- 导出通过系统文件选择器落盘(无需存储权限);
- 第三方资源:官方 Lucide Icons(ISC 许可)几何数据内嵌于
VuiIcon.ets,已标注来源版本。
八、Roadmap
- Lottie 动效:
@ohos.arkui.Lottie(叶落/升级/任务完成动画); - 3D 资产:GLB(low-poly tree / earth)+
ArkGraphics3D渲染,替换当前 Canvas 生态岛; - 端侧 AI:MindSpore Lite(MobileNet / YOLO-Nano)真实图片识别,接入点见
service/AIService.ets; - IoT 扩展:智能插座/手环数据接入,自动生成碳记录。
© GreenLife Team · 为全民低碳与「双碳」目标而作。
更多推荐


所有评论(0)