Browse Source

清理环境

master
hejl 1 week ago
parent
commit
808a9fd28d
  1. 55
      gofaster/app/CONFIGURATION.md
  2. 115
      gofaster/app/DEVELOPMENT.md
  3. 110
      gofaster/app/DEVELOPMENT_ENHANCED.md
  4. 149
      gofaster/app/LOGIN_FEATURE.md
  5. 222
      gofaster/app/LOGIN_IMPROVEMENTS.md
  6. 214
      gofaster/app/TEST_LOGIN.md
  7. 65
      gofaster/app/fix-npm-start.bat
  8. 72
      gofaster/app/fix-npm-start.ps1
  9. 38
      gofaster/app/test-fix.bat
  10. BIN
      gofaster/backend/tmp/main.exe

55
gofaster/app/CONFIGURATION.md

@ -1,55 +0,0 @@ @@ -1,55 +0,0 @@
# GoFaster 应用配置说明
## 服务地址配置
GoFaster 应用支持多种方式配置服务连接地址,优先级从高到低如下:
### 1. 用户设置(最高优先级)
在应用的"用户设置"页面中,可以修改"API地址"字段。修改后会自动更新状态栏中显示的"服务地址"。
### 2. 环境变量配置
可以通过环境变量覆盖默认配置:
```bash
# 设置API基础地址
export VUE_APP_API_URL=http://your-server:8080
# 设置服务器地址
export VUE_APP_SERVER_URL=http://your-server:8080
# 设置WebSocket地址
export VUE_APP_WS_URL=ws://your-server:8080/ws
```
### 3. 默认配置(最低优先级)
如果上述配置都没有设置,应用将使用以下默认值:
- **开发环境**: `http://localhost:8080`
- **生产环境**: `https://your-production-domain.com`
- **测试环境**: `http://localhost:8081`
## 配置文件位置
- **应用配置**: `src/config/app.config.js`
- **环境配置**: `src/config/env.config.js`
- **用户设置**: 存储在浏览器的 `localStorage`
## 配置生效方式
1. **环境变量**: 需要重启应用才能生效
2. **用户设置**: 保存后立即生效,状态栏会实时更新
3. **默认配置**: 应用启动时自动加载
## 状态栏显示
状态栏中的"服务地址"字段会显示当前实际使用的服务地址,包括:
- 如果用户设置了自定义API地址,显示用户设置的地址
- 如果设置了环境变量,显示环境变量中的地址
- 否则显示默认配置中的地址
## 注意事项
- 修改API地址后,所有相关的API请求都会使用新的地址
- 确保新的服务地址可以正常访问,否则可能导致功能异常
- 生产环境建议使用HTTPS协议
- WebSocket地址需要与HTTP地址保持一致的协议(HTTP对应WS,HTTPS对应WSS)

115
gofaster/app/DEVELOPMENT.md

