校园节能减排激励系统
——基于 uni-app + uniCloud 的完整技术方案
-
技术选型
- 前端:uni-app(同时编译到微信小程序、H5、App)
- 后端:uniCloud(阿里云版),使用 uni-starter 作为基础模板
- 激励广告:uni-ad 激励视频,看完广告获得“绿色积分”
- 插件化:整个功能打包为 uni_modules 插件,一键导入即可运行
-
数据库设计(uniCloud db schema)
- energy_actions:记录每一次节能行为
– user_id、action_type(关灯/步行/光盘…)、energy_saved(gCO₂)、media_proof、create_date
- green_points:积分流水
– user_id、points、type(earn/consume)、remark、create_date
- missions:后台发布的任务
– title、desc、target_value、reward_points、start_time、end_time、status
- mission_join:用户领取/提交任务
– user_id、mission_id、progress、proof_images、status、submit_time
-
关键云对象 / 云函数
- energy-co
– addAction(data) 上传节能行为并计算碳减排量
– verifyProof(actionId) 管理员审核图片/视频真伪
- points-co
– earnByAction(actionId) 审核通过后发放积分
– earnByAd() 看完激励视频后回调增加积分
– consume(points, reason) 积分商城兑换时扣除
- mission-co
– joinMission(missionId) 领取任务
– submitMission(missionId, proof) 提交完成凭证
- schedule-check(定时触发器,每日 00:10 运行)
– 扫描未审核的 energy_actions,超 24h 自动驳回
– 扫描已结束 missions,统计完成率并发放额外奖励
-
激励广告接入(uni-ad)
-
前端核心页面
- 首页(碳账本):展示今日已减排量、积分、排行榜
- 上传页:拍照/选图 → 选择行为类型 → 提交
- 任务广场:可领取的校园任务列表,实时显示剩余名额
- 积分商城:展示可兑换奖品,点击兑换调用 points-co/consume
- 个人中心:历史行为、积分明细、我的任务
-
插件目录(uni_modules/uni-energy-saving)
uni-energy-saving/
├─ uniCloud/
│ ├─ cloudfunctions/
│ │ ├─ energy-co/
│ │ ├─ points-co/
│ │ ├─ mission-co/
│ │ └─ schedule-check/
│ └─ db/
│ ├─ energy_actions.schema.json
│ ├─ green_points.schema.json
│ ├─ missions.schema.json
│ └─ mission_join.schema.json
├─ pages/
│ ├─ index.vue
│ ├─ upload.vue
│ ├─ mission.vue
│ └─ mall.vue
├─ static/
└─ readme.md
-
快速集成步骤
1) HBuilderX 新建 uni-starter 项目
2) 插件市场导入“uni-energy-saving”
3) 在 uni-config-center/energy/config.json 中配置
{
"pointsPerAd": 5,
"pointsPerKgCO2": 1,
"verifyTimeoutHours": 24
}
4) 开通 uni-ad 并在 manifest.json 填写广告位 adpid
5) 上传部署所有云函数 → 运行 → 微信小程序/H5 真机测试
-
运营建议
- 与学校后勤系统打通,夜间熄灯数据自动写入 energy_actions,减少人工拍照。
- 每月导出排行榜,联合团委发放实物奖品,提高活跃度。
- 高并发场景(迎新季)可开启 uniCloud 按量付费,自动扩容。
如需定制开发或外包,可加入 uniCloud 官方技术交流群 咨询管理员。
1 个回复
Ask小助手 - Ask社区AI助手
校园节能减排激励系统
——基于 uni-app + uniCloud 的完整技术方案
技术选型
数据库设计(uniCloud db schema)
– user_id、action_type(关灯/步行/光盘…)、energy_saved(gCO₂)、media_proof、create_date
– user_id、points、type(earn/consume)、remark、create_date
– title、desc、target_value、reward_points、start_time、end_time、status
– user_id、mission_id、progress、proof_images、status、submit_time
关键云对象 / 云函数
– addAction(data) 上传节能行为并计算碳减排量
– verifyProof(actionId) 管理员审核图片/视频真伪
– earnByAction(actionId) 审核通过后发放积分
– earnByAd() 看完激励视频后回调增加积分
– consume(points, reason) 积分商城兑换时扣除
– joinMission(missionId) 领取任务
– submitMission(missionId, proof) 提交完成凭证
– 扫描未审核的 energy_actions,超 24h 自动驳回
– 扫描已结束 missions,统计完成率并发放额外奖励
激励广告接入(uni-ad)
前端核心页面
插件目录(uni_modules/uni-energy-saving)
快速集成步骤
1) HBuilderX 新建 uni-starter 项目
2) 插件市场导入“uni-energy-saving”
3) 在 uni-config-center/energy/config.json 中配置
4) 开通 uni-ad 并在 manifest.json 填写广告位 adpid
5) 上传部署所有云函数 → 运行 → 微信小程序/H5 真机测试
运营建议
如需定制开发或外包,可加入 uniCloud 官方技术交流群 咨询管理员。
要回复问题请先登录或注册
公告
更多>相关问题