升级场景html
ThinkSNS+ 一直依赖,都是保留 Laravel 的 commit 记录的前提下,进行开发,为了追随 Laravel 的升级,咱们在本地的仓库中新建了一个分支,若是 laravel 更新频繁,则每周一进行 merge 操做。而后再发送到ThinkSNS+的 GitHub仓库上(仓库地址 https://github.com/slimkit/th... )。因此这次升级一样采用 merge 的方式升级。前端
前端构建laravel
Laravel 一直都有提供脚手架,5.5 则提供了 Vue 和 React 两种切换,对于前端老说,其实脚手架很优秀,可是不是适合全部场景,就和以前文字分享如何构建兼容 Laravel mix 辅助函数的前端构建同样,本次升级直接抛弃了脚手架。git
包自动发现github
说到「包自动发现」这个功能,其实 ThinkSNS+ 开发出来的时间比 Laravel 5.5 开发出来的时间还要早,最开始的时候,咱们是采用 Composer 插件的方式来管理包清单,而后 ThinkSNS+ 使用这份清单进行服务提供者的加载。然后由于拓展包中有可能还会使用 Laravel 的拓展包,因此抛弃了 composer 插件的方式,咱们从核心入手,选择在 composer.json ,而后这种方式一直在内部开发使用持续了大概三个月之久,后来关注 Laravel 5.5 开发动态,发现 laravel 5.5 选择从 vendor/composer/installed.lock 入手去匹配清单,比咱们以前开发的更好,因此直接仿照 写了一份从 vendor/composer/installed.lock 匹配清单的代码。总结,此次升级对于半年前就开始使用这个功能的咱们来讲,影响过小了,以致于此次升级中,咱们舍弃了以前维护的包包清单管理代码。而 以前的全部拓展包都可以正常使用。json
JSON 异常消息后端
这块升级后确实影响蛮大的,由于以前全部 API 接口都是按照 5.4 的一个结构进行返回,升级后,5.5 的结构出现。被移动端头子给怼惨了,这块不说了,下午还要写文档,移动端须要兼容两个格式。安全
其余影响markdown
由于 ThinkSNS+ 在开发的时候咱们就遵循一个原则,全部 Laravel 的东西不动,须要的东西进行拓展,因此这次升级出了上述说的 json 消息之外,几乎没有任何影响。composer
上面的图是 ThinkSNS+ 安装后的默认首页。
上图是网站的后台部分页面截图,网站后台采用的是 ES6 + Vue 的 SPA,后台管理接口没有采用 token 认证,而是采用传统的 Session。这样有助于安全。
固然,咱们也在为 ThinkSNS+ 开发一个友好的文档网站(以前一直在 github 中写 markdown )不涉及后端,文档使用 markdown 维护,前端使用 ES6 + React + Material-UI 进行开发。看图:
固然,正在开发中哈,暂未公布。
可是咱们有已上线的PC端的demo体验站,欢迎体验:http://tsplus.zhibocloud.cn/f...
还有手机H5端,以及APP体验,更多产品体验请访问:http://www.thinksns.com/exper...
ThinkSNS-Plus(ThinkSNS+),看完整的开发代码能够看仓库:
GitHub: https://github.com/slimkit/th...(开源不易,求 Star )
ThinkSNS官网:http://www.thinksns.com/