@ -1,115 +0,0 @@ @@ -1,115 +0,0 @@
# GoFaster 开发指南
## 解决Cursor终端中文乱码问题
由于PowerShell的编码问题,在运行`npm run dev`时可能会出现中文乱码。我们提供了多种解决方案:
### 方案1:使用稳定开发脚本(推荐)
```bash
npm run dev:stable
```
这个命令会:
- 自动设置控制台编码为UTF-8
- 设置正确的环境变量
- 构建Vue应用
- 使用稳定的Electron配置启动
- 包含错误处理和重试机制
### 方案2:使用批处理文件
```bash
npm run dev:bat
```
这个命令会:
- 自动设置控制台编码为UTF-8
- 设置环境变量
- 构建并启动应用
### 方案3:使用PowerShell脚本
```bash
npm run dev:ps
```
这个命令会:
- 设置PowerShell编码为UTF-8
- 设置环境变量
- 构建并启动应用
### 方案4:分步执行
如果上述方案仍有问题,可以分步执行:
```bash
# 第一步:构建Vue应用
npm run build:vue
# 第二步:启动Electron
electron .
```
## 解决热加载问题
### 常见热加载错误
1. **JavaScript注入失败**:`An object could not be cloned`
- 原因:注入的JavaScript包含无法序列化的对象
- 解决:使用`npm run dev:stable`启动
2. **页面重载失败**:频繁的文件变化导致重载问题
- 解决:已添加500ms防抖机制
3. **渲染进程崩溃**:开发环境不稳定
- 解决:使用稳定的Electron启动参数
### 稳定开发配置
`dev:stable`脚本包含以下稳定配置:
- `--disable-gpu`:禁用GPU加速,提高稳定性
- `--disable-software-rasterizer`:禁用软件光栅化
- `--disable-dev-shm-usage`:禁用开发共享内存
## 环境变量说明
- `VUE_CLI_BABEL_TRANSPILE_MODULES=false`: 禁用Babel模块转译
- `VUE_CLI_MODERN_BUILD=false`: 禁用现代构建模式
- `NODE_ENV=development`: 设置开发环境
## 故障排除
### 如果仍然出现乱码:
1. **检查PowerShell版本**:确保使用PowerShell 5.1或更高版本
2. **设置执行策略**:`Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser`
3. **使用Windows Terminal**:Windows Terminal对UTF-8支持更好
4. **检查系统区域设置**:确保系统支持UTF-8
### 如果热加载失败:
1. **使用稳定脚本**:`npm run dev:stable`
2. **清理构建缓存**:删除`dist`目录后重新构建
3. **检查文件权限**:确保有足够的文件读写权限
4. **重启开发环境**:完全关闭后重新启动
### 如果构建失败:
1. **清理缓存**:`npm run clean` 或删除 `node_modules``dist` 目录
2. **重新安装依赖**:`npm install`
3. **检查Node.js版本**:确保使用Node.js 16或更高版本
## 开发流程
1. 使用 `npm run dev:stable` 启动开发环境(推荐)
2. 修改代码后,应用会自动重新加载
3. 使用 `Ctrl+C` 停止开发服务器
## 注意事项
- 所有控制台输出都已改为英文,避免编码问题
- 应用界面仍然支持中文显示
- 字体配置已优化,确保中文正常显示
- 热加载已优化,包含错误处理和防抖机制
- 提供多种启动方式,适应不同环境需求

110
gofaster/app/DEVELOPMENT_ENHANCED.md

@ -1,110 +0,0 @@ @@ -1,110 +0,0 @@
# 🚀 GoFaster 增强版开发环境
## 📋 问题解决
本增强版开发环境解决了以下问题:
### 1. **中文乱码问题**
- ✅ 设置 UTF-8 编码
- ✅ 配置 PowerShell 编码
- ✅ 设置环境变量 LANG 和 LC_ALL
### 2. **日志信息少的问题**
- ✅ 启用详细日志级别 (INFO)
- ✅ 配置 Webpack 统计信息
- ✅ 添加构建进度条
- ✅ 增强错误和警告显示
## 🛠 使用方法
### **方法 1: PowerShell 脚本(推荐)**
```powershell
# 标准模式
npm run dev:enhanced
# 调试模式
npm run dev:enhanced -Debug
# 监听模式
npm run dev:enhanced -Watch
```
### **方法 2: 批处理脚本**
```cmd
# 标准模式
npm run dev:enhanced-bat
```
### **方法 3: 直接命令**
```bash
# 标准模式
npm run dev
# 调试模式
npm run dev:debug
# 监听模式
npm run dev:watch
```
## 🔧 新增功能
### **1. 编码设置**
- 自动设置 UTF-8 编码
- 配置环境变量 LANG 和 LC_ALL
- 设置 Node.js 选项
### **2. 日志增强**
- 详细构建信息
- 进度条显示
- 错误详情展示
- 警告信息过滤
### **3. 依赖管理**
- 自动检查依赖
- 自动安装 cross-env
- 内存优化设置
### **4. 错误处理**
- 友好的错误提示
- 故障排除建议
- 状态码检查
## 📁 文件说明
| 文件 | 说明 |
|------|------|
| `dev-enhanced.ps1` | PowerShell 增强脚本 |
| `dev-enhanced.bat` | 批处理增强脚本 |
| `.npmrc` | npm 配置文件 |
| `vue.config.js` | Vue CLI 增强配置 |
## 🚨 故障排除
### **中文仍然乱码**
1. 确保使用 PowerShell 或 CMD
2. 检查系统区域设置
3. 使用 `npm run dev:enhanced` 脚本
### **日志信息仍然很少**
1. 使用 `npm run dev:debug` 命令
2. 检查 `vue.config.js` 配置
3. 确保 `cross-env` 已安装
### **构建失败**
1. 清除 `node_modules` 并重新安装
2. 检查 Node.js 版本 (推荐 v16+)
3. 查看详细错误日志
## 💡 最佳实践
1. **推荐使用 PowerShell 脚本**:更好的编码支持和错误处理
2. **开发时使用监听模式**:自动重新构建
3. **调试时使用调试模式**:获取详细信息
4. **定期清理缓存**:避免构建问题
## 🔄 更新日志
- **v1.0.0**: 基础增强功能
- **v1.1.0**: 添加调试和监听模式
- **v1.2.0**: 优化错误处理和用户提示

