提交图

207 次代码提交

作者 SHA1 备注 提交日期
XuqmGroup
efa77abce9 fix(push): 修复推送平台配置选择器及在线时间显示
- PushConfigView: 新增平台选择器(Android/iOS/HarmonyOS),加载时固定默认 ANDROID,
  避免因激活服务平台顺序不同而静默保存到错误平台
- PushManagementView: 最后在线为空时降级显示设备最后登录时间,并加注释区分 IM 在线 vs 设备登录

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 14:12:24 +08:00
Jenkins CI
ceef2750c4 ci: bump tenant-web to 1.0.33 [skip ci] 2026-06-26 13:23:49 +08:00
XuqmGroup
68a56a3575 feat(push): 测试推送支持选择指定设备,默认最近登录设备
- 设备选择器显示全部设备,预选最近登录项
- sent=false && targetCount>0 时显示厂商拒绝提示
- testOffline API 新增 deviceId 参数

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 13:22:07 +08:00
Jenkins CI
dc1ed28532 ci: bump tenant-web to 1.0.32 [skip ci] 2026-06-26 12:33:01 +08:00
XuqmGroup
6f89da4362 feat(push): Token 复制按钮 + romVersion 显示
- PushManagementView: 系统版本列新增 romVersion 子行显示(灰色小字)
- Token 预览列新增"复制"按钮,点击后调管理端接口获取完整 token 并复制到剪贴板
- DeviceInfo 接口添加 romVersion 字段
- pushAdminApi 新增 getDeviceToken 方法

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 12:25:14 +08:00
Jenkins CI
b94883d6e0 ci: bump tenant-web to 1.0.31 [skip ci] 2026-06-25 18:39:59 +08:00
XuqmGroup
efdbfafeb7 feat(push-management): 在服务门户栏添加「厂商凭据配置」快速跳转
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 18:38:03 +08:00
Jenkins CI
fe75fb6d09 ci: bump tenant-web to 1.0.30 [skip ci] 2026-06-25 17:55:09 +08:00
XuqmGroup
af552ad58e fix(push-config): 移除平台切换开关和服务状态,修复凭据保存不生效问题
- 删除"配置平台"切换 UI(Android/iOS/鸿蒙分段选择器)和推送服务开关
- 删除"服务状态"显示(页面可达即已开通,显示"未开通"逻辑有误)
- 修复厂商凭据保存:前端直接将 PushServiceConfig 作为 body,
  服务端 FeatureServiceConfigRequest 期望 pushConfig 字段包裹,
  导致 req.pushConfig() 始终为 null,vendors 从未实际写入。
  改为发送 { pushConfig: payload } 使服务端正确解析。
