Commit Graph

29 Commits

Author SHA1 Message Date
ozh ccb088ba9c fix(ble): createBLEConnection 已连接报错按幂等成功处理
Android 报 createBLEConnection:fail:already connect(iOS 为 already
connected)出现在从配网页返回后再次点击网络配置等重复连接场景,
连接实际已存在,不应按失败弹「设备连接失败」。bleCore.connect 捕获
该 errMsg 视为成功并进入 CONNECTED;其他错误原样抛出。新增单测
覆盖 Android/iOS 两种文案与普通失败不吞三条分支。
2026-10-15 10:27:26 +08:00
ozh 3791865419 feat(auth): BLE 配网页加入游客白名单,配置设备无需登录
个人中心「配置设备」链路为纯本地蓝牙操作(扫描/连接/配网),
不依赖账号体系,游客放行供设备试连体验;对应守卫测试补充断言。
2026-10-12 16:10:17 +08:00
ozh 42b6ceb69c feat(auth): 游客浏览模式 + needUserInfo 授权链路修复
- PUBLIC_PAGES 放开四个 tab 页(微信审核要求不强制授权),游客可浏览,
  首页/事件/设备页未登录展示引导登录空态不再强制踢登录;mine 游客态
  菜单收起只留登录入口;守卫单测同步
- needUserInfo 实测首登 Content 为 null:openId 改为可缺省的加速字段,
  授权重调靠新 code 即可,登录页不再因缺 openId 阻断;补缺省分支单测
- http 层首登 Content 为 null 时先初始化再挂 message/token 字段
- 生产网关域名替换占位符(aiotcloud.celex-technology.com)
2026-10-09 14:33:04 +08:00
ozh 82aa7d6925 feat(event): 告警列表/详情接真实字段与新增告警详情页
- HomeAlarm 类型按 2026-09-23 联调实测重写:content/createTime/
  deviceAlias/otherInfo 扩展等,status 枚举确认 0-待处理 1-已忽略
  2-已处理 3-自动处理;splitAlerts 待处理判定改 status===0,单测同步
- 新增 pages/event/feature/detail 告警详情页(getAlarmDetail、状态徽章、
  设备/房间/时间/扩展信息行),路由与分包注册,事件卡片与首页告警
  点击均跳详情
- 事件页/首页改用 resolveCurrentHome 共享当前家庭,卡片展示 content、
  deviceAlias 优先、两行截断与红点行标
- 家庭圈成员行点击改群昵称(showModal editable + updateMemberNickName),
  转让/改昵称入口放开给所有成员(成员响应无 userId,isOwner 不可靠,
  由后端 400 校验兜底)
- ListRow value 推到行尾并支持 valueClass 自定义样式
2026-09-23 15:18:07 +08:00
ozh 5e00280d2c refactor(api): 接口路径抽至 src/constants/endpoints 集中维护
- 新增 endpoints.ts:HOME/CARE_MEMBER/HOME_ROOM/HOME_DEVICE/HOME_ALARM/
  USER/THIRD_PLATFORM 七组路径 + GATEWAY_PREFIX(user/biz 网关分组)
