ChenJinchuang / lin-cms-tp5

:elephant: A simple and practical CMS implememted by ThinkPHP 5.1

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

《Lin CMS PHP&Vue教程》读者反馈贴

ChenJinchuang opened this issue · comments

本Issues为专栏Lin CMS PHP&Vue教程的读者反馈贴,读者对本专栏的内容有什么建议或者意见都可以在下方评论提出,本人会根据反馈的内容不断优化提升专栏的内容和质量,感谢大家支持!

会把全部代码放出来么?想快速学习下**

会把全部代码放出来么?想快速学习下**

暂时不会,起码等到后端部分连载完

commented

你好,本课程中php、mysql版本和 “微信小程序商城构建全栈应用”课程中的版本不一致,是需要分别装两套还是全部升级到你的课程中要求的“PHP 7.1 或更高 MySQL 5.7 或更高”?有什么建议?

你好,本课程中php、mysql版本和 “微信小程序商城构建全栈应用”课程中的版本不一致,是需要分别装两套还是全部升级到你的课程中要求的“PHP 7.1 或更高 MySQL 5.7 或更高”?有什么建议?

升级到高版本,向下兼容的不会影响零食商贩的API

建议用户和用户组的关系改成多对多的关系,这样对权限控制更方便一些;

建议用户和用户组的关系改成多对多的关系,这样对权限控制更方便一些;

lin-cms官方没有做这种设计,所以我也没实现。

建议用户和用户组的关系改成多对多的关系,这样对权限控制更方便一些;

LIN-CMS官方没有做这种设计,所以我也没实现。

加上算是咱们php版的特色功能 ^^

建议用户和用户组的关系改成多对多的关系,这样对权限控制更方便一些;

LIN-CMS官方没有做这种设计,所以我也没实现。

加上算是咱们php版的特色功能 ^^

主要是和前端不兼容,有些接口我也和官方的理解不一样但还是得按照官方的来。多对多这个可以考虑自己实现。

关于权限细粒度控制,下个大版本会考虑

同时关注大佬的swoft进展 😃

谢谢大佬,我自己看视频的时候有些急躁,理解没这么清晰,文档写的太好了,后续会有其他教程吗

谢谢大佬,我自己看视频的时候有些急躁,理解没这么清晰,文档写的太好了,后续会有其他教程吗

感谢支持和肯定。教程我觉得还是视频为载体最好,写文字太累了,用嘴一句话能讲清楚的东西放到文字里就不一定了。后续条件、时间允许的话会做视频教程,内容定位是进阶的。

同时关注大佬的swoft进展 😃

自己立的牌坊,含着泪也要做出来。

大佬vue的前端啥时候出?

commented

对,前端vue的专栏啥时候出?

跟官方确认下:vue前端支持tp版后端,是到0.2.0吗?vue前端最新版0.2.1,在新增用户时报错。

新版本修改了一些字段,等沁尘TP发新版后再用0.2.1

同时关注大佬的swoft进展 😃

自己立的牌坊,含着泪也要做出来。

期待,有在看您的教程和使用您的开源项目,tp5.1教程有点冗长,重点不够突出,开局一把验证器和场景就到了八九十页(保存的网页pdf),不过我希望要是我也能写出这种教程就好了 😭

跟官方确认下:vue前端支持tp版后端,是到0.2.0吗?vue前端最新版0.2.1,在新增用户时报错。

已经支持0.2.1。老用户更新的话,git pull 同步下仓库代码,然后composer update更新下扩展,最后php think migrate:run调整表结构,然后手动在数据库中lin_user表里手动给已存在的用户记录username字段指定字段值作为登陆账户。

同时关注大佬的swoft进展 😃

自己立的牌坊,含着泪也要做出来。

期待,有在看您的教程和使用您的开源项目,tp5.1教程有点冗长,重点不够突出,开局一把验证器和场景就到了八九十页(保存的网页pdf),不过我希望要是我也能写出这种教程就好了 😭

因为定位是面向新手,加上是文字为载体,所以会显得啰嗦一些,而且TP本身开发文档对一些功能描述就很简陋,算是一种补充。至于重点不突出,你可以具体说下你的想法,专栏的内容会根据反馈的情况来调整。
这也是我第一次写教程,我也很担心写出来效果不好的,主要还是有人鼓励和莽,我是预着被人喷的,但是不破不立。

commented

同时关注大佬的swoft进展 smiley

自己立的牌坊,含着泪也要做出来。

不考虑出个Hyperf?swoole官方推荐的框架

同时关注大佬的swoft进展 smiley

自己立的牌坊,含着泪也要做出来。

不考虑出个Hyperf?swoole官方推荐的框架

不考虑,接触的公司都是swoft,做这个更有意义

