123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- package hook
- import (
- "fmt"
- "time"
- )
- // 退出登陆
- func (h *Hook) Logout() (result LogoutResp, err error) {
- resp, err := h.Client.R().SetSuccessResult(&result).Post("http://" + h.ServerIp + ":" + h.WxPort + "/Logout")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("Logout failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
- // 结束微信
- func (h *Hook) TerminateThisWeChat(pid string) (result LogoutResp, err error) {
- resp, err := h.Client.R().SetBody(&TerminateThisWeChatReq{
- PID: pid,
- }).SetSuccessResult(&result).Post("http://" + h.ServerIp + ":" + h.AdminPort + "/TerminateThisWeChat")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("TerminateThisWeChatReq failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
- // 获取微信总数
- func (h *Hook) GetWeChatProcessNumber() (result GetWeChatProcessNumberResp, err error) {
- resp, err := h.Client.R().SetSuccessResult(&result).Post("http://" + h.ServerIp + ":" + h.AdminPort + "/Get_WeChatProcessNumber")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("GetWeChatProcessNumber failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
- // 点击登陆微信按钮
- func (h *Hook) ClickLoginButton() (result ClickLoginButtonResp, err error) {
- resp, err := h.Client.R().SetSuccessResult(&result).Post("http://" + h.ServerIp + ":" + h.WxPort + "/ClickLoginButton")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("ClickLoginButton failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
- // 启动微信
- func (h *Hook) StartWechat(port string) (result StartWechatResp, err error) {
- resp, err := h.Client.R().SetBody(&StartWechatReq{
- StartPort: port,
- }).SetSuccessResult(&result).Post("http://" + h.ServerIp + ":" + h.AdminPort + "/StartWechat")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("StartWechat failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
- // 获取进程端口占用信息
- func (h *Hook) GetPortOccupiedInfo(port string) (result GetPortOccupiedInfoResp, err error) {
- resp, err := h.Client.R().SetBody(&GetPortOccupiedInfoReq{
- CheckPort: port,
- }).SetSuccessResult(&result).Post("http://" + h.ServerIp + ":" + h.AdminPort + "/Get_PortOccupiedInfo")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("GetPortOccupiedInfo failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
- // 刷新登陆二维码
- func (h *Hook) RefreshLoginQRCode() (err error) {
- resp, err := h.Client.R().Post("http://" + h.ServerIp + ":" + h.WxPort + "/RefreshLoginQRCode")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("RefreshLoginQRCode failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
- // 获取登陆二维码
- func (h *Hook) GetLoginQRCode() (result GetLoginQRCodeReap, err error) {
- resp, err := h.Client.R().SetSuccessResult(&result).Post("http://" + h.ServerIp + ":" + h.WxPort + "/GetLoginQRCode")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("GetLoginQRCode failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
- // 查询登录状态
- func (h *Hook) IsLoginStatus() (result IsLoginStatusResp, err error) {
- h.Client.SetTimeout(5 * time.Second)
- resp, err := h.Client.R().SetSuccessResult(&result).Post("http://" + h.ServerIp + ":" + h.WxPort + "/IsLoginStatus")
- if err != nil {
- return
- }
- if !resp.IsSuccessState() {
- err = fmt.Errorf("IsLoginStatus failed with status code %d", resp.StatusCode)
- return
- }
- return
- }
|