Files
wechat_ipad_pro/api/vo/vo.go
2026-02-17 13:06:23 +08:00

122 lines
2.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package vo
import (
"fmt"
"xiawan/wx/srv/srvconfig"
"github.com/gin-gonic/gin"
)
type DTO struct {
//自定义提示状态码
Code interface{}
//数据展示
Data interface{}
//提示文本
Text interface{}
//是否成功
Success bool
//62数据
Data62 string
//票据
Ticket string
//微信验证URL当Ticket不为空时提供
WechatVerifyUrl string `json:"wechat_verify_url,omitempty"`
//用户操作指引当Ticket不为空时提供
VerifyInstructions string `json:"verify_instructions,omitempty"`
}
func NewFail(errMsg string) DTO {
return DTO{
Code: FAIL,
Data: nil,
Text: errMsg,
}
}
func NewFailOffline(errMsg string) DTO {
return DTO{
Code: FAIL_Offline,
Data: nil,
Text: errMsg,
}
}
func NewSuccess(h gin.H, msg string) DTO {
return DTO{
Code: SUCCESS,
Data: h,
Text: msg,
}
}
func NewSuccessObj(h interface{}, msg string) DTO {
return DTO{
Code: SUCCESS,
Data: h,
Text: msg,
}
}
// NewSuccessWithTicket 创建包含ticket和微信验证信息的成功响应
func NewSuccessWithTicket(data interface{}, msg, data62, ticket string) DTO {
dto := DTO{
Code: SUCCESS,
Data: data,
Text: msg,
Success: true,
Data62: data62,
Ticket: ticket,
}
// 如果有ticket添加微信验证相关信息
if ticket != "" {
dto.WechatVerifyUrl = fmt.Sprintf("https://weixin110.qq.com/security/acct/newreadtemplate?t=extdevsignin/slaveverify&ticket=%s&lang=zh_CN", ticket)
dto.VerifyInstructions = "请按照以下步骤完成微信验证:\n1. 复制上面的 wechat_verify_url 链接\n2. 打开微信客户端\n3. 在微信聊天窗口中粘贴并发送该链接\n4. 点击链接完成验证(8.30又被和谐咯, 现在只能走网页版滑块, 哎~)"
}
return dto
}
func NewFailObj(h interface{}, msg string) DTO {
return DTO{
Code: FAIL,
Data: h,
Text: msg,
}
}
func NewFailUUId(uuid string) DTO {
return DTO{
Code: FAIL_UUID,
Data: nil,
Text: fmt.Sprintf("%s 该链接不存在!", uuid),
}
}
func NewFAILDoesNotBelongToServer(uuid string) DTO {
return DTO{
Code: FAIL_DoesNotBelongToServer,
Data: nil,
Text: fmt.Sprintf("%s 不属于[%s]该服务器实例", uuid, srvconfig.GlobalSetting.TargetIp),
}
}
const (
FAIL_DATA = -1 //数据格式错误
FAIL_UUID = -2 //UUID 不存在
FAIL_Bound = -3 //账号被绑定
FAIL_Offline = -4 //账号掉线
FAIL_DoesNotBelongToServer = -5 //UUId不需要该服务器实例
SUCCESS = 200 // 执行成功
FAIL = 300 // 执行失败
)