手摸手,带你用Beego撸商城系列一(基础篇)

1,002 阅读1分钟

完整项目地址: 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配置等

关键代码示例: