升级场景ThinkSNS+一直依赖,在保留Laravel的commit记录的前提下进行开发。为了跟随Laravel的升级,我们在本地仓库中新建了一个分支,如果laravel更新频繁,每周一都会进行merge操作。然后发送到ThinkSNS+的GitHub仓库(仓库地址https://github.com/slimkit/th...)。所以这次升级也是使用merge的方式来升级。Laravel一直为前端搭建提供脚手架,5.5提供了Vue和React的两次切换。对于前端老人来说,脚手架其实很好,但并不是适合所有场景。我会和前文分享如何搭建兼容Laravel混合辅助功能的前端。和build一样,这次升级直接舍弃了脚手架。PackageAutomaticDiscovery说到“packageautomaticdiscovery”这个功能,其实ThinkSNS+的开发时间早于Laravel5.5。一开始我们使用Composer插件管理包列表,然后ThinkSNS+使用这个manifest由服务商加载。后来因为扩展包也可能用到Laravel扩展包,放弃了composer插件的方式。我们从核心入手,选择了composer.json,然后这个方法在内部开发使用了大概三个月。时间长了关注Laravel5.5的开发,发现laravel5.5选择从vendor/composer/installed.lock开始匹配列表,比我们之前开发的好,于是直接写了一个从vendor/composer/installed.lock复制以匹配列表代码。综上所述,本次升级对半年前开始使用该功能的我们影响很小,在本次升级中,我们放弃了之前维护的包列表管理代码。并且之前的所有扩展包都可以正常使用。JSON异常消息的升级确实有很大的影响,因为所有的API接口都是按照5.4的结构返回的。升级后出现5.5的结构。被移动端的团长气死了,先不说这个,下午还要写文档,移动端需要兼容两种格式。其他影响因为我们在开发ThinkSNS+的时候遵循一个原则,所有Laravel的东西都没有变化,需要扩充什么,所以这次升级除了上面提到的json消息外几乎没有影响。上图是ThinkSNS+安装后的默认主页。上图是网站后台部分的截图。网站后台使用ES6+VueSPA。后台管理界面没有使用token认证,而是使用传统的Session。这有助于提高安全性。当然我们也在为ThinkSNS+开发一个友好的文档网站(之前一直在github写markdown)不涉及后端,文档使用markdown维护,前端使用ES6+React+Material-UI开发。看图:当然是在开发中,还没有公布。但是,我们已经推出了PC端的演示体验站。欢迎体验: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/
