手摸手,带你用Beego撸商城系列一(基础篇)
完整项目地址: 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配置等
关键代码示例:

手摸手,带你用Beego撸商城系列一(基础篇)的更多相关文章
- 手摸手,带你用Beego撸商城系列二(登录篇)
完整项目地址: go-shop-b2c 系列文章: 手摸手,带你用 Beego撸商城 系列一(基础篇) 手摸手,带你用 Beego撸商城 系列二(登录篇) 手摸手,带你用 Beego撸商城 系列三(系 ...
- 【转】手摸手,带你用vue撸后台 系列三(实战篇)
前言 在前面两篇文章中已经把基础工作环境构建完成,也已经把后台核心的登录和权限完成了,现在手摸手,一起进入实操. Element 去年十月份开始用vue做管理后台的时候毫不犹豫的就选择了Elemen, ...
- 【转】手摸手,带你用vue撸后台 系列四(vueAdmin 一个极简的后台基础模板)
前言 做这个 vueAdmin-template 的主要原因是: vue-element-admin 这个项目的初衷是一个vue的管理后台集成方案,把平时用到的一些组件或者经验分享给大家,同时它也在不 ...
- 【转】手摸手,带你用vue撸后台 系列二(登录权限篇)
前言 拖更有点严重,过了半个月才写了第二篇教程.无奈自己是一个业务猿,每天被我司的产品虐的死去活来,之前又病了一下休息了几天,大家见谅. 进入正题,做后台项目区别于做其它的项目,权限验证与安全性是非常 ...
- 【转】手摸手,带你用vue撸后台 系列一
前言 说好的教程终于来了,第一篇文章主要来说一说在开始写业务代码前的一些准备工作吧,但这里不会教你webpack的基础配置,热更新怎么做,webpack速度优化等等,有需求的请自行google. 目录 ...
- 手摸手带你用Hexo撸博客(二)之配置主题
在上一篇博客手摸手带你用Hexo撸博客(一)中主要介绍了博客的初步搭建 今天我们继续讲如何在Hexo搭建的博客中应用主题 官网选择自己喜欢的主题 点击这里Hexo主题进入官网主题页面 然后选择自己喜欢 ...
- 手摸手带你用Hexo撸博客(一)
原文地址 手摸手带你用Hexo撸博客(一) 环境搭建 安装 node 狂点下一步 命令行输入此条命令 如果能看到版本号则安装成功 node -v 安装Git (同上) 实在不会的小伙伴百度一下,教程很 ...
- 原创 | 手摸手带您学会 Elasticsearch 单机、集群、插件安装(图文教程)
欢迎关注笔者的公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注即免费无套路附送 100G 海量学习.面试资源哟!! 个人网站: https://www.exception.site/ ...
- 浅谈Java中的Condition条件队列,手摸手带你实现一个阻塞队列!
条件队列是什么?可能很多人和我一样答不出来,不过今天终于搞清楚了! 什么是条件队列 条件队列:当某个线程调用了wait方法,或者通过Condition对象调用了await相关方法,线程就会进入阻塞状态 ...
随机推荐
- [DB] Kafka
介绍 一种高吞吐量的分布式发布订阅消息系统 消息类型:主体Topic(广播).队列Queue(一对一) 消息系统类型:同步消息系统.异步消息系统 常见消息产品:Redis.Kafka.JMS 术语 P ...
- centos国内镜像下载
国内镜像下载 http://mirrors.aliyun.com/centos/6/isos/x86_64/ 如果需要下载centos 7 版本进入对应7的/isos/x86_64/ 选择minima ...
- 攻防世界(八)web2
攻防世界系列:web2 1.代码审计 知识补充: strrev(string):反转字符串 strlen(string):字符串长度 substr(string,start,length):截取字符 ...
- Ansible_管理机密
一.Ansible Vault 1.什么是Ansible Vault Ansible提供的Ansible Vault可以加密和解密任何由Ansible使用的结构化数据文件 若要使用Ansible Va ...
- 040.Python进程和Join
一 进程相关介绍 1.1 进程的概念(process) 进程就是正在运行的程序,它是操作系统中,资源分配的最小单位 资源分配:分配的是cpu和内存等物理资源 进程号是程的唯标识 同-个程序执行两次之 ...
- shell基础之if语句
Shell流程控制 流程控制是改变程序运行顺序的指令.linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环语句(for,while),选择语句(case).下面我将通过例子介 ...
- Java Stream 流(JDK 8 新特性)
什么是 Steam Java 8 中新增了 Stream(流)来简化集合类的使用,Stream 本质上是个接口,接口中定义了很多对 Stream 对象的操作. 我们知道,Java 中 List 和 S ...
- STM8的AIR与STM32的Keil的指定地址存数据
[经验分享]KE02在IAR和KEIL中以常量形式初始化EEPROM值一, 经验分享描述 写这篇经验分享的原因是,之前有一个客户,他希望在KE02的芯片中,不要出现使用EEPROM操作命 ...
- USB NCM介绍
1 功能概述 USB NCM,属于USB-IF定义的CDC(Communication Device Class)下的一个子类:Network Control Model,用于Host和Device ...
- 向pom.xml中配置Maven使用JDK8编译
maven项目会用maven-compiler-plugin默认的jdk版本来进行编译,如果不指明版本就容易出现版本不匹配的问题,可能导致编译不通过的问题. 解决办法:在pom文件中配置maven-c ...