# laravel-shop-advanced **Repository Path**: neohuan/laravel-shop-advanced ## Basic Information - **Project Name**: laravel-shop-advanced - **Description**: No description available - **Primary Language**: PHP - **License**: Not specified - **Default Branch**: L05_5.8 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Laravel Shop > Laravel Shop 是课程 [《L05 Laravel 教程 - 电商实战》](https://laravel-china.org/topics/13206/laravel-shop-course) 的源代码。 ## 功能 160218115519 Laravel Shop 功能如下: ![_big](https://user-images.githubusercontent.com/324764/41384789-6fa309c6-6faa-11e8-93e0-eeb8d36fe7f7.jpg) ## 关于教程

《L05 Laravel 教程 - 电商实战》

课程沿用 [Laravel 实战课程系列](https://laravel-china.org/courses) 的教学方法,利用线索式的行文方式,带你熟悉项目需求分析、开发计划、项目创建、支付接口调试等电商项目的开发流程。 [Laravel 实战课程系列](https://laravel-china.org/courses) 的定位是最专业的商业项目开发课程,课程中所教授的技术方案,都是作者在实战中不断积累而来,所以你学到不是一个简单的『玩具项目』,而是一个经受过实战考验的商业解决方案,可以在你的商业项目中大胆使用。 ## 项目知识点 - Composer autoload 功能的使用姿势; - Laravel Mix 的基本用法; - 使用 Laravel 快速构建用户登录、注册功能; - 使用 MailHog 调试邮件发送功能; - 使用 Laravel 的 Notification 模块发送邮件; - 优雅地处理 Laravel 项目中的异常; - 事件与监听器的使用; - 使用授权策略来控制权限; - 使用 overtrue/laravel-lang 来汉化错误信息; - laravel-admin 扩展包的安装与配置; - 使用 laravel-admin 快速构建对模型的增删改查功能; - 使用 laravel-admin 配置后台用户角色、权限; - 商品 SKU 的概念; - 使用查询构造器根据用户输入来动态构建查询 SQL; - 设置 Laravel 路由顺序的正确姿势; - 购物车的设计与实现; - 使用闭包来校验用户输入; - 自定义 Laravel 验证器; - 订单流水号的生成; - 创建订单时保存用户收货地址信息的正确姿势; - 代表状态的值应使用常量; - 在 Laravel 中使用数据库事务的正确姿势; - 高并发下减商品库存的正确姿势; - 延迟任务的使用; - 使用预加载与延迟预加载解决数据库 N + 1 问题; - 通过对业务代码的封装来提高代码的复用性; - yansongda/pay 扩展包的安装与配置; - 支付宝沙箱账号的申请与配置; - 微信扫码支付的开通与配置; - 拉起支付宝、微信支付; - 支付的前端回调与后端回调的概念; - 在本地开发环境处理支付宝、微信支付后端回调的正确姿势; - 二维码的生成; - 管理员收到支付订单开始发货; - 用户收到商品后确认收货; - 用户确认收货后选择退款; - 管理员接到退款请求后的拒绝退款; - 支付宝、微信支付的退款处理; - 优惠券的设计与实现; ## 截图 ![0](https://user-images.githubusercontent.com/324764/41385028-c1329666-6fab-11e8-8052-eb8d863cb766.png) ![1](https://user-images.githubusercontent.com/324764/41385029-c1a58dba-6fab-11e8-9c15-5cdf85f848b6.gif) ![2](https://user-images.githubusercontent.com/324764/41385030-c2034504-6fab-11e8-8b7a-04797afa6b28.png) ![3](https://user-images.githubusercontent.com/324764/41385031-c267b3ae-6fab-11e8-815c-5a027ca34318.png) ![5](https://user-images.githubusercontent.com/324764/41385032-c2c82de2-6fab-11e8-9aa6-0d88cc486dfe.png) ![6](https://user-images.githubusercontent.com/324764/41385033-c32a3140-6fab-11e8-8deb-fb23fe3ae8a6.png) ![7](https://user-images.githubusercontent.com/324764/41385034-c39c59c8-6fab-11e8-899a-5f042fa0bd1d.png) ![8](https://user-images.githubusercontent.com/324764/41385035-c414fc84-6fab-11e8-82f6-ff50246a4853.png)