149
gofaster/app/LOGIN_FEATURE.md

@ -1,149 +0,0 @@ @@ -1,149 +0,0 @@
# GoFaster 登录功能说明
## 功能概述
GoFaster 前端应用已成功集成了完整的用户登录系统,包括:
- 🔐 登录弹窗组件
- 📱 响应式设计
- 🔒 验证码支持
- 💾 本地状态管理
- 🎨 主题适配
## 使用方法
### 1. 显示登录弹窗
登录弹窗可以通过以下两种方式触发:
#### 方式一:点击顶部导航栏的"登录"按钮
- 在未登录状态下,顶部导航栏会显示"🔐 登录"按钮
- 点击即可打开登录弹窗
#### 方式二:点击首页的登录按钮
- 在首页的欢迎区域,未登录状态下会显示登录提示
- 点击"立即登录"按钮即可打开登录弹窗
### 2. 登录流程
1. **获取验证码**:弹窗打开时自动获取验证码图片
2. **填写信息**
- 用户名:输入您的用户名
- 密码:输入您的密码
- 验证码:输入图片中显示的4位验证码
3. **提交登录**:点击"登录"按钮提交
4. **验证码刷新**:点击验证码图片可刷新获取新的验证码
### 3. 默认账号
系统提供了默认的管理员账号用于测试:
- **用户名**:`sysadmin`
- **密码**:`sysadmin@123`
## 技术实现
### 组件结构
```
MainLayout.vue (主布局)
├── LoginModal.vue (登录弹窗)
├── Toast.vue (消息提示)
└── 其他组件...
```
### 状态管理
- 使用 Vue 3 Composition API
- 通过 `provide/inject` 在组件间共享登录状态
- 本地存储用户信息和登录状态
### 后端接口
登录功能需要后端提供以下接口:
1. **获取验证码**:`GET /api/auth/captcha`
2. **用户登录**:`POST /api/auth/login`
### 配置说明
前端配置位于 `src/config/app.config.js`,默认连接 `http://localhost:8080/api`
## 样式特性
### 主题适配
- 支持深色/浅色主题切换
- 使用 CSS 变量实现主题一致性
- 响应式设计,支持移动端
### 动画效果
- 弹窗滑入动画
- 加载状态指示器
- 平滑的过渡效果
## 错误处理
- 网络连接失败提示
- 验证码错误处理
- 登录失败重试机制
- 表单验证提示
## 安全特性
- 密码输入框隐藏内容
- 验证码防机器人
- Token 认证机制
- 自动登出处理
## 开发说明
### 添加新的登录相关功能
1. 在 `LoginModal.vue` 中添加新的表单字段
2. 在 `userService.js` 中添加对应的 API 调用
3. 在 `MainLayout.vue` 中处理新的状态变化
### 自定义样式
登录弹窗的样式可以通过修改 `LoginModal.vue` 中的 CSS 变量来调整:
```css
:root {
--primary-color: #1976d2;
--primary-hover: #1565c0;
--bg-primary: #ffffff;
--text-primary: #2c3e50;
}
```
## 故障排除
### 常见问题
1. **登录弹窗不显示**
- 检查浏览器控制台是否有错误
- 确认组件是否正确导入
2. **验证码获取失败**
- 检查后端服务是否正常运行
- 确认网络连接正常
3. **登录失败**
- 检查用户名和密码是否正确
- 确认验证码输入正确
- 查看后端日志获取详细错误信息
### 调试模式
在开发环境中,可以打开浏览器开发者工具查看:
- 网络请求状态
- 控制台日志
- Vue 组件状态
## 更新日志
- **v1.0.0**:初始版本,包含基本的登录功能
- 支持用户名/密码登录
- 集成验证码系统
- 响应式设计
- 主题适配

