workbuddy 专家 "前端开发师" 结合nvidia-mistral-small-4-119b-2603 项目计划-前端界面开发.md
bash
{
"models": [
{
"id": "mistralai/mistral-small-4-119b-2603",
"name": "nvidia-mistral-small-4-119b-2603",
"vendor": "NVIDIA",
"apiKey": "nvapi- ",
"url": "https://integrate.api.nvidia.com/v1",
"maxInputTokens": 202752,
"maxOutputTokens": 131072,
"supportsToolCall": false,
"supportsReasoning": true
}
]
}
效果
前端界面开发项目计划
📋 项目概述
项目名称: comdianshangerp 前端界面重构
技术选型: HTML5 + CSS3 + JavaScript (ES6+) + Vue.js 3 (Composition API)
设计风格: 现代简约,响应式布局
项目周期: 预计4-6周
开发工具: Vite + Vue DevTools + ESLint
浏览器兼容性: Chrome、Firefox、Safari、Edge(最新版本)
🎯 核心目标
功能开发
- 响应式布局: 适配桌面端、平板、手机三种设备尺寸
- 用户交互优化: 提供流畅的页面切换、表单验证、加载状态等用户体验
- 模块化开发: 构建可复用的组件库
- 状态管理: 集成 Pinia 实现全局状态管理
- API集成: 连接现有后端接口(ThinkPHP 5)
- 用户认证: 集成现有用户系统
- 国际化支持: 支持中英文切换
- 无障碍访问: 按 WCAG 2.1 AA 标准实现
用户体验
- 页面加载优化: Lazy Loading 实现组件按需加载
- 动画效果: 提供流畅的过渡动画和交互反馈
- 错误处理: 友好的错误提示和404页面
- 移动端适配: 手势操作、触摸友好
- 浏览器兼容: IE11 降级支持(如有需要)
📐 技术栈选择
前端框架
Vue.js 3.4.x + Vite 5.4.x + Pinia 2.2.x + Vue Router 4.3.x
选择理由:
- ✅ 学习成本低,开发效率高
- ✅ 组件化开发模式,代码可维护性强
- ✅ 丰富的生态系统和社区支持
- ✅ 与现有 ThinkPHP 5 后端完美匹配
- ✅ 支持 TypeScript(可选)
UI 组件库
Vant 4.x - 轻量级移动端组件库(可选)
Element Plus - PC端企业级组件库(推荐)
构建工具
Vite 5.4.x - 极速构建工具
状态管理
Pinia 2.2.x - 更简单、类型安全的 Vue 状态管理
路由管理
Vue Router 4.3.x - 官方路由管理库
CSS处理
Sass/SCSS - CSS预处理器
PostCSS - 自动前缀、优化
Tailwind CSS - 功能类优先框架(可选)
测试框架
Vitest - 单元测试
Cypress - E2E端到端测试
代码规范
ESLint规则配置(Airbnb风格指南)
Prettier - 自动代码格式化
EditorConfig - 统一编辑器配置
🏗️ 项目结构规划
frontend/ # 前端项目根目录
├── public/ # 静态资源
│ ├── favicon.ico # 网站图标
│ ├── robots.txt # 搜索引擎配置
│ └── index.html # HTML模板(基础HTML结构)
├── src/ # 源代码
│ ├── assets/ # 静态资源
│ │ ├── fonts/ # 自定义字体
│ │ ├── images/ # 项目图片
│ │ └── styles/ # 全局样式
│ │ ├── base.scss # 基础样式重置
│ │ ├── variables.scss # 全局变量(颜色、间距等)
│ │ ├── mixins.scss # Mixins工具函数
│ │ ├── utilities.scss # 工具类
│ │ └── index.scss # 全局样式入口
│ ├── components/ # 全局组件
│ │ ├── base/ # 基础UI组件(Button、Input、Modal等)
│ │ ├── layout/ # 布局组件(Header、Sidebar、Footer等)
│ │ ├── business/ # 业务组件(ProductCard、OrderTable等)
│ │ └── index.ts # 组件导出
│ ├── composables/ # 组合式API函数
│ │ ├── useApi.ts # API请求封装
│ │ ├── useAuth.ts # 认证相关
│ │ ├── useLoading.ts # 加载状态管理
│ │ └── useToast.ts # 消息提示
│ ├── constants/ # 常量定义
│ │ ├── api.ts # API接口地址
│ │ ├── config.ts # 项目配置
│ │ └── error_code.ts # 错误码映射
│ ├── pages/ # 页面级组件
│ │ ├── dashboard/ # 仪表板页面
│ │ ├── products/ # 商品管理页面
│ │ ├── orders/ # 订单管理页面
│ │ ├── inventory/ # 库存管理页面
│ │ ├── settings/ # 系统设置页面
│ │ └── ... # 其他业务页面
│ ├── stores/ # Pinia状态管理
│ │ ├── api.store.ts # API状态管理
│ │ ├── auth.store.ts # 认证状态管理
│ │ ├── user.store.ts # 用户信息状态管理
│ │ └── ... # 其他状态管理模块
│ ├── styles/ # 样式相关
│ │ ├── animations.scss # 动画效果
│ │ ├── breakpoints.scss # 响应式断点
│ │ └── transitions.scss # 过渡动画
│ ├── utils/ # 工具函数
│ │ ├── common.ts # 常用工具函数
│ │ ├── format.ts # 格式化函数
│ │ └── validate.ts # 验证函数
│ ├── App.vue # 根组件
│ ├── main.ts # 应用入口
│ └── router.ts # 路由配置
├── .env # 环境变量配置
├── .env.development # 开发环境配置
├── .env.production # 生产环境配置
├── .eslintrc.cjs # ESLint配置
├── .prettierrc # Prettier配置
├── tsconfig.json # TypeScript配置(可选)
└── vite.config.ts # Vite配置
🎨 设计规范
颜色系统
- 主色调: #2563eb(蓝色基调)
- 辅助色: #f59e0b(橙色)、#10b981(绿色)、#ef4444(红色)
- 中性色: #ffffff、#f3f4f6、#e5e7eb、#9ca3af、#6b7280、#4b5563、#374151
- 功能色:
- 成功:#10b981
- 警告:#f59e0b
- 错误:#ef4444
- 信息:#3b82f6
字体系统
- 主要字体: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif
- 等宽字体: "SF Mono", "Consolas", "Liberation Mono", Menlo, Courier, monospace
- 字体大小:
- H1: 2.5rem (40px)
- H2: 2rem (32px)
- H3: 1.75rem (28px)
- H4: 1.5rem (24px)
- Body: 1rem (16px)
- Small: 0.875rem (14px)
- 行高: 1.5
间距系统
xs: 4px
sm: 8px
md: 12px
base: 16px
lg: 24px
xl: 32px
xxl: 48px
xxxl: 64px
响应式断点
sm: 640px
md: 768px
lg: 1024px
xl: 1280px
xxl: 1536px
🚀 开发计划(分阶段实施)
第1-2周:基础架构搭建
目标: 搭建前端基础架构,完成核心组件开发
任务清单
-
环境配置
- Vite 项目初始化
- Vue.js 3 + Vue Router 集成
- Pinia 状态管理集成
- TypeScript 支持(可选)
- ESLint + Prettier 代码规范配置
- Vite代理配置(解决跨域问题)
-
UI组件库选型
- Element Plus 集成
- Vant UI 集成(移动端)
- 定制主题配置
-
基础组件开发
- 按钮组件 (BaseButton)
- 输入框组件 (BaseInput)
- 下拉框组件 (BaseSelect)
- 对话框组件 (BaseDialog)
- 表单组件 (BaseForm)
- 表格组件 (BaseTable)
- 卡片组件 (BaseCard)
- 加载器组件 (BaseLoader)
- 消息提示组件 (BaseToast)
-
布局组件开发
- 网格布局系统
- 响应式导航栏(Header)
- 侧边栏(Sidebar)
- 主内容区域(MainContent)
- 页脚(Footer)
-
路由配置
- 定义核心路由
- 路由守卫(权限控制、登录检查)
- 路由懒加载实现
-
状态管理
- Pinia store 结构设计
- 用户认证状态管理
- API响应状态管理
- 本地缓存策略
-
API封装
- Axios请求封装
- 请求/响应拦截器配置
- API错误统一处理
- 接口mock数据(开发环境)
第3周:核心页面开发
目标: 完成主要业务页面的功能开发
任务清单
-
仪表板页面
- 数据可视化看板
- 多卡片布局
- 图表组件(Chart.js 集成)
- 实时数据更新
-
商品管理页面
- 商品列表功能
- 商品筛选和搜索
- 商品编辑和详情页
- 批量操作功能
-
订单管理页面
- 订单列表功能
- 订单筛选和搜索
- 订单详情展示
- 订单状态流转
-
库存管理页面
- 库存信息查看
- 库存预警功能
- 库存调拨记录
-
用户设置页面
- 用户信息修改
- 系统偏好设置
- 权限管理(管理员功能)
第4周:响应式优化与用户体验
目标: 完善响应式设计,提升用户交互体验
任务清单
-
响应式适配优化
- 移动端布局适配
- 平板端布局适配
- 断点调试和优化
- 触摸友好优化
-
用户交互优化
- 表单验证优化
- 加载状态提示
- 错误提示用户友好化
- 页面切换动画效果
- 滚动加载优化
-
无障碍访问
- ARIA标签完善
- 键盘导航支持
- 屏幕阅读器兼容性测试
-
浏览器兼容性测试
- Chrome/Firefox/Safari/Edge测试
- 打包构建优化
- 生产环境部署配置
第5-6周:测试、优化与上线
目标: 完成功能测试、性能优化、上线准备
任务清单
-
单元测试
- 组件测试(Vitest)
- 组合式API测试
- 工具函数测试
-
E2E测试
- 用户流程测试(Cypress)
- 表单提交测试
- 接口交互测试
-
性能优化
- Lighthouse性能评分优化
- 图片懒加载
- 代码分包优化
- 缓存策略优化
-
文档与交付
- 技术文档编写
- API接口文档
- 用户操作手册
- 部署文档
-
上线部署
- 生产环境构建
- Docker镜像配置
- 服务器部署配置
- 域名解析配置
- CDN缓存配置(如需)
- 监控告警配置
📡 API接口设计
基础API结构
/api/v1/{module}/{action}
|-- 用户相关 👤
|-- POST /api/v1/auth/login # 用户登录
|-- GET /api/v1/auth/logout # 用户登出
|-- GET /api/v1/auth/userinfo # 获取用户信息
|-- PUT /api/v1/auth/update-password # 修改密码
|-- 商品相关 📦
|-- GET /api/v1/products # 商品列表
|-- POST /api/v1/products # 添加商品
|-- PUT /api/v1/products/:id # 修改商品
|-- DELETE /api/v1/products/:id # 删除商品
|-- GET /api/v1/products/:id # 查看商品详情
|-- 订单相关 📋
|-- GET /api/v1/orders # 订单列表
|-- GET /api/v1/orders/:id # 查看订单详情
|-- PUT /api/v1/orders/:id/status # 更新订单状态
|-- 库存相关 📊
|-- GET /api/v1/inventory # 库存列表
|-- GET /api/v1/inventory/logs # 库存日志
请求响应格式
json
{
"code": 0,
"msg": "success",
"data": {},
"timestamp": 1715481612345
}
code:状态码(0=成功,其他=错误)msg:状态信息data:返回数据timestamp:时间戳
错误码定义
0000 - 成功
1001 - 参数错误
1002 - 认证失败
1003 - 权限不足
1004 - 服务器错误
2001 - 商品不存在
2002 - 库存不足
3001 - 订单状态异常
🎯 用户体验优化要点
响应式设计策略
- 移动优先: 从小屏幕开始设计,逐步扩展到大屏幕
- 弹性布局: 使用CSS Flexbox和Grid布局
- 断点设计:
- Mobile: < 768px
- Tablet: 768px - 1024px
- Desktop: > 1024px
- 触摸适配: 按钮最小尺寸44x44px,触摸区域足够大
- 图片适配: 使用srcset实现响应式图片
用户交互流程
- 表单提交: 实时验证 + 提交 loading 状态 + 提交结果反馈
- 数据加载: loading 状态 + 错误重试机制 + 骨架屏
- 页面切换: 平滑过渡动画 + 避免白屏
- 错误处理: 提供具体的错误信息 + 帮助用户恢复
- 反馈系统: 成功提示、错误提示、操作确认
性能优化策略
- 代码分包: 基于路由的懒加载
- 资源优化: 图片WebP格式转换、图片压缩
- 缓存策略: API响应缓存、页面缓存
- 预连接: 预加载关键资源
- 监控告警: 性能告警和错误追踪
✅ 质量检查清单
功能检查
- 所有功能模块完成开发
- API接口对接完成
- 用户认证和授权完整流程
- 表单验证逻辑完整
- 数据交互处理错误情况
- 实时数据更新功能
- 批量操作处理
兼容性检查
- Chrome最新版兼容性
- Firefox最新版兼容性
- Safari最新版兼容性
- Edge最新版兼容性
- 移动端Safari兼容性
- IE11兼容性(如有需要)
响应式检查
- 320px屏幕宽度适配
- 768px屏幕宽度适配
- 1024px屏幕宽度适配
- 1440px屏幕宽度适配
- 1920px屏幕宽度适配
- 触摸屏幕适配测试
用户体验检查
- 页面加载时间 < 3s(3G网络)
- 首屏渲染时间 < 2s
- 无长时间白屏或卡顿
- 表单交互流畅
- 操作反馈及时
- 错误提示用户友好
- 无障碍访问测试通过
测试覆盖
- 单元测试覆盖率 > 80%
- E2E测试覆盖率 > 70%
- 兼容性测试用例执行
- 压力测试通过
- 安全扫描通过
🔧 开发环境配置
必要工具安装
bash
# Node.js 18+ (推荐LTS 20.x)
nvm install 20
nvm use 20
# pnpm (推荐包管理器)
curl -fsSL https://get.pnpm.io/install.sh | sh -
# Git
brew install git (macOS)
# 或从官网下载 Windows Git
项目初始化
bash
# 克隆项目(如有仓库)
git clone <your-repo-url>
cd frontend
# 安装依赖
pnpm install
# 启动开发服务器
pnpm dev
# 构建生产版本
pnpm build
# 预览生产版本
pnpm preview
常用开发命令
bash
pnpm dev # 启动开发服务器
pnpm build # 生产环境构建
pnpm preview # 本地预览生产版本
pnpm lint # 运行ESLint检查
pnpm lint:fix # 运行ESLint自动修复
pnpm format # 代码格式化
pnpm test:unit # 运行单元测试
pnpm test:e2e # 运行E2E测试
🚨 故障排查指南
开发环境问题
问题:Vite启动报错
❯ pnpm dev
Error: Failed to load config from /frontend/vite.config.ts
解决方案:
- 确认Node.js版本 >= 18
- 删除node_modules和pnpm-lock.yaml
- 重新执行pnpm install
- 如为Windows环境,检查路径长度限制
构建部署问题
问题:生产构建体积过大
❯ pnpm build
Dist size: 2.5 MB (entirely dynamic)
优化方案:
- 使用pnpm build --mode production检查
- 实施代码分割(基于路由)
- 优化依赖包大小
- 启用gzip或Brotli压缩
- 使用CDN加速静态资源
📊 进度追踪
燃尽图(Burn-down Chart)
开发进度追踪:
第1周:20%
第2周:45%
第3周:70%
第4周:90%
第5周:95%
第6周:100%
里程碑检查点
- 项目启动(5月12日) - 项目计划确定,技术栈选型完成
- 基础架构搭建(5月16日) - Vite+Vue+Pinia完成
- 核心组件开发(5月23日) - Base组件库完成
- 第一版页面展示(6月6日) - 主要业务页面可用
- beta测试(6月20日) - 内部测试完成
- 正式发布(6月30日) - 生产环境部署完成
📞 项目联系与沟通
- 项目负责人: Yang(我负责技术开发与协调)
- 开发团队: 前端开发工程师(您的团队)
- 技术评审: 每周三下午进行技术评审会议
- 问题反馈: 通过GitHub Issues或企业微信
- 紧急问题: 直接通过电话或企业微信联系
📎 附件与参考资料
设计稿参考
- Figma设计稿链接:待补充
- 主要页面截图:
- 登录页面
- 仪表板页面
- 商品管理页面
- 库存管理页面
- 订单管理页面
技术参考文档
UI/UX设计资源
文档版本: v1.0.0
最后更新: 2025-05-12
下次评审: 2025-05-19