192 lines
3.1 KiB
Markdown
192 lines
3.1 KiB
Markdown
# 星图增强插件
|
||
|
||
这是一个供公司内部使用的 Chrome MV3 插件,用于增强巨量星图达人市场页面的使用体验。
|
||
|
||
主要功能:
|
||
|
||
- 在星图达人列表页补充插件侧数据列
|
||
- 支持勾选部分达人后导出 CSV
|
||
- 支持将达人数据提交为批次
|
||
- 集成 Logto 登录
|
||
- 支持内部压缩包分发后通过 `Load unpacked` 安装
|
||
|
||
当前固定扩展 ID:
|
||
|
||
- `pkjopdibdnomhogjheclhnknmejccffg`
|
||
|
||
---
|
||
|
||
## 一、项目目录
|
||
|
||
- `src/`
|
||
- 插件源码
|
||
- `dist/`
|
||
- 开发构建产物
|
||
- `dist-release/`
|
||
- 内部分发构建产物
|
||
- `release/`
|
||
- 打包后的内部交付压缩包
|
||
- `docs/`
|
||
- 项目说明文档
|
||
- `tests/`
|
||
- 自动化测试
|
||
- `scripts/`
|
||
- 构建和打包脚本
|
||
|
||
---
|
||
|
||
## 二、开发环境
|
||
|
||
安装依赖:
|
||
|
||
```bash
|
||
npm install
|
||
```
|
||
|
||
运行测试:
|
||
|
||
```bash
|
||
npm test
|
||
```
|
||
|
||
开发构建:
|
||
|
||
```bash
|
||
npm run build
|
||
```
|
||
|
||
说明:
|
||
|
||
- `npm run build` 会生成开发版到 `dist/`
|
||
- 开发版包含本地调试需要的宽权限
|
||
|
||
---
|
||
|
||
## 三、内部交付构建
|
||
|
||
生成内部使用构建:
|
||
|
||
```bash
|
||
npm run build:release
|
||
```
|
||
|
||
生成内部压缩包:
|
||
|
||
```bash
|
||
npm run package:internal
|
||
```
|
||
|
||
生成结果:
|
||
|
||
- 构建目录:`dist-release/`
|
||
- 压缩包:`release/star-chart-search-enhancer-internal.zip`
|
||
|
||
说明:
|
||
|
||
- 这个压缩包不是给 Chrome 商店上传的
|
||
- 它是发给公司内部同事使用的交付包
|
||
- 同事收到后需要解压,再到 `chrome://extensions` 中 `Load unpacked`
|
||
|
||
---
|
||
|
||
## 四、插件安装方式
|
||
|
||
本项目当前采用公司内部手工安装方式:
|
||
|
||
1. 解压内部压缩包
|
||
2. 打开 `chrome://extensions`
|
||
3. 打开右上角 `开发者模式`
|
||
4. 点击 `加载已解压的扩展程序`
|
||
5. 选择解压后的插件文件夹
|
||
|
||
安装后请确认扩展 ID 是:
|
||
|
||
- `pkjopdibdnomhogjheclhnknmejccffg`
|
||
|
||
---
|
||
|
||
## 五、认证与配置
|
||
|
||
插件使用 Logto 登录。
|
||
|
||
认证配置位于:
|
||
|
||
- `src/shared/auth-config.ts`
|
||
|
||
当前主要配置包括:
|
||
|
||
- `logtoEndpoint`
|
||
- `appId`
|
||
- `apiResource`
|
||
- `scopes`
|
||
|
||
说明:
|
||
|
||
- popup 中的开发调试面板默认关闭
|
||
- 如果需要本地调试受保护接口,可以手动把 `enableDevAuthPanel` 改为 `true`
|
||
|
||
---
|
||
|
||
## 六、批次提交说明
|
||
|
||
提交批次时,前端当前会提交以下核心字段:
|
||
|
||
- `logtoUserId`
|
||
- `creatorName`
|
||
- `resource`
|
||
- `batchName`
|
||
- `createdAt`
|
||
- `authors`
|
||
|
||
说明:
|
||
|
||
- `batchId` 不再由前端生成
|
||
- 现在由后端生成 7 位数字批次 ID
|
||
|
||
---
|
||
|
||
## 七、重要文档
|
||
|
||
给内部同事的安装与使用说明:
|
||
|
||
- `docs/aigc-user-guide.md`
|
||
|
||
内部压缩包分发说明:
|
||
|
||
- `docs/internal-extension-distribution.md`
|
||
|
||
---
|
||
|
||
## 八、常用命令
|
||
|
||
```bash
|
||
npm install
|
||
npm test
|
||
npm run build
|
||
npm run build:release
|
||
npm run package:internal
|
||
```
|
||
|
||
---
|
||
|
||
## 九、维护注意事项
|
||
|
||
- 扩展 ID 已通过 `manifest.key` 固定
|
||
- 不要泄露本地私钥文件 `.local/extension-key.pem`
|
||
- 如果后端地址发生变化,需要同步更新:
|
||
- `scripts/manifest.mjs`
|
||
- 对应后端配置文件
|
||
- 相关文档
|
||
|
||
---
|
||
|
||
## 十、当前状态
|
||
|
||
当前项目已经支持:
|
||
|
||
- 新固定扩展 ID
|
||
- 内部压缩包分发
|
||
- 自定义批次名称弹窗
|
||
- 后台静默导出
|
||
- 批次提交不再由前端生成 `batchId`
|