客商联盟是一个面向本地商家的联盟式电商平台,旨在帮助商家共享会员、引流获客,同时让消费者享受会员优惠并创业赚钱。平台核心功能包括:
多角色体系:支持普通用户、商家、盟主、管理员,通过 JWT 实现精细化权限控制。
商家入驻与审核:商家提交资料后由平台审核,入驻后可发布商品、管理订单。
商品浏览与购物车:用户浏览商品,可按商家分组购物车,支持数量修改、删除。
智能拆单:下单时后端自动按商家拆分成多个独立订单,使用数据库事务保证数据一致性。
订单管理:用户查看自己的订单(状态筛选、详情),管理员可在后台操作发货、完成等状态流转。
联盟分销基础:预留分销员(分享者)关系链与积分体系接口,便于后续扩展。
会员年卡与优惠券(计划中):为消费者提供省钱权益,商家获得持续客流。
该系统从零开始独立开发,已部署于阿里云 ECS 并上线测试。
本项目采用前后端分离架构,后端使用 NestJS + TypeORM + MySQL,前端使用 Vue3 + Pinia + Element Plus,并使用 Nginx 反向代理 + PM2 进程守护部署于阿里云 ECS。
后端实现亮点:
使用 JWT 实现无状态认证,结合自定义守卫(RolesGuard)完成基于角色的访问控制。
订单模块采用多表设计(订单主表 + 订单明细表),通过 TypeORM 事务实现多商家拆单,确保原子性。
购物车 API 关联商品表返回实时价格和商家信息,前端按商家分组展示,下单时后端再次验证价格。
支持分页、模糊搜索、订单状态筛选。
配置全局异常过滤器和数据校验管道,提高系统健壮性。
前端实现亮点:
基于 Vue3 Composition API 和 Pinia 进行全局状态管理(用户登录、购物车数量实时显示)。
动态路由与菜单权限控制,根据用户角色展示不同模块。
使用 Element Plus 组件库快速构建表格、表单、弹窗,封装 Axios 请求拦截器统一处理 Token 和错误提示。
购物车页面支持数量步进器、删除、批量结算;订单列表提供状态标签和详情弹窗。
采用 Vite 构建,优化开发体验和生产包体积。
运维与部署:
编写 Windows 批处理脚本实现一键构建、压缩、上传覆盖和 PM2 重启(前端和后端分别独立)。
使用 Nginx 处理静态资源并代理 /api/ 到后端 3000 端口,解决跨域并提升安全。
服务器配置防火墙仅开放 80(HTTP)和 22(SSH)端口,后续计划配置 HTTPS 和域名。
通过本项目的完整开发实践,系统已具备电商平台核心交易链路,并为后续分销、积分、小程序端扩展奠定基础。