222
gofaster/app/LOGIN_IMPROVEMENTS.md

@ -1,222 +0,0 @@ @@ -1,222 +0,0 @@
# GoFaster 登录功能改进说明
## 🎯 问题修复
### 1. 验证码获取失败问题 ✅
**问题描述**:
- 验证码接口调用失败时,用户没有清晰的反馈
- 错误处理不够完善
**解决方案**:
- 添加了 `captchaLoading` 状态管理
- 改进了错误处理和用户提示
- 添加了验证码加载动画
- 在控制台输出详细的调试信息
**具体改进**:
```javascript
// 添加验证码加载状态
captchaLoading: false
// 改进错误处理
async refreshCaptcha() {
try {
this.captchaLoading = true
this.errorMessage = ''
const response = await userService.getCaptcha()
// ... 处理成功响应
} catch (error) {
// ... 处理错误
} finally {
this.captchaLoading = false
}
}
```
### 2. 登录按钮显示逻辑问题 ✅
**问题描述**:
- 用户不清楚为什么登录按钮被禁用
- 缺少表单验证的实时反馈
**解决方案**:
- 修改了 `isFormValid` 计算属性,确保验证码图片加载后才启用按钮
- 添加了实时表单验证提示
- 提供了清晰的用户指导
**具体改进**:
```javascript
// 改进的表单验证逻辑
isFormValid() {
return this.loginForm.username.trim() &&
this.loginForm.password.trim() &&
this.loginForm.captcha.trim() &&
this.captchaImage // 确保验证码图片已加载
}
// 添加表单验证提示
<div v-if="!isFormValid && (loginForm.username || loginForm.password || loginForm.captcha)" class="form-validation-hint">
<span v-if="!loginForm.username.trim()">请填写用户名</span>
<span v-else-if="!loginForm.password.trim()">请填写密码</span>
<span v-else-if="!loginForm.captcha.trim()">请填写验证码</span>
<span v-else-if="!captchaImage">请先获取验证码</span>
</div>
```
## 🎨 用户体验改进
### 1. 验证码状态指示
- **加载中**:显示"验证码加载中..."和旋转动画
- **获取失败**:显示"点击获取验证码"和错误提示
- **获取成功**:显示验证码图片
### 2. 表单验证反馈
- 实时显示缺少的字段信息
- 清晰的错误提示信息
- 智能的表单状态管理
### 3. 交互优化
- 验证码占位符支持悬停效果
- 加载状态动画
- 更好的视觉反馈
## 🔧 技术实现细节
### 状态管理
```javascript
data() {
return {
loading: false, // 登录加载状态
captchaLoading: false, // 验证码加载状态
errorMessage: '', // 错误消息
captchaImage: '', // 验证码图片
captchaId: '', // 验证码ID
loginForm: { // 登录表单数据
username: '',
password: '',
captcha: ''
}
}
}
```
### 计算属性
```javascript
computed: {
isFormValid() {
// 所有字段都必须填写,且验证码图片必须已加载
return this.loginForm.username.trim() &&
this.loginForm.password.trim() &&
this.loginForm.captcha.trim() &&
this.captchaImage
}
}
```
### 样式改进
```css
/* 表单验证提示样式 */
.form-validation-hint {
margin-top: 8px;
padding: 8px 12px;
background: var(--bg-secondary);
border: 1px solid var(--border-color);
border-radius: 6px;
font-size: 12px;
color: var(--text-secondary);
text-align: center;
}
/* 验证码加载动画 */
.captcha-loading-spinner {
width: 12px;
height: 12px;
border: 2px solid transparent;
border-top: 2px solid currentColor;
border-radius: 50%;
animation: spin 1s linear infinite;
margin-top: 4px;
}
```
## 📱 响应式设计
### 移动端适配
- 验证码容器在小屏幕下垂直排列
- 表单提示信息自适应屏幕宽度
- 触摸友好的交互设计
### 主题适配
- 支持深色/浅色主题切换
- 使用CSS变量确保一致性
- 悬停效果和过渡动画
## 🧪 测试建议
### 功能测试
1. **验证码获取**
- 点击验证码区域
- 观察加载状态
- 检查错误处理
2. **表单验证**
- 逐个填写字段
- 观察按钮状态变化
- 验证提示信息
3. **登录流程**
- 完整填写表单
- 测试登录按钮启用
- 验证成功/失败处理
### 边界情况测试
- 网络连接失败
- 验证码接口错误
- 表单数据不完整
- 快速点击操作
## 🚀 后续优化建议
### 1. 性能优化
- 验证码图片缓存
- 防抖处理
- 懒加载优化
### 2. 功能扩展
- 记住用户名
- 自动登录
- 多因素认证
### 3. 用户体验
- 键盘快捷键支持
- 语音输入
- 无障碍访问
## 📝 更新日志
### v1.1.0 (2025-08-23)
- ✅ 修复验证码获取失败问题
- ✅ 改进登录按钮显示逻辑
- ✅ 添加表单验证实时反馈
- ✅ 优化验证码状态指示
- ✅ 改进错误处理和用户提示
- ✅ 添加加载状态动画
- ✅ 优化响应式设计
### v1.0.0 (2025-08-23)
- 🎉 初始版本发布
- 🔐 基础登录功能
- 🎨 美观的UI设计
- 📱 响应式布局
## 🎊 总结
通过这次改进,GoFaster 的登录功能现在具有:
1. **更好的用户体验**:清晰的验证码状态指示和表单验证反馈
2. **更稳定的功能**:改进的错误处理和状态管理
3. **更美观的界面**:加载动画和悬停效果
4. **更智能的逻辑**:验证码加载完成后才启用登录按钮
这些改进让用户能够更清楚地了解登录流程的每个步骤,提高了整体的可用性和满意度!🎉

