镜像自地址
https://github.com/lhly/cloud-drive-renamer.git
已同步 2026-10-21 14:04:01 +08:00
docs: 更新文档以反映最新版本和功能改进
- 更新RELEASE.md中的商店安装说明和链接 - 修正文档中隐私政策文件的路径引用 - 统一使用动态版本号生成zip包 - 优化截图处理脚本的使用说明 - 更新CLAUDE.md中的架构文档 - 修正README中的克隆链接和使用说明 - 更新SUBMISSION_GUIDE.md中的提交指南
这个提交包含在:
父节点
4c27a3e18c
当前提交
19ab871e21
4
.github/QUICKSTART.md
vendored
4
.github/QUICKSTART.md
vendored
@ -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) 获取详细指南和故障排查。
|
||||
|
||||
29
CLAUDE.md
29
CLAUDE.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
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
|
||||
```
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户