docs: 更新文档以反映最新版本和功能改进

- 更新RELEASE.md中的商店安装说明和链接
- 修正文档中隐私政策文件的路径引用
- 统一使用动态版本号生成zip包
- 优化截图处理脚本的使用说明
- 更新CLAUDE.md中的架构文档
- 修正README中的克隆链接和使用说明
- 更新SUBMISSION_GUIDE.md中的提交指南
这个提交包含在:
Zain 2025-12-30 13:05:02 +08:00
父节点 4c27a3e18c
当前提交 19ab871e21
共有 11 个文件被更改,包括 155 次插入 和 139 次删除

查看文件

@ -29,7 +29,7 @@ npm run verify:release
## 📚 详细文档
- **[RELEASE.md](./RELEASE.md)** - 完整的发布流程指南
- **[RELEASE.md](../RELEASE.md)** - 完整的发布流程指南
- **[.github/workflows/README.md](./workflows/README.md)** - 工作流配置说明
## 🎯 自动化功能
@ -56,4 +56,4 @@ git push origin feature/my-feature
---
**需要帮助?** 查看 [RELEASE.md](./RELEASE.md) 获取详细指南和故障排查。
**需要帮助?** 查看 [RELEASE.md](../RELEASE.md) 获取详细指南和故障排查。

查看文件

@ -88,7 +88,8 @@ npm run resize large-promo # Large promo tile (1400x560)
**Adapter Pattern for Platform Support:**
- `src/adapters/base/adapter.interface.ts` - Base adapter interface
- `src/adapters/quark/` - Quark Drive implementation
- `src/adapters/aliyun/` and `src/adapters/baidu/` - Planned for future
- `src/adapters/aliyun/` - Aliyun Drive implementation
- `src/adapters/baidu/` - Baidu Pan implementation
**Strategy Pattern for Rename Rules:**
- `src/rules/base-rule.ts` - Base rule class
@ -106,15 +107,20 @@ npm run resize large-promo # Large promo tile (1400x560)
**Content Script Architecture:**
```
Content Script (ISOLATED world)
├── UI Components (Lit Web Components)
│ ├── rename-dialog.ts - Main dialog
│ ├── rename-preview.ts - Preview list
│ ├── progress-dialog.ts - Progress tracking
│ └── floating-button.ts - Trigger button
├── FloatingButton (Shadow DOM)
│ └── src/content/components/floating-button.ts
├── Main Panel (Lit Web Components)
│ ├── file-selector-panel.ts - 3-column container (config / list / preview)
│ ├── config-panel.ts - Rule config + execution/progress
│ ├── file-list-panel.ts - Search/filter/select + virtual list
│ └── preview-panel.ts - Preview + conflict/status + virtual list
└── Platform Adapter Integration
Page Script (MAIN world) - For API interception
└── src/adapters/quark/page-script.ts
└── src/adapters/{quark,aliyun,baidu}/page-script.ts (dynamically injected)
Dialog Page (extension iframe, optional/legacy UI)
└── src/dialog/ (hosts rename-dialog/rename-preview, if used)
```
**Message Communication:**
@ -139,8 +145,8 @@ Page Script (MAIN world) - For API interception
**Manifest V3 Requirements:**
- Service Worker background script (not persistent)
- Separate content scripts for ISOLATED and MAIN worlds
- Web-accessible resources for iframe-based dialog
- Content script runs in ISOLATED world; platform page-scripts are injected into MAIN world via `<script>` (see `injectPageScriptToMainWorld()` in `src/content/index.ts`)
- Web-accessible resources are used for MAIN-world page-scripts and optional dialog pages
- Host permissions for target cloud platforms
**Build Configuration:**
@ -167,8 +173,9 @@ Page Script (MAIN world) - For API interception
When adding a new platform adapter:
1. **Implement `PlatformAdapter` interface:**
- `getSelectedFiles()` - Extract selected files from DOM
- `renameFile(fileId, newName)` - Call platform API
- `getSelectedFiles()` - Extract selected files from DOM (optional for some flows)
- `getAllFiles(parentId?)` - Fetch full file list via API (used by file selector panel)
- `renameFile(fileId, newName)` - Call platform API (returns `RenameResult`)
- `checkNameConflict(fileName, parentId)` - Validate uniqueness
- `getFileInfo(fileId)` - Fetch file metadata

103
README.md
查看文件

