出售本站【域名】【外链】

首页 AI人工智能软件 qqAI人工智能 微信AI人工智能 抖音AI人工智能 快手AI人工智能 云控系统 手机AI人工智能

wechat 微信ipad协议GO版本 最新不封号 长链接 完整版

2023-01-20

撑持A16 62 数据号登录

撑持扫码登录

全新撑持短信号登陆,

长链接不掉线,不乱不封号

撑持获与小步调code  抢购 游戏试玩授权等 

 

 

package controllers import ( "encoding/json" "fmt" "github.com/bitly/go-simplejson" "strings" "time" "wechatdll/Algorithm" "wechatdll/Cilent/mm" "wechatdll/comm" "wechatdll/lib" "wechatdll/models" "wechatdll/models/Login" ) // 登陆模块 撑持二次 唤醉 62数据登陆(留心:代办代理必须运用SOCKS) type LoginController struct { BaseController } // @Summary 获与二维码 // @Param body body Login.GetQRReq true "不运用代办代理请留空" // @Success 200 // @router /GetQR [post] func (c *LoginController) LoginGetQR() { var GetQR Login.GetQRReq data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &GetQR) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } //假如没有指定deviceId,生成方法ID if GetQR.DeviceID == "" || GetQR.DeviceID == "string" { GetQR.DeviceID = lib.CreateDeviceId(GetQR.DeviceID) } if GetQR.DeviceName == "" || GetQR.DeviceName == "string" { GetQR.DeviceName = "iPad" } WXDATA := Login.GetQRCODE(GetQR) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 检测二维码 // @Param uuid query string true "请输入与码时返回的UUID" // @Success 200 // @router /CheckQR [post] func (c *LoginController) LoginCheckQR() { uuid := c.GetString("uuid") WXDATA := Login.CheckUuid(uuid) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 二次登陆 // @Param wxid query string true "请输入登陆乐成的wxid" // @Failure 200 // @router /TwiceAutoAuth [post] func (c *LoginController) LoginTwiceAutoAuth() { wxid := c.GetString("wxid") WXDATA := Login.Secautoauth(wxid) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 62登陆(账号或暗码) // @Param body body Login.Data62LoginReq true "不运用代办代理请留空" // @Failure 200 // @router /62data [post] func (c *LoginController) Data62Login() { var reqdata Login.Data62LoginReq data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } WXDATA := Login.Data62(reqdata, Algorithm.MmtlsShortHost) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 62登陆(账号或暗码), 并申请运用SMS验证 // @Param body body Login.Data62LoginReq true "不运用代办代理请留空" // @Failure 200 // @router /62dataSMSApply [post] func (c *LoginController) Data62SMSApply() { var reqdata Login.Data62LoginReq data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } // 生成62随机数据 if reqdata.Data62 == "" || reqdata.Data62 == "string" { deviceId := lib.CreateDeviceId(reqdata.Data62) reqdata.Data62 = lib.Get62Data(deviceId) } if reqdata.DeviceName == "" || reqdata.DeviceName == "string" { reqdata.DeviceName = "iPad" } // 运用62数据登录并主动滑块 WXDATA := Login.Data62(reqdata, Algorithm.MmtlsShortHost) // 记录62 WXDATA.Data62 = reqdata.Data62 // 二次验证运用短信验证 message, transed := WXDATA.Data.(mm.UnifyAuthResponse) if transed && strings.Index(message.GetBaseResponse().GetErrMsg().GetString_(), "&ticket=") >= 0 { checkUrl, againUrl, setCookie := Login.WechatSMS1(message.GetBaseResponse().GetErrMsg().GetString_(), comm.GenDefaultIpadUA(), reqdata.Proxy) WXDATA = models.ResponseResult{ Code: 0, Success: true, Message: "已申请短信验证", Data: &map[string]string{ "CheckUrl": checkUrl, "AgainUrl": againUrl, "Cookie": setCookie, }, Data62: reqdata.Data62, } } c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 62登陆(账号或暗码), 重发验证码 // @Param body body Login.Data62SMSAgainReq true "不运用代办代理请留空" // @Failure 200 // @router /62dataSMSAgain [post] func (c *LoginController) Data62SMSAgain() { var reqdata Login.Data62SMSAgainReq data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } // 重发短信 headers := &map[string]string { "Cookie": reqdata.Cookie, } res := comm.HttpGet1(reqdata.Url, headers, comm.GenDefaultIpadUA(), reqdata.Proxy) resJson, err := simplejson.NewJson([]byte(res)) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } title, err := resJson.Get("resultData").Get("title").String() if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } WXDATA := models.ResponseResult{ Code: 0, Success: true, Message: "", Data: title, Data62: "", } c.Data["json"] = &WXDATA c.ServeJSON() return } // @Summary 62登陆(账号或暗码), 短信验证 // @Param body body Login.Data62SMSVerifyReq true "不运用代办代理请留空" // @Failure 200 // @router /62dataSMSVerify [post] func (c *LoginController) Data62SMSVerify() { var reqdata Login.Data62SMSVerifyReq data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } // 验证短信 verifyUrl := strings.Replace(reqdata.Url, "[[[verifycode]]]", reqdata.Sms, -1) verifyUrl = strings.Replace(verifyUrl, "[[[currentMilliseStamp]]]", string(time.Now().Unix()), -1) headers := &map[string]string { "Cookie": reqdata.Cookie, } res := comm.HttpGet1(verifyUrl, headers, comm.GenDefaultIpadUA(), reqdata.Proxy) resJson, err := simplejson.NewJson([]byte(res)) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } title, err := resJson.Get("resultData").Get("title").String() if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } WXDATA := models.ResponseResult{ Code: 0, Success: true, Message: "", Data: title, Data62: "", } c.Data["json"] = &WXDATA c.ServeJSON() return } // @Summary 62登陆(账号或暗码), 并申请运用二维码验证 // @Param body body Login.Data62LoginReq true "不运用代办代理请留空" // @Failure 200 // @router /62dataQRCodeApply [post] func (c *LoginController) Data62QRCodeApply() { var reqdata Login.Data62LoginReq data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } // 生成62随机数据 if reqdata.Data62 == "" || reqdata.Data62 == "string" { deviceId := lib.CreateDeviceId(reqdata.Data62) reqdata.Data62 = lib.Get62Data(deviceId) } if reqdata.DeviceName == "" || reqdata.DeviceName == "string" { reqdata.DeviceName = "iPad" } // 运用62数据登录并主动滑块 WXDATA := Login.Data62(reqdata, Algorithm.MmtlsShortHost) // 记录62 WXDATA.Data62 = reqdata.Data62 // 二次验证运用短信验证 message, transed := WXDATA.Data.(mm.UnifyAuthResponse) if transed && strings.Index(message.GetBaseResponse().GetErrMsg().GetString_(), "&ticket=") >= 0 { qrUrl, checkUrl := Login.WeChatQrCode1(message.GetBaseResponse().GetErrMsg().GetString_(), comm.GenDefaultIpadUA(), reqdata.Proxy) WXDATA = models.ResponseResult{ Code: 0, Success: true, Message: "已申请短信验证", Data: &map[string]string{ "QrUrl": qrUrl, "CheckUrl": checkUrl, }, Data62: reqdata.Data62, } } c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 62登陆(账号或暗码), 二维码验证校验 // @Param body body Login.Data62SMSVerifyReq true "不运用代办代理请留空" // @Failure 200 // @router /62dataSMSVerify [post] func (c *LoginController) Data62QRCodeVerify() { var reqdata Login.Data62QRCodeVerifyReq data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } // 验证短信 verifyUrl := reqdata.Url verifyUrl = strings.Replace(verifyUrl, "[[[currentMilliseStamp]]]", string(time.Now().Unix()), -1) res := comm.HttpGet1(verifyUrl, nil, comm.GenDefaultIpadUA(), reqdata.Proxy) WXDATA := models.ResponseResult{ Code: 0, Success: true, Message: "", Data: res, Data62: "", } c.Data["json"] = &WXDATA c.ServeJSON() return } // @Summary A16登陆(账号或暗码) - android == 7.0.14 // @Param body body Login.A16LoginParam true "不运用代办代理请留空" // @Failure 200 // @router /A16Data [post] func (c *LoginController) A16Data() { var reqdata Login.A16LoginParam data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } WXDATA := Login.AndroidA16Login(reqdata, Algorithm.MmtlsShortHost) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 心跳包 // @Param wxid query string true "请输入登陆乐成的wxid" // @Success 200 // @router /HeartBeat [post] func (c *LoginController) HeartBeat() { wxid := c.GetString("wxid") WXDATA := Login.HeartBeat(wxid) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 心跳包 // @Param wxid query string true "请输入登陆乐成的wxid" // @Success 200 // @router /HeartBeatLong [post] func (c *LoginController) HeartBeatLong() { wxid := c.GetString("wxid") WXDATA := Login.HeartBeatLong(wxid) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 初始化 // @Param wxid query string true "请输入登陆乐成的wxid" // @Param MaxSynckey query string false "二次同步须要带入" // @Param CurrentSynckey query string false "二次同步须要带入" // @Success 200 // @router /Newinit [post] func (c *LoginController) Newinit() { wxid := c.GetString("wxid") MaxSynckey := c.GetString("MaxSynckey") CurrentSynckey := c.GetString("CurrentSynckey") WXDATA := Login.Newinit(wxid, MaxSynckey, CurrentSynckey) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 唤醉登陆(只限扫码登录) // @Param wxid query string true "请输入登陆乐成的wxid" // @Success 200 // @router /Awaken [post] func (c *LoginController) LoginAwaken() { wxid := c.GetString("wxid") WXDATA := Login.AwakenLogin(wxid) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 获与登陆缓存信息 // @Param wxid query string true "请输入登陆乐成的wxid" // @Success 200 // @router /GetCacheInfo [post] func (c *LoginController) GetCacheInfo() { wxid := c.GetString("wxid") WXDATA := Login.CacheInfo(wxid) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 获与62数据 // @Param wxid query string true "请输入登陆乐成的wxid" // @Success 200 // @router /Get62Data [post] func (c *LoginController) Get62Data() { wxid := c.GetString("wxid") Data62 := Login.Get62Data(wxid) Result := models.ResponseResult{ Code: 0, Success: true, Message: "乐成", Data: Data62, } c.Data["json"] = &Result c.ServeJSON() return } // @Summary 退出登录 // @Param wxid query string true "请输入登陆乐成的wxid" // @Success 200 // @router /LogOut [post] func (c *LoginController) LogOut() { wxid := c.GetString("wxid") WXDATA := Login.LogOut(wxid) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 新方法扫码登录 // @Param body body Login.ExtDeviceLoginConfirmParam true "URL == MAC iPad Windows 的微信二维码解析出来的url" // @Success 200 // @router /ExtDeviceLoginConfirmGet [post] func (c *LoginController) ExtDeviceLoginConfirmGet() { var reqdata Login.ExtDeviceLoginConfirmParam data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } WXDATA := Login.ExtDeviceLoginConfirmGet(reqdata) c.Data["json"] = &WXDATA c.ServeJSON() } // @Summary 新方法扫码确认登录 // @Param body body Login.ExtDeviceLoginConfirmParam true "URL == MAC iPad Windows 的微信二维码解析出来的url" // @Success 200 // @router /ExtDeviceLoginConfirmOk [post] func (c *LoginController) ExtDeviceLoginConfirmOk() { var reqdata Login.ExtDeviceLoginConfirmParam data := c.Ctx.Input.RequestBody err := json.Unmarshal(data, &reqdata) if err != nil { Result := models.ResponseResult{ Code: -8, Success: false, Message: fmt.Sprintf("系统异样:%v", err.Error()), Data: nil, } c.Data["json"] = &Result c.ServeJSON() return } WXDATA := Login.ExtDeviceLoginConfirmOk(reqdata) c.Data["json"] = &WXDATA c.ServeJSON() }

热门文章

随机推荐

推荐文章

友情链接: 永康物流网 本站外链出售 义乌物流网 本网站域名出售 手机靓号-号码网