jif2.zhang
|
afbb9bc603
|
feat(宏观): ifinance 分类动态挂载为宏观 tab, 报警迁入监控, 下线油价/本地经济数据/策略研究
Docker Build and Push / build-image (push) Successful in 2m37s
- 宏观只保留本地 新闻/经济文章, 外接 ifinance categories[] 动态成为 tab (纯前端直连, CORS/_headers, https)
- 报警从宏观迁到监控第 4 个 tab (保留 Alert 模块, 供未来新增报警源)
- 彻底删除油价/经济数据/策略研究: 前端组件+api、后端 apizero/data 路由、cron、fetchers、种子数据
- 新增迁移 DROP Indicator/IndicatorPoint/Strategy/OilPriceHistory; 重新生成 Prisma Client
- CSP 放开 *.honor3.com (含端口通配), 避免新增子域反复重装外壳
|
2026-10-30 17:17:10 +08:00 |
|
jif2.zhang
|
c460f09821
|
chore(dev): 新增 Windows 本地实时预览脚本 win:dev (不打包)
Docker Build and Push / build-image (push) Successful in 2m31s
改完前端 UI 想立刻在 Windows 外壳里看效果, 原本要 tauri build 打包。实际外壳
用 tauri-plugin-hotswap, 启动时优先读 %APPDATA%\<identifier>\hotswap\ 下的覆盖
包, 没有才回退 exe 内置 dist —— 与线上 OTA 同一条路径。因此只构建前端并写进
覆盖目录 + 重启外壳即可, 不编译 Rust、不打 NSIS/便携包、不重装。
npm run win:dev 构建(shell 模式) + 挂载 + 重启
npm run win:dev -- --no-build 复用现有 dist, 只挂载+重启 (~2s)
npm run win:dev -- --clear 卸载覆盖, 回到内置前端
npm run win:dev -- --no-launch 只改覆盖目录, 不碰外壳进程
读插件源码得到的两个硬约束 (写错会被静默丢弃或启动即回滚), 脚本已处理:
- min_binary_version 必须 == 外壳版本: 默认 DiscardOnUpgrade 在 binary > min 时
丢弃缓存, 而安全线又要求 binary >= min, 只能取等号;
- confirmed 必须为 true: 默认 SingleLaunch 对未确认版本启动即回滚。
另: 目录名须为 seq-<数字>; sequence 取 Date.now() 让 OTA 检查认为已是最新,
避免线上更新顶掉本地版本。
README 补「Windows 本地实时预览(不打包)」章节: 用法/原理/约束表/注意事项。
|
2026-10-27 15:49:39 +08:00 |
|
jif2.zhang
|
71dcf7e1b1
|
ci(0.2.1): 部署段改为调用宿主 /app/iboard-prod 部署脚本 —— 无 PG secrets 时跳过自动部署
|
2026-10-26 22:18:14 +08:00 |
|
jif2.zhang
|
eef296942f
|
feat(0.2.1): 合并 Windows 外壳 + 离线编辑, 版本 0.2.1, 正式域名 https://iboard.honor3.com
|
2026-10-26 20:53:38 +08:00 |
|
jif2.zhang
|
086f7aecf9
|
fix(0.2.1): 验证脚本依赖移出 package.json (dev-only 工具不进镜像), 锁文件同步
|
2026-10-26 01:42:17 +08:00 |
|
jif2.zhang
|
4ce701e99a
|
feat(0.2.1): M5 闭环验证通过 —— verify 脚本 7 步全绿 (下行/离线写/上行/定号/回填/REST确认/删除同步); 方案文档补 Sequential ID Mapping
|
2026-10-26 01:37:24 +08:00 |
|
jif2.zhang
|
9caaa303e5
|
fix(0.2.1): upload 契约对齐客户端 —— 外键列即父行 uuid (projectId/columnId/parentId/taskId); 附 Node 闭环验证脚本
|
2026-10-26 01:14:34 +08:00 |
|
jif2.zhang
|
1a695920ce
|
fix(0.2.1): ETL 按目标 PG 列白名单取数 + boolean/bigint/json 类型感知转换 (现网库 schema 领先于本分支)
|
2026-10-26 00:29:08 +08:00 |
|
jif2.zhang
|
025fcc3244
|
feat(0.2.1): M4-b ETL —— 现网 MariaDB 只读快照导入 PG (uuid/code/number 回填, 时序表限量, 序列校准)
|
2026-10-26 00:27:20 +08:00 |
|
jif2.zhang
|
8203a7f893
|
fix(V0.2): 版本规则收尾 —— 手动 OTA 工作流对齐发布说明/commit 口径
Docker Build and Push / build-image (push) Successful in 1m1s
- ota-build.yml: notes 默认取检出 commit 的 message, --commit 写入
manifest (与 docker-build 一致); 参数加引号防空格断裂
- docker-build.yml: 去掉 head -c 400 字节截断 (会把多字节汉字切成
非法 UTF-8 导致 latest.json 解析失败), 截断统一由打包脚本按字符处理
- build-ota.mjs: CI 日志输出 build_id 与 commit
|
2026-10-25 21:40:13 +08:00 |
|
jif2.zhang
|
67be8d8f7b
|
feat(V0.2): 版本方案落地 —— 前端/外壳解绑, build 标识统一, 外壳版本展示
Docker Build and Push / build-image (push) Successful in 1m5s
- check-version: 分组校验 (前端 package.json / 外壳 tauri.conf+Cargo),
两组不再要求相等; 分支前缀校验只针对前端版本
- build-ota: build_id 改为 YYYYMMDDHHmmss (北京时间, 与前端 BUILD_ID
同格式); sequence 保持毫秒仅用于判新
- 我的页: 当前版本恢复 v0.2.0 · build <原始BUILD_ID>; 新版本附 OTA
build_id; 底部替换为外壳版本 (Tauri getVersion, Web 端 —)
- README: 合并遗留 readme 全部内容并按决议重写版本管理章节;
新增 CHANGELOG.md (PATCH 仅明确提出时自增)
|
2026-10-25 21:28:06 +08:00 |
|
jif2.zhang
|
e3ac00a641
|
fix(V0.2): OTA 发布说明改为 commit message, sha 单独展示; 版本附构建时间
Docker Build and Push / build-image (push) Successful in 1m2s
- CI: notes 取 git log -1 的 commit message (标题+正文, 截断 400 字),
commit sha 经 --commit 写入 manifest (不再把裸 sha 塞进发布说明)
- build-ota: 新增 --commit 参数; latest.json 增加 commit 字段
- 服务端 /ota/check 与 /manifest-web 透传 commit 与 sequence
- 我的页: 当前版本/新版本后附 seq 时间戳 (MM-dd HH:mm),
发布说明下方新增「提交」行显示短 sha
|
2026-10-25 11:56:04 +08:00 |
|
jif2.zhang
|
3de002aae8
|
修复米家会话失效后不弹登录二维码
根因一: 过期检测形同虚设
- @zythum02/mijia-api 的 refreshToken() 在本地凭证字段齐全时直接返回成功,
根本不发请求, 因此 checkAuth() 永远判定 ok, 过期后既不出横幅也不出扫码入口
- checkAuth() 改为真打一次 getHomesList() 验证 token; 成功缓存 5 分钟,
失败只缓存 30 秒(便于网络恢复后自愈); 增加并发探测合并; 状态未变不写库
- getStatus() 以实时探测结果为准, DB 里的 status 仅在探测为 unknown 时兜底,
避免残留的 ok 遮蔽已失效状态
根因二: 二维码图片 401 导致弹窗空白
- /api/mihome/reauthorize/qr-image 在 authRequired 之后, 而 <img src> 无法携带
Authorization 头, 图片请求被拒, 用户看到的是空白/裂图
- 新增 fetchMihomeQrImage(): 带 JWT fetch 后转 blob URL 给 <img>, 并在卸载/换码时释放
其他修复
- EnvView 的 load 依赖 [status] 且成功回调又 setStatus, 造成 /status 无限重复请求;
改为空依赖 + 函数式 setStatus; 首屏与重试走 ?force=1 强查
- 会话失效(非网络类错误)时自动弹出扫码窗, 每次挂载仅弹一次
- 扫码状态机新增 done 标记, 只有真正登录成功才算成功, 避免取消后误判
- 二维码 120s 超时自动续码(最多 2 次), 慢扫不再直接失败
- 取消后不再丢弃可能已成功的扫码结果
- scripts/mihome-login.mjs 适配 done 语义
- 同步更新设计文档 §5.2 / §5.4 / §6
注意: 前端需重新构建发布后生效。
|
2026-10-24 07:26:59 +08:00 |
|
cheney
|
5f41cb05b7
|
chore(V0.2): 统一 APK 与 OTA 版本规则 —— 同一版本号, APK 裸写 / OTA 加 -ota
Docker Build and Push / build-image (push) Successful in 10m16s
- readme: 版本管理章节重写, 明确 APK=0.2.0 无后缀, OTA=0.2.0-ota 多一个标记
并补充 APK versionName/versionCode 的生成链路 (tauri.properties, major*1e6+minor*1e3+patch)
- scripts/ci/check-version.mjs: 新增四处一致性校验
(package.json / tauri.conf.json / Cargo.toml / Cargo.lock), 并禁止 version 带 -ota
- android-build.yml: 构建前也执行版本校验 (tauri.conf.json 的 version 就是 APK versionName)
- 需求文档 F-OT-01a、设计文档 §10.2 同步该规则
|
2026-10-22 17:34:22 +08:00 |
|
cheney
|
4a04720a5e
|
feat(V0.2): OTA 版本与判新口径 + Tab 结构调整
1) 版本对齐分支
- package.json / tauri.conf.json / Cargo.toml / Cargo.lock: 0.1.0 -> 0.2.0, OTA 包版本变为 0.2.0-ota
- 新增 scripts/ci/check-version.mjs: 分支 dev-x.y 与 package.json 版本不一致时 CI 直接失败
- docker-build.yml / ota-build.yml: min_binary_version 与前端版本解耦, 固定 0.1.0
(现有 APK 原生层仍是 0.1.0, 抬高会导致旧 APK 收不到更新)
2) 我的页 OTA「开发版本」开关 (默认关, 持久化 localStorage.iboard_ota_dev_mode)
- 关: 按版本号逐字段比较 (src/utils/version.js), 服务端 version 更高才算新
- 开: 按 build sequence 判新 (hotswap checkUpdate), 每次构建都能推到设备
- Web 端: 开发口径退化为版本不同即算新; 生产口径严格比较大小
3) 打卡 Tab 移到最左并默认选中, 移除特效开关
- BottomNav: 打卡/宏观/监控/我; 删除 home 图标
- App: / 与 404 均重定向到 /checkin
- RingProgress/Celebrate: 删除 effectsEnabled/setEffectsEnabled, 特效恒开
- HabitView: 去掉头部「特效开/关」按钮
4) 取消首页 Tab, 报警/新闻并入宏观
- 新增 pages/macro/AlertsView.jsx、NewsView.jsx; 删除 HomePage.jsx
- MacroPage: 6 个子 Tab (油价/经济数据/策略研究/经济文章/报警/新闻), 报警角标保留
- 新闻详情 /news/:id -> /macro/news/:id (宏观 Tab 保持高亮)
5) 文档: 需求文档补 F-OT 需求点与已决策项; 设计文档新增 §10 变更记录与判新设计;
界面设计.html 11 屏 (Tab 4 项/去掉特效开关/宏观合并/我的 OTA 开关 关+开 两态)
|
2026-10-22 17:17:29 +08:00 |
|
jif2.zhang
|
8e2c6ffa35
|
新增米家环境监控模块 (采集/聚合/历史/前端 EnvView) + CI 挂载米家凭证目录并自动应用迁移
Docker Build and Push / build-image (push) Successful in 6m54s
|
2026-09-21 11:42:58 +08:00 |
|
jif2.zhang
|
53f63e0986
|
新增 CI secrets 同步到注册中心的独立 workflow
Docker Build and Push / build-image (push) Successful in 10m57s
|
2026-09-20 20:32:54 +08:00 |
|
cheney
|
b0bc1e9727
|
开放 http
Android Build & Publish / build-android (push) Failing after 2m12s
|
2026-08-08 10:32:28 +08:00 |
|
cheney
|
d5a31e5366
|
修改签名脚本
Android Build & Publish / build-android (push) Failing after 39m54s
|
2026-08-08 08:28:49 +08:00 |
|
cheney
|
9ecbf8d8e0
|
更新脚本
Android Build & Publish / build-android (push) Failing after 18m32s
|
2026-08-08 07:01:50 +08:00 |
|
cheney
|
22a36fb213
|
fix 打开 ota 授权
Docker Build and Push / build-image (push) Successful in 2m51s
|
2026-08-07 16:24:10 +08:00 |
|
cheney
|
a5bc8ef1f1
|
功能完成
Docker Build and Push / build-image (push) Successful in 2m53s
|
2026-08-07 14:56:27 +08:00 |
|
cheney
|
b9ec6fbe0b
|
油价集成
|
2026-08-07 14:36:57 +08:00 |
|
cheney
|
8999b29646
|
跟新 CICD,每次制作 ota 升级包
Docker Build and Push / build-image (push) Successful in 2m50s
|
2026-08-07 10:04:57 +08:00 |
|
cheney
|
dbe04b7da3
|
ota
|
2026-08-07 09:49:26 +08:00 |
|
cheney
|
6bacda05f8
|
fix bugs
Docker Build and Push / build-image (push) Successful in 3m2s
|
2026-08-06 17:43:21 +08:00 |
|
cheney
|
4d02439ecb
|
更新首页
|
2026-08-06 16:41:47 +08:00 |
|
cheney
|
547181d333
|
更新首页
|
2026-08-06 15:39:59 +08:00 |
|
cheney
|
ec15f40323
|
数据源修改
|
2026-08-06 15:24:55 +08:00 |
|
cheney
|
b10b1c44db
|
修改数据获取方式
|
2026-08-06 14:00:11 +08:00 |
|
cheney
|
28d1b5d1c6
|
添加调试,网络正常
Docker Build and Push / build-image (push) Successful in 2m45s
|
2026-08-06 08:58:22 +08:00 |
|
cheney
|
789505fb34
|
fix
Docker Build and Push / build-image (push) Successful in 3m23s
|
2026-08-04 09:33:52 +08:00 |
|
Cheney
|
79341bb8cc
|
save
Docker Build and Push / build-image (push) Successful in 3m16s
|
2026-08-03 18:09:08 +08:00 |
|
cheney
|
0f74602036
|
unsigned 编译通过
|
2026-08-03 18:08:19 +08:00 |
|
cheney
|
08b3655a38
|
修改架构,移动端优先。
save
|
2026-08-03 18:05:50 +08:00 |
|
cheney
|
becf0364ad
|
对比图完成
|
2026-04-26 11:41:39 +08:00 |
|
cheney
|
f2824d88f7
|
获取沪深 300 数据
Docker Build and Push / build-image (push) Successful in 4m44s
|
2026-04-25 20:08:03 +08:00 |
|
cheney
|
d232591a38
|
添加汇率数据
|
2026-04-25 19:22:57 +08:00 |
|
cheney
|
b61cf9628e
|
添加汇率 scraper
|
2026-04-25 12:16:41 +08:00 |
|
cheney
|
75a2ec7d30
|
添加人民币美元汇率数据获取脚本 (fetcher)
|
2026-04-19 09:07:44 +08:00 |
|
cheney
|
f9e1471487
|
save
|
2026-04-19 08:42:20 +08:00 |
|
cheney
|
2820adfdd3
|
第一个爬虫,但是感觉是不能用的。
|
2026-04-17 20:37:44 +08:00 |
|
cheney
|
4c7f600a6b
|
增加数据库
Docker Build and Push / build-image (push) Failing after 6m27s
|
2026-04-09 22:07:23 +08:00 |
|