214
gofaster/app/TEST_LOGIN.md

@ -1,214 +0,0 @@ @@ -1,214 +0,0 @@
# GoFaster 登录功能测试指南
## 🚀 快速开始
### 1. 启动应用
```bash
# 在 app 目录下运行
npm run dev
```
### 2. 测试登录弹窗显示
#### 方式一:顶部导航栏登录按钮
- 应用启动后,顶部导航栏右侧会显示"🔐 登录"按钮
- 点击按钮,登录弹窗应该优雅地滑入显示
#### 方式二:首页登录按钮
- 在首页欢迎区域,未登录状态下会显示"立即登录"按钮
- 点击按钮,同样会显示登录弹窗
### 3. 测试登录弹窗功能
#### 验证码获取
- 弹窗打开时应该自动获取验证码图片
- 如果验证码图片显示失败,会显示"点击获取验证码"的占位符
- 点击验证码区域可以刷新获取新的验证码
#### 表单验证
- 尝试不填写任何信息直接点击登录按钮
- 应该显示"请填写完整的登录信息"错误提示
- 填写部分信息后,登录按钮应该保持禁用状态
#### 登录流程测试
1. **输入测试账号**
- 用户名:`sysadmin`
- 密码:`sysadmin@123`
- 验证码:输入图片中显示的4位数字
2. **点击登录按钮**
- 按钮应该显示"登录中..."状态
- 显示加载动画(旋转的圆圈)
3. **登录结果**
- 如果后端服务正常运行,应该显示登录成功提示
- 如果后端服务未运行,会显示网络连接失败错误
## 🔧 后端服务要求
### 必需的后端接口
1. **验证码接口**
```
GET /api/auth/captcha
响应格式:
{
"captchaImage": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"captchaID": "abc123"
}
```
2. **登录接口**
```
POST /api/auth/login
请求格式:
{
"username": "sysadmin",
"password": "sysadmin@123",
"captcha": "1234",
"captchaId": "abc123"
}
响应格式:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"username": "sysadmin",
"email": "admin@gofaster.com",
"avatar": null
}
}
```
### 启动后端服务
```bash
# 在 backend 目录下运行
.\gofaster.exe
```
## 🎯 测试检查点
### ✅ 功能检查
- [ ] 登录弹窗能正常显示
- [ ] 验证码能正常获取和显示
- [ ] 表单验证正常工作
- [ ] 登录按钮状态正确
- [ ] 错误提示信息正确显示
- [ ] 登录成功后弹窗关闭
- [ ] 用户信息正确更新
- [ ] Toast 消息提示正常显示
### ✅ 样式检查
- [ ] 弹窗动画流畅
- [ ] 响应式设计正常
- [ ] 主题适配正确
- [ ] 加载状态指示器正常
- [ ] 错误提示样式正确
### ✅ 交互检查
- [ ] 点击遮罩层可以关闭弹窗
- [ ] 点击关闭按钮可以关闭弹窗
- [ ] 验证码点击可以刷新
- [ ] 表单输入响应正常
- [ ] 键盘操作支持(Enter 提交)
## 🐛 常见问题排查
### 1. 登录弹窗不显示
**可能原因**:
- 组件导入错误
- 方法名冲突
- 事件绑定失败
**排查步骤**:
- 检查浏览器控制台是否有错误
- 确认 `showLoginModal` 方法是否正确注入
- 验证点击事件是否正确绑定
### 2. 验证码获取失败
**可能原因**:
- 后端服务未启动
- 网络连接问题
- API 接口路径错误
**排查步骤**:
- 确认后端服务是否正常运行
- 检查网络请求是否成功
- 验证 API 基础 URL 配置
### 3. 登录失败
**可能原因**:
- 用户名或密码错误
- 验证码输入错误
- 后端认证逻辑问题
**排查步骤**:
- 确认测试账号信息正确
- 检查验证码是否输入正确
- 查看后端日志获取详细错误信息
## 📱 响应式测试
### 桌面端测试
- 窗口大小调整时弹窗布局正常
- 不同分辨率下显示效果一致
### 移动端测试
- 在小屏幕设备上弹窗适配正常
- 触摸操作响应正常
- 虚拟键盘弹出时布局正常
## 🎨 主题测试
### 深色主题
- 弹窗在深色主题下显示正常
- 颜色对比度合适
### 浅色主题
- 弹窗在浅色主题下显示正常
- 文字清晰可读
## 📝 测试报告模板
```
测试日期:_________
测试环境:_________
测试人员:_________
## 功能测试结果
- [ ] 登录弹窗显示:□通过 □失败
- [ ] 验证码获取:□通过 □失败
- [ ] 表单验证:□通过 □失败
- [ ] 登录流程:□通过 □失败
- [ ] 错误处理:□通过 □失败
## 样式测试结果
- [ ] 动画效果:□通过 □失败
- [ ] 响应式设计:□通过 □失败
- [ ] 主题适配:□通过 □失败
## 发现的问题
1. ________________
2. ________________
## 建议改进
1. ________________
2. ________________
## 总体评价
□优秀 □良好 □一般 □需要改进
```
## 🎉 成功标准
当您看到以下现象时,说明登录功能已经成功实现:
1. ✅ 点击登录按钮,弹窗优雅滑入
2. ✅ 验证码图片正常显示
3. ✅ 表单验证提示正确
4. ✅ 登录成功后显示欢迎消息
5. ✅ 顶部导航栏显示用户头像
6. ✅ 首页显示个性化欢迎信息
7. ✅ 可以使用所有功能模块
恭喜!您的 GoFaster 应用已经成功集成了完整的用户登录系统!🎊

