go-dy/README.md
2025-10-28 16:50:24 +08:00

82 lines
3.3 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.

# 截图生成模板Vue 3 + TypeScript + Vite
一个基于 Vue 3 的前端项目,用于生成截图模板,支持登录、注册、验证码、图片上传与效果预览等功能。项目集成了 Pinia、Vue Router、Element Plus、TailwindCSS 等,开发体验友好、构建快速。
## 技术栈
- Vue 3、TypeScript、Vite
- Pinia、Vue Router
- Element Plus、TailwindCSS
- Axios
## 快速开始
1. 安装依赖
- `npm install`
2. 选择并启动应用(需要传入 appname
- 开发:`npm run dev -- dy`
- 构建:`npm run build -- dy`
- 预览:`npm run preview`
> 说明:`dy` 是示例 appname必须与 `config/index.json` 中的键一致。开发时写入 `.env.development` 并启动 Vite默认端口 `3001`),构建时写入 `.env.production` 并输出到 `html/`。
## 环境与配置
- `config/index.json` 管理多应用配置,示例:
```json
{
"dy": {
"appName": "dy",
"accountList": [16888888887, 16888888888, 16888888889]
}
}
```
- 启动/构建脚本会将所选应用写入 `.env.*`
- `VITE_APP_NAME`
- `VITE_APP_CONFIG`JSON 字符串)
- 前端通过 `src/config/index.ts` 读取并解析:
- `appName``appConfig`
- `imgHost` 将回退到 `appUrl`(若存在)
## 开发与构建
- 开发服务:`npm run dev -- dy`
- 写入 `.env.development`
- 启动命令:`vite --port 3001 --host`
- 访问 `http://localhost:3001/`
- 构建产物:`npm run build -- dy`
- 输出目录:`html/`
- 预览构建结果:`npm run preview`
- 默认端口见 `vite.config.ts`(示例:`8000`
## 接口与代理
- 统一通过 `/api` 访问后端接口(见 `vite.config.ts``server.proxy`)。
- 示例:`/api/login`、`/api/register`、`/api/captcha/new`、`/api/upload` 等
- 默认代理目标示例:`http://192.168.1.168:8090`(请按需修改)
- 响应拦截:
- 登录态失效(`code === 401`)自动跳转 `'/login'`
- 业务错误通过 `ElMessage` 提示
- `blob` 响应(验证码图片)直接返回原始数据,避免按业务码处理
## 主要功能模块
- 登录、注册与验证码
- 登录提交:账号、密码、验证码
- 注册提交:账号、密码、确认密码、验证码
- 验证码接口:`GET /api/captcha/new`,前端 `blob` 展示并支持刷新
- 截图生成与图片上传
- 图片上传走 `/api/upload`,上传成功后更新预览数据
- 头像、评论图片等均可在页面操作与替换
## 关键文件
- `src/views/common/login/index.vue`:登录/注册页,集成验证码展示与刷新逻辑
- `src/store/user.ts`:用户状态与登录提交逻辑(含验证码校验)
- `src/api/login.ts`:登录、注册、验证码 API 封装
- `src/request/index.ts`Axios 实例与拦截器401 处理、blob 直返)
- `vite.config.ts`Vite 插件、构建与开发代理配置
- `bin/index.js`:根据 `appname` 写入 `.env.*` 并调用 Vite开发/构建)
## 常见问题
- 开发脚本必须携带 `appname``npm run dev -- dy`
- 后端地址变化需修改 `vite.config.ts` 中代理目标
- 验证码刷新:前端会带时间戳参数避免缓存
- 401 未授权:自动清理登录态并跳转登录页
## 许可
本项目供内部或学习交流使用,若需开源协议请自行补充。