提交图

24 次代码提交

作者 SHA1 备注 提交日期
XuqmGroup
5e87a17765 feat(bug-collect): 所有视图新增应用选择器,API 调用补充 appKey 参数 2026-06-17 05:00:51 +08:00
XuqmGroup
b75efcefd8 feat(tenant-platform): 应用详情页显示 BugCollect 服务 + 服务管理菜单新增崩溃收集
- AppDetailView: 新增崩溃收集服务卡片(开通/关闭/跳转概览&错误列表)
- serviceLabel/serviceHelp: 补充 BUG_COLLECT 对应文案
- MainLayout: 服务管理子菜单新增「崩溃收集」入口(/services/bugcollect)
- router: 注册 services/bugcollect 路由 → BugCollectOverview

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 19:22:02 +08:00
XuqmGroup
90c9705ff1 feat(system): 添加系统更新检查和选择性更新功能
- 新增 streamSelectiveUpdate 函数支持选择性服务更新
- 添加 UpdateCheckResult 接口定义版本更新检查结果
- 实现 checkForUpdates 函数获取版本更新信息
- 在安全中心视图添加版本信息显示和更新检查按钮
- 添加选择性更新对话框支持按服务选择更新
- 实现版本管理视图中的实时更新通知配置
- 添加从 IM 导入灰度成员功能
- 移除应用密钥管理相关的重复组件实现
2026-06-11 14:11:06 +08:00
XuqmGroup
8abcf59147 feat(app): 支持多平台包名配置和应用信息编辑功能
- 后端增加至少填写一个平台包名的验证逻辑
- 前端调整应用数据模型,将包名字段改为可选类型
- 添加应用详情页的编辑功能和表单验证
- 优化应用列表页包名显示逻辑,支持多平台包名展示
- 重构应用配置指引页面,按平台分类展示商店配置指南
- 在版本管理页面增加包名配置检查和相应提示
- 新增应用信息编辑弹窗组件和相关业务逻辑
2026-06-11 13:04:28 +08:00
XuqmGroup
cd39c7fb30 feat(app): 添加重新生成应用配置文件功能
- 在AppController中新增regenerateConfigFile接口
- 在AppService中实现重新生成配置文件的业务逻辑
- 记录重新生成配置文件的操作日志
- 在前端API中添加重新生成功能调用方法
- 在应用详情页面添加重新生成按钮和确认对话框
- 实现重新生成配置文件的前端交互逻辑
2026-06-02 17:43:36 +08:00
XuqmGroup
348c04ba72 refactor(app): 将许可证文件功能替换为配置文件功能
- 替换 LicenseFileCrypto 为 ConfigFileCrypto 加密类
- 将 /license-file 相关接口重命名为 /config-file
- 修改数据库实体中的 licenseFileContent 字段为 configFileContent
- 更新前端 API 调用从 downloadLicenseFile 改为 downloadConfigFile
- 将安全中心的 License 文件解析功能改为 Config 文件解析
- 更新文件扩展名从 .xuqmlicense 改为 .xuqmconfig
- 修改后端服务方法 ensureLicenseFile 为 ensureConfigFile
- 调整加密解密逻辑以支持新的配置文件格式
2026-06-02 17:35:29 +08:00
XuqmGroup
655c5bc598 web: decouple license file download from license service status
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-22 17:57:01 +08:00
XuqmGroup
c4373c8cc1 feat: 全平台时间显示统一为北京时间 (Asia/Shanghai)
新增 formatTime 工具函数,强制使用 Asia/Shanghai 时区,
替换两个平台所有视图中裸 toLocaleString('zh-CN') 调用。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 16:09:55 +08:00
XuqmGroup
2b7857a820 fix(app-detail): License 文件下载行简化为纯下载按钮
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 15:31:53 +08:00
XuqmGroup
3c98850a36 feat(app-detail): 下载 license 文件移至应用信息卡片,附 SDK 接入引导
- 授权管理页不再显示下载入口
- 应用信息卡片新增 "SDK 接入文件" 行(LICENSE 开通后可见),
  包含下载按钮和 autoInitialize 使用说明

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-21 15:25:17 +08:00
XuqmGroup
6b891bee92 feat(tenant-platform): service activation realtime + store review retry
- Add IM real-time notification for service activation approval/rejection
  (LicenseManagementView, PushManagementView, AppDetailView)
