当前位置: 首页 > news >正文

goframe开发一个企业网站 统一返回响应码 18

响应码的logic
package returncodeimport ("context""gf_new_web/internal/service""github.com/gogf/gf/v2/errors/gcode""github.com/gogf/gf/v2/frame/g"
)type sReturncode struct {
}var (insReturncode         = sReturncode{}codeSuccessDefault    = gcode.CodeOK.Code()MessageSuccessDefault = "操作成功"
)func init() {service.RegisterReturncode(New())
}func New() *sReturncode {return &sReturncode{}
}func Returncode() *sReturncode {return &insReturncode
}// SuccessJson 返回成功json
func (s *sReturncode) SuccessJson(ctx context.Context, code int, message string, data interface{}) {g.RequestFromCtx(ctx).Response.WriteJson(g.Map{"code":    code,"message": message,"data":    data,})
}// SuccessJsonDefault 返回默认成功json
func (s *sReturncode) SuccessJsonDefault(ctx context.Context) {service.Returncode().SuccessJson(ctx, service.Returncode().SuccessCodeDefault(), service.Returncode().SuccessMessageDefault(), g.Map{})
}// SuccessJsonDefaultMessage 返回自定义提示语的成功json
func (s *sReturncode) SuccessJsonDefaultMessage(ctx context.Context, message string) {service.Returncode().SuccessJson(ctx, service.Returncode().SuccessCodeDefault(), message, g.Map{})
}// SuccessCodeDefault 获取默认成功code码
func (s *sReturncode) SuccessCodeDefault() int {return codeSuccessDefault
}// SuccessMessageDefault 获取默认成功提示语
func (s *sReturncode) SuccessMessageDefault() string {return MessageSuccessDefault
}// Status404 状态码404
func (s *sReturncode) Status404(ctx context.Context) {g.RequestFromCtx(ctx).Response.WriteStatusExit(404, " ")return
}// Status500 http状态码500
func (s *sReturncode) Status500(ctx context.Context) {g.RequestFromCtx(ctx).Response.WriteStatusExit(500, "")return
}

service.go

// ================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// You can delete these comments if you wish manually maintain this interface file.
// ================================================================================package serviceimport ("context"
)type (IReturncode interface {// SuccessJson 返回成功jsonSuccessJson(ctx context.Context, code int, message string, data interface{})// SuccessJsonDefault 返回默认成功jsonSuccessJsonDefault(ctx context.Context)// SuccessJsonDefaultMessage 返回自定义提示语的成功jsonSuccessJsonDefaultMessage(ctx context.Context, message string)// SuccessCodeDefault 获取默认成功code码SuccessCodeDefault() int// SuccessMessageDefault 获取默认成功提示语SuccessMessageDefault() string// Status404 状态码404Status404(ctx context.Context)// Status500 http状态码500Status500(ctx context.Context)}
)var (localReturncode IReturncode
)func Returncode() IReturncode {if localReturncode == nil {panic("implement not found for interface IReturncode, forgot register?")}return localReturncode
}func RegisterReturncode(i IReturncode) {localReturncode = i
}
view的处理

logic

package returnviewimport ("context""gf_new_web/internal/service""github.com/gogf/gf/v2/frame/g"
)type sReturnview struct {
}var (insReturnview = sReturnview{}
)func init() {service.RegisterReturnview(New())
}func New() *sReturnview {return &sReturnview{}
}func Returnview() *sReturnview {return &insReturnview
}// WebView 网站页面渲染
func (s *sReturnview) WebView(ctx context.Context, template string, data map[string]interface{}) (err error) {err = g.RequestFromCtx(ctx).Response.WriteTpl(template, data)if err != nil {return err}return
}// ErrorView 错误页面渲染
func (s *sReturnview) ErrorView(ctx context.Context, code int, message string) (err error) {template := "backend/error.html"data := g.Map{"code":    code,"message": message,}err = g.RequestFromCtx(ctx).Response.WriteTpl(template, data)if err != nil {return err}return
}

这里的Webview还要再修改,将一前端一些重启的代码写入。

http://www.lryc.cn/news/483413.html

相关文章:

  • 基于STM32的智能门禁系统设计
  • Python学习从0到1 day28 Python 高阶技巧 ⑧ 递归
  • 知识见闻 - 苹果手机拨号键长按
  • 在 KubeVirt 中使用 GPU Operator
  • 安慰剂检验Stata代码(全套代码、示例数据及参考文献)
  • DAY6 线程
  • 基于STM32的智能门锁系统设计思路:蓝牙、RFID等技术
  • AndroidStudio-广播
  • 基于表格滚动截屏(表格全部展开,没有滚动条)
  • 洛谷P1255
  • vue3设置第三方组件 样式::v-deep
  • JAVA学习日记(十四)集合进阶
  • mysql全量与增量备份
  • “非法”操控lambda(python)
  • UDP协议和TCP协议之间有什么具体区别?
  • 论文5—《基于改进YOLOv5s的轻量化金银花识别方法》文献阅读分析报告
  • 快手直播间采集教程,快手引流,快手截流,截流工具,直播间截流,快手直播间采集,获客系统,获客软件
  • 探索MoviePy:Python视频编辑的瑞士军刀
  • mysql 实现分库分表之 --- 基于 MyCAT 的分片策略详解
  • Opencascade基础教程(14): 一个模型显示问题
  • ISP——你可以从这里起步(二)
  • Qt / Qt Quick程序打包的一些坑 (四)
  • 《传统视觉算法在视觉算法中的地位及应用场景
  • 老老实实干一辈子程序员是没出息的!这本证书你早该学!
  • 鸿蒙next版开发:相机开发-录像(ArkTS)
  • 闯关leetcode——3206. Alternating Groups I
  • 多个摄像机画面融合:找到同一个目标在多个画面中的伪三维坐标,找出这几个摄像头间的转换矩阵
  • Three.js性能优化和实践建议
  • C#入门 023 什么是类(Class)
  • 一篇Spring Boot 笔记