goProject/.svn/pristine/35/357e65a8770e13e0ad7e76c3c6635a87600816b2.svn-base
2025-01-06 16:21:36 +08:00

84 lines
1.8 KiB
Plaintext

package webServer
import (
"common/resultStatus"
)
// ResponseObject
// @description: 响应对象
type ResponseObject struct {
// 响应结果的状态值
Code resultStatus.StatusCode
// Status 状态
Status int32
// 响应结果的状态值所对应的描述信息
Message string
// 响应结果的数据
Value interface{}
}
// SetResultStatus
// @description: 设置响应结果的状态值
// parameter:
// @receiver this: this
// @rs: 响应结果的状态值
// return:
// @*ResponseObject: 响应结果对象
func (this *ResponseObject) SetResultStatus(rs resultStatus.ResultStatus) *ResponseObject {
this.Code = rs.Code()
this.Message = rs.Message()
return this
}
// SetData
// @description: 设置响应对象数据
// parameter:
// @receiver this: this
// @data: 响应结果的数据
// return:
// @*ResponseObject: 响应结果对象
func (this *ResponseObject) SetData(data interface{}) *ResponseObject {
this.Value = data
return this
}
// IsSuccess
// @description: 是否是请求成功
// parameter:
// @receiver this:this
// return:
// @bool:是请求成功
func (this *ResponseObject) IsSuccess() bool {
return this.Code == resultStatus.Success.Code()
}
// SetCodeStatus
// @description: 同步code和status状态
// parameter:
// @receiver this:this
// return:
func (this *ResponseObject) SetCodeStatus() {
if this.Code == resultStatus.Success.Code() && resultStatus.StatusCode(this.Status) != resultStatus.Success.Code() {
this.Code = resultStatus.StatusCode(this.Status)
}
return
}
// GetInitResponseObj
// @description: 获取初始的响应对象
// parameter:
// return:
// @*ResponseObject: 响应对象
func GetInitResponseObj() *ResponseObject {
return &ResponseObject{
Code: resultStatus.Success.Code(),
Message: "",
Value: nil,
}
}