- Add retry button for FAILED and REJECTED stores in version review detail
- Refactor storeReviewRealtime to single shared IM connection
- Bump @xuqm/vue3-sdk to 0.2.3 (fixes sendSync crash when SDK uninitialized)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-16 14:27:02 +08:00
XuqmGroup
02d64f1cb9 Add tenant license management 2026-05-15 21:00:24 +08:00
XuqmGroup
775e6c85e8 feat: unify app identity on appKey in platforms 2026-05-08 10:09:22 +08:00
XuqmGroup
f36d657bba feat: add quick service entry portal with in-page app switcher
- Add sidebar sub-menu for 服务管理 (IM / 离线推送 / 版本管理)
- Service pages load directly with optional appId route param
- Each service page shows a portal bar (app selector) when accessed via /services/* path
- Content is guarded with v-if so empty state shows when no app is selected
- Router-view keyed by path so component re-creates on app switch
- App-level package name split into Android/iOS/HarmonyOS fields
- Push vendor channel config: Xiaomi channelId, Huawei category, vivo category+receiptId, OPPO channelId
- Remove packageName from push vendor config (moved to app-level)
- Format device last-login time in push management view

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 13:53:02 +08:00
XuqmGroup
f24b467308 fix(push-management): 推送管理页改用 appKey 作为路由参数
push-service 按 appKey 存储推送 token,租户 app.id(UUID)
与 push-service 数据库字段不匹配,导致查无设备。
与 IM 管理页统一使用 app.appKey。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 08:36:44 +08:00
XuqmGroup
7b9e955c7e feat(push): 添加推送管理页面
在租户平台「离线推送」卡片中新增「推送管理 →」入口,新增
/apps/:appId/push-management 路由及 PushManagementView 页面。
页面支持按用户 ID 查询设备在线状态与注册设备列表、发送测试
离线推送消息、浏览设备登录日志。同步新增 push.ts API 客户端
及 vite 开发代理对 /api/push 的路由。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-05 23:18:02 +08:00
XuqmGroup
c2ff993e05 docs(deploy): 添加生产环境部署配置示例和部署文档
- 新增 .env.production.example 环境变量配置模板
- 添加 compose.production.yaml Docker Compose 部署配置
- 创建 web.Dockerfile 前端构建部署文件
- 编写详细的 README.md 部署文档,涵盖架构、配置、步骤等内容
- 添加离线推送架构设计文档
- 更新 IM 多平台进度跟踪文档
2026-04-30 09:49:05 +08:00
XuqmGroup
e47f510a0b feat(sdk): 添加鸿蒙SDK核心功能模块
- 实现SDKContext用于配置管理和数据持久化存储
- 定义完整的类型系统包括消息、用户、群组等接口
- 集成更新SDK支持原生应用和RN热更新检查
- 提供统一的XuqmSDK入口类和模块导出
- 编写详细的开发文档和使用示例
2026-04-29 19:08:13 +08:00
XuqmGroup
5c93a14941 docs(api): 添加联调接口文档并实现功能服务管理
- 创建了完整的 API 联调文档,包含各服务地址、ID 约定和鉴权规则
- 实现了 FeatureServiceManager 用于管理服务激活和配置功能
- 添加了安全配置确保各服务间正确的身份验证机制
- 定义了统一的响应格式和错误码处理规范
- 集成了 IM、推送和更新服务的管理接口实现
2026-04-29 16:07:22 +08:00
XuqmGroup
9c1dc4fbd7 docs(server): 添加服务器信息记录和联调接口文档
- 创建信息记录文档,包含项目管理要求、产物范围、Git仓库、制品仓库信息
- 添加服务器部署信息,包括应用服务器、MySQL/Redis服务器、Jenkins服务配置
- 记录邮件服务、DNS/HTTPS证书配置及安全备注
- 创建API联调文档,包含线上入口、ID约定、初始化管理员账号信息
- 添加统一响应格式、常见错误码、鉴权规则说明
- 提供核心接口清单,涵盖tenant-service、im-service、push-service等服务
- 补充curl示例,包含运营平台登录、IM登录、会话管理等操作示例
- 实现会话控制器,支持置顶、免打扰、标记已读、草稿等功能
- 添加全局异常处理器,统一处理业务异常和参数校验错误
- 创建IM管理控制器,提供用户管理、好友请求、黑名单等管理功能
2026-04-29 12:33:26 +08:00
XuqmGroup
662df6e090 feat(sample): 添加示例应用的核心功能模块
- 实现环境配置管理,支持外部和本地主机模式切换
- 集成Demo API接口,包含登录、注册、文件上传等功能
- 构建附件处理仓库,支持图片、视频、音频和文件发送
- 开发认证仓库,管理用户会话和IM令牌刷新机制
- 添加语音录制功能,支持实时音频消息录制
- 创建依赖注入容器,统一管理应用组件实例
- 实现登录界面,提供用户认证交互功能
- 开发聊天界面,集成消息收发和媒体处理功能
2026-04-28 16:08:07 +08:00
XuqmGroup
fdc9ae833b feat: appSecret security UX, IM admin management, remove SecretKey, CI pipeline
- AppDetailView: appSecret hidden by default, email verification to reveal/reset
- AppDetailView: remove per-service SecretKey, service enable requires ops approval request
- ImManagementView: add register user and create group dialogs
- app.ts/im.ts: update API types and add new endpoints
- Add Jenkinsfile for Web apps (yarn build → Docker → ACR → deploy)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 20:54:03 +08:00
XuqmGroup
74319eee4f feat: IM management + version management pages in tenant platform
- ImManagementView: user list with ban/unban, group list, stats cards
- VersionManagementView: App整包 and RN Bundle tabs with
  upload / publish / unpublish / gray release dialogs
- Add /apps/:appId/im and /apps/:appId/update routes
- AppDetailView: add "即时通讯管理 →" and "版本管理 →" links on service cards
- Add api/im.ts and api/update.ts clients
- Add .nvmrc (node 22)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-24 16:16:54 +08:00
XuqmGroup
aaed19de05 chore: initial commit 2026-04-21 22:07:29 +08:00