wangjia
|
8fb81cc571
|
fix(client): 只读模式下允许激活兑换券(自救出口)
授权到期进入 readonly/locked 相位后,「兑换续期」按钮被全局
WriteGuard 误锁(置灰/隐藏),用户无法激活新授权码自救。后端
/license/* 本就豁免 LicenseGuard,去掉该按钮外层 WriteGuard 包裹;
role=readonly 仍由后端 ReadOnly() 403 兜底。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bupi8Kdqkfx2N5acFsHTx5
|
2026-08-25 19:11:26 +08:00 |
|
wangjia
|
22047b725c
|
feat(client): 扫码出库(扫码枪扫二维码,明细自动 +1)
出库单新建页桌面端加「扫码枪扫码」框:扫商品二维码 URL → 取其中
的 ?code= → 本地整仓索引精确命中 → 明细自动新增/累加数量(每扫
+1)。本地未命中(大仓库存超前端加载上限 1000)时走服务端按编码
精确查兜底,复用现有库存搜索接口,无需新后端接口。
- 前端 stock_out_form_screen:扫码框 + _onScan + _codeIndex +
parseScanCode + 服务端兜底 + 300ms 防抖 + 提示音;桌面专属,
窄屏隐藏。
- 后端 product.go:二维码 URL 路径 /app/product/ → /product/
统一到 SSR 公开页路由。
- 原型 stock-in.js/html:出库明细头同步加扫码框(design-first)。
- 测试 parse_scan_code_test(8 例)+ 出库表单桌面 golden 重生成。
- 设计/实现计划文档 docs/design/scan-stock-out-*。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bupi8Kdqkfx2N5acFsHTx5
|
2026-08-25 19:11:15 +08:00 |
|
wangjia
|
b5715aec8d
|
feat(release): 本地发版脚本 local-release.sh(绕过不稳的 CI 隧道)
在本机完成整套客户端发版:本地代码、本地编译签名、二进制暂存 dist/、直接
部署 ali(+iOS TestFlight)。取代 deploy-client.yml 在 mac-runner→NAS gitea
隧道反复 git checkout 失败的问题。
- 阶段:web/macos(Developer ID+公证+staple)/android(rbw keystore)/
ios(app-store)/windows(拉 GitHub 云构建)/deploy(version.yaml+scp ali)/testflight
- 密钥全走本机(钥匙串+rbw+~/.appstoreconnect+ssh 别名 ali),不用 CI 的 base64→临时 keychain
- --only 可选阶段;敏感临时物(keystore/key.properties)mktemp+trap 清理,不入库
- 实测:1.1.9 --only web,macos,android,windows,deploy 全过,已上线 ali
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-20 10:51:12 +08:00 |
|
wangjia
|
bec45c282f
|
fix(ios): 改用自动签名,修复 archive/export 证书-profile 不配对
本机 login keychain 的 Apple Distribution 证书(2027 有效)与项目里写死的
手动 profile "Jiu App Store"(用另一张/旧证书签发)不配对,archive/export 报
"Provisioning profile doesn't include signing certificate"。
- project.pbxproj:Runner Release 配置 Manual → Automatic(删写死的
PROVISIONING_PROFILE_SPECIFIER + Apple Distribution identity),与项目其它
配置、local_test.sh --ios 一致,由 Xcode 现场配对当前证书。
- compile-ios.sh:ExportOptions signingStyle manual → automatic,去掉手动
profile 发现逻辑(不再依赖会漂移的手动材料)。
验证:本机 sh scripts/ci/compile-ios.sh client-v1.1.9 → 构建 岩美酒库.ipa →
altool 上传成功(build 10109 已上 TestFlight,Delivery UUID 4bda0191)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-20 10:25:49 +08:00 |
|
wangjia
|
dccf3610b5
|
fix(ci): iOS 改用本机 login keychain 证书+本地 profile+本地 .p8 签名
CI iOS 报 'No valid code signing certificates':原 IOS_DIST_CERT_P12_BASE64 secret
里的证书过期。改用本机 login keychain 的有效 Apple Distribution 证书(到2027-07)
+ 自动发现的 App Store profile + 本机 .p8,不再依赖 base64 secret。
team/key-id 带默认,issuer 走 gitea secret APPSTORE_API_ISSUER_ID(已设)。
本地实测:过了证书+profile 检查、进入 archive(签名修复生效),后续 iOS 平台组件另议。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-20 09:26:49 +08:00 |
|
wangjia
|
cac84b4388
|
ci: 删除 checks.yml(每次 push 占 runner)+ deploy-client 恢复 tag 触发
Deploy Client / build-client-web (push) Successful in 11m29s
Deploy Client / build-macos (push) Successful in 13m15s
Deploy Client / build-android (push) Successful in 9m1s
Deploy Client / build-windows (push) Successful in 7m17s
Deploy Client / build-ios (push) Failing after 4m10s
Deploy Client / release-deploy-client (push) Has been skipped
- 删 checks.yml:design-source 检查每次 push 都跑、占唯一 mac-runner、与发版抢资源;
golden/ds 闸改本地跑(flutter test test/golden/)。需要时可从 git 恢复。
- deploy-client 恢复 push tags 自动触发(之前误删),保留 Windows 单节点改动。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
client-v1.1.9
|
2026-07-18 20:02:30 +08:00 |
|
wangjia
|
3d1402bec8
|
ci(deploy-client): 改手动触发(去 tag 自动) + Windows 合并为单节点
Design Source Checks / design-source (push) Successful in 4m35s
- 去掉 push tags 自动触发,只留 workflow_dispatch(打 tag 只作标记,发版手动 Run workflow)
——弱网+gitea tag 事件飘忽下反复出重复 run/卡死,改手动可控
- build-windows + build-windows-ci 合并为单个 build-windows(runs-on 表达式选 runner +
step if 决定家里现编/mac 拉 github),DAG 只显示一个节点
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 19:53:17 +08:00 |
|
wangjia
|
f9ba81ae43
|
fix(golden): 冻结应用时钟消除时间依赖非确定性(product_detail/license/inventory_check)
golden 失败根因:商品详情屏用实时 DateTime.now() 算「近30天出库」,随真实时间推移
6月流水掉出30天窗口→渲染变化→对不上。license/inventory_check 同理(剩余天数/盘点日期)。
修复:
- product_detail_screen: DateTime.now() → appNow()(可注入时钟)
- golden_harness: 所有 golden 渲染前冻结 appClock=2026-07-01 + tearDown 复位(ds-flow 钉死动态值)
- 重录 license_mobile / m_inventory_check 6 张 golden;product_detail 冻结后自动匹配无需改图
本地 flutter test test/golden/ 全 120 通过。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 19:53:17 +08:00 |
|
wangjia
|
067f21c273
|
release: 触发 client-v1.1.9 发版(稳定网络重发 #2)
Design Source Checks / design-source (push) Failing after 8m48s
Deploy Client / build-client-web (push) Failing after 4m30s
Deploy Client / build-macos (push) Has been skipped
Deploy Client / build-android (push) Has been skipped
Deploy Client / build-ios (push) Has been skipped
Deploy Client / build-windows-ci (push) Successful in 7m29s
Deploy Client / build-windows (push) Has been cancelled
Deploy Client / release-deploy-client (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 19:18:45 +08:00 |
|
wangjia
|
aa4a3951f7
|
release: 触发 client-v1.1.9 发版(WiFi 稳定网络重发)
Design Source Checks / design-source (push) Failing after 1m59s
Deploy Client / build-client-web (push) Failing after 15m28s
Deploy Client / build-macos (push) Has been skipped
Deploy Client / build-android (push) Has been skipped
Deploy Client / build-ios (push) Has been skipped
Deploy Client / build-windows-ci (push) Failing after 1s
Deploy Client / build-windows (push) Has been cancelled
Deploy Client / release-deploy-client (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 10:41:15 +08:00 |
|
wangjia
|
5eec510f1e
|
ci(windows): NAS 暂存设 continue-on-error(发版已从 GitHub 拉,NAS 仅最佳努力记录)
Design Source Checks / design-source (push) Failing after 4m4s
Deploy Client / build-client-web (push) Successful in 5m3s
Deploy Client / build-windows-ci (push) Successful in 4m57s
Deploy Client / build-macos (push) Failing after 4m38s
Deploy Client / build-android (push) Has been skipped
Deploy Client / build-ios (push) Has been skipped
Deploy Client / build-windows (push) Has been cancelled
Deploy Client / release-deploy-client (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 09:38:03 +08:00 |
|
wangjia
|
161dee17b1
|
ci(windows): 加 permissions contents:write——GITHUB_TOKEN 默认只读建不了 Release(403)
Design Source Checks / design-source (push) Failing after 5m48s
Deploy Client / build-macos (push) Successful in 8m50s
Deploy Client / build-client-web (push) Successful in 13m39s
Deploy Client / build-windows-ci (push) Successful in 4m34s
Deploy Client / build-android (push) Successful in 11m59s
Deploy Client / build-ios (push) Failing after 2m43s
Deploy Client / build-windows (push) Has been cancelled
Deploy Client / release-deploy-client (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 09:21:49 +08:00 |
|
wangjia
|
c8eabe0596
|
ci(windows): Windows 包发版改从 GitHub Release 拉取(免 frps)
Design Source Checks / design-source (push) Failing after 5m2s
mac-runner off-LAN 时,从 NAS 经 ali frps 下载 26MB 太慢/易断(实测 ~220KB/s 且中途断)。
改为:windows.yml 额外发布到 GitHub Release winstage-v<版本>;deploy-client 的
build-windows-ci 从 github.com 拉(不过 frps)+ 重试断点续传 + 完整性校验。
需 gitea 密钥 GH_TOKEN(已设)。NAS 暂存保留作记录。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 09:13:50 +08:00 |
|
wangjia
|
03772542d2
|
docs(changelog): 1.1.9 发版说明
Design Source Checks / design-source (push) Failing after 11m21s
Deploy Client / build-client-web (push) Successful in 7m49s
Deploy Client / build-windows-ci (push) Failing after 5m10s
Deploy Client / build-macos (push) Successful in 12m17s
Deploy Client / build-ios (push) Has been cancelled
Deploy Client / build-windows (push) Has been cancelled
Deploy Client / release-deploy-client (push) Has been cancelled
Deploy Client / build-android (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
winstage-v1.1.9
|
2026-07-18 08:16:55 +08:00 |
|
wangjia
|
5cf8958313
|
feat(prototype): 登记支付状态图标 待支付/已支付/已关闭
Design Source Checks / design-source (push) Has been cancelled
ds-flow 原型单源:BADGE_ICON 补三个支付状态图标,先登记再供页面使用。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 07:53:53 +08:00 |
|
wangjia
|
f6e326794e
|
fix(backend): 出入库列表 Preload(Items) 供手机端卡片显示品项数
List 之前未 preload items,手机端 MCard sub 行拿不到 items.length。
入库进价对 operator 本就可见(客户端无条件展示+待定价逻辑依赖 costPrice),
故 stock_in 不加脱敏;stock_out 侧成本敏感,List 已有 stripStockOutCost 兜底,安全。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 07:53:53 +08:00 |
|
wangjia
|
fcd8733679
|
fix(ci): fetch 用 browser_download_url 下载(assets API 返回元数据非二进制)+ 大小校验
Design Source Checks / design-source (push) Has been cancelled
测试发现 Gitea /releases/{id}/assets/{id} 端点返回附件元数据 JSON(260B)而非二进制。
改用 browser_download_url 直链下载,并加 <1MB 拒绝发版的完整性校验。
端到端验证:winstage-v9.9.9 → 拉到完整 25M PE32 安装器;版本不匹配硬失败。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
winstage-v1.0.52
|
2026-07-18 07:30:38 +08:00 |
|
wangjia
|
0a54ded445
|
ci(windows): GitHub 云构建 Windows 安装器暂存 NAS + 发版可选来源(home/github)
家里 Windows runner 关机时的备用构建源。
- windows.yml: 构建 Inno 安装器(复用 compile-windows.sh)→ 暂存 NAS gitea winstage-v<版本>
- deploy-client.yml: build-windows 加 home/github 开关(参数 windows_source 优先,变量 WINDOWS_SOURCE 兜底),新增 build-windows-ci 从 NAS 按版本拉取
- stage/fetch 脚本: 版本强匹配,拉不到硬失败
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01P9G7E3wmAYL9KeYCVZVsqu
|
2026-07-18 07:08:48 +08:00 |
|
wangjia
|
fd654f21ac
|
ci(windows): 构建注入生产后端 BASE_URL/PUBLIC_URL=https://jiu.51yanmei.com(原默认 localhost 连不上后端)
|
2026-07-16 04:03:13 +08:00 |
|
wangjia
|
32416e6983
|
ci: GitHub Actions windows-latest 构建 jiu client(flutter build windows + 打包 artifact)
|
2026-07-16 02:58:08 +08:00 |
|
wangjia
|
905e0700da
|
docs: iOS 上架 runbook 补 ASC 商店文案备稿(副标题/描述/关键词/URL)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 06:54:03 +08:00 |
|
wangjia
|
1167a01c6a
|
docs: iOS App Store 上架流程 runbook(备案-2A/保留 iPad/S003 演示门店已拍板)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 06:49:57 +08:00 |
|
wangjia
|
c9936df780
|
feat(client): 关于页页脚改为 App 备案号-2A(工信部 App 备案 2026-07-15 下号,原型同步)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 06:49:50 +08:00 |
|
wangjia
|
737b1481a6
|
fix(client): 单实例「已在运行」提示框缺应用主题——DsButton 取 tokens 空指针闪退
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 05:58:43 +08:00 |
|
wangjia
|
3888cf2d65
|
feat(client): 慢请求监控(>500ms 记日志+上报);拆除列表 provider 的 _cache 失败兜底
- SlowRequestInterceptor:单次 API 调用超 500ms 即 debugPrint long-request
日志并经 ErrorReporter 上报(error_type=slow_api,按 method+归一路径 5 分钟
节流)。服务端 GIN 日志只见自身处理耗时,网络往返段只有客户端可观测。
- 拆除 10 个列表 provider 的 _cache 失败兜底:实测线上接口客户端视角典型
50-120ms、最坏约 270ms(列表类全部 <500ms),失败静默端旧数据弊大于利
(曾放大跨账号残留问题),改为明确进入错误态由用户重试。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 00:49:29 +08:00 |
|
wangjia
|
1723e480c1
|
fix(client): 订单管理打开自动重拉列表 + 订单时间 UTC 显示转本地时区
- 打开订单管理 tab 时 invalidate 重建列表 provider(保留旧值展示不闪屏),
新下单/已删单不再需要手动刷新才同步
- license.dart 全部时间字段解析后 toLocal()(同 session.dart 惯例),
修复订单创建/支付时间显示为 UTC(慢 8 小时)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 00:39:29 +08:00 |
|
wangjia
|
b8567b0f4e
|
fix(client): 切换账号显示上一账号数据——登录/登出按会话纪元重建 ProviderScope
张三登录后看到汤宇飞的订单列表(含已删行):业务 provider 的 notifier 实例
与 _cache 兜底缓存跨账号存活,拉取失败时把上一账号数据端给新账号(10 个
列表 provider 同款模式)。根治:会话纪元 sessionEpoch(Riverpod 体系外
ValueNotifier)作 ProviderScope 的 key,login/logout 后自增重建整棵状态树。
logout 的撤销会话 POST 改为不阻塞,确保清盘先于 scope 重建,防止新 scope
restore 读到旧 token 把上一账号登回来。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-15 00:39:18 +08:00 |
|
wangjia
|
858f24f74b
|
fix(backend): license_purchases.pay_url 512→TEXT——支付宝网关 URL 超列宽导致下单 1406 失败
真单联调发现:pay v2 redirect payload.url 是支付宝网关完整签名 URL(2KB+),
回填 pay_url 报 Data too long,且残留 out_trade_no='' 行使重试撞唯一索引。
model + schema.sql + db-schema.html 三处同步,AutoMigrate 自动 ALTER。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 23:58:57 +08:00 |
|
wangjia
|
94a5f437a5
|
fix(client): 财务汇总下拉候选改全量往来单位并修占位叠词与表头垂直居中(验收反馈)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 13:10:11 +08:00 |
|
wangjia
|
4bd083f2eb
|
fix(client): 财务汇总往来搜索改为表头下拉框形态(验收反馈)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 12:35:11 +08:00 |
|
wangjia
|
edb85c88da
|
feat(client): 财务应收应付汇总增加往来单位搜索(两端,原型同步)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 12:02:44 +08:00 |
|
wangjia
|
6069b390df
|
docs(plans): 六项前端体验优化实现计划双产物入库并登记索引
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 11:23:26 +08:00 |
|
wangjia
|
04d5a53961
|
docs(design): 六项前端优化 CONTRACT 台账回填与手册同步
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 11:21:28 +08:00 |
|
wangjia
|
9f620e9fc7
|
test(client): 出入库状态多选语义与默认仓库填充回归用例
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 11:16:29 +08:00 |
|
wangjia
|
f555b99565
|
feat(client): 新建出入库单默认填充默认仓库(两端,原型同步)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 11:16:29 +08:00 |
|
wangjia
|
d4c5964932
|
feat(client): 出入库列表状态筛选改多选并默认草稿+待审核(两端,原型同步)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 11:16:29 +08:00 |
|
wangjia
|
e499bbc842
|
test(client): 财务往来单位筛选交互与移动视口防裁剪回归用例
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 10:26:45 +08:00 |
|
wangjia
|
a2aca2e7fc
|
feat(client): 财务筛选增加往来单位并统一自定义时间组件(两端,原型同步)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 10:26:45 +08:00 |
|
wangjia
|
782cf057a3
|
fix(client): 出入库抽屉生产日期截取防空串崩溃
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 10:12:55 +08:00 |
|
wangjia
|
44c985e6b5
|
feat(client): 出入库单详情抽屉明细增加生产日期+批次号列(两端,抽屉加宽 660,原型同步)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 10:12:55 +08:00 |
|
wangjia
|
3721fe6006
|
feat(client): 库存列表批次号与生产日期列位对调(原型同步)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 09:42:52 +08:00 |
|
wangjia
|
7e020a04b3
|
feat(client): 库存商品抽屉增加供应商与批次号信息行(两端,原型同步)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-14 09:40:16 +08:00 |
|
wangjia
|
7a9f480ae3
|
feat(scripts): local_test.sh 增量构建(跳过无变化编译) + Android install -d 允许降级
- 增量构建:每平台记全源码指纹(client/ 下所有源文件内容 + 版本号 VER + 平台名,排除
build/.dart_tool/ephemeral/.gradle/Pods 等生成物);产物在且指纹未变则跳过 flutter
编译直接安装/启动。--force/-f 强制重编。指纹存 client/build/.local_test_fp_*(gitignore)。
- 三平台均先 fail-fast 设备检测再判断编译。
- Android 安装加 -d 允许 versionCode 降级(修 INSTALL_FAILED_VERSION_DOWNGRADE)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-11 12:55:53 +08:00 |
|
wangjia
|
e6660614ce
|
feat(scripts): local_test.sh 增加 --android——编译 APK 并装到 USB Android 设备
照 --ios 分支模式:flutter build apk --release(无 key.properties 时 Gradle 回退 debug
签名可本地安装)→ adb 检测已授权设备(awk 取状态=device 的首台,排除 unauthorized/offline,
adb 优先 PATH 回退常见 SDK 位置)→ install -r → monkey 拉起 com.yanmei.jiu。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-11 12:30:52 +08:00 |
|
wangjia
|
709e59b1b7
|
fix(scripts): local_test.sh --ios 检测不到已连 iPhone——设备状态匹配 connected
新版 Xcode devicectl 对 USB 直连并解锁的 iPhone 显示状态 'connected',脚本原来只筛
'available (paired)'(该状态在新版仅配对未直连的设备如 Apple Watch 才有),导致
'未检测到已配对 iPhone'。改为 grep iPhone 行 + 词匹配 connected|available(两版 Xcode
都收,-w 避免误命中 disconnected/unavailable)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-11 12:18:34 +08:00 |
|
wangjia
|
8216ee321f
|
fix(scripts): local_test.sh 被 sh(POSIX 模式 bash) 调起报进程替换语法错误——首行加守卫重执行到普通 bash
macOS /bin/sh = bash --posix:设 BASH_VERSION 但禁用进程替换,line 56 的 2> >(grep ...)
在解析时即报 syntax error near unexpected token '>'。守卫检测 SHELLOPTS 含 posix 或非 bash
时 exec bash 重执行,honor 脚本文档里的 'sh scripts/local_test.sh' 用法。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-11 08:20:22 +08:00 |
|
wangjia
|
51c0cfda56
|
fix(client): 继续支付补 launchUrl 异常兜底 + 我的 hub 授权管理图标统一 shield
- license_orders_tab _continuePay 包 try/catch,打开失败出 toast 不静默
- me hub 授权管理图标 trendingUp→shield,与侧边栏一致;me golden ×3 同步更新
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-11 02:11:53 +08:00 |
|
wangjia
|
18b97d5d35
|
refactor(backend): 清理 settle 残单预查死代码块——入参金额直接回填,fail-closed 语义不变
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-11 01:31:39 +08:00 |
|
wangjia
|
3b5d84a7e3
|
docs: pay 对接指南升 v2 契约 + 授权管理屏文档同步 + db-schema 四新列
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-11 00:44:03 +08:00 |
|
wangjia
|
22e07613a1
|
feat(client): 授权管理独立一级屏——授权/购买续费/订单管理三 tab(桌面+移动)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-11 00:24:59 +08:00 |
|