 shenleiandClaude Sonnet 5
|
9ace2c8aca
|
feat: App_Store 打包也发钉钉通知,Ad_Hoc/App_Store 各自的 @ 名单
- App_Store 完成后同样发送钉钉通知:标题改为「【iOS】App_Store 包信息」,
下载链接为 IPA 地址,不带二维码。
- 钉钉 markdown 消息需在正文出现 @手机号 才会真正 @ 到人,故除 at.atMobiles
外同时在正文追加。
- 新增 upload.dingtalk.at_mobiles(Ad_Hoc)与 at_mobiles_app_store(App_Store)
两份名单,按 BUILD_TYPE 选用;配置页「钉钉通知」区新增两个输入框。
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01YZULZ8fkiaiJrxqf318xTn
|
2026-09-01 11:02:57 +09:00 |
|
 shenleiandClaude Sonnet 5
|
e10afb180d
|
feat: APP 配置新增企业微信 Schema,写入 Info.plist wxworkSchema 键
与微信登录 AppID 处理一致:填写则写入 Info.plist 的 wxworkSchema,
未配置则移除该键。前端「关联配置」区新增输入框,打包流程透传该字段。
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011wQh7H1Dn3TjQm87TyYgvf
|
2026-08-28 16:38:22 +09:00 |
|
 shenleiandClaude Opus 5
|
64715a2c9e
|
feat: 腾讯 AppID 自动补全 tencent 前缀
新增/编辑 App 时,腾讯 AppID 允许只填数字,后端统一归一化为
tencent 前缀;前端输入框失焦即时补全,保存前再校正一次。
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-08-04 12:27:36 +09:00 |
|
 shenleiandClaude Opus 5
|
21542c88d7
|
feat: 版本号按分支轨道分开管理,版本号配置收归管理员
master/develop 共用 release 轨(App_Store 打包构建号自增),feature 分支走
feature 轨(构建号永不自增,始终使用手填值),两条轨道的 App_Ver 各自独立。
- versions 改为 tracks 结构,旧的单轨/单值配置在加载时自动迁移进 release 轨
- 新增 config["branch_track"] 记录分支归属,缺省按分支名推断,可在分支管理页改
- 新增 PUT /api/config/branches/track;分支名含 / 时走请求体而非路径参数
- 修复 DELETE /api/config/branches/{name} 无法删除含 / 的分支(405)
- 版本号接口不再对普通用户开放,打包设置页整页改为管理员可见
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
2026-07-31 17:56:10 +09:00 |
|
 shenleiandClaude Opus 4.8
|
91e9b027e8
|
feat: 构建号按版本号(App_Ver)独立记录,避免回退旧版本号被 App Store 拒
将 versions.build_ver 单值改为 build_map(每个 App_Ver 独立记录已用到的最大
构建号)。App Store 的构建号唯一性按 MARKETING_VERSION 分别计算,改为单一全局
计数器时回退到打过包的旧版本号会重复(如 2.195.0 已到 .5,切 2.196.0 后再回退,
重置/沿用全局计数都会 < .5 而被拒)。
- config.py: 新增 _ensure_versions 迁移旧 build_ver → build_map;PUT /versions
不再重置构建号,改版本号仅切换当前 App_Ver,并支持可选手动设置 build_ver;
GET /versions 返回 build_map 及当前版本号对应的 build_ver
- build_service.py: App_Store 打包时在 build_map[app_ver] 自身上 +1 并回写
- ConfigView.vue: 打包设置页显示可编辑的 Build_Ver,修改 App_Ver 时自动切换为
该版本号已记录的构建号
- 迁移 config.json;更新前后端相关测试
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-29 16:49:14 +09:00 |
|
 shenleiandClaude Opus 4.8
|
605c09c88a
|
feat: 皮肤包上传区支持拖拽上传
- 抽出 uploadSkinFile 复用点击与拖拽两种上传方式
- 拖入时高亮上传区并提示,松开即触发上传
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-29 15:20:04 +09:00 |
|
 shenleiandClaude Opus 4.8
