# 专业代码平台项目 **Repository Path**: zmd1992/codemart ## Basic Information - **Project Name**: 专业代码平台项目 - **Description**: 一个基于 Vue 3 + Spring Boot 3 的源码/代码商品交易平台,支持商品发布、购买、支付、评价、售后等完整流程。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-20 - **Last Updated**: 2026-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CodeMart - 专业源码交易平台 一个基于 Vue 3 + Spring Boot 3 的源码/代码商品交易平台,支持商品发布、购买、支付、评价、售后等完整流程。 ## 技术栈 | 层级 | 技术 | | --- | --- | | **前端框架** | Vue 3.4 + TypeScript + Vite 5 | | **UI 库** | Element Plus 2.13 | | **状态管理** | Pinia | | **HTTP 客户端** | Axios | | **后端框架** | Spring Boot 3.2.0 / Java 17 | | **ORM** | MyBatis-Plus 3.5.5 | | **安全** | Spring Security + JWT (jjwt 0.12) | | **数据库** | MySQL 8.0 + Redis | | **构建** | Maven (后端) / Vite (前端) | ## 项目结构 ``` codemart/ ├── frontend/ # Vue 3 前端 │ ├── src/ │ │ ├── assets/ # 静态资源 (样式/图片) │ │ │ └── styles/ │ │ │ ├── variables.scss # 设计系统变量 (颜色/阴影/圆角/间距/字体) │ │ │ └── main.scss # 全局样式 (reset/工具类) │ │ ├── components/ # 公共组件 │ │ │ └── ProductCard.vue # 商品卡片组件 │ │ ├── layouts/ # 布局组件 │ │ │ ├── MainLayout.vue # 前台布局 (含 Header/Footer) │ │ │ └── AdminLayout.vue # 后台管理布局 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia Store │ │ │ ├── cart.ts # 购物车 │ │ │ ├── order.ts # 订单 │ │ │ ├── product.ts # 商品 │ │ │ └── user.ts # 用户认证 │ │ ├── utils/ # 工具函数 │ │ │ └── request.ts # Axios 封装 (拦截器/Token管理) │ │ └── views/ # 页面组件 │ │ ├── auth/ # 登录/注册 │ │ ├── cart/ # 购物车 │ │ ├── home/ # 首页/搜索/分类/帮助中心/联系我们 │ │ ├── order/ # 订单/支付/支付结果/订单详情 │ │ ├── product/ # 商品详情/发布 │ │ ├── user/ # 个人中心/消息/评价/反馈/售后/我的商品 │ │ └── admin/ # 后台管理页面 │ ├── vite.config.ts # Vite 配置 (代理/插件/分包) │ └── package.json │ ├── backend/ # Spring Boot 后端 │ ├── src/main/java/com/codemart/ │ │ ├── controller/ # API 控制器 │ │ ├── service/ # 业务逻辑 │ │ ├── mapper/ # MyBatis-Plus Mapper │ │ ├── entity/ # 数据实体 │ │ ├── config/ # 安全/跨域等配置 │ │ └── common/ # 通用工具/响应封装 │ └── pom.xml │ ├── SPEC.md # 项目详细规格说明 └── README.md # 本文件 ``` ## 项目截图 ![输入图片说明](https://portalback.springautumncome.asia/files/baab9b4a9d1e41d4a97347263716e6ee.png)![输入图片说明](https://portalback.springautumncome.asia/files/ed6a5dd15b32477b9b632f25fd266d5f.png)![输入图片说明](https://portalback.springautumncome.asia/files/4625df49185d4cf5aec178fa54ae2480.png)![输入图片说明](https://portalback.springautumncome.asia/files/b3541e8e75974d75be50017c34788e2a.png)![输入图片说明](https://portalback.springautumncome.asia/files/84ba85b300504f249584c8aa8ed7dda7.png)![输入图片说明](https://portalback.springautumncome.asia/files/99da849095114528a22d2a6f42435984.png)![输入图片说明](https://portalback.springautumncome.asia/files/6b8eb200a06e48ed9dc1071b7e811efd.png)![输入图片说明](https://portalback.springautumncome.asia/files/314961353077416a8686f79883d00647.png)![输入图片说明](https://portalback.springautumncome.asia/files/9245c6a10e5e49198698093854f3649a.png)![输入图片说明](https://portalback.springautumncome.asia/files/2433d48dd91940399afdfc15e20e6d50.png)![输入图片说明](https://portalback.springautumncome.asia/files/4bc7e532b5504516b75638609faa28bb.png)![输入图片说明](https://portalback.springautumncome.asia/files/5d3145c04e5d46f6ad52d3b20646d159.png)![输入图片说明](https://portalback.springautumncome.asia/files/429f1ba3deac48faa533ed8cdf80c7e7.png)![输入图片说明](https://portalback.springautumncome.asia/files/dbdf17dd9e8046278d8761cac372d879.png)![输入图片说明](https://portalback.springautumncome.asia/files/b5a12698fc224e8782c8f6da47708e0a.png)![输入图片说明](https://portalback.springautumncome.asia/files/55fcbbe505f749cab9d536048ac1b4ae.png)![输入图片说明](https://portalback.springautumncome.asia/files/765ebdc3dcec4a1e9452ab9b2a84fd9e.png)![输入图片说明](https://portalback.springautumncome.asia/files/be26afe77a9f45c3a07f1f77e6cdf6bd.png)![输入图片说明](https://portalback.springautumncome.asia/files/67288115f80b45be8114c2ad9cffa5fd.png)![输入图片说明](https://portalback.springautumncome.asia/files/7a711145644548ac939521a1d1cac91a.png)![输入图片说明](https://portalback.springautumncome.asia/files/9719b3cb13ad4685800d990d8dc75cef.png)![输入图片说明](https://portalback.springautumncome.asia/files/90f18982c1bc4c0688c3f7966a5f644f.png)![输入图片说明](https://portalback.springautumncome.asia/files/e8046177c6a64643b9184ec4cb4a2b84.png)![输入图片说明](https://portalback.springautumncome.asia/files/17714c6a1de14bb0b4c27236a75bde67.png)![输入图片说明](https://portalback.springautumncome.asia/files/1bbbe2f024e549e1bd867d9f5c1371a3.png)![输入图片说明](https://portalback.springautumncome.asia/files/fe0bb6f865034a5294e3762c9aad5593.png)![输入图片说明](https://portalback.springautumncome.asia/files/f710c320c3bd44ee8d99bcea40932cb2.png)![输入图片说明](https://portalback.springautumncome.asia/files/a82f46c46d3b4ffeb6d1ebd0276ae507.png)![输入图片说明](https://portalback.springautumncome.asia/files/398f6ab0e1af4864839ffb93452504d0.png)![输入图片说明](https://portalback.springautumncome.asia/files/381b7db6d698479a9d6a4cb640a3d114.png)![输入图片说明](https://portalback.springautumncome.asia/files/3e96d4255bdb4ad7b347c03f88526d60.png) ## 快速开始 ### 前端 ```bash cd frontend npm install npm run dev # 开发服务器 http://localhost:5173 npm run build # 生产构建 → dist/ ``` ### 后端 ```bash cd backend mvn clean package -DskipTests java -jar target/codemart-backend-1.0.0.jar ``` 后端默认运行在 `http://localhost:8083`。 ## 开发代理配置 开发模式下,Vite 将以下路径代理到后端: | 前端路径 | 目标 | | --- | --- | | `/api/*` | `http://localhost:8083` (会移除 `/api` 前缀) | | `/uploads/*` | `http://localhost:8083` (不重写路径) | ## 页面路由 | 路径 | 页面 | 说明 | | --- | --- | --- | | `/` | 首页 | 轮播图 + 分类 + 推荐/热销/最新商品 | | `/search` | 搜索 | 多条件筛选 + 排序 + 分页 | | `/category/:id` | 分类 | 按分类浏览商品 | | `/product/:id` | 商品详情 | 图片/价格/评价/相似推荐 | | `/cart` | 购物车 | 全选/数量/删除/结算 | | `/order` | 订单列表 | 按状态筛选 + 支付/取消/收货 | | `/order/:id` | 订单详情 | 商品列表 + 附件下载 | | `/order/pay/:id` | 支付 | 微信/支付宝 + 扫码弹窗 | | `/order/pay/result` | 支付结果 | 成功/失败展示 | | `/login` | 登录 | 用户名/邮箱 + 密码 | | `/register` | 注册 | 用户名/邮箱/密码/昵称 | | `/user` | 个人中心 | 信息编辑 + 密码修改 | | `/user/messages` | 我的消息 | 系统消息列表 | | `/user/reviews` | 我的评价 | 评价记录 | | `/user/feedback` | 意见反馈 | 提交 + 历史记录 | | `/user/after-sale` | 售后服务 | 退款/退货/换货申请 | | `/user/products` | 我的商品 | 发布商品列表 | | `/publish` | 发布商品 | 标题/描述/分类/价格/图片/标签 | | `/help` | 帮助中心 | FAQ 搜索 + 分类展示 | | `/contact` | 联系我们 | 联系方式 + 在线留言 | ## 设计系统 项目使用 SCSS 变量驱动的设计系统,详见 `frontend/src/assets/styles/variables.scss`: - **颜色主题**: 主色 `#409eff`,辅色渐变为 `#6366f1` - **阴影系统**: 4 级阴影 (`sm`/`md`/`lg`/`xl`) + hover 蓝色阴影 - **圆角**: 4px/8px/12px/16px/圆形 - **过渡动画**: 标准 `0.2s`/`0.3s`/`0.4s` + 弹跳曲线 ## 上传组件注意事项 `el-upload` 组件需要显式传递 `Authorization` 请求头,因为原生表单提交不走 Axios 拦截器: ```vue ``` ## 许可证 MIT