- src/api/* 全部接入常量,http/client.ts 改用 GATEWAY_PREFIX.user 判定网关
- transferOwner 加上 TransferOwnerParams 类型约束(替代 Record<string,unknown>)
- FallStatusCard 接收 alarmType(2026-09-22 实测字段),status 保留兼容
- 家庭圈详情页"转让群主"入口接通:仅群主可见,选人 Modal + 接口调用
- request.get/post params 类型放宽到 object 以匹配新实参/结构
- 新增 tests/unit/home/transferOwner.spec.ts(路径/业务码/202 三分支)
2026-09-22 17:56:31 +08:00
ozh ccca973d62 feat(build): 组件按需注入+分包+生产关 sourcemap,主包压至 0.42M
- app.config.ts 开启 lazyCodeLoading=requiredComponents
- 设备详情/添加/配置/BLE 迁移至 pages/device/feature 分包,家庭圈系列独立分包
- 路由常量同步分包路径;prod 构建关 devtool 剔除 .map
- 生产实测:主包 426K(目标 <1.5M 达成),family 分包 35K、device/feature 86K
- 附带:未登录业务码 202 接入踢登录(网关实测),房间/设备响应字段按联调实测修正
2026-09-18 17:07:26 +08:00
ozh 5761a5fed2 feat(event): 首页/消息中心接入告警列表真实接口,移除事件 mock 层 2026-09-17 14:30:53 +08:00
ozh 5582fbb863 fix(http): 网关分服务前缀——登录接口走 /api/user,业务接口走 /api/biz 2026-09-17 10:51:55 +08:00
ozh 6889e9b4fa feat(family): 家庭圈列表/详情/关爱对象切换真实后端接口,移除 mock 数据层 2026-09-16 17:37:21 +08:00
ozh 86234d4f1f fix(login): 登录 token 从响应头 Token 提取落地(后端 Content.code 恒返 null) 2026-09-16 17:11:27 +08:00
ozh d3f9a6ae54 fix(http): 鉴权请求头改为自定义 token 头(后端联调约定,响应头 Token 同名下发) 2026-09-16 17:07:26 +08:00
ozh 87e4031fff fix(login): needUserInfo 授权改用 wx.getUserInfo(后端文档约定),暂缓手机号授权流程 2026-09-16 15:28:49 +08:00
ozh 96c2255c10 feat(login): 接续 noMobile 手机号授权注册步骤,登录链路全量调试日志 2026-09-16 10:59:38 +08:00
ozh 46c517ff42 fix(login): 适配首次登录 needUserInfo 二次授权流程,修复响应结构不符崩溃 2026-09-16 10:41:59 +08:00
ozh bd71d52c7f fix(auth): 守卫改到 navigation 统一出口,修复拦截器误改写请求 url 2026-09-15 17:26:47 +08:00
ozh 55c3ab8874 fix(http): 网络异常透传微信 errMsg,暴露真实失败原因(域名拦截/断网/超时) 2026-09-15 16:05:58 +08:00
ozh f9d0e3ba7f feat(auth): 开启路由级登录拦截,未登录访问受保护页重定向登录页 2026-09-15 16:04:40 +08:00
ozh 90e6262c89 feat(login): 登录页改为微信一键登录并移除账密表单 2026-09-15 12:50:55 +08:00
ozh 44918644ef feat(login): 微信一键登录流程编排与单测 2026-09-15 12:43:28 +08:00
ozh c65d179333 feat(store): authSlice 扩展 userInfo 并持久化 token 2026-09-15 11:57:54 +08:00
ozh 884a7b8343 fix(http): 401 踢登录防陈旧会话误清与跳转失败兜底 2026-09-15 11:47:18 +08:00
ozh 3adaaa65e2 feat(http): 登录态失效统一清登录态并踢回登录页 2026-09-15 11:34:18 +08:00
ozh 9fbe9266eb feat(http): 适配后端大写 envelope 与测试环境 BASE_URL 2026-09-15 11:18:26 +08:00
ozh fb66a9efe7 feat(http): 错误类型支持字符串业务码并新增 AuthExpiredError 2026-09-15 11:06:26 +08:00
ozh 95a67ae412 feat(family): 表单校验抽纯函数并补单测 2026-09-09 15:26:29 +08:00
ozh 0cb618be58 fix(family): showModal editable 类型扩展与测试空值断言,tsc --noEmit 清零 2026-09-09 15:12:45 +08:00
ozh 223cd41fec feat(family): mock 数据层与单测——样例初始化、增删查、上限判定 2026-09-09 14:50:23 +08:00
ozh ed1b3244b8 feat(home): 首页告警按状态分流的纯函数与单测 2026-09-08 17:45:19 +08:00
ozh c65f15d3a0 refactor(app): 项目从 uni-app Vue3 整体迁移至 Taro4 + React18
- 移除 uni-app 入口(main.js/App.vue/pages.json/manifest.json/uni.scss 等),
  原 pages/api/utils/store 迁移至 src/ 目录并重写为 TSX + module.scss
- 新增 Taro 编译配置(config/index.ts cssModules 修复、babel、tsconfig、
  eslint、vitest)与微信项目配置 project.config.json
- 页面基础组件自绘替代 uview-plus:navbar/popup/tabs/loading/empty/vital-wave
- 状态管理迁移至 Redux Toolkit(auth/device/event/scene slices)
- BLE 模块整体迁至 src/ble,新增 adapter 适配层与 useBle hook,
  新增 packet/parsers/profiles 单元测试
- 厂家协议文档归档至 docs/vendor/
2026-09-08 15:07:04 +08:00