项目简介
本项目基于Laravel - china教程《电商进阶》扩展开发,是一个功能丰富的电子商城系统,涵盖用户、商品、订单、优惠券、支付等多个模块。展示了Laravel框架在电商系统中的实际应用,体现其灵活性、可扩展性,保证了系统的健壮性和易用性。
项目的主要特性和功能
用户模块
支持手机号注册、登录、找回密码,采用腾讯云验证码和短信发送;提供微信网页授权登录、小程序登录、注册API支持;具备商品收藏、收货地址管理、查看订单、购物流程等功能。
商品模块
商品SKU为多维度,新增商品属性表和商品属性值表;优化商品分类表path字段,去除is_directory字段;秒杀验证订单是否重复逻辑从mysql查询改为redis查询;支持商品无限级分类,后台可添加商品、设置属性和库存,前台展示商品列表,使用ES搜索引擎搜索;包含众筹商品和秒杀商品功能。
搜索模块
索引结构增加Nested对象search_properties字段,可控制属性是否参与筛选列表展示,所有属性都参与关键字搜索。
API模块
使用DingoApi进行API开发,为小程序提供完整接口支持,支持腾讯云COS文件存储。
订单模块
用户订单页面显示已提交订单,管理员后台显示已支付订单;后台可输入物流信息进行发货操作。
优惠券模块
提供多种优惠方案(满减、打折),后台可设置优惠券,前台提供使用接口。
支付模块
PC端支持微信/支付宝扫码支付和分期付款功能,小程序端支持微信支付;前台提供用户申请退款接口,后台审核是否同意退款,众筹失败时自动退款,可一键退款分期订单。
其他
包括轮播图管理、站点信息管理、会员管理、权限管理等功能。
安装使用步骤
- git clone或者下载解压到本地。
- 将public设置为网站根目录,调整storage目录权限,在public目录下手动创建uploads文件夹并分配给服务器权限。
- 执行
composer install
。 - 执行
npm install
。 - 执行
npm run production
。 - 启动redis。
- 安装好jdk1.8并配置好java环境。
- 在elasticSearch的config目录下新建 analysis/synonyms.txt(不用写内容),最终路径类似 /usr/local/src/elasticsearch - 6.3.0/config/analysis。
- Linux环境:新建一个用户,切换到该用户,启动ES;Windows环境直接执行bin下的bat脚本。
- 启动mysql,创建数据库,配置env数据库,运行
php artisan migrate:fresh
。 - 后台管理员账号为admin,密码为admin;前台用户账号为123456@qq.com,密码为123456。
- 配置好队列和定时任务。
提示:APP_DEBUG为true时,注册时的短信验证码不会发送,固定为1234;APP_ENV为local时,支付回调使用NGROK_URL配置的网址,证书目录需要自己手动在resources下新建wechat_pay目录,把微信证书丢里面。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】