@ -162,7 +162,7 @@
#### 1. 克隆项目
```bash
git clone https:///lhly/cloud-drive-renamer.git
git clone https://github.com/lhly/cloud-drive-renamer.git
cd cloud-drive-renamer
```
@ -193,7 +193,7 @@ npm run build
### 快速验证
访问 [夸克网盘](https://pan.quark.cn/list#/list/all),选择文件后应能看到批量重命名按钮。
访问 [夸克网盘](https://pan.quark.cn/list#/list/all),页面右侧会出现 **悬浮按钮**(可拖拽)。点击即可打开批量重命名面板。
---
@ -202,22 +202,25 @@ npm run build
### 基础使用流程
#### 1. 打开云盘页面
访问支持的云盘平台(如夸克网盘)。
访问支持的云盘平台(如夸克网盘),并进入需要处理的目录。
#### 2. 选择文件
勾选需要重命名的文件或文件夹。
#### 2. 打开批量重命名面板
点击页面右侧的 **悬浮按钮**,打开“文件选择器”面板(左/中/右三栏)。
#### 3. 点击重命名按钮
在工具栏或浮动按钮中找到批量重命名功能。
#### 3. 选择需要处理的文件
在中间栏的文件列表中进行选择:
- 默认全选当前目录的文件
- 支持搜索、按类型筛选、全选/取消全选
- 可单独勾选/取消勾选文件或文件夹
#### 4. 配置规则
选择重命名规则类型并设置参数。
在左侧栏选择重命名规则类型并设置参数。
#### 5. 预览结果
查看预览列表,确认所有变更符合预期。
在右侧栏查看预览列表,确认所有变更符合预期(包含冲突提示)。
#### 6. 执行重命名
点击确认按钮,系统自动批量执行。
点击执行按钮,系统自动批量执行;执行进度与结果会在面板内实时显示。部分平台支持在执行后自动同步页面文件列表。
### 实战示例
@ -342,10 +345,12 @@ format: "{n}번" // → 001번, 002번
- **技术栈**:Lit Web Components
- **位置**:`src/content/components/`
- **组件**:
- `rename-dialog`:主重命名对话框
- `rename-preview`:预览列表
- `progress-dialog`:进度追踪
- `floating-button`:浮动触发按钮
- `floating-button`:悬浮按钮(Shadow DOM 注入、拖拽/位置记忆、可在 Popup 中隐藏)
- `file-selector-panel`:主面板(三栏容器:规则配置 / 文件列表 / 预览)
- `config-panel`:规则选择与参数配置、执行/暂停/取消、进度与同步状态
- `file-list-panel`:文件列表(搜索、类型筛选、全选/取消全选)
- `preview-panel`:预览结果(冲突提示、执行状态)
- `virtual-file-list` / `virtual-preview-list`:大列表虚拟渲染提升性能
### 项目结构
@ -361,18 +366,23 @@ src/
├── content/ # Content Scripts
│ ├── index.ts # 入口文件
│ └── components/ # Lit Web Components
│ ├── rename-dialog.ts
│ ├── rename-preview.ts
│ ├── progress-dialog.ts
│ └── floating-button.ts
│ ├── floating-button.ts
│ ├── file-selector-panel.ts
│ ├── config-panel.ts
│ ├── file-list-panel.ts
│ ├── preview-panel.ts
│ ├── search-box.ts
│ ├── toolbar.ts
│ ├── virtual-file-list.ts
│ └── virtual-preview-list.ts
├── adapters/ # 平台适配器
│ ├── base/ # 适配器基类和接口
│ │ └── adapter.interface.ts
│ ├── quark/ # 夸克网盘适配器
│ │ ├── quark.ts
│ │ └── errors.ts
│ ├── aliyun/ # 阿里云盘(规划中)
│ └── baidu/ # 百度网盘(规划中)
│ ├── aliyun/ # 阿里云盘适配器
│ └── baidu/ # 百度网盘适配器
├── rules/ # 重命名规则
│ ├── base-rule.ts # 规则基类
│ ├── rule-factory.ts # 规则工厂
@ -437,9 +447,6 @@ npm run lint
# 自动修复代码问题
npm run lint:fix
# 格式化代码
npm run format
# TypeScript 类型检查
npm run typecheck
```
@ -673,29 +680,20 @@ describe('PrefixRule', () => {
#### E2E 测试示例
```typescript
// tests/e2e/rename.spec.ts
// tests/e2e/panel-open.spec.ts (示例)
import { test, expect } from '@playwright/test';
test('should rename files on Quark drive', async ({ page }) => {
test('should open file selector panel on Quark drive', async ({ page }) => {
await page.goto('https://pan.quark.cn/list#/list/all');
await page.waitForLoadState('networkidle');
await page.waitForTimeout(2000); // 等待扩展注入
// 选择文件
await page.click('.file-checkbox');
// 点击悬浮按钮(Shadow DOM)
await page.locator('#cloud-drive-renamer-shadow-host >>> .floating-button').click();
// 打开重命名对话框
await page.click('.rename-button');
// 配置规则
await page.fill('#prefix-input', 'test_');
// 预览
await page.click('.preview-button');
await expect(page.locator('.preview-item')).toContainText('test_');
// 执行
await page.click('.execute-button');
await expect(page.locator('.success-message')).toBeVisible();
// 面板应出现
await expect(page.locator('file-selector-panel >>> .panel-overlay')).toBeVisible();
});
```
@ -729,13 +727,14 @@ test('should rename files on Quark drive', async ({ page }) => {
### 安装和使用
**Q: 为什么安装后找不到重命名按钮?**
**Q: 为什么安装后找不到悬浮按钮/面板打不开?**
A: 请检查:
1. 扩展是否正确加载(访问 `chrome://extensions/` 确认)
2. 是否访问了支持的网盘平台
3. 是否选中了文件
4. 刷新页面后重试
3. 是否处于分享链接页面(分享页通常不注入 UI)
4. 在扩展 Popup 中确认“显示悬浮按钮”未被关闭
5. 刷新页面后重试
**Q: 为什么重命名失败?**
@ -787,15 +786,15 @@ A: 请在 GitHub Issues 中提交,包含:
## 🗺️ 路线图
### 当前版本 (v0.1.0)
- ✅ 夸克网盘支持
- ✅ 5 种基础重命名规则
- ✅ 实时预览功能
- ✅ 批量执行引擎
### 当前版本 (v0.4.1)
- ✅ 夸克/阿里/百度网盘支持
- ✅ 悬浮按钮 + 文件选择器三栏面板(规则配置/文件列表/预览)
- ✅ 搜索/类型筛选/大列表虚拟滚动
- ✅ 实时预览与冲突提示
- ✅ 执行进度展示,部分平台支持执行后同步页面列表
- ✅ 多语言(zh_CN / zh_TW / en)
### 计划中 (v0.2.0)
- 🔄 阿里云盘完整支持
- 🔄 百度网盘完整支持
### 计划中
- 🔄 规则模板保存与分享
- 🔄 历史记录和撤销功能
@ -825,7 +824,7 @@ A: 请在 GitHub Issues 中提交,包含:
## 📞 联系我们
- **问题反馈**:[GitHub Issues](https:///lhly/cloud-drive-renamer/issues)
- **问题反馈**:[GitHub Issues](https://github.com/lhly/cloud-drive-renamer/issues)
- **功能建议**:[GitHub Discussions](https://github.com/lhly/cloud-drive-renamer/discussions)
- **邮件联系**:lhlyzh@qq.com

查看文件

@ -181,8 +181,9 @@ git push origin v0.2.0
5. 选择解压后的文件夹
```
2. **Chrome Web Store(未来)**
- Phase 2 实施后可通过商店自动更新
2. **通过浏览器商店安装(推荐)**
- Chrome Web Store: https://chromewebstore.google.com/detail/kadpaidccbagkojkdghnkpehkmmbobll
- Microsoft Edge Add-ons: https://microsoftedge.microsoft.com/addons/detail/kdfapbfjaoigjlbhjdnkhkkpnggnhkjp
---

查看文件

@ -213,30 +213,32 @@ node scripts/resize-screenshots.js small-promo --position=top
3. **宽高比**:工具会自动保持原图宽高比,不会变形
4. **文件覆盖**:输出目录如果存在同名文件会被覆盖
## 在 package.json 中添加快捷命令
## 已内置的 npm 命令(推荐)
可以在 `package.json` 中添加:
```json
{
"scripts": {
"resize:screenshots": "node scripts/resize-screenshots.js screenshot",
"resize:logo": "node scripts/resize-screenshots.js logo",
"resize:promo-small": "node scripts/resize-screenshots.js small-promo",
"resize:promo-large": "node scripts/resize-screenshots.js large-promo",
"resize:all": "node scripts/resize-screenshots.js screenshot && node scripts/resize-screenshots.js logo && node scripts/resize-screenshots.js small-promo"
}
}
```
然后使用:
本项目已在 `package.json` 中内置参数化脚本 `npm run resize`,无需再添加多个 `resize:*` 命令:
```bash
npm run resize:screenshots # 处理商店截图
npm run resize:logo # 处理 Logo
npm run resize:all # 一次生成所有
# 商店截图 (1280x800)
npm run resize screenshot
# 小尺寸截图 (640x400)
npm run resize screenshot-small
# Logo (300x300)
npm run resize logo
# 小促销图 (440x280)
npm run resize small-promo
# 大促销图 (1400x560)
npm run resize large-promo
# 查看所有可用预设
npm run resize
```
更多参数(输入/输出目录、背景色、位置等)请参考 `docs/SCRIPTS.md`。
## 常见问题
### Q: 为什么要使用透明背景?

查看文件

@ -3,9 +3,13 @@
## 📦 必需文件检查
### 扩展包
- [ ] `cloud-drive-renamer-v0.1.0.zip` - 生产构建的扩展包
- [ ] `cloud-drive-renamer-v{version}.zip` - 生产构建的扩展包
- 位置: 项目根目录
- 创建方法: `npm run build && cd dist && zip -r ../cloud-drive-renamer-v0.1.0.zip . && cd ..`
- 创建方法:
```bash
VERSION=$(node -p "JSON.parse(require('fs').readFileSync('package.json','utf8')).version")
npm run build && cd dist && zip -r ../cloud-drive-renamer-v${VERSION}.zip . && cd ..
```
### 图标
- [x] `public/icons/icon128.png` - 128x128 主图标
@ -18,10 +22,10 @@
- [x] `screenshots/store/cdr-03.png` - 执行进度截图
### 文档
- [x] `store-assets/chrome-web-store-listing.md` - Chrome商店列表
- [x] `store-assets/edge-addons-listing.md` - Edge商店列表
- [x] `store-assets/PRIVACY_POLICY.md` - 隐私政策
- [x] `store-assets/SUBMISSION_GUIDE.md` - 提交指南
- [x] `docs/store-assets/chrome-web-store-listing.md` - Chrome商店列表
- [x] `docs/store-assets/edge-addons-listing.md` - Edge商店列表
- [x] `docs/store-assets/PRIVACY_POLICY.md` - 隐私政策
- [x] `docs/store-assets/SUBMISSION_GUIDE.md` - 提交指南
---
@ -134,12 +138,13 @@ cat dist/manifest.json | jq .
# - host_permissions正确
# 5. 创建扩展包
VERSION=$(node -p "JSON.parse(require('fs').readFileSync('package.json','utf8')).version")
cd dist
zip -r ../cloud-drive-renamer-v0.1.0.zip .
zip -r ../cloud-drive-renamer-v${VERSION}.zip .
cd ..
# 6. 检查zip包内容
unzip -l cloud-drive-renamer-v0.1.0.zip
unzip -l cloud-drive-renamer-v${VERSION}.zip
```
### Chrome安装测试
@ -188,7 +193,7 @@ unzip -l cloud-drive-renamer-v0.1.0.zip
```bash
# 1. 复制隐私政策到项目根目录
cp store-assets/PRIVACY_POLICY.md ./PRIVACY_POLICY.md
cp docs/store-assets/PRIVACY_POLICY.md ./PRIVACY_POLICY.md
# 2. 提交到Git
git add PRIVACY_POLICY.md

查看文件

@ -194,8 +194,9 @@ npm test
npm run build
# 3. 创建扩展包
VERSION=$(node -p "JSON.parse(require('fs').readFileSync('package.json','utf8')).version")
cd dist
zip -r ../cloud-drive-renamer-v0.1.0.zip .
zip -r ../cloud-drive-renamer-v${VERSION}.zip .
cd ..
```
@ -235,7 +236,7 @@ git push origin main
## 📋 提交前检查清单(简化版)
### 必需文件
- [ ] 扩展包 `cloud-drive-renamer-v0.1.0.zip`
- [ ] 扩展包 `cloud-drive-renamer-v{version}.zip`
- [ ] 图标 `icon128.png`
- [ ] 至少3张截图
- [ ] 隐私政策已发布到可访问的URL

查看文件

@ -34,11 +34,14 @@ ls -la dist/
### 2. 打包扩展
```bash
# 获取当前版本号(来自 package.json)
VERSION=$(node -p "JSON.parse(require('fs').readFileSync('package.json','utf8')).version")
# 进入dist目录
cd dist
# 创建zip包
zip -r ../cloud-drive-renamer-v0.1.0.zip .
zip -r ../cloud-drive-renamer-v${VERSION}.zip .
# 返回项目根目录
cd ..
@ -55,9 +58,9 @@ cd ..
### 4. 准备文档
- [x] Chrome商店列表: `store-assets/chrome-web-store-listing.md`
- [x] Edge商店列表: `store-assets/edge-addons-listing.md`
- [x] 隐私政策: `store-assets/PRIVACY_POLICY.md`
- [x] Chrome商店列表: `docs/store-assets/chrome-web-store-listing.md`
- [x] Edge商店列表: `docs/store-assets/edge-addons-listing.md`
- [x] 隐私政策: `docs/store-assets/PRIVACY_POLICY.md`
---
@ -73,7 +76,7 @@ cd ..
### 第二步:创建新商品
1. 在开发者控制台,点击 **"New Item"**
2. 上传扩展包 `cloud-drive-renamer-v0.1.0.zip`
2. 上传扩展包 `cloud-drive-renamer-v{version}.zip`
3. 等待上传完成
### 第三步:填写商店列表信息
@ -100,7 +103,7 @@ cd ..
#### 详细描述
从 `store-assets/chrome-web-store-listing.md` 复制"详细描述"部分的中文内容。
从 `docs/store-assets/chrome-web-store-listing.md` 复制"详细描述"部分的中文内容。
#### 图形资产
@ -122,11 +125,11 @@ cd ..
#### 隐私设置
1. **Privacy Policy(隐私政策)**
- 上传 `store-assets/PRIVACY_POLICY.md` 到GitHub
- 填写URL: `https://github.com/lhly/cloud-drive-renamer/blob/main/store-assets/PRIVACY_POLICY.md`
- 上传 `docs/store-assets/PRIVACY_POLICY.md` 到GitHub(或复制到项目根目录并发布)
- 填写URL: `https://github.com/lhly/cloud-drive-renamer/blob/main/docs/store-assets/PRIVACY_POLICY.md`
2. **Permissions(权限说明)**
- 填写从 `store-assets/chrome-web-store-listing.md` 复制的"权限用途说明"
- 填写从 `docs/store-assets/chrome-web-store-listing.md` 复制的"权限用途说明"
3. **Data Usage(数据使用)**
- 选择: **"This item does not collect user data"**
@ -172,7 +175,7 @@ cd ..
### 第三步:创建新扩展提交
1. 点击 **"Create new extension"**
2. 上传扩展包 `cloud-drive-renamer-v0.1.0.zip`
2. 上传扩展包 `cloud-drive-renamer-v{version}.zip`
3. 等待上传和自动验证完成
### 第四步:填写商店列表信息
@ -218,7 +221,7 @@ cd ..
```
4. **Long description(详细描述)**
- 从 `store-assets/edge-addons-listing.md` 复制中文版本的"完整描述"
- 从 `docs/store-assets/edge-addons-listing.md` 复制中文版本的"完整描述"
5. **Screenshots(截图)**
- 上传以下文件并添加说明:
@ -231,7 +234,7 @@ cd ..
##### English列表
重复上述步骤,使用英文内容(从 `store-assets/edge-addons-listing.md` 获取)
重复上述步骤,使用英文内容(从 `docs/store-assets/edge-addons-listing.md` 获取)
#### Availability(可用性)
@ -245,7 +248,7 @@ cd ..
1. **Privacy policy URL(隐私政策URL)**
```
https://github.com/lhly/cloud-drive-renamer/blob/main/store-assets/PRIVACY_POLICY.md
https://github.com/lhly/cloud-drive-renamer/blob/main/docs/store-assets/PRIVACY_POLICY.md
```
2. **Website(网站)**
@ -257,7 +260,7 @@ cd ..
- Email: `lhlyzh@qq.com`
4. **Permissions justification(权限说明)**
- 从 `store-assets/edge-addons-listing.md` 复制"数据使用说明"
- 从 `docs/store-assets/edge-addons-listing.md` 复制"数据使用说明"
### 第五步:提交审核

查看文件

@ -163,7 +163,7 @@ This project is open-sourced under MIT License. Contributions and suggestions ar
- 所有数据本地存储和处理
- 不与第三方共享数据
详细隐私政策请参见: `store-assets/PRIVACY_POLICY.md`
详细隐私政策请参见: `docs/store-assets/PRIVACY_POLICY.md`
## 支持信息

查看文件

@ -247,7 +247,7 @@ rename, batch rename, file rename, cloud drive, cloud storage, quark drive, file
## 隐私政策
详细隐私政策请参见: `store-assets/PRIVACY_POLICY.md`
详细隐私政策请参见: `docs/store-assets/PRIVACY_POLICY.md`
隐私政策URL (发布后需要更新):
- https://github.com/lhly/cloud-drive-renamer/blob/main/PRIVACY_POLICY.md
@ -265,7 +265,7 @@ rename, batch rename, file rename, cloud drive, cloud storage, quark drive, file
- **功能建议**: https://github.com/lhly/cloud-drive-renamer/discussions
### 版本历史
- **当前版本**: 0.1.0
- **当前版本**: 0.4.1
- **更新日期**: 2025年
## 定价和分发

查看文件

@ -9,8 +9,8 @@
mkdir -p screenshots
cp your-images/* screenshots/
# 2. 运行 npm 命令处理
npm run resize:screenshots
# 2. 运行 npm 命令处理(商店截图 1280x800)
npm run resize screenshot
# 3. 获取结果
ls screenshots/store/
@ -50,22 +50,24 @@ screenshots/
```bash
# 商店截图 (1280x800)
npm run resize:screenshots
npm run resize screenshot
# 小尺寸截图 (640x400)
npm run resize:screenshots-small
npm run resize screenshot-small
# Logo (300x300)
npm run resize:logo
npm run resize logo
# 小促销图 (440x280)
npm run resize:promo-small
npm run resize small-promo
# 大促销图 (1400x560)
npm run resize:promo-large
npm run resize large-promo
# 一次生成所有尺寸
npm run resize:all
# 一次生成所有尺寸(示例)
for preset in screenshot screenshot-small logo small-promo large-promo; do
npm run resize $preset
done
```
### 直接运行脚本
@ -93,16 +95,16 @@ node scripts/resize-screenshots.js screenshot-small
```bash
# 白色背景
npm run resize:logo -- --background=white
npm run resize logo -- --background=white
# 顶部对齐
npm run resize:screenshots -- --position=top
npm run resize screenshot -- --position=top
# 自定义背景色
npm run resize:screenshots -- --background=#F5F5F5
npm run resize screenshot -- --background=#F5F5F5
# 组合选项
npm run resize:logo -- --background=white --position=center
npm run resize logo -- --background=white --position=center
```
### 直接运行脚本
@ -124,26 +126,22 @@ node scripts/resize-screenshots.js screenshot --background=#F5F5F5
## ✨ 可用的 npm 命令
项目已配置以下便捷命令:
项目已配置统一的 `npm run resize` 命令(通过参数选择预设):
| 命令 | 说明 | 输出目录 |
|------|------|----------|
| `npm run resize:screenshots` | 商店截图 (1280x800) | `screenshots/store/` |
| `npm run resize:screenshots-small` | 小尺寸截图 (640x400) | `screenshots/small/` |
| `npm run resize:logo` | Logo (300x300) | `screenshots/logo/` |
| `npm run resize:promo-small` | 小促销图 (440x280) | `screenshots/promo-small/` |
| `npm run resize:promo-large` | 大促销图 (1400x560) | `screenshots/promo-large/` |
| `npm run resize:all` | 生成所有尺寸 | 所有子目录 |
| `npm run resize screenshot` | 商店截图 (1280x800) | `screenshots/store/` |
| `npm run resize screenshot-small` | 小尺寸截图 (640x400) | `screenshots/small/` |
| `npm run resize logo` | Logo (300x300) | `screenshots/logo/` |
| `npm run resize small-promo` | 小促销图 (440x280) | `screenshots/promo-small/` |
| `npm run resize large-promo` | 大促销图 (1400x560) | `screenshots/promo-large/` |
### 高级用法示例
```bash
# 生成白色背景的 Logo
npm run resize:logo -- --background=white
npm run resize logo -- --background=white
# 生成顶部对齐的商店截图
npm run resize:screenshots -- --position=top
# 一次性生成所有格式(推荐用于发布前)
npm run resize:all
npm run resize screenshot -- --position=top
```