# 服装店在线购物APP **Repository Path**: sun_zhengxun/twentythree ## Basic Information - **Project Name**: 服装店在线购物APP - **Description**: 服装店在线购物APP - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2024-07-24 - **Last Updated**: 2026-09-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: 外包项目 ## README # 服装店在线购物APP ## 项目简介 本项目是一套完整的服装店在线购物解决方案,采用前后端分离架构,包含移动端APP(uni-app)、管理后台API(Spring Boot)和移动端API(Spring Boot)。系统提供了完整的商品展示、购物车管理、订单处理、用户管理、优惠券管理等核心功能,支持微信登录、短信验证码、微信支付和PayPal支付等特性。 项目基于Spring Boot、JPA、Shiro、JWT等主流技术构建后端服务,前端采用uni-app框架开发跨平台应用,支持编译到iOS、Android、H5等多个平台。项目仅供学习研究使用,禁止用于任何商业目的。 ## 技术架构 后端技术栈以Spring Boot 2.x为核心框架,采用JPA进行数据持久化操作,使用Shiro框架实现权限控制,JWT技术处理用户认证和会话管理,Ehcache作为本地缓存解决方案。数据存储选用MySQL关系型数据库,支持定时任务调度、消息模板管理、文件上传等功能。API文档通过Swagger2自动生成,移动端API集成了微信支付和支付宝支付能力。 前端技术栈以uni-app为核心开发框架,基于Vue.js 2.x语法,采用uView UI组件库构建界面。应用支持国际化多语言切换,包含HTTP请求拦截器封装、状态管理、路由配置等完整的前端工程化实践。页面覆盖首页、商品列表、商品详情、购物车、订单、用户中心等核心购物场景。 ## 功能模块 ### 商城管理 商品管理模块支持商品的增删改查操作,包括商品基本信息、商品SKU库存管理、商品属性定义(属性名和属性值)、商品分类管理等功能。分类支持层级结构,可关联广告Banner展示,商品支持上下架状态控制。系统提供了商品搜索、价格区间筛选、属性过滤等查询能力,配合代码生成工具可快速扩展新的数据实体。 购物车模块实现了商品添加、数量修改、批量删除、计算总价等核心功能。购物车数据与用户账户绑定,支持随时查看和管理已选商品。订单模块涵盖订单创建、支付、发货、收货、评价等完整购物流程,支持订单状态追踪、物流信息查询、订单导出等功能。 ### 用户系统 用户系统分为管理员系统和商城用户系统两套体系。管理员系统支持用户账号管理、角色权限控制、菜单配置、操作日志记录等功能,采用Shiro安全框架实现细粒度权限控制。商城用户系统支持手机号注册登录、微信授权登录、密码修改、个人信息管理等功能,集成短信验证码服务保障账户安全。 用户中心提供订单管理、收货地址管理、优惠券管理、收藏商品管理等功能。优惠券模块支持创建优惠券、用户领取、订单使用、过期检测等完整生命周期管理。地址管理支持设置默认地址、地址CRUD操作,订单创建时可快捷选择收货地址。 ### 内容管理 系统内置内容管理模块,支持文章管理(CMS)、Banner广告管理、栏目管理等功能。文章支持富文本内容管理,可用于商城公告、商品详情描述等场景。Banner广告支持配置图片、链接、标题等信息,可关联到指定商品分类或专题活动。栏目管理用于组织文章的分类结构,支持多级栏目设置。 消息管理模块提供消息模板配置、发送者管理、消息记录查询等功能。系统内置短信发送和邮件发送能力,支持阿里云短信和腾讯云短信两种实现,可根据配置灵活切换。定时任务管理模块基于Quartz实现,支持配置Cron表达式执行定时任务,如自动处理无效订单、更新微信Token等。 ## 项目结构 ``` FA-springboot/ ├── linjiashop-admin-api/ # 管理后台API模块 │ ├── src/main/java/cn/enilu/flash/api/ │ │ ├── config/ # 配置类(CORS、Shiro、缓存等) │ │ ├── controller/ # 控制器层(管理员功能) │ │ └── runner/ # 启动任务 │ └── src/main/resources/ # 配置文件 ├── linjiashop-mobile-api/ # 移动端API模块 │ ├── src/main/java/cn/enilu/flash/ │ │ ├── config/ # 微信配置、跨域配置 │ │ └── mobile/controller/ # 移动端控制器 │ └── src/main/resources/ ├── linjiashop-core/ # 核心模块 │ └── src/main/java/cn/enilu/flash/ │ ├── bean/ # 实体类、枚举、异常定义 │ ├── cache/ # 缓存实现 │ ├── dao/ # 数据访问层 │ ├── security/ # 安全认证(JWT、Shiro) │ ├── service/ # 业务逻辑层 │ └── utils/ # 工具类 ├── linjiashop-generator/ # 代码生成工具 └── sql/ # 数据库脚本 FA-uniapp/ # uni-app前端项目 ├── common/ # 公共资源(配置、工具、组件) ├── components/ # 自定义组件 ├── pages/ # 页面文件 │ ├── goods/ # 商品相关页面 │ ├── shop/ # 商城首页、购物车 │ ├── order/ # 订单管理 │ ├── login/ # 登录注册 │ └── user/ # 用户中心 ├── static/ # 静态资源(图片、图标) ├── store/ # Vuex状态管理 └── uni_modules/ # uni-app插件 ``` ## 快速开始 ### 环境准备 开发环境需要准备Java 1.8及以上版本、Maven 3.x构建工具、MySQL 5.7或8.0数据库、Node.js前端构建环境。前端开发建议使用HBuilderX IDE或VS Code配合uni-app插件,可获得更好的开发体验和调试能力。 数据库初始化需要先创建数据库(如fa_db),然后执行sql目录下的fa_db.sql脚本创建数据表结构。首次启动时系统会自动创建默认管理员账户admin,密码为123456,请登录后及时修改密码以确保系统安全。 ### 后端部署 后端项目使用Maven进行构建,进入FA-springboot目录执行mvn clean package -DskipTests打包命令生成可执行JAR文件。生产环境启动命令示例:java -jar linjiashop-admin-api.jar --spring.profiles.active=prod,指定prod配置启用生产环境参数。 开发环境可在IDE中直接运行AdminApiApplication和MobileApiApplication两个启动类,分别启动管理后台API和移动端API服务。API服务默认端口可在配置文件中修改,Swagger2文档访问地址为http://localhost:8080/swagger-ui.html(管理后台)和http://localhost:8081/swagger-ui.html(移动端)。 ### 前端运行 FA-uniapp项目依赖Node.js环境,进入项目目录执行npm install安装依赖包。开发模式启动执行npm run dev:h5可在浏览器预览H5效果,如需编译到其他平台请使用HBuilderX导入项目后进行打包。生产环境H5部署需要执行npm run build:h5生成静态文件,上传到Web服务器或CDN即可访问。 ## 配置说明 管理后台API配置文件位于linjiashop-admin-api/src/main/resources/目录,开发环境使用application-dev.properties配置,数据库连接、缓存配置、短信服务等参数需要根据实际环境修改。移动端API使用linjiashop-mobile-api模块,配置文件位于相同目录,微信相关配置(appId、appSecret、mchId、mchKey)在application.properties中通过wx前缀配置。 前端API地址配置在FA-uniapp/common/config.js文件中,修改BASE_API常量即可指向不同的后端服务地址。系统支持生产环境和开发环境切换,通过设置ENV_CONFIG变量实现。微信JS-SDK配置和微信登录相关配置也在该文件中维护。 ## 许可证 本项目仅供学习研究使用,禁止用于任何商业目的。作者对使用本项目产生的任何后果不承担任何责任,如不同意请立即停止使用并删除所有相关文件。