提交图
6 次代码提交
作者 SHA1 备注 提交日期
Guoguo b80e872600 fix: comprehensive security, quality and consistency fixes
Server:
- Block startup with default JWT secrets in production
- Make subscription verify admin-only (no payment integration yet)
- Add device ownership validation on command/result, event, treatment/sync
- Remove admin token from request body fallback
- Add pageParams boundary protection (pageSize capped at 100)
- Fix COS getObjectUrl to use callback-based Promise
- Add settings key whitelist matching frontend fields
- Add user existence check before subscription creation
- Fix firmware always returning has_update:true
- Replace hardcoded trial subscription with actual DB query
- Extract shared utilities (limitClause, toMysqlDate, formatDate)

Miniprogram:
- Replace fake PD random data with placeholder
- Mark client-timer treatment completions with source field
- Disable mock.js
- Fix BLE listener leaks (save refs, cleanup in onUnload)
- Fix ble.off clearing all listeners (pass specific callback)
- Add BLE disconnect detection via onBLEConnectionStateChange
- Fix subscription status type consistency (number not string)
- Fix scan callback accumulation in ble.js
- Fix history stats accumulation across pages
- Fix subscribe-success/treatment-done hardcoded values
- Fix profile subscription view logic
- Replace purchase flow with admin-contact modal
- Add error logging in command-sync report

Admin console:
- Fix AdminLayout logout (require->import, logout->clearToken)
- Remove all mock data from production request.js
- Replace dashboard fake data with real API calls
- Replace monthly_revenue with subscription_count
- Fix subscription stats fallback (|| -> ??)
- Add token expiry tracking (7 days)
- Unify device status map and subscription status text
- Fix user page record link navigation
- Fix subscription createForm.user_id type handling
- Add error feedback in all empty catch blocks
- Remove unused remember checkbox and uview-plus dependency
- Extract common CSS to shared stylesheet (-900 lines)
- Extract formatDate to shared utils/format.js
- Show real admin name in layout header
2026-04-28 08:46:59 -07:00
Guoguo 444c91c0b0 refactor: migrate to Tencent Cloud backend 2026-04-28 22:56:47 +08:00
GuoguoClaude Opus 4.6 267c75718b fix: resolve multiple miniprogram bugs and extend admin console
- fix manual bind stuck at BLE scan, redirect to bind-success
- add 15s timeout and stopScan to ble-connect
- add stopScan method to ble.js
- add back-to-home button on bind-success page
- fix field name in subscribe-plans (plan -> plan_type)
- fix history.js to handle created_at field
- fix index.js to handle device name field
- add subscription route alias in request.js
- extend admin cloud function from 1 to 9 actions
- add mock mode to admin-console request.js
- remove unused discover page and legacy record function

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 23:28:53 +08:00
Guoguo 5064cf119d fix(ui): polish miniprogram and admin console details
小程序修复:
- 首页/我的/记录页移除自定义头部,使用原生导航栏
- tabBar '护理记录' 改为 '记录'
- 智能模式跳转auto-scan页面(不再跳过)
- 扫码区域尺寸 300→360rpx,图标 100→120rpx
- 护理中倒计时 120→144rpx
- 完成页图标 120→140rpx
- 完成页时长格式 '10分0秒' → '10分钟'
- 蓝牙连接 '连接中' → '点击连接'
- 订阅套餐默认选中年卡
- 订阅成功页改为动态数据(非硬编码)
- 我的页增加退出登录按钮
- 护理记录日期支持'今天/昨天'相对格式
- 扫描进度居中
- 锁定模式图标加灰度滤镜

管理后台修复:
- 所有页面移除重复页面标题
- 仪表盘统计卡片改为垂直布局
- 快捷操作图标统一粉色+箭头
- 设备管理搜索placeholder和库存badge修正
- 用户管理头像、次后缀、月卡/试用badge颜色修正
- 订阅管理stat背景改白色、过期改红色、tab切换修复
- 护理记录模式badge修正
- 操作日志改为平铺列表
- 系统设置开关改绿色、表单改水平布局
- 全局背景色 #f5f5f5 → #f0f2f5
2026-04-23 01:18:50 +08:00
Guoguo 7fc17b958a feat(ui): redesign all admin console pages
- 新增 AdminLayout 侧边栏布局组件(深色#001529侧边栏+粉色#E6508C高亮)
- 登录页:深蓝渐变背景+🌸标识+粉色登录按钮
- 仪表盘:4个统计卡片+实时护理数据表+快捷操作
- 设备管理:搜索栏+设备列表表格+状态标签+分页
- 设备详情:返回链接+信息网格+护理记录表
- 用户管理:用户列表+头像+订阅状态标签+分页
- 用户详情:用户卡片+统计数据+基本信息+护理记录
- 订阅管理:统计行+标签页筛选+订阅列表表格
- 护理记录:日期范围+搜索+模式标签+记录表格
- 操作日志:时间线列表+彩色操作者+类型标签
- 系统设置:基础配置+订阅配置+功能开关+保存按钮
2026-04-22 22:06:11 +08:00
Guoguo a84e37a6e2 feat: init project with miniprogram, cloud functions and admin console 2026-04-22 21:24:20 +08:00