完整項目地址: 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配置等
關鍵代碼示例: