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 // 执行失败 )