Laravel 5.5 发布,ThinkSNS+ 升级及状况分享【研发日记14】

简介:

自从 ThinkSNS+ 开始使用 Laravel 重新开发后,一直坚持在 Laravel China 写 Laravel 在 ThinkSNS+ 应用中的一些新的和小技巧分享。好了,废话不多说,开始我们的升级之旅!

升级场景

ThinkSNS+ 一直依赖,都是保留 Laravel 的 commit 记录的前提下,进行开发,为了追随 Laravel 的升级,我们在本地的仓库中新建了一个分支,如果 laravel 更新频繁,则每周一进行 merge 操作。然后再发送到ThinkSNS+的 GitHub仓库上(仓库地址 https://github.com/slimkit/thinksns-plus )。所以此次升级同样采用 merge 的方式升级。

前端构建

Laravel 一直都有提供脚手架,5.5 则提供了 Vue 和 React 两种切换,对于前端老说,其实脚手架很优秀,但是不是适合所有场景,就和之前文字分享如何构建兼容 Laravel mix 辅助函数的前端构建一样,本次升级直接抛弃了脚手架。

包自动发现

说到「包自动发现」这个功能,其实 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 异常消息

这块升级后确实影响蛮大的,因为之前所有 API 接口都是按照 5.4 的一个结构进行返回,升级后,5.5 的结构出现。被移动端头子给怼惨了,这块不说了,下午还要写文档,移动端需要兼容两个格式。

其他影响

因为 ThinkSNS+ 在开发的时候我们就遵循一个原则,所有 Laravel 的东西不动,需要的东西进行拓展,所以此次升级出了上述说的 json 消息以外,几乎没有任何影响。

ThinkSNS_PC_

上面的图是 ThinkSNS+ 安装后的默认首页。

ThinkSNS_PC_1
ThinkSNS_PC_2
ThinkSNS_PC_3

上图是网站的后台部分页面截图,网站后台采用的是 ES6 + Vue 的 SPA,后台管理接口没有采用 token 认证,而是采用传统的 Session。这样有助于安全。

当然,我们也在为 ThinkSNS+ 开发一个友好的文档网站(之前一直在 github 中写 markdown )不涉及后端,文档使用 markdown 维护,前端使用 ES6 + React + Material-UI 进行开发。看图:

ThinkSNS_

当然,正在开发中哈,暂未公布。

ThinkSNS-Plus(ThinkSNS+),看完整的开发代码可以看仓库:

GitHub: https://github.com/slimkit/thinksns-plus
(开源不易,求 Star )

目录
相关文章
|
7月前
|
Kubernetes 监控 数据可视化
7DGroup性能实施项目日记1
【4月更文挑战第9天】7DGroup性能实施项目日记1
42 2
7DGroup性能实施项目日记1
|
4月前
|
敏捷开发 搜索推荐 小程序
项目管理神器呀!YesDev这款客户端太爱了!轻松管理上百个项目
对抗项目延期的利器:YesDev - YesDev是一款强大的项目管理工具,适合敏捷开发/DevOps/软件项目管理,提供网页在线版、PC桌面版(Windows/Mac)及微信小程序,支持多部门及团队协作。 - 特别推荐YesDev桌面客户端,便于快速启动应用并保持与在线版数据同步。 特性亮点 - 任务工时管理: 高效填写、报告和计算工时。 - 项目集管理: 方便地管理多个项目及其子项目,并可设置权限。 - 单个项目管理: 灵活配置项目组件,如文档、需求、问题追踪等。 - 多项目甘特图: 即时合成多个项目的甘特图,进行宏观分析和资源调配。 - 个性化工作台: 根据角色定制工作台显示内容。
|
7月前
|
数据库
7DGroup性能实施项目日记8
【4月更文挑战第16天】7DGroup性能实施项目日记77DGroup性能实施项目日记8
60 12
7DGroup性能实施项目日记8
|
7月前
|
监控 数据可视化 数据库
7DGroup性能实施项目日记6
【4月更文挑战第14天】7DGroup性能实施项目日记6
47 5
7DGroup性能实施项目日记6
|
7月前
|
SQL 缓存 监控
7DGroup性能实施项目日记9
【4月更文挑战第17天】7DGroup性能实施项目日记9
51 1
7DGroup性能实施项目日记9
|
7月前
|
监控 Kubernetes 容器
7DGroup性能实施项目日记4
【4月更文挑战第12天】7DGroup性能实施项目日记4
64 4
7DGroup性能实施项目日记4
|
7月前
|
监控 NoSQL 关系型数据库
7DGroup性能实施项目日记7
【4月更文挑战第15天】7DGroup性能实施项目日记7
51 1
7DGroup性能实施项目日记7
|
7月前
|
缓存 测试技术
7DGroup性能实施项目日记5
7DGroup性能实施项目日记5
42 2
7DGroup性能实施项目日记5
|
7月前
7DGroup性能实施项目日记2
【4月更文挑战第10天】7DGroup性能实施项目日记2
41 1
7DGroup性能实施项目日记2
|
7月前
|
项目管理
7DGroup性能实施项目日记3
【4月更文挑战第11天】7DGroup性能实施项目日记3
48 6