commented

对,前端vue的专栏啥时候出?

坐等前端vue教程+1

对,前端vue的专栏啥时候出?

坐等前端vue教程+1

后端部分内容暂时告一段落了。前端的代码重构中。

尘哥别浪了 赶快更新吧 先更新一两章!!!

尘哥别浪了 赶快更新吧 先更新一两章!!!

稿子提供了,专栏工作人员还没更新。

commented

又过了好久了,来催更一下

又过了好久了,来催更一下

稿子提供了,专栏工作人员还没更新。

诸位大佬,我按照Lin CMS PHP&Vue教程
https://course.talelin.com/lin/lin-cms-php/第三章%20开发环境搭建.html#lincms-全家桶安装
安装完登录时进入不了cms管理后台界面,查看网络,有两个请求
Request URL: http://localhost:8000/cms/user/login 登录提示登录成功,接下来第2个请求失败
Request URL: http://localhost:8000/cms/user/permissions 失败,route.php里也没有这个路由,求助大佬

诸位大佬,我按照Lin CMS PHP&Vue教程
https://course.talelin.com/lin/lin-cms-php/第三章%20开发环境搭建.html#lincms-全家桶安装
安装完登录时进入不了cms管理后台界面,查看网络,有两个请求
Request URL: http://localhost:8000/cms/user/login 登录提示登录成功,接下来第2个请求失败
Request URL: http://localhost:8000/cms/user/permissions 失败,route.php里也没有这个路由,求助大佬

这是版本适配问题,专栏内容补充做了说明,可以重新看看第三章安装那里

一 PHP 7.4版本环境导致迁移失败

具体错误没copy,大概意思就是本项目的迁移代码有些语法在7.4已经废弃了,看博客上说 PHP 7.1 或更高,大佬可以去验证下项目在7.4.4版本的兼容性。

这里可能要在文档中固定一下版本,不然学员跟着教程结果报错,还是要花一番时间去排错的。

二 迁移时报数据库错误

新装的mysql与新下载的项目,总之环境都是船新的。

php版本:PHP 7.1.31
mysql版本:mysql Ver 15.1 Distrib 10.1.21-MariaDB, for Win32 (AMD64)

按教程运行 php think migrate:run

出现如下报错:

[InvalidArgumentException] There was a problem creating the schema table: SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'end_time'

网上查了下,是sql-mode的问题,具体参考链接 Syntax error or access violation: 1067 Invalid default

可以看下是我个例还是普遍问题,如果是普遍,希望可以在文档里标注下,指路后人。

最后感谢大佬提供那么详细的教程!

一 PHP 7.4版本环境导致迁移失败

具体错误没copy,大概意思就是本项目的迁移代码有些语法在7.4已经废弃了,看博客上说 PHP 7.1 或更高,大佬可以去验证下项目在7.4.4版本的兼容性。

这里可能要在文档中固定一下版本,不然学员跟着教程结果报错,还是要花一番时间去排错的。

二 迁移时报数据库错误

新装的mysql与新下载的项目,总之环境都是船新的。

php版本:PHP 7.1.31
mysql版本:mysql Ver 15.1 Distrib 10.1.21-MariaDB, for Win32 (AMD64)

按教程运行 php think migrate:run

出现如下报错:

[InvalidArgumentException] There was a problem creating the schema table: SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default value for 'end_time'

网上查了下,是sql-mode的问题,具体参考链接 Syntax error or access violation: 1067 Invalid default

可以看下是我个例还是普遍问题,如果是普遍,希望可以在文档里标注下,指路后人。

最后感谢大佬提供那么详细的教程!

第一个问题,PHP 7.4 版本问题这边会核实下。
第二个问题,非个例,但不常见,很早前已被收录于常见问题

最后,感谢支持和肯定 ^_^

默默的求更新~

commented

尘老师 撒时候能访问专栏呀

commented

尘老师 撒时候能访问专栏呀

odk了 又能看到了

点击编辑商品分类进入编辑页面,然后再次上传图片会出现以下错误:

index.vue?6ced:895 TypeError: Cannot read property 'display' of undefined
    at VueComponent.setImgInfo (index.vue?6ced:911)
    at VueComponent._callee5$ (index.vue?6ced:882)
    at tryCatch (runtime.js?96cf:45)
    at Generator.invoke [as _invoke] (runtime.js?96cf:271)
    at Generator.prototype.<computed> [as next] (runtime.js?96cf:97)
    at asyncGeneratorStep (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/base/upload-imgs/index.vue?vue&type=script&lang=js&:7)
    at _next (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/base/upload-imgs/index.vue?vue&type=script&lang=js&:9)

默默的求更新~

很抱歉拖更严重。最近比较忙。难受。。。而且接下来的商品管理页面内容比较繁杂,写作难度比较大。

