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

383 lines
16 KiB
Go

package router
import (
"xiawan/wx/api/controller"
"xiawan/wx/api/swagger"
"xiawan/wx/srv/srvconfig"
"github.com/gin-gonic/gin"
)
type SetMiddleWare = func(engine *gin.Engine)
func SetUpRouter(middleware SetMiddleWare, debug bool) *gin.Engine {
//获取Gin实例
r := gin.Default()
//设置中间
if middleware != nil {
middleware(r)
}
// 设置首页重定向到 /docs
r.GET("/", func(c *gin.Context) {
c.Redirect(301, "/docs")
})
//加载模版下的所有文件
r.LoadHTMLGlob("static/templates/*")
//设置静态文件目录
r.Static("static", "static")
swagger.Init()
// 配置swagger
swagger.Setup(r)
setApi(r)
return r
}
// 设置url Version:v1
func setApi(engine *gin.Engine) {
ver := srvconfig.GlobalSetting.ApiVersion
// 管理
admin := engine.Group(ver + "/admin")
{
// 获取授权码(获取新设备)
admin.POST("/GenAuthKey1", controller.GenAuthKey1)
admin.GET("/GenAuthKey2", controller.GenAuthKey2)
admin.POST("/GenAuthKey3", controller.GenAuthKey3)
// 延期授权码
admin.POST("/DelayAuthKey", controller.DelayAuthKey)
// 删除授权码
admin.POST("/DeleteAuthKey", controller.DeleteAuthKey)
// 禁用授权码
admin.POST("/DisableAuthKey", controller.DisableAuthKey)
// 同步卡密激活状态
admin.GET("/HttpSyncLicenseKey", controller.HttpSyncLicenseKey)
// 获取所有激活状态的卡密
admin.GET("/GetActiveLicenseKeys", controller.GetActiveLicenseKeys)
// 获取代理映射列表
admin.GET("/GetProxyMappingList", controller.GetProxyMappingList)
}
// 登录
login := engine.Group(ver + "/login")
{
login.POST("/GetLoginQrCodeNewDirect", controller.GetLoginQrCodeNewApiDirect)
// 检测登陆状态
login.GET("/CheckLoginStatus", controller.CheckLoginStatusApi)
// A16登陆
login.POST("/A16Login", controller.A16LoginApi)
// 62登陆
login.POST("/DeviceLogin", controller.DeviceIdLoginApi)
// 唤醒登录
login.POST("/WakeUpLogin", controller.WakeUpLoginApi)
// 获取在线状态
login.GET("/GetLoginStatus", controller.GetLoginStatusApi)
// 输入验证码验证
login.POST("/VerifyCode", controller.VerifyCodeApi)
// 滑动验证码
login.POST("/VerifyCodeSlide", controller.VerifyCodeApiSlide)
// 退出登录
login.GET("/LogOut", controller.LogOutRequestApi)
// 打印链接数量
// login.GET("/GetIWXConnect", controller.IWXConnectMgrApi)
// 打印链接信息
//login.GET("/GetConnectInfo", controller.GetConnectInfo)
// 检测微信登陆环境
// login.GET("/CheckCanSetAlias", controller.CheckCanSetAliasApi)
// HTML展示登录二维码
// login.GET("/ShowQrCode", controller.GetLoginQrCodeTempShow)
// 62LoginNew新疆号登录
// login.POST("/LoginNew", controller.LoginNewApi)
// 短信登陆
// login.POST("/SmsLogin", controller.SmsLoginApi)
// Mac登录
// login.POST("/MacLogin", controller.MacLoginApi)
// 安卓平板登录
// login.POST("/AndroidPadLogin", controller.AndroidPadLoginApi)
// win登录
// login.POST("/WinLogin", controller.WinLoginService)
// 车载登录
// login.POST("/CarLogin", controller.CarLoginApi)
// 初始化状态
// login.GET("/GetInItStatus", controller.GetInItStatusApi)
// 扫码后直接登陆成功 改 845 已不需要验证码(25.5.24更新 已经859了 时过境迁啊)
// login.POST("/GetLoginQrCodeNew", controller.GetLoginQrCodeNewApi)
// 绕过验证码登录 GetLoginQrCodeNewApi
// login.POST("/GetLoginQrCodeNewX", controller.GetLoginQrCodeNewApiX)
// 辅助新手机登录
// login.POST("/PhoneDeviceLogin", controller.PhoneDeviceLoginApi)
// 获取62信息
// login.GET("/Get62Data", controller.Get62DataApi)
// 获取验证码
// login.POST("/WxBindOpMobileForReg", controller.WxBindOpMobileForRegApi)
}
// 设备
equipment := engine.Group(ver + "/equipment")
{
equipment.GET("/GetOnlineInfo", controller.GetOnlineInfoApi)
equipment.POST("/GetSafetyInfo", controller.GetSafetyInfoApi)
equipment.POST("/DelSafeDevice", controller.DelSafeDeviceApi)
equipment.GET("/GetBoundHardDevice", controller.GetBoundHardDevice)
}
// // 长链接同步消息
ws := engine.Group(ver + "/ws")
{
ws.GET("/GetSyncMsg", controller.GetSyncMsgApi)
}
// 消息
message := engine.Group(ver + "/message")
{
// HTTP-轮询 同步消息
message.POST("/HttpSyncMsg", controller.HttpSyncMsg)
message.POST("/AddMessageMgr", controller.AddMessageMgrApi)
message.POST("/SendImageMessage", controller.SendImageMessageApi)
message.POST("/SendImageNewMessage", controller.SendImageNewMessageApi)
message.POST("/UploadImageToCDN", controller.UploadImageToCDNApi) // 纯CDN图片上传 我直接反手一个绕过
message.POST("/SendTextMessage", controller.SendTextMessageApi)
message.POST("/ShareCardMessage", controller.ShareCardMessageApi)
message.POST("/ForwardImageMessage", controller.ForwardImageMessageApi)
message.POST("/ForwardVideoMessage", controller.ForwardVideoMessageApi)
message.POST("/SendEmojiMessage", controller.SendEmojiMessageApi)
message.POST("/ForwardEmoji", controller.ForwardEmojiApi)
message.POST("/SendAppMessage", controller.SendAppMessageApi)
message.POST("/RevokeMsg", controller.RevokeMsgApi)
message.POST("/RevokeMsgNew", controller.RevokeMsgNewApi)
message.POST("/SendVoice", controller.UploadVoiceRequestApi)
message.POST("/CdnUploadVideo", controller.CdnUploadVideoRequestApi)
message.POST("/SendCdnDownload", controller.SendCdnDownloadApi) // 统一改为企微图片下载(接收xml自动解析)
message.POST("/GetMsgBigImg", controller.GetMsgBigImgApi)
message.POST("/GetMsgVideo", controller.GetMsgVideoApi)
message.POST("/NewSyncHistoryMessage", controller.NewSyncHistoryMessageApi)
message.POST("/GetMsgVoice", controller.GetMsgVoiceApi)
message.POST("/GroupMassMsgText", controller.GroupMassMsgTextApi)
message.POST("/GroupMassMsgImage", controller.GroupMassMsgImageApi)
// 下载表情gif
message.POST("/DownloadEmojiGif", controller.DownloadEmojiGifApi)
// 消息回调相关接口
message.POST("/SetCallback", controller.SetCallbackApi)
message.GET("/GetCallback", controller.GetCallbackApi)
message.GET("/DeleteCallback", controller.DeleteCallbackApi)
//// SendTextMessageNoShow 不显示会话(不删聊天记录)
// message.POST("/SendTextMessageNoShow", controller.SendTextMessageNoShow)
}
// 朋友圈
sns := engine.Group(ver + "/sns")
{
sns.POST("/DownloadMedia", controller.DownloadMediaApi)
sns.POST("/SetFriendCircleDays", controller.SetFriendCircleDaysApi)
sns.POST("/SendFriendCircle", controller.SendFriendCircleApi)
sns.POST("/SendFriendCircleByXMl", controller.SendFriendCircleByXMlApi)
sns.POST("/UploadFriendCircleImage", controller.UploadFriendCircleImageApi)
sns.POST("/SendSnsComment", controller.SendSnsCommentRequestApi)
sns.POST("/SendSnsObjectOp", controller.SendSnsObjectOpRequestApi)
sns.POST("/SendSnsTimeLine", controller.SendSnsTimeLineRequestApi)
sns.POST("/SendSnsUserPage", controller.SendSnsUserPageRequestApi)
sns.POST("/SendSnsObjectDetailById", controller.SendSnsObjectDetailByIdApi)
sns.POST("/SetBackgroundImage", controller.SetBackgroundImageApi)
sns.POST("/SendFavItemCircle", controller.SendFavItemCircleApi)
sns.POST("/SendOneIdCircle", controller.SendOneIdCircleApi)
sns.POST("/GetCollectCircle", controller.GetCollectCircleApi)
sns.POST("/GetSnsSync", controller.GetSnsSync)
sns.POST("/CdnSnsVideoUpload", controller.CdnSnsVideoUploadApi)
}
// 群管理
group := engine.Group(ver + "/group")
{
// 获取群聊二维码
group.POST("/GetChatroomQrCode", controller.GetChatroomQrCode)
group.POST("/SetChatroomAnnouncement", controller.SetChatroomAnnouncementApi)
group.POST("/GetChatroomMemberDetail", controller.GetChatroomMemberDetailApi)
group.POST("/QuitChatroom", controller.GetQuitChatroomApi)
group.POST("/CreateChatRoom", controller.CreateChatRoomApi)
group.POST("/InviteChatroomMembers", controller.InviteChatroomMembersApi)
group.POST("/AddChatRoomMembers", controller.AddChatRoomMembersApi)
group.POST("/SendDelDelChatRoomMember", controller.SendDelDelChatRoomMemberApi)
group.POST("/ScanIntoUrlGroup", controller.ScanIntoUrlGroupApi)
group.POST("/SendTransferGroupOwner", controller.SendTransferGroupOwnerApi)
group.POST("/SetGetChatRoomInfoDetail", controller.SetGetChatRoomInfoDetailApi)
group.POST("/GetChatRoomInfo", controller.GetChatRoomInfoApi)
group.POST("/MoveToContract", controller.MoveToContractApi)
group.POST("/SetChatroomAccessVerify", controller.SetChatroomAccessVerifyApi)
group.POST("/AddChatroomAdmin", controller.AddChatroomAdminApi)
group.POST("/DelChatroomAdmin", controller.DelChatroomAdminApi)
group.POST("/SetChatroomName", controller.SetChatroomNameApi)
group.POST("/SendPat", controller.SendPatApi)
group.POST("/ToJoinGroup", controller.ConsentToJoinGroupApi)
// group.GET("/GroupList", controller.GroupListApi)
}
// 用户
user := engine.Group(ver + "/user")
{
user.POST("/GetMyQrCode", controller.GetMyQrCode)
user.GET("/GetProfile", controller.GetProfileApi)
user.POST("/ModifyUserInfo", controller.ModifyUserInfoRequestApi)
user.POST("/UpdateNickName", controller.UpdateNickNameApi)
user.POST("/SetNickName", controller.SetNickNameApi)
user.POST("/SetSignature", controller.SetSignatureApi)
user.POST("/SetSexDq", controller.SetSexApi)
user.POST("/ResetGender", controller.ResetGenderApi)
user.POST("/ChangePwd", controller.ChangePwdRequestRequestApi)
user.POST("/SetKeywordReply", controller.SetKeywordReplyApi)
user.GET("/GetKeywordReply", controller.GetKeywordReplyApi)
user.POST("/SetWelcome", controller.SetWelcomeApi)
user.GET("/GetWelcome", controller.GetWelcomeApi)
user.POST("/SetAdminKeyword", controller.SetAdminKeywordApi)
user.GET("/GetAdminKeyword", controller.GetAdminKeywordApi)
user.POST("/SetKickKeyword", controller.SetKickKeywordApi)
user.GET("/GetKickKeyword", controller.GetKickKeywordApi)
user.POST("/SetInviteKeyword", controller.SetInviteKeywordApi)
user.GET("/GetInviteKeyword", controller.GetInviteKeywordApi)
user.POST("/UploadHeadImage", controller.UploadHeadImageApi)
user.POST("/UpdateAutoPass", controller.UpdateAutoPassApi)
user.POST("/ModifyRemark", controller.SendModifyRemarkRequestApi)
user.POST("/SetWechat", controller.SetWechatApi)
user.POST("/SetFunctionSwitch", controller.SetFunctionSwitchApi)
user.POST("/SetSendPat", controller.SetSendPatApi)
user.POST("/SetProxy", controller.SetProxyApi)
}
// 公众号/小程序
applet := engine.Group(ver + "/applet")
{
applet.POST("/FollowGH", controller.FollowGHApi)
applet.POST("/GetA8Key", controller.GetA8KeyApi)
applet.POST("/JsLogin", controller.JSLoginApi)
applet.POST("/JSOperateWxData", controller.JSOperateWxDataApi)
applet.POST("/SdkOauthAuthorize", controller.SdkOauthAuthorizeApi)
applet.POST("/QRConnectAuthorize", controller.QRConnectAuthorizeApi)
applet.POST("/QRConnectAuthorizeConfirm", controller.QRConnectAuthorizeConfirmApi)
applet.POST("/GetMpA8Key", controller.GetMpA8KeyApi)
applet.POST("/GetMpHistoryMessage", controller.GetMpHistoryMessageApi)
applet.POST("/AuthMpLogin", controller.AuthMpLoginApi)
// 新增阅读公众号文章功能
applet.POST("/GetAppMsgExt", controller.GetAppMsgExtApi)
// 新增点赞公众号文章功能
applet.POST("/GetAppMsgExtLike", controller.GetAppMsgExtLikeApi)
// 新增获取公众号文章阅读数功能
applet.POST("/GetAppMsgReadCount", controller.GetAppMsgReadCountApi)
}
// 其他
other := engine.Group(ver + "/other")
{
other.POST("/GetPeopleNearby", controller.GetPeopleNearbyApi)
other.POST("/GetRedisSyncMsg", controller.GetRedisSyncMsgApi)
other.POST("/GetUserRankLikeCount", controller.GetUserRankLikeCountApi)
other.POST("/UpdateStepNumber", controller.UpdateStepNumberApi)
other.POST("/UpdateCmdStatus", controller.UpdateCmdStatusApi)
//// GetProjectFullPathApi 获取项目完整路径
other.GET("/GetProjectFullPath", controller.GetProjectFullPathApi)
// 上传文件
other.POST("/UploadAppAttach", controller.UploadAppAttachApi)
// 企微图片下载
other.POST("/QWImageDownload", controller.QWImageDownloadApi)
}
// 收藏
favor := engine.Group(ver + "/favor")
{
favor.GET("/FavSync", controller.FavSyncApi)
favor.POST("/GetFavList", controller.GetFavListApi)
favor.POST("/GetFavItemId", controller.BatchGetFavItemApi)
favor.POST("/BatchDelFavItem", controller.BatchDelFavItemApi)
}
// 标签
label := engine.Group(ver + "/label")
{
label.GET("/GetContactLabelList", controller.GetContactLabelListApi)
label.POST("/AddContactLabel", controller.AddContactLabelRequestApi)
label.POST("/DelContactLabel", controller.DelContactLabelRequestApi)
label.POST("/ModifyLabel", controller.ModifyLabelRequestApi)
label.POST("/GetWXFriendListByLabel", controller.GetWXFriendListByLabelIDApi)
}
// 朋友
friend := engine.Group(ver + "/friend")
{
friend.POST("/GetContactList", controller.GetContactListApi)
// friend.GET("/GetFriendList", controller.GetFriendListApi)
friend.GET("/GroupList", controller.GetGroupListApi)
friend.GET("/GetGHList", controller.GetGHListApi)
friend.GET("/GetMFriend", controller.GetMFriendApi)
friend.POST("/GetContactDetailsList", controller.GetContactContactApi)
friend.POST("/GetFriendRelation", controller.GetFriendRelationApi)
friend.POST("/UploadMContact", controller.UploadMContactApi)
friend.POST("/DelContact", controller.DelContactApi)
friend.POST("/SearchContact", controller.SearchContactRequestApi)
friend.POST("/VerifyUser", controller.VerifyUserRequestApi)
friend.POST("/AgreeAdd", controller.AgreeAddApi)
}
// 支付
pay := engine.Group(ver + "/pay")
{
pay.POST("/GetBandCardList", controller.GetBandCardListApi)
pay.POST("/GeneratePayQCode", controller.GeneratePayQCodeApi)
pay.POST("/Collectmoney", controller.CollectMoneyApi)
pay.POST("/WXCreateRedPacket", controller.WXCreateRedPacketApi)
pay.POST("/OpenRedEnvelopes", controller.OpenRedEnvelopesApi)
pay.POST("/GetRedEnvelopesDetail", controller.QueryRedEnvelopesDetailApi)
pay.POST("/GetRedPacketList", controller.GetRedPacketListApi)
pay.POST("/CreatePreTransfer", controller.CreatePreTransferApi)
pay.POST("/ConfirmPreTransfer", controller.ConfirmPreTransferApi)
}
// 视频号
finder := engine.Group(ver + "/finder")
{
finder.POST("/ChannelsLogin", controller.ChannelsLoginApi)
finder.POST("/FinderSearch", controller.GetFinderSearchApi)
finder.POST("/FinderUserPrepare", controller.FinderUserPrepareApi)
finder.POST("/FinderFollow", controller.FinderFollowApi)
}
// 微信小店
shop := engine.Group(ver + "/shop")
{
shop.POST("/ShopLoginConfirm", controller.ShopLoginConfirmApi)
shop.POST("/ExtDeviceLoginConfirmGet", controller.ExtDeviceLoginConfirmGetApi)
shop.POST("/ExtDeviceLoginConfirmOk", controller.ExtDeviceLoginConfirmOkApi)
shop.POST("/ScanQrcodeEventReport", controller.ScanQrcodeEventReportApi)
}
// 企业微信
qy := engine.Group(ver + "/qy")
{
qy.POST("/QWSearchContact", controller.QWSearchContactApi)
qy.POST("/QWApplyAddContact", controller.QWApplyAddContactApi)
qy.POST("QWAddContact", controller.QWAddContactApi)
qy.POST("/QWContact", controller.QWContactApi)
qy.POST("/QWSyncContact", controller.QWSyncContactApi)
qy.POST("/QWRemark", controller.QWRemarkApi)
qy.POST("/QWCreateChatRoom", controller.QWCreateChatRoomApi)
qy.POST("/QWSyncChatRoom", controller.QWSyncChatRoomApi)
qy.POST("/QWChatRoomTransferOwner", controller.QWChatRoomTransferOwnerApi)
qy.POST("/QWAddChatRoomMember", controller.QWAddChatRoomMemberApi)
qy.POST("/QWInviteChatRoomMember", controller.QWInviteChatRoomMemberApi)
qy.POST("/QWDelChatRoomMember", controller.QWDelChatRoomMemberApi)
qy.POST("/QWGetChatRoomMember", controller.QWGetChatRoomMemberApi)
qy.POST("/QWGetChatroomInfo", controller.QWGetChatroomInfoApi)
qy.POST("/QWGetChatRoomQR", controller.QWGetChatRoomQRApi)
qy.POST("/QWAppointChatRoomAdmin", controller.QWAppointChatRoomAdminApi)
qy.POST("/QWDelChatRoomAdmin", controller.QWDelChatRoomAdminApi)
qy.POST("/QWAcceptChatRoom", controller.QWAcceptChatRoomRequestApi)
qy.POST("/QWAdminAcceptJoinChatRoomSet", controller.QWAdminAcceptJoinChatRoomSetApi)
qy.POST("/QWModChatRoomName", controller.QWModChatRoomNameApi)
qy.POST("/QWModChatRoomMemberNick", controller.QWModChatRoomMemberNickApi)
qy.POST("/QWChatRoomAnnounce", controller.QWChatRoomAnnounceApi)
qy.POST("/QWDelChatRoom", controller.QWDelChatRoomApi)
}
}