完善文档

This commit is contained in:
孟帅
2023-07-03 20:31:29 +08:00
parent cc3ab9acec
commit 9113fc5297
9 changed files with 85 additions and 22 deletions

View File

@@ -28,6 +28,6 @@ type NotifyQQPayReq struct {
}
type NotifyQQPayRes struct {
g.Meta `mime:"text/xml" type:"string" example:"<html/>"`
g.Meta `mime:"text/xml" type:"string"`
payin.PayNotifyModel
}

View File

@@ -10,9 +10,9 @@ import (
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/os/gtime"
"github.com/gogf/gf/v2/util/gconv"
"hotgo/internal/library/contexts"
"hotgo/internal/model"
"time"
)
// JsonExit 返回JSON数据并退出当前HTTP执行函数
@@ -21,6 +21,36 @@ func JsonExit(r *ghttp.Request, code int, message string, data ...interface{}) {
r.Exit()
}
// RXml xml
func RXml(r *ghttp.Request, code int, message string, data ...interface{}) {
responseData := interface{}(nil)
if len(data) > 0 {
responseData = data[0]
}
res := &model.Response{
Code: code,
Message: message,
Timestamp: gtime.Timestamp(),
TraceID: gctx.CtxId(r.Context()),
}
// 如果不是正常的返回则将data转为error
if gcode.CodeOK.Code() == code {
res.Data = responseData
} else {
res.Error = responseData
}
// 清空响应
r.Response.ClearBuffer()
// 写入响应
r.Response.WriteXml(gconv.Map(res))
// 加入到上下文
contexts.SetResponse(r.Context(), res)
}
// RJson 标准返回结果数据结构封装
func RJson(r *ghttp.Request, code int, message string, data ...interface{}) {
responseData := interface{}(nil)
@@ -30,7 +60,7 @@ func RJson(r *ghttp.Request, code int, message string, data ...interface{}) {
res := &model.Response{
Code: code,
Message: message,
Timestamp: time.Now().Unix(),
Timestamp: gtime.Timestamp(),
TraceID: gctx.CtxId(r.Context()),
}

View File

@@ -36,7 +36,6 @@ func (s *sMiddleware) ResponseHandler(r *ghttp.Request) {
s.responseXml(r)
return
case consts.HTTPContentTypeStream:
// ...
default:
responseJson(r)
}
@@ -56,16 +55,8 @@ func (s *sMiddleware) responseHtml(r *ghttp.Request) {
// responseXml xml响应
func (s *sMiddleware) responseXml(r *ghttp.Request) {
code, message, resp := parseResponse(r)
r.Response.ClearBuffer()
r.Response.Write(`<?xml version="1.0" encoding="UTF-8"?>`)
switch code {
case gcode.CodeOK.Code():
r.Response.WriteXml(g.Map{"code": code, "message": message, "data": resp})
default:
r.Response.WriteXml(g.Map{"code": code, "message": message, "error": resp})
}
code, message, data := parseResponse(r)
response.RXml(r, code, message, data)
return
}

View File

@@ -127,7 +127,7 @@ viewer:
setting:
title: "HotGo"
keywords: "中后台解决方案,gf框架,vue3"
description: "hotgo 是一个基于 goframe2vue3vite2TypeScriptuinapp 的中后台解决方案,它可以帮助你快速搭建企业级中后台项目,相信不管是从新技术使用还是其他方面,都能帮助到你,持续更新中。"
description: "hotgo 是一个基于 goframe2vue3vite2TypeScriptuniapp 的中后台解决方案,它可以帮助你快速搭建企业级中后台项目,相信不管是从新技术使用还是其他方面,都能帮助到你,持续更新中。"
# 路由配置