点击编辑商品分类进入编辑页面,然后再次上传图片会出现以下错误:

index.vue?6ced:895 TypeError: Cannot read property 'display' of undefined
    at VueComponent.setImgInfo (index.vue?6ced:911)
    at VueComponent._callee5$ (index.vue?6ced:882)
    at tryCatch (runtime.js?96cf:45)
    at Generator.invoke [as _invoke] (runtime.js?96cf:271)
    at Generator.prototype.<computed> [as next] (runtime.js?96cf:97)
    at asyncGeneratorStep (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/base/upload-imgs/index.vue?vue&type=script&lang=js&:7)
    at _next (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/base/upload-imgs/index.vue?vue&type=script&lang=js&:9)

我目测是哪里赋值的代码漏了?可以加下专栏群贴贴代码。565428048

点击编辑商品分类进入编辑页面,然后再次上传图片会出现以下错误:

index.vue?6ced:895 TypeError: Cannot read property 'display' of undefined
    at VueComponent.setImgInfo (index.vue?6ced:911)
    at VueComponent._callee5$ (index.vue?6ced:882)
    at tryCatch (runtime.js?96cf:45)
    at Generator.invoke [as _invoke] (runtime.js?96cf:271)
    at Generator.prototype.<computed> [as next] (runtime.js?96cf:97)
    at asyncGeneratorStep (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/base/upload-imgs/index.vue?vue&type=script&lang=js&:7)
    at _next (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/base/upload-imgs/index.vue?vue&type=script&lang=js&:9)

我目测是哪里赋值的代码漏了?可以加下专栏群贴贴代码。565428048

我是复制教程的商品分类代码的,新增图片可以,编辑不行,我再研究一下~

默默的求更新~

很抱歉拖更严重。最近比较忙。难受。。。而且接下来的商品管理页面内容比较繁杂,写作难度比较大。

嗯辛苦了~慢慢来(^▽^ )

前后端都起来了,后端(lin-cms-tp5)localhost:5000正常,直接输入localhost:5000/v1/book也正常,前端(lin-cms-vue)localhost:8080,出现正常login界面,登录后出现登录成功提示,但是不跳转,出现错误:Access to XMLHttpRequest at 'http://localhost:5000/cms/user/permissions' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
应该是 CORS policy跨域问题, 是否有统一解决方案??

前后端都起来了,后端(lin-cms-tp5)localhost:5000正常,直接输入localhost:5000/v1/book也正常,前端(lin-cms-vue)localhost:8080,出现正常login界面,登录后出现登录成功提示,但是不跳转,出现错误:Access to XMLHttpRequest at 'http://localhost:5000/cms/user/permissions' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
应该是 CORS policy跨域问题, 是否有统一解决方案??

前端工程切换到0.2.x分支

后端lin-cms-tp2,轮播图管理中,在教程中现有删除程序中,如果给出的删除ids参数为[1,3,5],在为各种原因,id=1记录不存在,而id=3,5记录却存在(一般不会出现这种情况,如有),那么现有教程中程序,就会在id=1时抛出错误,结束删除过程。从程序 的健壮角度,是否id=1有错时,放过并继续完成id=3,5记录的删除,结束后提示删除2 条成功,1 条id=1不存在,这样是否更好些呢。
public function delBanner() {
$ids = Request::delete('ids');
array_map(function ($id) {
// 查询指定id的轮播图记录
$banner = BannerModel::get($id,'items');
// 指定id的轮播图不存在则抛异常
if (!$banner) throw new BannerException(['msg' => 'id为' . $id . '的轮播图不存在']);
// 执行关联删除
$banner->together('items')->delete();
}, $ids);
return writeJson(201, [], '轮播图删除成功!');
}

,是否id=1有错时,放过并继续完成id=3,5记录的删除,结束后提示删除2 条成功,1 条id=1不存在,这样是否更好些呢。

我思考了下,其实这里先根据$ids批量查询,然后再做删除这样更好。假如$ids = [1,3,5],id=1是不存在的,那查询出来的结果集就不会有有id为1的记录。后面的删除操作不会做多余的操作同时又无需抛出异常中断程序。

会支持TP6吗

会支持TP6吗

目前暂时没打算,如果公司项目要升级重构的话就搞。

老哥,你是真的强啊!!!

commented

老哥,你是真的强啊!!!

老哥,你是真的强啊!!!

老哥,期待你的更新

老哥,期待你的更新

感谢支持。很抱歉很久没更新了。努力中。。

前端更新到0.3.x以后,权限管理的部分变化比较大,表结构变化,使用getCurrentUid()没法获取当前用户id,有没有关于权限更新的说明?

commented

前后端代码公开吗