{"release":{"tag":{"name":"v0.2.0","path":"/TechFunWay/contract/tags/v0.2.0","tree_path":"/TechFunWay/contract/tree/v0.2.0","message":"发版：v0.2.0（飞牛新页面打开与登录重做、备份上传恢复）","commit":{"id":"ed2b7339566b9637f8a90df4f060188cc94db284","short_id":"ed2b733","title":"发版：v0.2.0（飞牛新页面打开与登录重做、备份上传恢复）","title_markdown":"发版：v0.2.0（飞牛新页面打开与登录重做、备份上传恢复）","description":"\n背景：\n合同管家首个正式发版 v0.2.0（开发库发版提交 ac577e9 + annotated tag v0.2.0），\n本发版库首次同步发行内容与全部产物。\n\n改动内容：\n- 同步应用源码与打包配置（server/web/fnpack/scripts/app.json 等），不带开发库的\n  AGENTS.md、docs、design、deploy、tmp、.claude、.gitea 等元数据\n- 根目录三份部署文件：docker-compose.yml（镜像 tag 钉死 v0.2.0）、\n  docker-compose.v0.2.0.yml（发行目录副本，便于按版本固定部署）、\n  docker-compose.latest.yml（Watchtower 自动跟随 latest）\n- CHANGELOG.md 补上 v0.2.0 小节；images/ 为 11 张 v0.2.0 实拍截图，README 带\n  「界面预览」区块\n- 新增 .github/workflows/sync-gitee.yml：push main 与 v* 标签后自动镜像到 Gitee\n\n关键处理：\n- 先做发版同步提交，再从该提交打 annotated tag v0.2.0，保证 tag 指向最终内容\n- 镜像工作流只同步代码与标签，Gitee 侧 Release 附件仍逐个上传\n\n验证结果：\n- 图片路径逐张核对存在；两份 compose 与开发库 deploy/ 内容一致（仅镜像 tag 不同）\n- 产物与开发库 release/v0.2.0/ 同名同源，压缩包无 ._ 与 .DS_Store","description_markdown":"背景：\n合同管家首个正式发版 v0.2.0（开发库发版提交 ac577e9 + annotated tag v0.2.0），\n本发版库首次同步发行内容与全部产物。\n改动内容：\n- 同步应用源码与打包配置（server/web/fnpack/scripts/app.json 等），不带开发库的\nAGENTS.md、docs、design、deploy、tmp、.claude、.gitea 等元数据\n- 根目录三份部署文件：docker-compose.yml（镜像 tag 钉死 v0.2.0）、\ndocker-compose.v0.2.0.yml（发行目录副本，便于按版本固定部署）、\ndocker-compose.latest.yml（Watchtower 自动跟随 latest）\n- CHANGELOG.md 补上 v0.2.0 小节；images/ 为 11 张 v0.2.0 实拍截图，README 带\n「界面预览」区块\n- 新增 .github/workflows/sync-gitee.yml：push main 与 v* 标签后自动镜像到 Gitee\n关键处理：\n- 先做发版同步提交，再从该提交打 annotated tag v0.2.0，保证 tag 指向最终内容\n- 镜像工作流只同步代码与标签，Gitee 侧 Release 附件仍逐个上传\n验证结果：\n- 图片路径逐张核对存在；两份 compose 与开发库 deploy/ 内容一致（仅镜像 tag 不同）\n- 产物与开发库 release/v0.2.0/ 同名同源，压缩包无 ._ 与 .DS_Store","message":"发版：v0.2.0（飞牛新页面打开与登录重做、备份上传恢复）\n\n背景：\n合同管家首个正式发版 v0.2.0（开发库发版提交 ac577e9 + annotated tag v0.2.0），\n本发版库首次同步发行内容与全部产物。\n\n改动内容：\n- 同步应用源码与打包配置（server/web/fnpack/scripts/app.json 等），不带开发库的\n  AGENTS.md、docs、design、deploy、tmp、.claude、.gitea 等元数据\n- 根目录三份部署文件：docker-compose.yml（镜像 tag 钉死 v0.2.0）、\n  docker-compose.v0.2.0.yml（发行目录副本，便于按版本固定部署）、\n  docker-compose.latest.yml（Watchtower 自动跟随 latest）\n- CHANGELOG.md 补上 v0.2.0 小节；images/ 为 11 张 v0.2.0 实拍截图，README 带\n  「界面预览」区块\n- 新增 .github/workflows/sync-gitee.yml：push main 与 v* 标签后自动镜像到 Gitee\n\n关键处理：\n- 先做发版同步提交，再从该提交打 annotated tag v0.2.0，保证 tag 指向最终内容\n- 镜像工作流只同步代码与标签，Gitee 侧 Release 附件仍逐个上传\n\n验证结果：\n- 图片路径逐张核对存在；两份 compose 与开发库 deploy/ 内容一致（仅镜像 tag 不同）\n- 产物与开发库 release/v0.2.0/ 同名同源，压缩包无 ._ 与 .DS_Store\n","message_markdown":"发版：v0.2.0（飞牛新页面打开与登录重做、备份上传恢复）\n背景：\n合同管家首个正式发版 v0.2.0（开发库发版提交 ac577e9 + annotated tag v0.2.0），\n本发版库首次同步发行内容与全部产物。\n改动内容：\n- 同步应用源码与打包配置（server/web/fnpack/scripts/app.json 等），不带开发库的\nAGENTS.md、docs、design、deploy、tmp、.claude、.gitea 等元数据\n- 根目录三份部署文件：docker-compose.yml（镜像 tag 钉死 v0.2.0）、\ndocker-compose.v0.2.0.yml（发行目录副本，便于按版本固定部署）、\ndocker-compose.latest.yml（Watchtower 自动跟随 latest）\n- CHANGELOG.md 补上 v0.2.0 小节；images/ 为 11 张 v0.2.0 实拍截图，README 带\n「界面预览」区块\n- 新增 .github/workflows/sync-gitee.yml：push main 与 v* 标签后自动镜像到 Gitee\n关键处理：\n- 先做发版同步提交，再从该提交打 annotated tag v0.2.0，保证 tag 指向最终内容\n- 镜像工作流只同步代码与标签，Gitee 侧 Release 附件仍逐个上传\n验证结果：\n- 图片路径逐张核对存在；两份 compose 与开发库 deploy/ 内容一致（仅镜像 tag 不同）\n- 产物与开发库 release/v0.2.0/ 同名同源，压缩包无 ._ 与 .DS_Store","detail_path":"/TechFunWay/contract/commit/ed2b7339566b9637f8a90df4f060188cc94db284","commits_path":"/TechFunWay/contract/commits/ed2b7339566b9637f8a90df4f060188cc94db284","tree_path":"/TechFunWay/contract/tree/ed2b7339566b9637f8a90df4f060188cc94db284","author":{"name":"techfunway","email":"techfunway@wycto.cn","username":null,"user_path":null,"enterprise_user_path":null,"image_path":"no_portrait.png#techfunway-","is_gitee_user":false,"is_enterprise_user":null,"widget_url":null},"committer":{"name":"techfunway","email":"techfunway@wycto.cn","username":null,"user_path":null,"enterprise_user_path":null,"image_path":"no_portrait.png#techfunway-","is_gitee_user":false,"is_enterprise_user":null,"widget_url":null},"authored_date":"2026-09-28T15:49:39+08:00","committed_date":"2026-09-28T16:24:23+08:00","signature":null,"build_state":null},"archive_path":"/TechFunWay/contract/repository/archive/v0.2.0","signature":null},"operating":{"edit":false,"download":true,"destroy":false,"enterprise_forbid_zip":false},"release":{"title":"v0.2.0 — 飞牛新页面打开与登录重做、备份上传恢复","path":"/TechFunWay/contract/releases/tag/v0.2.0","tag_path":"/TechFunWay/contract/tree/v0.2.0","project_id":50563249,"created_at":"2026-09-28T16:36:45+08:00","is_prerelease":false,"description":"合同管家 v0.2.0 — 飞牛深度适配与备份可迁移。\n\n## 新增 / 改进\n- 应用中心改为新页面打开：点应用图标直接在浏览器新标签页打开\n- 飞牛登录重做：打开应用自动带上飞牛登录态，刷新不掉线；手机端授权链路补齐\n- 修复飞牛手机 App 点图标打不开（ERR_CONNECTION_CLOSED）\n- 备份支持本地上传恢复：上传 .db 备份文件即可恢复（换机迁移）\n- 手机端布局紧凑化：管理表格改为卡片列表\n- 图标焕新：3D 立体 + 玻璃光滑风格\n\n## 安装 / 下载\n- 飞牛 fnOS：下载对应架构的 .fpk（x86 / arm64），应用中心 → 手动安装\n- Docker：docker pull techfunways/contract:v0.2.0（linux/amd64 + linux/arm64）\n- 裸二进制：linux / darwin / windows 压缩包解压即用","author":{"name":"wycto","username":"wycto","path":"/wycto","avatar_url":"https://foruda.gitee.com/avatar/1676921321825149574/588289_wycto_1605544709.png!avatar30"},"attach_files":[{"download_url":"/TechFunWay/contract/attach_files/3284257/download/techfunway-contract-v0.2.0-linux-amd64.tar.gz","name":"techfunway-contract-v0.2.0-linux-amd64.tar.gz","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/techfunway-contract-v0.2.0-linux-amd64.tar.gz","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284258/download/techfunway-contract-v0.2.0-linux-arm64.tar.gz","name":"techfunway-contract-v0.2.0-linux-arm64.tar.gz","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/techfunway-contract-v0.2.0-linux-arm64.tar.gz","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284259/download/techfunway-contract-v0.2.0-darwin-amd64.tar.gz","name":"techfunway-contract-v0.2.0-darwin-amd64.tar.gz","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/techfunway-contract-v0.2.0-darwin-amd64.tar.gz","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284260/download/techfunway-contract-v0.2.0-darwin-arm64.tar.gz","name":"techfunway-contract-v0.2.0-darwin-arm64.tar.gz","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/techfunway-contract-v0.2.0-darwin-arm64.tar.gz","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284261/download/techfunway-contract-v0.2.0-windows-amd64.zip","name":"techfunway-contract-v0.2.0-windows-amd64.zip","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/techfunway-contract-v0.2.0-windows-amd64.zip","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284263/download/techfunway-contract_v0.2.0_x86.fpk","name":"techfunway-contract_v0.2.0_x86.fpk","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/techfunway-contract_v0.2.0_x86.fpk","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284267/download/techfunway-contract_v0.2.0_arm64.fpk","name":"techfunway-contract_v0.2.0_arm64.fpk","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/techfunway-contract_v0.2.0_arm64.fpk","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284268/download/docker-compose.latest.yml","name":"docker-compose.latest.yml","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/docker-compose.latest.yml","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284269/download/docker-compose.v0.2.0.yml","name":"docker-compose.v0.2.0.yml","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/docker-compose.v0.2.0.yml","censor_failed":false,"censor_tip":null},{"download_url":"/TechFunWay/contract/attach_files/3284274/download/techfunway-contract-v0.2.0-multiarch.oci.tar","name":"techfunway-contract-v0.2.0-multiarch.oci.tar","cli_download_url":"https://gitee.com/TechFunWay/contract/releases/download/v0.2.0/techfunway-contract-v0.2.0-multiarch.oci.tar","censor_failed":false,"censor_tip":null}],"zip_download_url":"/TechFunWay/contract/releases/tag/v0.2.0.zip","tar_download_url":"/TechFunWay/contract/releases/tag/v0.2.0.tar.gz"}}}