- loadData 改为优先选取已启用的 PUSH 服务平台

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 17:53:50 +08:00
Jenkins CI
963bd67bf7 ci: bump tenant-web to 1.0.29 [skip ci] 2026-06-25 17:24:31 +08:00
Jenkins CI
f7d85b0567 ci: bump tenant-web to 1.0.28 [skip ci] 2026-06-24 17:36:12 +08:00
Jenkins CI
7166cb069f ci: bump tenant-web to 1.0.27 [skip ci] 2026-06-24 17:29:05 +08:00
XuqmGroup
c8e6d84533 debug: 打印 svcVersion 和 SERVICE_VERSION 值 [skip ci] 2026-06-24 17:28:19 +08:00
Jenkins CI
e03540973e ci: bump tenant-web to 1.0.26 [skip ci] 2026-06-24 17:27:00 +08:00
XuqmGroup
a81e7ecfab fix: 从 versionedImage 提取版本号传给 docker build,绕过 env.SERVICE_VERSION 在 bat GString 中求值为空的问题
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 17:26:37 +08:00
Jenkins CI
8fa9856aa0 ci: bump tenant-web to 1.0.25 [skip ci] 2026-06-24 17:24:26 +08:00
XuqmGroup
fca47fc14c fix: Jenkinsfile docker build 改用 %SERVICE_VERSION% 替换 Groovy 插值,修复 label 始终为 0.0.0
${env.SERVICE_VERSION} 在 bat 块中 Groovy 插值求值为空,导致 --build-arg SERVICE_VERSION 缺失,
Docker 回落 ARG 默认值 0.0.0。改用 Windows bat 原生环境变量 %SERVICE_VERSION% 展开。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 17:23:56 +08:00
Jenkins CI
02e05bf444 ci: bump tenant-web to 1.0.24 [skip ci] 2026-06-24 17:15:31 +08:00
XuqmGroup
1cd9dcb159 fix: Dockerfile.tenant 在 LABEL 前加 RUN 写文件,修复 BuildKit inline cache 不追踪 ARG 变化导致 label 始终为 0.0.0
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 17:14:58 +08:00
Jenkins CI
b7ef602b29 ci: bump tenant-web to 1.0.23 [skip ci] 2026-06-24 17:13:03 +08:00
Jenkins CI
96997736bb ci: bump tenant-web to 1.0.22 [skip ci] 2026-06-23 12:30:02 +08:00
XuqmGroup
9413a5ea5c feat(sourcemap): 隐藏文件路径,显示 Build ID,添加删除按钮,倒序排列
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 12:05:03 +08:00
Jenkins CI
d05874bc15 ci: bump tenant-web to 1.0.21 [skip ci] 2026-06-22 18:43:10 +08:00
XuqmGroup
55cd65899c fix(bugcollect): 补充缺失的 statusTag/statusLabel/formatTime 函数
这三个函数在模板中调用但未在 script 中定义,导致 TypeScript 编译失败。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 18:41:37 +08:00
XuqmGroup
e2b85c76a4 fix(bugcollect): 修复趋势图不显示 — API 响应结构为 {issueId, points[]} 而非数组
trend API 返回 { issueId, points: [...] },前端误以为是数组直接调用 .map()
导致 TypeError 被 catch 静默吞掉,图表从不渲染。
修复:正确读取 res.data.data.points,并更新类型定义。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 18:39:44 +08:00
XuqmGroup
563a8d8af6 fix: BugCollect 前端空 catch 块添加错误提示
修复:
- BugCollectIssues.vue - 添加 ElMessage.error
- BugCollectEvents.vue - 添加 ElMessage.error
- BugCollectRankFreq.vue - 添加 ElMessage.error
- BugCollectRankRisk.vue - 添加 ElMessage.error
- BugCollectSourcemaps.vue - 添加 ElMessage.error

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-19 19:38:49 +08:00
XuqmGroup
2c4dcaf130 refactor: 抽取 BugCollect 公共辅助函数
新增:
- utils/bugCollect.ts - levelTag/statusTag/statusLabel/formatTime/platformTagType

