Commit Graph

124 Commits

Author SHA1 Message Date
ozh 368fb3b12c fix(style): 家庭圈添加页通栏布局修正与 CSS Modules 构建配置
- config/index.ts miniCssExtractPlugin 开启 ignoreOrder,消除公共 chunk
  跨页面 import 顺序不一致的构建告警
- 家庭圈联系人添加页 .page 去掉四周 padding,hero Navbar 通栏接屏,
  左右留白改由内容卡/提交按钮自身 margin 提供
- reset.scss 移除多余 @import(variables 已由 sass.resource 前置注入)
2026-09-10 11:32:06 +08:00
ozh f0dbe5b1c5 docs(ble): 补记恢复过滤扫描优先与排障日志的决策 2026-09-10 11:12:18 +08:00
ozh 2238e965b9 fix(ble): 恢复过滤扫描优先+4s兜底全扫,并加搜索排障日志
真机验证"直接全频段扫描"方案后设备反而搜不出(修改前过滤扫描可搜到),
说明该机型下无过滤扫描路径存在问题(可能为机型对无 services 参数的
startBluetoothDevicesDiscovery 兼容差异)。回退为迁移原版策略:

- 恢复 DISCOVERY_FILTER_SERVICE_UUIDS 常量与 fallbackToUnfilteredDiscoveryIfNeeded
  兜底机制:先按 0xFFF4/0x00F4/0xF400 过滤扫描,4s 无结果自动切全扫
- upsertDevice 改为返回布尔值,event/poll 两条通道均打印排障日志
  ([BLE][SCAN] 原生采集数与命中数、[BLE][FOUND] 事件命中数、
  启动/兜底切换日志),真机 vConsole 可直接观察各阶段状态
2026-09-10 11:11:30 +08:00
ozh 5e5cd2bf47 docs(ble): 补记放弃过滤扫描改全频段扫描的决策 2026-09-09 19:02:45 +08:00
ozh 01fefe373a fix(ble): 放弃 services 过滤扫描改为直接全频段扫描,修复搜不到设备
微信 startBluetoothDevicesDiscovery 的 services 参数只按 128 位完整
UUID 匹配广播包;目标设备广播的是 16 位短 UUID(0x00F4 等),部分
机型/基础库版本下过滤扫描直接收不到这些设备的广播——表现为一直
搜不出设备,或要等 4s 兜底计时器切到全扫后才出现(感知为"慢")。

- startSearch 直接以无 services 参数启动扫描,事件通道
  (onBluetoothDeviceFound) 与轮询通道 (getBluetoothDevices) 双路取数,
  JS 层 matchTargetDevice(服务 UUID/名称关键词/广播包关键词三路匹配)
  负责过滤,微信端只做采集
- 删除过滤扫描 4s 无结果回退机制(fallbackToUnfilteredDiscovery)及
  相关定时器/常量/过滤 UUID 导出:不再有过滤阶段即无需回退
2026-09-09 19:00:54 +08:00
ozh 1fa4c5586d docs(ble): 补记设备列表刷新节流修复 2026-09-09 18:39:39 +08:00
ozh ac4cb3b0f9 fix(ble): 设备列表 UI 刷新加 300ms 节流,修复搜到设备后点击卡死
搜索开启 allowDuplicatesKey=true,目标设备广播包每秒到达数次且 RSSI
逐包变化——upsertDevice 的签名判重只拦"完全相同"的包,挡不住信号
强度变化。每包都会走 setDeviceMap → onDeviceListChange → React
setState → 页面重渲染,搜到设备后以每秒数十次的频率打满渲染线程,
点击事件被排队到数百毫秒后处理,表现为"搜到设备就无法停搜索"。

- setDeviceMap 改用 emitDeviceListThrottled:数据实时合入 deviceMap,
  通知 UI 压到每 300ms 一次
- resetDeviceMap/stopSearch 绕过节流立即冲刷:清空与最终帧不能延迟
- cleanupDiscovery 补清节流定时器
2026-09-09 18:39:13 +08:00
ozh 2bc487c522 docs(ble): 补记 Taro 迁移后停搜索卡顿与配网按钮失效的修复记录 2026-09-09 18:27:30 +08:00
ozh b0ba12034c fix(ble): 停搜索先同步翻转状态再停原生扫描,消除等待回调的卡顿
- stopSearch:setSearching(false) 提到 stopBluetoothDevicesDiscovery 之前,
  searchSessionId 已递增、事件已关闭,先翻转状态是安全的;
  部分机型原生停扫回调慢,等它完成才更新 UI 会让按钮长时间停在
  "搜索中"并串行阻塞连接等后续操作