65
gofaster/app/fix-npm-start.bat

@ -1,65 +0,0 @@ @@ -1,65 +0,0 @@
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
echo 🔧 修复 npm 路径问题的启动脚本
echo.
REM 设置环境变量
set VUE_CLI_BABEL_TRANSPILE_MODULES=false
set VUE_CLI_MODERN_BUILD=false
set VUE_CLI_LOG_LEVEL=info
set LANG=zh_CN.UTF-8
set LC_ALL=zh_CN.UTF-8
REM 检查 Node.js 环境
echo 检查 Node.js 环境...
node --version >nul 2>&1
if errorlevel 1 (
echo ❌ Node.js 未找到,请确保已正确安装
echo 请访问 https://nodejs.org 下载并安装 Node.js
pause
exit /b 1
)
npm --version >nul 2>&1
if errorlevel 1 (
echo ❌ npm 未找到,请确保已正确安装
pause
exit /b 1
)
echo ✅ Node.js 环境检查通过
echo.
REM 检查依赖
echo 检查依赖...
if not exist "node_modules" (
echo 📦 依赖未安装,正在安装...
npm install
if errorlevel 1 (
echo ❌ 依赖安装失败
pause
exit /b 1
)
)
REM 预构建前端
echo.
echo 预构建前端...
npm run build:vue
if errorlevel 1 (
echo ❌ 前端构建失败
pause
exit /b 1
)
echo ✅ 前端构建成功
echo.
REM 启动 Electron
echo 启动 Electron 应用...
echo 🚀 标准模式启动...
electron .
pause