|
5014376b81
|
feat: 支持皮肤包就地更新与新建即传
- 新增皮肤包更新接口,覆盖内容保持文件名不变,避免 APP 配置的主题引用失效
- 上传新皮肤后自动为空主题目录的证书选中该皮肤
- 新建 APP 保存后不关弹窗并回填 upload_key,可直接上传皮肤
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
2026-07-29 15:14:08 +09:00 |
|
shenlei
|
de33b3d4b2
|
feat: 按环境前缀生成 Apps ID
|
2026-07-20 16:24:13 +09:00 |
|
shenlei
|
8747792a4b
|
feat: 根据应用版本自动重置构建版本
|
2026-07-20 16:03:59 +09:00 |
|
shenlei
|
89fb633b00
|
feat: 普通用户可维护应用版本号
|
2026-07-20 15:42:52 +09:00 |
|
shenlei
|
8c0bce45a4
|
fix: 将密码最小长度调整为 11 位
|
2026-07-20 15:11:02 +09:00 |
|
shenlei
|
3e3e4123d0
|
fix: 完善打包历史与登录提示
|
2026-07-20 14:54:06 +09:00 |
|
 shenandshen
|
a48909f3bc
|
feat: 强化打包配置与服务安全
|
2026-07-18 13:30:56 +08:00 |
|
 shenandshen
|
9384062b38
|
feat: 皮肤包上传管理功能,持久化数据目录
- 新增皮肤包上传/列表/删除 API(基于 upload_key)
- 构建时自动解压 ZIP 皮肤包应用到项目
- 配置和皮肤包迁移到 backend/data/ 目录,切分支不会丢失
- 旧式目录皮肤自动迁移为 ZIP 格式
- 前端皮肤包管理 UI(上传、删除、下拉选择)
- .gitignore 排除运行时数据目录
|
2026-06-09 10:24:14 +08:00 |
|
 shenandshen
|
48fdca12bd
|
feat: 多用户管理系统,管理员可分配用户
- 新增 users 数据库表,存储用户名、密码哈希、角色
- 启动时自动从 .env 创建初始管理员账号
- 登录改为数据库校验,不再硬编码比对
- 新增 /api/users 管理接口(仅管理员)
- ConfigView 新增用户管理页(创建、改密码、切换角色、删除)
|
2026-06-08 21:08:16 +08:00 |
|
 shenandshen
|
1cecf66d94
|
feat: 全站登录保护,管理后台仅管理员可访问
- tasks 路由级认证保护,所有 API 需登录
- 未登录时显示登录页面,不暴露导航和功能
- ConfigView 仅管理员可访问,普通用户显示权限提示
- BuildView/HistoryView 所有 API 请求携带 token
|
2026-06-08 20:59:13 +08:00 |
|
 shenandshen
|
e18f33d60f
|
fix: 认证系统、登录兼容性、运行时配置、钉钉通知及代码清理
- 实现 JWT 认证中间件,保护配置管理和任务删除接口
- 修复 ConfigView 登录按钮(Vue 3 inject 替代 $root)
- 页面刷新时通过 /api/auth/me 校验 token 有效性
- max_concurrent_builds 修改后运行时即时生效
- 实现钉钉 webhook 通知(构建成功/失败自动推送)
- 删除未使用的 useWebSocket composable
- log_streamer 使用 LOG_QUEUE_MAX_SIZE 配置常量
|
2026-06-08 20:35:05 +08:00 |
|
 shenandshen
|
75363ee276
|
feat: 版本号管理、构建日志持久化、App_Store 构建号自动递增
- 新增版本号配置 API(GET/PUT /api/config/versions)和前端管理界面
- 构建日志收集与保存:任务完成/取消/失败时写入 build.log
- 新增任务日志查询接口 GET /api/tasks/{task_id}/log
- App_Store 打包时自动递增 Build_Ver 第四位版本号
- 从 Provisioning Profile 自动提取 TEAM_ID 和 PROVISIONING_NAME
- 前端完成后支持查看完整构建日志
|
2026-06-08 11:23:15 +08:00 |
|
 shenandshen
|
898ec01560
|
feat: Scheme 显示名称、打包结果按类型显示、错误分类
- Scheme 配置新增 displayName 字段,下拉框和任务列表显示友好名称
- Ad_Hoc 类型显示下载二维码,App_Store 类型显示 IPA 下载链接
- 新增 error_category 错误分类(证书/描述文件/编译/依赖等)
- 打包服务增加详细错误分析和分类
|
2026-06-07 09:23:43 +08:00 |
|
 shenandshen
|
6f4f625c56
|
Initial commit: iOS Build Server
- FastAPI backend with build queue, WebSocket logs, task management
- Vue 3 frontend with build/config/history views
- Xcode project build automation with IPA export
- Fix: initialize build_dir before try block to ensure cleanup on early failure
|
2026-06-06 17:42:27 +08:00 |
|