天天看點

【推薦】對标Discuz!開源SNS系統Fresns上線~手把手啟用火山引擎ImageX

對标Discuz!開源SNS系統Fresns上線

<br>

Fresns是一款免費開源的社交網絡服務軟體專為跨平台而打造的通用型社群産品,支援靈活多樣的内容形态,可以滿足多種營運場景,符合時代潮流,更開放且更易于二次開發。

<br>

【推薦】對标Discuz!開源SNS系統Fresns上線~手把手啟用火山引擎ImageX

主程式的設計像是一個腳手架、一個架構,為擴充程式打好堅固可靠的基礎,隻含有身為社群不可或缺的基本 API 功能,其餘擴充功能則由插件提供;插件作為一個獨立功能子產品,從系統設計和業務封裝的角度,采用的是「指令字」作為通訊模式,即一個插件子產品包括多個指令字,外部通過指令字方式來調用插件的功能。對開發者來講,形式簡潔,容易開發;對系統通訊來講,插件通訊模式簡潔,通過類似 RPC 模式來調用即可。這種軟體設計思想,從後續的架構擴充來看,單體架構可以支撐多插件,同時後續也能支撐多系統多插件模式,并能以微服務的模式實作系統之間的分布式調用。

Fresns 模型結構

模型結構是這一次耗時的最重要原因,因為是開源産品,為了開發者更好的參與,也為了使用者更穩定的運作,是以深思熟慮之後,我還是決定重構模型結構和代碼規範。

【推薦】對标Discuz!開源SNS系統Fresns上線~手把手啟用火山引擎ImageX

重新梳理後的主程式,插件開發者可以更友善地開發插件。對于主要資料集已經封裝好了 Models,對于常用的輔助功能封裝成了 Helpers,常用的業務功能封裝成了 Utilities,而對于跨業務跨語言的業務功能封裝成了 Command Word 指令字(未來的 RPC 的基礎)。這些封裝都有詳細的文檔在官網供查閱,插件開發者可以直接調用,減少開發量。

針對用戶端開發者,這一次 API 完全遵循 RESTful 标準,結構清晰、符合标準、易于了解、擴充友善。

Fresns 中國版官網 fresns.cn 通過官網可以找到安裝方法與支援;

Fresns 國際版官網 fresns.org

<br>

如果用Fresns做一些社群論壇,當做一個系統,是一個不錯的選擇,同時,Fresns的作者還在不斷的疊代更新,增加對小程式的支援;

介紹如何使用ImageX作為靜态托管和加速圖檔加載的:本文已經假設,你已經安裝好了 Fresns,然後再啟用veImageX托管(之前已經做過對比測試,相比于其他七牛、騰訊等,圖像壓縮算法應該是國内做好的,是以能夠更節省一點成本,加載速度也會更快);

<br>

開通服務

  • 通路火山引擎官網 https://www.volcengine.com/products/imagex 注冊并登入賬号
  • 實名認證 https://console.volcengine.com/user/authentication/detail/
  • 進入火山引擎控制台 https://console.volcengine.com/imagex/

安裝與配置

  1. 給 Fresns 安裝火山引擎 veImageX 插件
    1. 下載下傳插件壓縮包:https://github.com/ExerciseBook/fresns-imagex/releases
    2. 将壓縮包下載下傳後,上傳安裝如圖所示:
    3. Fresns 背景 -> 應用中心 -> 安裝應用
      【推薦】對标Discuz!開源SNS系統Fresns上線~手把手啟用火山引擎ImageX
      【推薦】對标Discuz!開源SNS系統Fresns上線~手把手啟用火山引擎ImageX
    4. 啟用應用
  2. 配置 ImageX
    1. 系統 -> 存儲設定
      【推薦】對标Discuz!開源SNS系統Fresns上線~手把手啟用火山引擎ImageX
    2. 填寫配置
      【推薦】對标Discuz!開源SNS系統Fresns上線~手把手啟用火山引擎ImageX

(1) 大機率是 `cn-north-1`、`ap-singapore-1`、`us-east-1` 三選一

<br>

 (2) 設定界面 `https://console.volcengine.com/imagex/service_manage/http_config/{服務編号}/{域名}`, :`https://console.volcengine.com/imagex/service_manage/http_config/dQw4w9WgXcQ/example.com`。本插件僅支援鑒權方式 B。

  1. 設定完畢後就可以正常發圖啦

繼續閱讀