李岩岩 aca09ccf25 feat(M2.4): 图标定位显示 (v0.1.4)
- 图标显示在选中文本右上角(x + width, y)
- 使用 fixed 定位,不随页面滚动偏移
- 再次划词时先隐藏旧图标
- 点击页面空白处图标消失
2026-02-10 13:57:50 +08:00

133 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 沙拉查词开发文档总纲
> 项目概述、版本规则、模块索引
---
## 项目概述
- **项目名称**:沙拉查词
- **类型**Chrome Extension (Manifest V3)
- **核心功能**:划词翻译、多词典聚合查询
- **目标浏览器**Chrome 109+
**技术栈**:
- Chrome Extension Manifest V3
- JavaScript ES2022+
- Vue.js ^3.4.0 (Popup/Options)
- Vite ^5.0.0
- Node.js >= 18.0.0
- pnpm >= 9.0.0 (包管理器)
---
## 版本号规则
### 格式
`MAJOR.MINOR.PATCH`
| 位 | 含义 | 更新时机 |
|----|------|----------|
| MAJOR | 主版本 | 正式发布时设为 1 |
| MINOR | 模块号 | M1=0, M2=1, M3=2... |
| PATCH | 任务号 | 每个任务完成时 +1 |
### 版本与模块对应
| 模块 | 版本范围 | 任务数 | 描述 |
|------|----------|--------|------|
| M1 | 0.0.1 ~ 0.0.5 | 5 | 基础架构 |
| M2 | 0.1.1 ~ 0.1.9 | 9 | 划词核心 |
| M3 | 0.2.1 ~ 0.2.11 | 11 | 词典系统 |
| M4 | 0.3.1 ~ 0.3.8 | 8 | Popup查词 |
| M5 | 0.4.1 ~ 0.4.16 | 16 | 设置系统 |
| M6 | 0.5.1 ~ 0.5.7 | 7 | 触发方式 |
| M7 | 0.6.1 ~ 0.6.6 | 6 | 右键菜单 |
| M8 | 0.7.1 ~ 0.7.10 | 10 | 生词本 |
| M9 | 0.8.1 ~ 0.8.7 | 7 | API账号 |
| M10 | 0.9.1 ~ 0.9.8 | 8 | 高级功能 |
| M11 | 0.10.1 ~ 1.0.0 | 10 | 优化发布 |
**总计**: 97个验收点 → 最终版本 `1.0.0`
### 版本流程示例
```
开始: 0.0.0
M1.1完成 → 0.0.1
...
M1.5完成 → 0.0.5 (M1完成)
M2.1完成 → 0.1.1 (进入M2MINOR+1)
...
M11.10完成 → 1.0.0 (正式发布)
```
---
## 当前状态
**当前版本**: `0.1.4`
**当前进度**: 9/97 (9%)
**下一任务**: [M2.5 图标点击事件](./M2.md#m25-图标点击事件--目标版本-0115)
---
## 文档索引
### 核心规范(必读)
| 文档 | 内容 |
|------|------|
| [AGENTS.md](./AGENTS.md) | 架构原则、代码风格、通信协议、安全规范 |
| [QUICK_REF.md](./QUICK_REF.md) | 版本速查、命名规范、代码模板 |
### 模块开发计划
| 文档 | 版本范围 | 任务数 | 关键产出 |
|------|----------|--------|----------|
| [M1.md](./M1.md) | 0.0.1-0.0.5 | 5 | 项目框架、构建配置、通信机制 |
| [M2.md](./M2.md) | 0.1.1-0.1.9 | 9 | 划词检测、图标、基础面板 |
| [M3.md](./M3.md) | 0.2.1-0.2.11 | 11 | 词典基类、必应/有道实现 |
| [M4.md](./M4.md) | 0.3.1-0.3.8 | 8 | Popup界面、搜索、历史、独立窗口 |
| [M5.md](./M5.md) | 0.4.1-0.4.16 | 16 | 6页设置系统 |
| [M6.md](./M6.md) | 0.5.1-0.5.7 | 7 | 多种触发方式配置 |
| [M7.md](./M7.md) | 0.6.1-0.6.6 | 6 | 右键菜单系统 |
| [M8.md](./M8.md) | 0.7.1-0.7.10 | 10 | 生词本、导入导出 |
| [M9.md](./M9.md) | 0.8.1-0.8.7 | 7 | 第三方API账号配置 |
| [M10.md](./M10.md) | 0.9.1-0.9.8 | 8 | 剪贴板、PDF支持、权限管理 |
| [M11.md](./M11.md) | 0.10.1-1.0.0 | 10 | 性能优化、国际化、发布 |
### 版本记录
| 文档 | 内容 |
|------|------|
| [VERSION.md](./VERSION.md) | 所有任务的完成状态和历史记录 |
---
## 开发流程
1. **阅读规范**: 开始前阅读 [AGENTS.md](./AGENTS.md) 和 [QUICK_REF.md](./QUICK_REF.md)
2. **查看模块**: 根据当前版本打开对应的模块文件(如 [M1.md](./M1.md)
3. **开发实现**: 按任务顺序实现,每个任务完成更新版本号
4. **提交验收**: 用户确认后更新 VERSION.md 并提交 commit
### Commit 格式
```bash
feat(M1.1): 任务描述 (v0.0.1)
```
---
## 快速命令
```bash
# 开发
npm run dev
# 构建
npm run build
# 版本更新(手动)
# 1. 修改 package.json version
# 2. 修改 manifest.json version
# 3. 更新 VERSION.md 任务状态
# 4. git commit -m "feat(Mx.x): 描述 (vx.x.x)"
```