72
gofaster/app/fix-npm-start.ps1

@ -1,72 +0,0 @@ @@ -1,72 +0,0 @@
# 修复 npm 路径问题的启动脚本
param(
[switch]$Debug,
[switch]$Watch
)
# 设置控制台编码为 UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
# 设置环境变量
$env:VUE_CLI_BABEL_TRANSPILE_MODULES = "false"
$env:VUE_CLI_MODERN_BUILD = "false"
$env:VUE_CLI_LOG_LEVEL = "info"
$env:LANG = "zh_CN.UTF-8"
$env:LC_ALL = "zh_CN.UTF-8"
Write-Host "🔧 修复 npm 路径问题的启动脚本" -ForegroundColor Cyan
Write-Host ""
# 检查 Node.js 和 npm 是否可用
Write-Host "检查 Node.js 环境..." -ForegroundColor Yellow
try {
$nodeVersion = node --version
$npmVersion = npm --version
Write-Host "✅ Node.js: $nodeVersion" -ForegroundColor Green
Write-Host "✅ npm: $npmVersion" -ForegroundColor Green
} catch {
Write-Host "❌ Node.js 或 npm 未找到,请确保已正确安装" -ForegroundColor Red
Write-Host "请访问 https://nodejs.org 下载并安装 Node.js" -ForegroundColor Yellow
exit 1
}
# 检查依赖
Write-Host ""
Write-Host "检查依赖..." -ForegroundColor Yellow
if (-not (Test-Path "node_modules")) {
Write-Host "📦 依赖未安装,正在安装..." -ForegroundColor Yellow
npm install
if ($LASTEXITCODE -ne 0) {
Write-Host "❌ 依赖安装失败" -ForegroundColor Red
exit 1
}
}
# 预构建前端
Write-Host ""
Write-Host "预构建前端..." -ForegroundColor Yellow
npm run build:vue
if ($LASTEXITCODE -ne 0) {
Write-Host "❌ 前端构建失败" -ForegroundColor Red
exit 1
}
Write-Host "✅ 前端构建成功" -ForegroundColor Green
# 启动 Electron
Write-Host ""
Write-Host "启动 Electron 应用..." -ForegroundColor Green
if ($Debug) {
Write-Host "🐛 调试模式启动..." -ForegroundColor Magenta
$env:DEBUG = "*"
electron .
} elseif ($Watch) {
Write-Host "👀 监听模式启动..." -ForegroundColor Blue
npm run dev:watch
} else {
Write-Host "🚀 标准模式启动..." -ForegroundColor Green
electron .
}

38
gofaster/app/test-fix.bat

@ -1,38 +0,0 @@ @@ -1,38 +0,0 @@
@echo off
chcp 65001 >nul
echo 测试 npm 路径修复...
echo.
REM 检查当前目录
echo 当前目录: %CD%
echo.
REM 检查构建文件是否存在
if exist "dist\renderer\index.html" (
echo ✅ 构建文件存在: dist\renderer\index.html
) else (
echo ❌ 构建文件不存在: dist\renderer\index.html
)
echo.
echo 测试 npm 命令...
npm --version
if errorlevel 1 (
echo ❌ npm 命令失败
) else (
echo ✅ npm 命令正常
)
echo.
echo 测试构建命令...
npm run build:vue
if errorlevel 1 (
echo ❌ 构建命令失败
) else (
echo ✅ 构建命令成功
)
echo.
echo 测试完成!
pause

BIN
gofaster/backend/tmp/main.exe

Binary file not shown.
Loading…
Cancel
Save