- connectDevice:仅在搜索进行中才停搜索,避免每次连接都白白
  调一次原生停扫接口
2026-09-09 18:22:15 +08:00
ozh b8937d942f feat(device-tab): 移除智能设备页悬浮加号,添加设备仅保留功能卡入口 2026-09-09 17:54:32 +08:00
ozh 58d0ee8ad7 fix(device): 修复配网页蓝牙搜索无法停止与网络配置按钮失效
与重构前 uni-app 版逐项对比定位三处回归:
- useDidHide 停搜索:旧版 onHide/onUnload 双触发,迁移版只有 useEffect
  卸载清理,navigateTo 进入配网页或切后台时组件不卸载,扫描持续空转
- prepareWifiConfig 加 60s 超时兜底:createBLEConnection 在部分机型
  失败后不回调,discoverServices/notify 无原生超时,loading 遮罩
  永不撤除导致按钮永久禁用
- 连接失败后安全断开(对齐旧版 safeDisconnect):清掉 OS 层残留连接,
  避免"已连接(10010)"卡死后续重试;并补回"设备已连接"成功提示
2026-09-09 17:43:22 +08:00
ozh 1baca70e35 feat(ui): 智能设备 TabBar 图标重制为 IoT 设备造型
原图标为实心方块,语义弱。重制为空心圆角矩形机身+中心圆环指示灯的 IoT 设备造型(4x 超采样抗锯齿,96px),与 home 图标尺寸统一;默认态 #666666、选中态品牌绿 #2CCB98。
2026-09-09 16:48:07 +08:00
ozh 5da5dfe3a0 feat(mine): 个人中心"添加设备"更名"配置设备"并接入蓝牙配网页
入口从新添加设备页(pages/device/add)改为原蓝牙连接配网页(pages/device/ble-config),与配置设备的实际功能语义对齐。
2026-09-09 16:44:38 +08:00
ozh fbdcdfa6ce feat(device-tab): 智能设备页改造(信息卡+切换家庭圈+功能卡片)+ 添加设备页
智能设备页重构:原"请选择场所"行删除,新增设备应用家庭信息卡(家庭圈名/关爱对象/关爱地址+切换家庭圈按钮)、房间管理/添加设备两张并排功能卡片;切换家庭圈走 BottomSheet 弹层(pending 确认制,取消不生效),本地 useState 管理选中家庭圈。新"添加设备"页(pages/device/add)含手动输入+扫码+二维码位置说明三区块,纯 UI 阶段,提交/扫码均弹 toast。
2026-09-09 16:40:38 +08:00
ozh d6333beda9 feat(family,ui): Family.role 字段与 BottomSheet 底部抽屉组件
Family 接口加可选 role: '管理员' | '群主',SEED_DATA 各家庭填角色,addFamily/joinFamily 新建家庭默认 '群主'。新建 BottomSheet 通用底部抽屉组件(遮罩+圆角面板+handle+标题+关闭钮),用于智能设备页"切换家庭圈"弹层。
2026-09-09 16:40:15 +08:00
ozh 1f3c9c842a refactor(device): BLE 配网页改名为 ble-config,为新的 add 页让出路径
原 pages/device/add.tsx 迁移为 pages/device/ble-config.tsx(git mv 保留历史),路由常量新增 DEVICE_BLE_CONFIG 并注册 app.config.ts。pages/device/add 路径将由新"添加设备"页(手动输入+扫码)占用。
2026-09-09 16:40:05 +08:00
ozh 8243dfa134 feat(ui): 全部页面 Navbar 统一切换为绿色渐变 hero 头部
首页/消息中心/个人中心/家庭圈 3 页/设备 3 页/选择场所共 11 处调用点补传 variant="hero",与智能设备 tab 头部视觉统一。
2026-09-09 16:17:38 +08:00
ozh 36aa262834 feat(device-tab): 智能设备页头部切换为绿色渐变
Navbar 新增 variant: 'default' | 'hero' 可选 prop,默认 default 保持现有白底黑字。hero 模式背景为深绿到亮绿垂直渐变,标题白色。智能设备 tab 引用 hero 复刻设计参考图视觉;其余页面 Navbar 调用点不动。
2026-09-09 16:14:50 +08:00
ozh 1250a54076 fix(navbar): 导航栏高度改由内容栏承担,修复状态栏 padding 挤压导致标题下坠与页面重叠 2026-09-09 15:51:26 +08:00
ozh e882d391f7 style(family): 家庭圈样式精细化——卡片间距/信息行分割线/按压态/上限灰化 2026-09-09 15:39:33 +08:00
ozh 95a67ae412 feat(family): 表单校验抽纯函数并补单测 2026-09-09 15:26:29 +08:00
ozh 9d1ea0abbc feat(family): 添加关爱对象表单页——必填校验、紧急联系人动态增删 2026-09-09 15:22:15 +08:00
ozh a9dfb2485b feat(family): 家庭详情页——成员列表、添加关爱对象入口、管理项 stub 2026-09-09 15:16:55 +08:00
ozh 0cb618be58 fix(family): showModal editable 类型扩展与测试空值断言,tsc --noEmit 清零 2026-09-09 15:12:45 +08:00
ozh 5627be98f7 feat(family): 家庭圈列表页——卡片渲染、新建/加入弹窗 2026-09-09 15:08:17 +08:00
ozh 3779a7a019 feat(family): 新增 FamilyCard 家庭圈卡片组件 2026-09-09 15:06:09 +08:00
ozh 576bb7f5a8 fix(family): Modal 内联 width 默认值改 rpx——内联样式不走 pxtransform,px 会与 scss 量纲不一致 2026-09-09 15:04:53 +08:00
ozh 288e681cca feat(family): 新增 Modal 居中弹窗基座组件 2026-09-09 14:56:01 +08:00
ozh 223cd41fec feat(family): mock 数据层与单测——样例初始化、增删查、上限判定 2026-09-09 14:50:23 +08:00
ozh e88f1f0582 feat(family): 新增家庭圈路由与业务常量 2026-09-09 14:45:31 +08:00
ozh 23e61ba966 fix(ui): Navbar 标题改 View 包裹修复 text 绝对定位宽度收缩导致的不居中 2026-09-09 14:02:50 +08:00
ozh dd92496088 feat(ui): Navbar 返回箭头改纯 CSS 线条拼接,消除字符字形差异 2026-09-09 13:54:41 +08:00
ozh 8ad9ca234d revert(device): 设备列表回退为 2 列网格卡,恢复文字图标映射 2026-09-09 13:51:16 +08:00
ozh 429ebfc5fb feat(mine): 我的页渐变头部与菜单卡片化 2026-09-09 12:21:48 +08:00
ozh ae532724f9 feat(login): 登录页品牌渐变头部与表单卡上浮 2026-09-09 12:07:33 +08:00
ozh a5e9366b5c feat(device): 设备列表改横向卡片,移除文字图标映射 2026-09-09 11:56:25 +08:00
ozh e2d7232f3c feat(home): 首页卡片视觉细化——渐变横幅、状态色块、信息层级 2026-09-09 11:43:14 +08:00
ozh 240c235921 feat(ui): 新增 ListRow 列表行组件并接入我的页/设备详情 2026-09-09 11:22:11 +08:00
ozh 9679e4062b feat(ui): 新增 StateView 统一加载失败态与重试按钮 2026-09-09 10:56:10 +08:00
ozh f408a29e13 fix(ui): Empty 图形 inset 简写改显式四边定位,规避老内核失效风险 2026-09-09 10:52:26 +08:00
ozh f3f6c0b5ce feat(ui): Empty 组件重做为纯 CSS 图形体系并支持副文案 2026-09-09 10:35:52 +08:00
ozh 84942851cb chore(migration): 提交迁移收尾遗留——token 化补全、popup/tabs 组件删除、BLE 与配网页调整 2026-09-09 10:33:16 +08:00
ozh 0ca714bec5 chore(styles): 补入设计 token 扩展与 toast Taro 化,修复重构提交的编译依赖
variables.scss 扩展的 token($shadow-card/$radius-circle/$color-danger-* 等)
被 device tab 与新首页的 SCSS 引用;toast.js 由 uni.* 改为 Taro.* 并补类型声明,
否则干净 checkout 下 build:weapp 编译必挂、告警卡片点击即 ReferenceError。
2026-09-08 18:34:24 +08:00
ozh 08abbb55e1 feat(tabbar): TabBar 调整为 4 项,事件/我的更名消息中心/个人中心 2026-09-08 18:10:01 +08:00
ozh 727b91fb07 feat(home): 首页重构为告警中心,移除 banner/设备网格/FAB 2026-09-08 17:49:36 +08:00
ozh ed1b3244b8 feat(home): 首页告警按状态分流的纯函数与单测 2026-09-08 17:45:19 +08:00
ozh e3af7c26fb feat(device-tab): 设备列表页从首页分离为独立页面 2026-09-08 17:20:49 +08:00
ozh 0fc0f2b91d feat(tabbar): 新增智能设备 tab 占位图标 2026-09-08 17:17:44 +08:00
ozh 8c2956fcad feat(home): 新建家庭圈占位页 2026-09-08 17:13:16 +08:00
ozh d219126a23 feat(home): 路由常量新增智能设备与家庭圈入口 2026-09-08 17:11:13 +08:00