aa7099ba94
将单一 CI/CD 流水线拆成三条互不影响的发布流水线,各有 tag 前缀、独立版本
序列与独立 CHANGELOG:
- client(client-v*):Flutter 全平台 + version.yaml 自更新清单
- site(site-v*):web/ Eleventy 营销站,不含 web 版 app
- server(server-v*):backend Go 服务 + 共享基建 nginx/systemd
新增 3 个 workflow(deploy-client/site/server.yml)替换 deploy.yml;CI 脚本
按 part 拆分为 compile-/release-/deploy-{client,site,server}.sh,抽出公共函数
lib-forgejo.sh;compile-{macos,android,ios,windows}.sh 改去 client-v 前缀;
manual.yml 按前缀路由回滚。
跨流水线解耦:version.yaml 归 client,后端每请求实时读取(不重启、不触发
server 流水线);官网下载页的版本徽章/下载链接/更新日志时间线运行时经
/api/v1/public/release 动态拉取(API 不可达回退构建时静态内容)。为此一次性
扩展后端 changelog 字段(version.go/public.go)与 download.njk 动态渲染。
CHANGELOG.md 重命名为 CHANGELOG-client.md,新增 CHANGELOG-site/server.md;
重写 /release 命令为 /release <part> [version];同步更新 CLAUDE.md 与部署文档。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
17 KiB
17 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.54] - 2026-06-17
新功能
- 只读账号自动隐藏所有写操作按钮(新增/编辑/删除/审核/提交/结清/导入等),顶栏显示「只读」标识,权限一目了然
- 左侧抽屉和系统设置页新增「退出登录」入口,窄屏也能方便退出
- 酒行信息新增「微信号」显示
改进
- 网络请求失败时自动重试(间隔递增),离线时提供带状态反馈的「重试」按钮
- iOS 顶栏避开状态栏,菜单按钮不再被时间/信号遮挡
修复
- 库存导入改用 Excel 中的「入库日期」作为入库时间(不再统一记为导入当天);相同数据重复导入时自动跳过,仅更新有变化的字段,避免重复与误覆盖
- 修复 iOS 上顶栏被状态栏遮挡导致无法打开菜单/退出登录的问题
[1.0.53] - 2026-06-15
修复
- 修复 Windows 上点击打印无反应的问题(GBK 编码改为直接调用系统 API,不再依赖第三方插件)
[1.0.52] - 2026-06-15
改进
- 热敏标签打印改用打印机内置中文点阵字体(TSS24.BF2/TSS16.BF2),文字清晰度大幅提升,彻底解决 203 DPI 下字体模糊问题
[1.0.51] - 2026-06-15
改进
- 标签打印字体细化:阈值调回 128,店名改细体,商品名保持粗体
[1.0.50] - 2026-06-15
改进
- 标签打印字体更清晰:采用 2× 超采样渲染,消除热敏打印时反锯齿导致的模糊笔划
[1.0.49] - 2026-06-15
改进
- 二维码链接统一使用
/app/product/路径,扫码后 URL 不再跳变,分享与打开同一个链接
[1.0.48] - 2026-06-15
修复
- 修复分享
/app/product/路径时微信爬虫拿不到 OG 标签的问题(nginx 补充该路径的代理规则) - 分享卡片描述规格/系列与门店名分两行显示
[1.0.47] - 2026-06-15
修复
- 微信分享卡片描述补充度数/系列信息,不再只显示规格
[1.0.46] - 2026-06-15
修复
- 微信内打开商品页时顶部标题栏显示商品名称,不再显示"岩美"
[1.0.45] - 2026-06-15
修复
- 修复微信分享卡片标题仍显示"岩美"的问题(HTML 缩进导致字符串匹配失败)
- 微信分享卡片描述去掉"扫码验真"后缀
[1.0.44] - 2026-06-15
改进
- 微信分享卡片标题改为商品名称(之前仍显示"岩美")
- 微信分享卡片描述去掉"扫码验真"后缀
[1.0.43] - 2026-06-15
修复
- 修复微信/飞书分享商品链接时卡片只显示"岩美"而不显示商品名称和图片的问题
[1.0.42] - 2026-06-15
修复
- 修复商品二维码扫码页报"index.html not found"的错误
[1.0.41] - 2026-06-15
改进
- 标签打印布局优化:编号字体与度数/日期统一大小,内容整体下移并填满标签底部,店名适当放大
- 标签度数与规格之间加宽间距,两个字段更易区分
[1.0.40] - 2026-06-15
新功能
- 商品标签打印新增编号行(显示「编号:xxxx」),位于度数上方,方便核对入库单
- 扫码分享商品链接时,微信/企业微信/飞书/钉钉等平台的分享卡片现可显示商品名、规格描述及商品图片,不再只显示「岩美」
改进
- 库存页表格支持横向滚动,列过多时不再截断;支持显示/隐藏列,按需定制显示内容
[1.0.39] - 2026-06-15
修复
- 打印预览弹窗:打印完成后自动关闭
- 打印预览弹窗:打印机列表改为仅显示热敏打印机,无热敏打印机时显示"无打印机可用"并禁用打印按钮
- 库存列表表格行"打标签"按钮点击无反应
- Windows/macOS 单实例限制:同一台电脑不允许重复打开多个客户端窗口
[1.0.38] - 2026-06-15
新功能
- 标签打印新增「打印预览」弹窗,点击打印按钮后可先预览标签内容再确认打印
- 预览弹窗支持选择打印机(下拉列表),并记住上次选择,下次自动默认
- 支持对每张标签单独设置打印份数(默认 1 份)
- 入库单「打标签」支持多张预览:左侧缩略图条可逐张勾选/取消,右侧显示当前选中张的大图
[1.0.37] - 2026-06-15
新功能
- 库存查询新增「规格」和「系列」筛选,支持多选,按服务端过滤全量数据
- 库存查询新增「入库时间」列
- 入库单商品明细将「生产日期」移至主行直接可见,无需展开隐藏区域
改进
- 筛选弹窗重构:顶部搜索框实时过滤、选项列表可滚动、已选项以标签形式置顶显示并可单独取消
- 筛选图标改为常驻显示,无需鼠标悬停
修复
- 修复商品系列批量导入被截断至 100 条的问题
[1.0.36] - 2026-06-13
修复
- 修复数据库初始化时 license_key 索引超长导致启动失败的问题
[1.0.35] - 2026-06-12
改进
- Debug 版本窗口标题增加 [DEBUG] 后缀,便于与正式安装版区分
[1.0.34] - 2026-06-12
修复
- 修复 macOS 客户端打印时应用卡死、只能强制退出的问题
改进
- 「关于我们」中「打开文档」「更新日志」等链接指向新域名 jiu.51yanmei.com
[1.0.33] - 2026-06-12
改进
- macOS 客户端插件集成从 CocoaPods 迁移至 Swift Package Manager,优化 macOS 构建流程
[1.0.32] - 2026-06-11
修复
- 修复库存可用量检查在数据库查询失败时误报所有商品库存不足的问题
- 修复授权信息页面设备数量统计不准确的问题
- 修复对账接口在数据库查询出错时静默返回空结果、掩盖异常的问题
- 修复 license 验证缺少门店隔离过滤,提升多租户安全性
- 官网联系入口调整为微信咨询(填写微信号后自动生效),隐藏尚未申请的备案号
- 修复各接口分页大小未设上限,防止超大请求拖慢服务
改进
- 后端启动不再执行拼音回填,已改为独立工具(
cmd/backfill-pinyin),避免大库存量时延长启动时间 - 数据库连接池参数(最大空闲连接数、最大打开连接数)改为配置项,支持按环境调整
[1.0.31] - 2026-06-10
修复
- 修复 Windows 客户端构建失败:授权到期横幅与弹窗方法位置错误导致编译报错
[1.0.30] - 2026-06-10
新功能
- 官网新增更新日志页(/changelog/)、服务条款页(/terms/)、隐私政策页(/privacy/),全站页脚同步补充链接
- 授权信息功能:新账号注册自动获得 30 天试用期;设置页「授权」Tab 支持粘贴授权码激活;到期后按宽限期 → 只读 → 锁定三阶段降级,前端对应横幅与弹窗提示
- 商品详情页展示所有字段,包括分类、库存预警线、备注、自定义字段、描述文档
改进
- 关于我们页「更新日志」按钮现在链接到 /changelog/ 版本历史页
修复
- 授权状态接口返回值补充 phase 字段,修复前端横幅与到期弹窗始终不显示的问题
[1.0.29] - 2026-06-09
新功能
- Windows / macOS 桌面客户端现在限制只能运行一个实例;重复打开时弹窗提示「程序已在运行中」并自动退出
[1.0.28] - 2026-06-09
修复
- macOS 客户端打包脚本路径错误导致 CI 打包失败,修正后 macOS 安装包可正常构建并发布
[1.0.27] - 2026-06-09
改进
- 入库单新建表单:产地、保质期、储存方式、批次号、生产日期等选填字段默认折叠,点击「展开选填」按钮后在行内下方显示,减少初始界面信息量
- 手机端现可从屏幕左边缘向右滑动打开导航菜单,无需点击汉堡图标
- 入库单详情弹窗在手机上商品明细改为卡片式竖排布局,不再显示难以阅读的横向宽表格
修复
- macOS 客户端下载 zip 解压失败:打包改用 ditto,正确保留 symlink 和执行权限
[1.0.26] - 2026-06-08
新功能
- 公开商品 API 新增商品编码、条码、当前库存数量字段,供扫码页及第三方集成使用
- 公开页「商品报错」「意见反馈」提交时自动携带门店编号和商品信息,方便运营追踪
修复
- 注册页 API 地址改为配置文件驱动,支持分离部署场景(不再依赖 window.location.origin)
- 注册成功提示的客户端导航路径由「系统设置 → 关于」修正为「系统设置」
- 公开页页脚「关于岩美」链接改为配置项,不再硬编码
[1.0.25] - 2026-06-08
新功能
- 基础数据页新增「产地」「保质期」「储存方式」「描述文档」4 个字典维护 Tab,可直接在基础数据中增删改查
- 商品详情页展示产地、保质期、储存方式参数,并在介绍区上方显示建议零售价
- 入库单详情中商品列展示产地、保质期、储存方式信息
- 公开扫码页新增「商品报错」「意见反馈」功能,用户可提交反馈
[1.0.24] - 2026-06-08
新功能
- 扫码商品页新增「查看本店其他商品」功能,点击即可浏览该门店全部上架商品
- 门店可在设置中填写微信号,顾客扫码后可直接查看并添加门店微信
- 商品公开页展示建议零售价(有填写时显示)
- 入库时可为商品关联产地、保质期、储存方式、描述文档,关联后扫码页自动呈现真实信息
- 扫码商品页产地、保质期、储存方式、商品介绍改读数据库真实数据,不再显示占位内容
改进
- 新增产地/保质期/储存方式/描述文档四类基础数据字典,支持增删改查,可在入库时按需关联商品
[1.0.23] - 2026-06-07
修复
- 官网功能详情页(库存管理/审核流)导航栏现与主站完全一致,不再缺少「库存」「审核流」入口
改进
- 官网功能详情页接入统一模板系统,导航/页脚/版权信息改一处自动同步全站
[1.0.22] - 2026-06-07
新功能
- 官网移动端适配:手机浏览器下导航折叠、首页各区块单列排版、features 详情页和页脚自适应窄屏
改进
- 客户端移动端布局优化:入库/出库详情页商品明细改为卡片式竖排,操作按钮收纳至溢出菜单,窄屏不再横向溢出
- 信息架构整理:仓库管理移入基础数据,系统设置新增授权 Tab 和数据管理组,关于我们补充帮助文档/法律信息/系统信息入口
修复
- 官网所有功能页死链修正(
/download.html→/download/,/docs.html→/docs/) - 官网删除未实现功能的虚假宣传(红冲、调拨单、库存推送通知、过期预警等),文案与实际功能对齐
- 官网客服邮箱更新为真实邮箱,移除假冒客服电话,页脚清除无目标死链
- 导航新增「库存」「审核流」功能页入口,首页模块卡加「了解更多」链接
- 下载页接口失败时按钮改为禁用态并提示,不再无响应
- 首页 iOS 平台说明改为「TestFlight 内测中」,与下载页状态一致
[1.0.21] - 2026-06-07
新功能
- 商品详情页添加照片时,手机端(Android/iOS)支持直接拍照或从相册选择
[1.0.20] - 2026-06-07
修复
- 修复 Android 客户端登录页提示「服务不可达」、无法连接服务器的问题(正式版安装包此前缺少联网权限)
[1.0.19] - 2026-06-07
改进
- 优化 Android 构建与部署流程(CI/CD 内部调整),功能与界面无变化
[1.0.18] - 2026-06-06
新功能
- 移动端(Android)界面适配:窄屏(手机)自动切换为移动布局——侧边栏改为侧滑抽屉导航,各列表(库存/出入库/财务/往来单位/基础数据)由宽表格自动切换为卡片流,弹窗与表单自适应屏宽不再溢出;宽屏(桌面/Web)布局保持不变
- Android 客户端正式上线:CI/CD 新增 Android APK 构建(正式 release 签名、versionCode 单调递增),随发版自动发布到下载页;下载页 Android 卡片已激活
改进
- 表单字段在手机上占满整行,便于点选;底部状态栏在手机端隐藏
[1.0.17] - 2026-06-05
新功能
- 意见反馈(Bug 反馈 / 功能建议)改为应用内直接提交,支持文字 + 图片(最多 9 张),不再跳转邮件
改进
- 「关于」更名为「关于我们」并移至左侧菜单,成为独立页面
- 打印时默认文件名带类型与时间戳(如 标签_20260605_103000、入库单_…、出库单_…),方便「打印到 PDF」保存归档
[1.0.16] - 2026-06-05
新功能
- 应用内更新:Windows/macOS 点「立即更新」直接在应用内下载并自动安装/重启(带进度条),规避浏览器 SmartScreen 下载拦截;Web 为刷新页面
- Windows 安装程序改为中文向导
改进
- 「检查更新」按钮增加反馈提示(正在检查 / 已是最新 / 发现新版本 / 检查失败)
- 更新提示文案优化:横幅显示「建议立即更新以获得最新功能与修复」,不再展示冗长更新内容
[1.0.15] - 2026-06-05
修复
- 修复 Windows 桌面端打印卡死:打印字体由 OpenType/CFF 改为 TrueType(glyf),dart_pdf 渲染中文不再抛错(此前点「打印」后卡死)
改进
- 「关于我们」内容改为真实信息(服务商:岩美技术有限公司;网站:jiu.yanmei.com;邮箱:yammy2023@163.com),且统一从配置文件读取,不再硬编码
- Windows 桌面端窗口标题由 jiu_client 改为「岩美酒库」
[1.0.13] - 2026-06-04
新功能
- Windows 客户端改为提供安装程序(Inno Setup 打包的
jiu-windows-x64-setup.exe,含安装向导、桌面/开始菜单快捷方式、卸载项),不再是解压版 zip
修复
- 修复客户端「无法安全下载」:下载地址从内网 HTTP Forgejo(
http://192.168.3.200:3000,公网不可达且被浏览器拦截)改为同源 HTTPShttps://jiu.51yanmei.com/downloads/...,Windows、macOS 均生效 - 部署时将最新安装包发布到 web 服务(
/opt/jiu/downloads/,nginx/downloads/提供),仅保留最新版本(清旧放新)
[1.0.9] - 2026-06-04
修复
- 适配 nginx 容器化部署:nginx 已迁入
pangolin-edge容器(host 网络),deploy 改为将 jiu.conf 写入 pangolin 挂载目录并docker exec pangolin-edge nginx -s reload,不再操作已废弃的主机 nginx
[1.0.8] - 2026-06-03
修复
- 修复 EC2 部署最后一步 nginx reload 失败(
invalid PID number):改用systemctl reload-or-restart nginx(经 systemd MAINPID 发 HUP,不依赖空的 /run/nginx.pid),并enable nginx确保重启后自启
[1.0.7] - 2026-06-03
修复
- 修复 Windows 构建
PathExistsException(errno 183):复制 client/ 到 C:\jiu-build 后,先清除 cp 复制成真实目录的插件软链(windows/flutter/ephemeral)及 .dart_tool/build,再交给 flutter 干净重建
[1.0.6] - 2026-06-03
改进
- CI 运行环境自愈预置:mac/windows runner 首次构建自动
flutter precache并预热 pub/go/npm 缓存(stamp 文件按 Flutter 版本短路),后续构建不再运行时下载 engine - 发版流水线同一 mac runner 上的任务改为串行(build-macos 依赖 build-linux-web),避免排队等待超时失败
- 暂停定时数据库备份(保留手动触发)
[1.0.5] - 2026-06-03
修复
- 修复 Windows CI 构建失败:放弃脆弱的
subst W:路径映射,改为将 client/ 复制到 System32 之外的干净短路径(C:\jiu-build)构建,规避 WOW64 文件系统重定向
[1.0.4] - 2026-05-30
新功能
- 支持 macOS 桌面客户端下载,下载页 macOS 卡片已激活,下载 zip 解压即用
[1.0.3] - 2026-05-28
新功能
- 新增用户自助注册功能,在官网 /register/ 填写门店信息即可完成注册,系统自动生成门店编码(S000001 格式)
- 注册账号默认设为超级管理员权限
- 支持 Windows 桌面客户端构建与发布
修复
- 修复新门店首次登录时库存、仓库、用户等列表加载崩溃的问题
- 修复库存管理页在无数据时页面崩溃(RangeError)的问题
- 商品标签打印改为横向 38mm×20mm 布局,修复标签内容错位问题
- 修复数据导入中移除不必要的"商品编码"导入项
[1.0.2] - 2026-05-25
修复
- 打印入库单/出库单/商品标签时,若浏览器拦截了弹窗,现在会给出明确提示,不再静默失败
[1.0.1] - 2026-05-25
改进
- 库存搜索支持拼音和拼音首字母(例:搜"mt"或"maotai"可匹配"茅台")
- 库存搜索改为回车/点击触发,减少无效请求
- 新增异常自动上报机制,线上错误可实时追踪
[1.0.0] - 2026-05-24
初始版本发布,完成核心库存管理功能。
新功能
- 商品管理:多规格商品档案、图片、公开二维码扫码展示
- 库存管理:入库审核、出库审核、库存盘点、流水记录
- 财务管理:往来账目、对账单
- 用户权限:管理员 / 成员 / 只读三级权限控制
- 多租户隔离:门店数据完全独立
- Flutter Web 管理端(支持 PC 浏览器)
- 商品扫码公开展示页
- Excel 批量导入商品与库存