完整專案地址: go-shop-b2c
系列文章:
前言
這裡不會講解太多的基礎知識,主要介紹關於從零開始使用 Beego 框架擼一個商城思路
目錄結構
├── common // 公共函式
├── conf // 配置相關
├── controllers // API請求
│ ├── admin // 後臺管理 API
│ ├── web // 移動web商城 API
├── helpers // 工具函式
├── model_views // 前端展示 Struct
├── models // Model層
├── routers // RESTful 路由
├── setting // 系統配置
├── sysinit // 應用啟動前初始化
├── .gitignore // git 忽略項
├── go.mod // Go Module依賴
├── go-shop-b2c // SQL檔案
├── go-shop-b2c.xml // 系統配置XML
├── main.go // 入口 main.go
├── xxx.p12 // API證書(微信支付)
下面簡單介紹目錄程式碼
controllers
簡單擷取一下 controller/admin 的 controller
這裡著重介紹一下 json_controller.go、base_controller.go
- json_controller.go 繼承 beego.Controller,增加返回前端 JOSN 資料處理函式、服務報錯誤處理等公共函式等
- base_controller.go 繼承 json_controller.go,過載 Prepare 函式,並做登入有效資訊校驗等
關鍵程式碼示例:
models
使用 Beego 提供的 Bee 工具 api 命令生成的 Model層,主要包含增、刪、改、查資料庫的函式
截圖某個片段示例:
routers
beego 的 RESTful Controller 路由
關鍵程式碼示例:
setting
商城後臺管理系統的系統設定模快,儲存於 xml 檔案, setting/setting.go 是封裝 對 go-shop-b2c.xml的操作
對應商城管理系統的系統設定模快,前端展示:
sysint
beego 執行 RUN 之前,各種初始化操作,比如 日誌列印、資料庫連線、CORS配置等
關鍵程式碼示例: