【开源项目】星期一商城。用 Laravel 写了个商城,哈哈
165

当然不是大商城,小商城都不算,啊哈 :smirk:
file
还是 get 到很多技能, 在 windows 下做了订阅推送。用的 windows 相比 linux 蹩脚的定时任务。啊哈。


WaitMoonMan/monday-shop


demo 地址
http://or2pofbfh.bkt.clouddn.com/github/index_pc.png

Feture

  • 第三方登录
    • Github
    • QQ
    • 微博
  • 购物车使用 H5 本地存储 + 数据库持久化存储
  • 商品搜索支持拼音首字母 + AJAX 无刷新显示
  • 订阅之后每周推送一封邮件包含最受欢迎,最新,最火卖商品的信息
  • 响应式网站

    Installation

    1. 获取源代码
  • 直接下载压缩包或者monday-shop.zip下载
  • 或者git克隆源代码
    git clone git@github.com:davidnineroc/monday-shop.git master
    1. 安装依赖扩展包
      composer install
    2. 生成配置文件(修改其中的配置选项:数据库的一定要修改)
      cp .env.example .env
    3. 使用安装命令(会执行执行数据库迁移,填充,监听队列 !!! 不需要再监听队列,此命令已包含)
      php artisan gps:install

      Usage

  • 任务调度(打算每周六早八点发送订阅邮件/ !!! 为方便展示,项目现为五分钟发送一次订阅)
    • windows下使用laravel任务调度先把
    • linux请去看官网

      Commands

      命令 一句话描述
      php artisan gps:install 安装应用程序
      php artisan gps:uninstall 卸载网站(清空数据库,缓存,路由)
      php artisan gps:cache 执行缓存(缓存配置,路由,类映射)
      php artisan gps:clear 清除缓存
      php artisan gps:copy 复制项目内置的静态资源
      php artisan gps:delete 删除项目及上传的基本静态资源
      php artisan queue:work --tries=3 监听队列(邮件发送,图片裁剪 !!!

      Packages

      扩展包 一句话描述 在本项目中的使用案例
      mews/captcha 验证码 登录注册功能使用验证码验证
      overtrue/laravel-socialite 第三方登录 用户登录可以使用Github,QQ,新浪微博
      spatie/laravel-permission 权限管理包 后台管理员操作权限
      etrepat/baum 无限分类 递归效率很低,快速让你的数据模型支持无限极树状层级结构,并且兼顾效率。
      intervention/image 图片处理 是为 Laravel 定制的图片处理工具,加水印
      webpatser/laravel-uuid uuid生成 商品添加增加一个uuid,订单号
      renatomarinho/laravel-page-speed 压缩页面DOM 打包优化您的网站自动导致35%以上的优化
      overtrue/laravel-pinyin 汉语拼音翻译 分类首字母查询

      Reference

  • Laravel 的中大型專案架構
  • 十个 Laravel 5 程序优化技巧

    Errors

  • 监听队列如果长时间没反应,或者一直重复任务
    • 数据库没配置好,导致队列任务表连接不上
    • 邮件配置出错,导致发送邮件一直失败

      License

      MIT


那啥, 第三方登录只能自己的账号登录,别人登录会提示报错, QQ 互联登录是审核通不过了, github 的第三方登录需要什么验证?


2017-11-20
今天集成进去了支付宝和微信支付。个人用户也可以用的支付。 用的是某 p, 还是挺简单的。


2017-12-20
今天完善了权限控制,可能和常规的有点不一样(我也不知道常规的啥样 ^_^)

  1. laravel-permission基础的表上加了一个route字段,
    file
  2. 填充数据的时候,顺便把需要权限控制的路由填充上。
    file
  3. 中间件中: 先获取当前URL的路由名字 --> 通过路由名字查找权限名字 -> 然后判断当前用户是否拥有此权限
    file

    有空的朋友也可以提pr给我,我合并一下。
    后台地址: /admin
    账号:admin
    密码:admin
    源码地址 https://github.com/DavidNineRoc/monday-shop

当神不再是我们的信仰,那么信仰自己吧,努力让自己变好,不辜负自己的信仰!

本帖由 Summer 于 10个月前 加精
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 140

厉害厉害,下载下来好好学习一下

10个月前

@Complicated 不足的地方还得指教

10个月前

不错 :+1:

10个月前

@ElfSundae 已加入肯德基套餐,今晚准备享用

10个月前
xuding

设计是自己做的?

10个月前

@XuDing 偷偷的说, 都是模板 :flushed:

10个月前

Run php artisan gps:install
Show error
[PDOException]
SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint

10个月前

@newbie2005 外键的问题吧,把你的 默认 mysql 引擎换成 InnoDB

10个月前

Failed App/Mail/UserRegister 卡到这里不动了.得不到upload这个文件夹

10个月前

@过江的桥

file
是先 copy 静态资源的,然后会执行队列。

10个月前

Failed App/Mail/UserRegister 这个错误是因为邮件发送失败,你需要配置一下 .env 的邮件配置信息

10个月前

这个不是卡主, 是 laravel在等待队列执行,你可以注册账号,他就会产生队列。

10个月前

file
刚才看了一下 觉得很棒呀,我膜拜所有大神!作为新入门的菜鸟,打算有时间好好研究一下,很感谢您的分享哈

10个月前

@xylovevae
:smile: 视频播放不了,可能是因为被禁止了, 因为商品的详情数据是从一个json文件解析出来的,里面的图片,视频都是写死的固定链接。其中可能会有一些链接是打不开的。
file

10个月前

@施国鹏 嗯嗯:smile:

10个月前

东西太贵了

10个月前

@KevinYang 哈哈 :relaxed: 不要在意这些细节。

10个月前

就算是测试 放在外网的东西还是关掉debug好点 不然会暴露很多东西的(虽然不一定重要)
报个bug 微博登录 => 取消

10个月前

@rookie0 谢谢提醒,已关闭。 微博登录 bug 授权失败可能是因为应用没审核过关, 能否说一下具体的错误?现在我的账号是可以成功了。

10个月前

@rookie0 现在暂时做捕获异常然后跳转到登录页处理。

10个月前

用的是 ping++?

10个月前

@阿四大四大 用的是 paysapi ,

10个月前

请问你是怎么处理库存的,应该在哪一个环节对商品库存进行扣减?

10个月前

@hezhizheng 单个商品购买下单和加入购物车的时候。

10个月前

我发现好像后台的权限管理貌似有点问题

10个月前

@yxhsea 的确是有问题的,当时想是作为理解,然后发现时间不够了,就没有做完。

10个月前
lukedever

某p是哪个请问

10个月前

我拿着你的源码改一改接项目赚钱 看你怎么办

10个月前

@xingchen 他也没办法只能选择原谅你

10个月前
Everan

咦 打不开了。

10个月前

@xingchen 没辙。。。。

10个月前

@xhh110 当然是选择

10个月前

@当燃 服务器换成 linux 还没布置过来

10个月前

老铁 数据库有吗?

9个月前

@何夕 看一下 readme, laravel程序中使用的是数据库迁移,在执行了php artisan gps:install之后会自动为你生成数据表,和填充数据库

9个月前

@施国鹏 laravel新手,很多不知道,受教了

9个月前

为啥感觉反应有点慢

9个月前

@wlaravel 可能是因为有些图片是通过 faker 填充的,导致加载的时候需要时间, 当然你如果愿意,可以页面静态话一下

9个月前

安装那个依赖扩展包提示我的PHP版本不是7.0的但是我版本已经换了啊

9个月前

@晚修 请把错误消息贴出来一下

9个月前

你的 PHP 版本是 5.6 的,你服务器上安装了多个 PHP 版本吧,你可以 php -v看一下

9个月前

@DavidNineRoc 额 看过了显示是7.0.12版本的...

9个月前

@晚修 如果 PHP 5.6 不重要的话,建议你把它卸载了然后再试试

9个月前

@DavidNineRoc 额 我刚试别的也是 提示我版本不对...

file

9个月前

@晚修 就是你版本的问题吧,你可以尝试 yum remove php5.6 ,

9个月前

@DavidNineRoc 不是很会用哪个yum .... 我再想想办法把. 卸载了重新装太多数据麻烦 -.-

9个月前

@DavidNineRoc

file

图片显示不存怎么办? 执行了php artisan storage:link命令页不行

9个月前

不错

9个月前

@chun

  1. 看一下 public/storage 下的文件是否存在
  2. 如果没有文件,尝试执行php artisan gps:copy复制静态资源文件
9个月前

@chinalorin thanks, 好久没更新了,也不知道什么时候才有空继续弄 :satisfied:

9个月前

@alber1986 界面是国外的一个HTML模板,然后修修补补一些,喜欢这个模板的,下载链接在这里。
在tmplate目录
file

9个月前

链接写错了 __ 版本

9个月前

求大神指导

file

9个月前

大神 不好意思啊 ini 中 有个东西没开 解决了

9个月前

@晚修 :grinning:

9个月前

大神我又来了

file

9个月前

@晚修 文件已经存在,先把 public/storage 删除再执行

9个月前

@THO_MAS 只有订单列表用户中心看订单,至于更复杂的操作,就没写了,当时是毕业设计一个月前写的,当毕业设计交了。最近公司也忙,自己也看一些其他的,就没有增加新功能。

8个月前
Max

商品的属性可以设置成两种或者两种以上呢

8个月前

@魏文豪 当然可以设置呀,种类相同的属性,不同的属性值

8个月前

安装的时候队列等待了快一个小时了,没有提示错误,是不是需要把数据库清了再装?

8个月前

楼主有没有数据库啊?我想把这个搭起来看看,感谢分享

8个月前

@laopan1234 安装的时候,会一直处在队列监听的状态,你可以直接关闭,但是之后的邮件发送会存在队列数据库中,不会发送,你需要手动处理队列

8个月前

@纳兰无羁 执行 php artisan gps:install会自动帮你把数据表迁移到数据库中。

8个月前

@DavidNineRoc 好的 谢了

8个月前

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'startupscampfire.scamp_navigations' doesn't exist (SQL: select * from scamp_navigations where scamp_navigations.deleted_at is null)
就没有这个表吗

8个月前

@yeahai1990 我这没用到这个表呀,是不是你配置错了什么?麻烦截图一下更详细的报错信息

8个月前

@DavidNineRoc 执行了php artisan gps:install 但报错

file新手请指教

8个月前

@纳兰无羁 你的配置文件没有写好吧?看一下 .env 有关数据库的配置是否填写完整

8个月前

@DavidNineRoc 弄好了 谢谢

8个月前

@DavidNineRoc 你这后台密码是多少啊?密码用什么加密的啊?

8个月前

@纳兰无羁 加密使用的是laravel自带的加密模块,内部使用的就是 hash 加点盐。至于密码就在这里。

file

8个月前

@DavidNineRoc 好的 谢了

8个月前

666

8个月前

运行php artisan gps:install命令,过一会卡在了
\App\Mail\UseRegister ,应该是我没有配置队列消息的原因吧。

8个月前

@HectorChan 队列默认用的是数据库的,\App\Mail\UseRegister 这个是注册成功默认发送一封邮件,可能是你的邮箱配置没有配置好。一直卡住没事的,其实卡住是因为在监听队列,当有新任务来了他就会执行了

8个月前

@DavidNineRoc 嗯,我在试试。

8个月前

发现了两个问题(在安装时候):

1、composer install 时候报错doctrine/instantiator需要php7.1,但是composer.json里面没发现这个package,删除composer.lock后重新composer install 好了。建议@DavidNineRoc 在项目git或者zip包里直接把composer.lock删掉

2、php artisan gps:install是报错

file

原因是

file

继承的Model已经被Model文件继承了,所以不必在自行继承 Illuminate\Database\Eloquent\Model;把图中几个model文件中的
use Illuminate\Database\Eloquent\Model;注释掉就好。php artisan gps:install就不会报错了

感谢@DavidNineRoc 的无私奉献,加油,我要伴你左右,哈哈哈

8个月前

@DavidNineRoc 大神,我稍稍改造了一下代码,把图片什么的都显示出来了,能说吗?

8个月前

@猴子真的会偷桃 谢谢你的提醒,已经修改:smile:

8个月前

file
这句话的意思我不是很明白,望能详解,图片一开始不能显示吗?

8个月前

@DavidNineRoc 我这里刚开始的图片是不显示的,Linux上,然后我看了一下图片路径是/storage/uploads/products/list/xxx.jpg,但是在项目中storage下面没有uploads这个文件夹,图片文件都在storage下面的app/resources/products下面,这样的话我们页面的图片是404的。并且一般情况下,uploads这个文件夹,应该放在public目录下(laravel的项目入口文件就在public下,所以基本上公共资源都会存放在public下,storage仅仅是缓存文件夹),所以我把图片按照目录都放在了public/uploads/products/list/xxx.jpg,然后代码里,ProductPresenters这个类下的getThumbLink(下图红色注释掉,改为绿色)方法修改了一下,然后图片显示正常了

file

但是我又发现另外一个问题,就是注册并且登陆成功之后,产品的详情页会乱,这个我还没有来的及看

8个月前

@猴子真的会偷桃

file

file

file

file

file
我这图片都是有的,可能你的php artisan gps:copy可能出现了错误,你可单独运行这条命令看一下。代码应该是不用改的。

8个月前

@DavidNineRoc 嗯,我试试看

8个月前

@DavidNineRoc 请问一下,项目入口文件在public下面,然后storage下面是怎么访问到的??我直接打链接也访问不到啊
file

这是新上传的图片路径(后台商品图片上传)
但事实上图片路径是(这是服务器上的文件路径)

file

访问报错404

8个月前

把 public/storage 删除了,重新执行php artisan storage:link生成软链接

8个月前

@DavidNineRoc 大神、后台页面的评论管理和系统管理没有吗??点开都是404

8个月前

@猴子真的会偷桃 是的,很多功能都没有的 :flushed:

8个月前

@DavidNineRoc 好吧、我还寻思点点设置看看呢:joy:

8个月前

感觉还是很不错的 支持你一下

8个月前

@xflyhack 谢谢,工作繁忙,没有余力写代码,只是有空看看社区:relaxed:

8个月前
AGD

希望作者能够单独出个 Laravel-PaysApi 的库 :blush:

8个月前

@AGD 其实 demo 已经很简单了,今天有时间捣鼓,折腾一下。

8个月前

@AGD https://github.com/DavidNineRoc/laravel-pays-api 忙活了一整天,终于写好了。不过需要更多的测试,

8个月前
AGD

@DavidNineRoc 辛苦了!:smile: 其实这项目第一个 star 就是我的,从早关注到晚呢,现在项目尝试用这个接入一下。

8个月前

厉害

8个月前

Mark

8个月前
Migrated:  2017_11_20_122310_create_payments_table
Seeding: UsersTableSeeder
Seeding: AdminsTableSeeder
Seeding: CategoriesTableSeeder
Seeding: ProductsTableSeeder
Seeding: JobsTableSeeder 99 %
Seeding: RolesTableSeeder
Seeding: PermissionsTableSeeder
Seeding: PermissionsRolesTableSeeder
Seeding: LikesProductsTableSeeder
Seeding: CarsTableSeeder
Seeding: ProvincesTableSeeder
Seeding: CitiesTableSeeder
Seeding: AdminsRoleTableSeeder
copy file success
The [public/storage] directory has been linked.
queue starting please don`t close cmd windows!!!
[2018-02-14 12:07:23] Processing: App\Jobs\InstallShopWar
[2018-02-14 12:07:23] Processed:  App\Jobs\InstallShopWar
[2018-02-14 12:07:23] Processing: App\Mail\UserRegister
[2018-02-14 12:07:25] Processing: App\Mail\UserRegister
[2018-02-14 12:07:25] Processing: App\Mail\UserRegister
[2018-02-14 12:07:25] Failed:     App\Mail\UserRegister
 一直停留在这
8个月前

@datou 这个没事的,是 laravel 的监听队列。因为一些耗时间的操作,比如发送邮件都是通过队列发送的。所以我选择的是,安装完之后马上启动队列。
如果是 linux ,可以自己把这个加入后台运行。

8个月前

虽然上面的出错了 最后还是进入了系统 ,搞得不错

8个月前

@DavidNineRoc 你的编码格式不错 ,看来 要向你们学习啦

8个月前

@datou 还记得刚开始时多个参数该怎么写美观,然后找了好久,看到 laravel 源码有个地方写的很好看,现在也慢慢习惯参数多的换行了(●°u°●)​ 」

8个月前

file 请问laravel怎么知道 有某个权限(name 值为中文) ,例如 添加管理员、修改管理员

7个月前

@datou 看一下数据库填充文件,因为没有太多逻辑。权限我是直接填充进去的。

file
当然你也完全可以配置成动态的,因为这完全是可配置的。

7个月前

@DavidNineRoc

file

php artisan gps:install 出错,怎么破

5个月前

@YUMI_Ho 是不是系统权限不足,最后一步是php artisan storage:link你手动执行试试

5个月前

@DavidNineRoc
我用管理员打开就可以了,非常感谢

5个月前

file

emmm,嗨大神,所以像这样一直停留在这,该咋办?直接关掉吗?我是windows安装。

初学Laravel,纯小白~打算拿你的作品改一改,当毕设交可以吗?

嘻嘻嘻

5个月前

@Faruieute 可以关掉的,现在是监听队列,是为了当有用户注册把发送邮件放到队列中。因为发送邮件太消耗时间了

5个月前

@DavidNineRoc 哇塞,大神还秒回 :joy: 受宠若惊。 好哒,那我关掉了,因为我已经看到数据库里有表了。

一共这么多个表对吗?

file

5个月前

@Faruieute 下班前看了一眼社区,是的,具体的表信息可以查看 /database/migrations 文件夹

5个月前

Warning: require(D:\AppServ\www\anli\shop\public/../vendor/autoload.php): failed to open stream: No such file or directory in D:\AppServ\www\anli\shop\public\index.php on line 24

Fatal error: require(): Failed opening required 'D:\AppServ\www\anli\shop\public/../vendor/autoload.php' (include_path='.;C:\php\pear') in D:\AppServ\www\anli\shop\public\index.php on line 24

4个月前

你的这件文件在哪里的??

4个月前

@yangyang2018 先执行 composer install

4个月前

@DavidNineRoc composer 报错,我用laravel5.4,版本不兼容吗?

file

4个月前

@yangyang2018 这个是 PHP 版本太低,你的只有 5.6,

4个月前

我升级php7.0,laravel5.4会不会不支持?

4个月前

file
这个报错

4个月前

@yangyang2018 截图 bootstrap/app.php 代码出来

4个月前

file
刚刚的问题我已经处理,现在出现在这个问题,怎么处理?

4个月前

@yangyang2018 配置好重写规则

4个月前

@DavidNineRoc 重写规则在哪里配置?

4个月前

@yangyang2018 把你 QQ 私信发给我,我远程看一下。

4个月前
Alex331349470

支付完毕后,没有回调

3个月前

@Alex331349470 你的支付账号配置信息填写了吗?

3个月前

请问怎么导入数据库啊

3个月前

@zhoujiangji 看 readme 文件

3个月前

@DavidNineRoc 是看了,但是还是没整明白啊。有数据库直接倒好了能用的么....

3个月前

@zhoujiangji 这个你去复习一下 Laravel 的数据库迁移

3个月前

告诉你一个坏消息,你的调试信息没有关闭,数据库报错(拒绝链接),所有的ENV配置信息都打印出来了~

1个月前

@刚刚欧巴
demo 是托管在 coding 的,我六个月之前改的。那会正是 coding 动态 pages 升级。也不知道为什么没有生效。
file

1个月前

@DavidNineRoc 注册的激活邮件是通过队列的方式发送的,触发的条件是CLI模式,在邮件的发送模板中你直接使用{{ url('register/active') }} 得到的地址没有包括域名信息,而是localhost。

1个月前

@刚刚欧巴 这个需要你自己修改 .env 文件里的 APP_URL 对应你的域名

1个月前

给你点赞,我找到你不是因为先看到你的商城,是因为我把我的用户id减1,然后就看到了你的信息,正好下载你的源码哈

1个月前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!