# toolScript **Repository Path**: ikunfami/tool-script ## Basic Information - **Project Name**: toolScript - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-21 - **Last Updated**: 2026-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ToolScript 前端辅助工具脚本集合,基于 Node.js 开发,用于自动化生成 API 接口代码、页面结构、批量文件以及资源上传等。 --- ## 安装依赖 ```bash npm install ``` > 阿里云 OSS 为可选依赖,如需使用请额外安装:`npm install ali-oss` --- ## 工具一览 | 命令 | 工具 | 功能 | |------|------|------| | `npm run gapiurl` | [generateApiByUrl](#generateapiurl) | 从 Apifox OpenAPI 自动生成前端 API 代码 | | `npm run uploadimg` | [uploadImgToOss](#uploadimgtooss) | 批量上传图片至阿里云 OSS / 腾讯云 COS | | `npm run generate` | [generateFiles](#generatefiles) | 按配置文件批量生成空文件/目录 | | `npm run generatepage` | [generatePages](#generatepages) | 按模板批量生成前端页面结构 | | `npm run gqrcode` | [generateQrcode](#generateqrcode) | 批量生成微信小程序二维码 | | `npm run gtree` | [generateDirTree](#generatedirtree) | 扫描并生成项目目录结构文档 | --- ## generateApiByUrl 从 Apifox 导出的 OpenAPI JSON 自动生成前端 API 接口代码。 ```bash npm run gapiurl ``` **配置**:编辑 `scripts/commands/generateApiByUrl/config.js` ```js const API_URL = 'http://127.0.0.1:4523/export/openapi/2?version=3.0&name=moduleName'; const TOAPI = ''; // 外部项目同步目录(可选) ``` **输出**:`src/api/[模块名]/` - `index.js` — 基础 API 请求函数 - `useGapi.js` — 业务层封装(带错误处理) - `exportGapiUrl.js` — API 路径映射表 --- ## uploadImgToOss 批量上传本地图片至阿里云 OSS 或腾讯云 COS。 ```bash npm run uploadimg npm run uploadimg -- --dir ./assets/images --dry-run npm run uploadimg -- --dir ./assets/images ``` **配置**:编辑 `scripts/commands/uploadImgToOss/config.js`,密钥建议通过环境变量传入。 | 参数 | 说明 | |------|------| | `--dir <目录>` / `-d` | 指定源图片目录 | | `--dry-run` | 试运行,只扫描不上传 | | `--overwrite` / `-o` | 覆盖已存在的远程文件 | | `--delete` | 上传成功后删除本地文件 | --- ## generateFiles 基于配置文件批量创建项目空文件和目录结构。 ```bash npm run generate npm run generate -- --target ./src npm run generate -- --dry-run ``` **配置**: - `scripts/commands/generateFiles/config.js` — 脚本级配置(目标目录等) - `scripts/commands/generateFiles/auto-generate.txt` — 文件路径列表(每行一个) | 参数 | 说明 | |------|------| | `--target <目录>` / `-t` | 指定生成目标目录 | | `--config <路径>` / `-c` | 指定文件列表配置 | | `--dry-run` / `-d` | 试运行预览 | --- ## generatePages 基于模板目录批量生成前端页面文件结构,支持自动更新 `pages.json`。 ```bash npm run generatepage npm run generatepage -- --target ./src/pages ``` **配置**: - `scripts/commands/generatePages/config.js` — 脚本级配置(目标目录、`autoUpdatePagesJson`) - `scripts/commands/generatePages/page-config.json` — 页面配置(主包 + 子包 + 模板路径) **模板目录**:`scripts/temPages/` --- ## generateQrcode 批量生成微信小程序二维码,支持日志去重复用。 ```bash npm run gqrcode ``` **配置**:`scripts/commands/generateQrcode/config.js` **输入**:`scripts/commands/generateQrcode/mini-code-list.txt`(每行一个页面路径) **特性**: - 首次生成后记录到 `qrcode_log.txt`,再次运行时自动复用历史二维码 - 输出目录以时间命名,内含二维码图片和结果汇总 `.txt` --- ## generateDirTree 扫描项目目录结构并生成 Markdown 文档,可选生成图片。 ```bash npm run gtree # 扫描项目根目录 npm run gtree -- --dir ./src # 扫描指定目录 npm run gtree -- --dir ./src/components ``` **配置**:`scripts/commands/generateDirTree/config.js` | 配置项 | 说明 | |--------|------| | `scanDir` | 默认扫描目录(空则扫描项目根目录) | | `outputMd` | Markdown 输出路径(默认 `directory-structure.md`) | | `outputPng` | 图片输出路径(默认 `directory-structure.png`) | | `generateImage` | 是否生成图片(需安装 `puppeteer`) | | `ignorePatterns` | 忽略规则数组(正则表达式) | | 参数 | 简写 | 说明 | |------|------|------| | `--dir <目录>` | `-d` | 指定扫描目录(覆盖配置) | **生成图片(可选)**: ```bash npm install puppeteer # 修改 config.js 中 generateImage: true npm run gtree ``` --- ## 项目结构 ``` toolScript/ ├── scripts/ │ ├── commands/ │ │ ├── generateApiByUrl/ # API 自动生成 │ │ ├── uploadImgToOss/ # 图片批量上传 │ │ ├── generateFiles/ # 批量文件生成 │ │ ├── generatePages/ # 页面批量生成 │ │ └── generateQrcode/ # 微信小程序二维码生成 │ └── lib/ │ └── logger.js # 统一日志工具 ├── src/ # 生成输出目录(api/、pages/ 等) ├── logs/ # 运行日志(自动生成,勿提交) ├── copyGapi/ # API 生成备份(自动生成,勿提交) ├── package.json ├── README.md └── AGENTS.md ``` --- ## 注意事项 1. **日志**:操作日志按天写入 `logs/generate-YYYY-MM-DD.log` 2. **备份**:`generateApiByUrl` 每次运行会在 `copyGapi/[时间戳]/` 下备份 before/after 3. **勿提交**:`logs/`、`copyGapi/`、`node_modules/`、运行时生成的文件请勿提交到 Git 4. **Windows 路径**:配置文件中写 Windows 路径时,JavaScript 字符串里 `\` 是转义字符,请使用正斜杠 `/` 或双反斜杠 `\\`