重构:
- BugCollectOverview.vue - 使用公共 levelTag
- BugCollectIssues.vue - 使用公共辅助函数
- BugCollectEvents.vue - 使用公共 formatTime
- BugCollectSourcemaps.vue - 使用公共辅助函数
- BugCollectRankFreq.vue - 使用公共辅助函数
- BugCollectRankRisk.vue - 使用公共辅助函数
- BugCollectIssueDetail.vue - 使用公共辅助函数

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-19 19:38:49 +08:00
Jenkins CI
34b12781c3 ci: bump tenant-web to 1.0.20 [skip ci] 2026-06-19 03:11:30 +08:00
Jenkins CI
19dc24d057 ci: bump tenant-web to 1.0.19 [skip ci] 2026-06-19 03:05:14 +08:00
XuqmGroup
7b3ef8189e feat: 添加 Sourcemap 管理页面
- 新增 BugCollectSourcemaps.vue 组件
- 添加路由 /bugcollect/sourcemaps
- 添加导航菜单项
- 展示已上传的 Sourcemap 列表
- 包含使用说明(Android/RN/手动上传)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-19 03:02:57 +08:00
Jenkins CI
bff566f778 ci: bump tenant-web to 1.0.18 [skip ci] 2026-06-19 02:17:40 +08:00
XuqmGroup
563a2c5628 fix: bugcollect 时间显示时区问题 - 追加 Z 表示 UTC 再转本地时间
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-19 02:16:17 +08:00
Jenkins CI
1645e5a04e ci: bump tenant-web to 1.0.17 [skip ci] 2026-06-19 01:56:19 +08:00
XuqmGroup
1dc188b2be feat: update 统计图表 + bugcollect ECharts 图表增强 + 修复字段映射
- update: 新增版本分布/设备分布/厂商分布/日趋势统计图表(ECharts)
- update: 添加 echarts 依赖
- bugcollect: 概览页新增 5 张 ECharts 图表(级别/状态/平台/版本分布 + 每日趋势)
- bugcollect: 高频/高危排行页添加横向柱状图
- bugcollect: Issue 详情页添加趋势双轴折线图
- bugcollect: 漏斗页替换为 ECharts 漏斗图
- bugcollect: 修复 type→level、isResolved→status 字段引用
- bugcollect: 新增 statistics 和 issueTrend API

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-19 01:23:32 +08:00
XuqmGroup
bb52b8e0b7 docs: 更新文档站各平台集成指南(BugCollect/配置文件/setUserInfo)
- android/setup.md: 新增 sdk-bugcollect、配置文件、BugCollect 章节
- ios/setup.md: 新增配置文件章节、setUserInfo
- rn/setup.md: withXuqmConfig Metro 插件、@xuqm/rn-bugcollect
- flutter/setup.md: 新增配置文件章节
- harmony/setup.md: 新增配置文件章节
- guide/quickstart.md: 更新配置文件获取流程
- guide/concepts.md: 新增 BugCollect 服务概念
- guide/flow.md: 更新服务流程

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-18 15:35:13 +08:00
XuqmGroup
b63886e585 fix(ci): echo 中文改为 bat+chcp65001 修复 Jenkins 控制台乱码
Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-18 12:16:25 +08:00
Jenkins CI
4121d30364 ci: bump tenant-web to 1.0.16 [skip ci] 2026-06-18 11:45:45 +08:00
XuqmGroup
eb85e53d3f fix(jenkins): 修复Jenkins构建中的字符编码和API参数问题
- 在Jenkinsfile中添加JAVA_TOOL_OPTIONS环境变量设置UTF-8编码
- 在Windows批处理命令前添加chcp 65001命令解决中文字符显示问题
- 修复BugCollectIssues组件中API参数从type改为level
- 修复BugCollectWebhooks组件中API字段映射eventTypes到events和cooldownSeconds到cooldownSec
- 更新webhook请求数据结构以匹配后端API要求
2026-06-18 11:14:34 +08:00
XuqmGroup
66414f7987 fix(bugcollect): 修复问题详情页字段映射,新增设备信息/状态管理
- 修复 level/release 字段未显示(原引用了废弃的 type/appVersion)
- 新增设备信息卡片(解析 device JSON 展示型号/系统/内存等)
- 新增状态管理操作栏(标记已解决/忽略/重新打开/删除)
- 修复事件列表使用 exception.value/stacktrace(新格式)
- 新增 reopenIssue API 方法

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 10:47:52 +08:00
XuqmGroup
a58d25fc24 fix(bugcollect-web): 修复前端 API 类型与后端对齐
- BugCollectIssue: type→level, isResolved→status, appVersion→release, 新增 affectedUsers/assignee
- BugCollectEventItem: 扁平 message/stack/metadata 字段替换为 exception 对象结构,与 IssueEventResponse 对齐
- BugCollectWebhook: eventTypes/cooldownSeconds→events/cooldownSec,新增 hasSecret,移除 updatedAt
- BugCollectWebhookRequest: 新增独立请求类型,含 secret 字段
- 新增 resolveIssue / ignoreIssue / assignIssue / deleteIssue / bulkUpdateIssues / issueEvents API
- frequencyRanking / riskRanking 支持 from/to/limit 参数
- issues() 新增 assignee / environment / q / status 过滤参数
- webhooks.create 改为直接传 BugCollectWebhookRequest(移除冗余 appKey params)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-18 09:27:43 +08:00
Jenkins CI
11f11eac34 ci: bump tenant-web to 1.0.15 [skip ci] 2026-06-17 10:25:22 +08:00
XuqmGroup
6d6fd3363e fix(bugcollect): 更新 IssueDetail 视图对齐后端 IssueResponse 字段
移除不存在的字段(status/osVersion/deviceModel/affectedUsers/stackTrace/sourceContext/recentEvents),
改用 isResolved/events[].stack/events 替代,通过 TypeScript 类型检查。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 10:24:01 +08:00
XuqmGroup
3676241f6a fix(bugcollect): 对齐前后端接口契约
- bugcollect.ts: issues/events 请求参数重映射(startDate/endDate→from/to,eventName→name,page 0-based+1→backend 1-based)
- BugCollectPageResult: content/totalElements → items/total(匹配后端 PageResult<T>)
- BugCollectIssue: 字段对齐 IssueResponse(id:number,isResolved,移除 affectedUsers/status)
- BugCollectEventItem: 字段对齐 IssueEventResponse(message/stack/createdAt,移除 eventName/timestamp/properties)
- BugCollectIssueRanking: 同步 isResolved,移除 affectedUsers
- 所有视图表格列更新为实际存在的字段

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 10:21:00 +08:00
Jenkins CI
9cc6a53256 ci: bump tenant-web to 1.0.14 [skip ci] 2026-06-17 10:11:30 +08:00
XuqmGroup
7c97a7b90e fix(bugcollect): 修复 overview loadData 的 TypeScript 类型错误 — 改用可选链替代 ?? {}
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 10:10:20 +08:00
XuqmGroup
c8224bf598 fix(bugcollect): 修复 undefined.length 崩溃 — 所有视图加 gateStatus 守卫和 null safety
- 所有视图 loadData/loadWebhooks:首行加 gateStatus !== 'enabled' 守卫,避免 appKey 为空或服务未开通时发请求
- 所有视图加 watch(gateStatus) 监听,服务开通后自动刷新数据
- 所有响应体数组赋值改为 ?? [],防止后端返回 null/undefined 时 el-table 访问 .length 崩溃
- BugCollectOverview:maxRate computed 改用 crashRateTrend ?? [] 防止 undefined.map 崩溃

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 10:07:36 +08:00
Jenkins CI
b83df44444 ci: bump tenant-web to 1.0.13 [skip ci] 2026-06-17 05:31:31 +08:00
XuqmGroup
fb5e9753a3 feat(bugcollect): 将崩溃收集移为服务管理子菜单,并增加服务开通校验
- MainLayout: 移除独立的 bug-collect 顶级子菜单,改为嵌套在服务管理下的 services-bugcollect 子菜单(桌面 + 移动抽屉均已同步)
- openedMenus: /bugcollect/* 路径下同时展开 services 和 services-bugcollect
- FeatureService.serviceType: 补充 BUG_COLLECT 枚举值
- appApi.requestActivation: 支持 BUG_COLLECT 服务类型
- useBugCollectApp: 增加 gateStatus / serviceEnabled / checkingService;appKey 变化时自动调用 getServices 检查 BUG_COLLECT 是否已开通;提供 applyDialogVisible / submitActivation 申请流程
- 全部 7 个 BugCollect 视图: 替换原 !appKey 判断为 gateStatus 四态门控(no-app / loading / not-enabled / enabled),并附加申请开通对话框

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-17 05:27:53 +08:00
Jenkins CI
2d650d2b7a ci: bump tenant-web to 1.0.12 [skip ci] 2026-06-17 05:02:45 +08:00
XuqmGroup
5e87a17765 feat(bug-collect): 所有视图新增应用选择器,API 调用补充 appKey 参数 2026-06-17 05:00:51 +08:00