升級場景html
ThinkSNS+ 一直依賴,都是保留 Laravel 的 commit 記錄的前提下,進行開發,爲了追隨 Laravel 的升級,咱們在本地的倉庫中新建了一個分支,若是 laravel 更新頻繁,則每週一進行 merge 操做。而後再發送到ThinkSNS+的 GitHub倉庫上(倉庫地址 https://github.com/slimkit/thinksns-plus )。因此這次升級一樣採用 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/feeds
還有手機H5端,以及APP體驗,更多產品體驗請訪問:http://www.thinksns.com/experience.html
ThinkSNS-Plus(ThinkSNS+),看完整的開發代碼能夠看倉庫:
GitHub: https://github.com/slimkit/thinksns-plus(開源不易,求 Star )
ThinkSNS官網:http://www.thinksns.com/
受權購買、二次開發、技術孵化、定製開發、產品功能規劃、技術支持、商務合做等,歡迎經過官網聯繫。