- 将 Android SDK 的 mapping 上传端点从 /log/v1/sourcemaps/upload 更改为 /bugcollect/v1/sourcemaps/upload - 将 RN SDK 的 API 端点从 /log/v1/ 统一更改为 /bugcollect/v1/ - 在 LogQueue.ts 的请求体中添加 sentAt 时间戳和 SDK 信息 - 重构 BugCollect.ts 中的事件结构,将 appVersion 重命名为 release,添加 environment 和 sdk 字段 - 将 JS 错误上报的类型从 js_error 改为 issue,并调整错误级别分类 - 为 warn 和 info 方法添加完整的 issue 事件结构 - 在 types.ts 中添加新的数据类型定义,包括 Level、Platform、SdkInfo、ExceptionInfo 等 - 为 IssueEvent 添加详细的异常信息结构,包括类型、值和堆栈跟踪 - 添加完整的错误收集 API v1 规范审阅报告文档 - 在数据库迁移脚本中为日志表添加新字段,包括级别、环境、设备信息、SDK 信息等
35 行
1.0 KiB
JavaScript
35 行
1.0 KiB
JavaScript
'use strict'
|
||
|
||
/**
|
||
* withBugCollect(metroConfig)
|
||
* 包裹 Metro 配置,打 Release 包时自动上传 SourceMap。
|
||
* 当前为存根实现,后续补全 SourceMap 上传逻辑。
|
||
*/
|
||
function withBugCollect(metroConfig) {
|
||
return {
|
||
...metroConfig,
|
||
serializer: {
|
||
...metroConfig.serializer,
|
||
customSerializer: async (entryPoint, preModules, graph, options) => {
|
||
// 调用原始 serializer
|
||
const baseSerializer = metroConfig.serializer?.customSerializer
|
||
const result = baseSerializer
|
||
? await baseSerializer(entryPoint, preModules, graph, options)
|
||
: undefined
|
||
|
||
// 仅 Release 包上传 SourceMap(dev 模式跳过)
|
||
if (!options.dev) {
|
||
// TODO: 补全 SourceMap 上传逻辑
|
||
// 1. 读取 .xuqmconfig 或 xuqm.config.js 获取 bugCollectApiUrl
|
||
// 2. 读取 sourceMapUrl 对应的 .map 文件
|
||
// 3. 上传到 bugCollectApiUrl/bugcollect/v1/sourcemaps/upload
|
||
}
|
||
|
||
return result
|
||
},
|
||
},
|
||
}
|
||
}
|
||
|
||
module.exports = { withBugCollect }
|