{
  "components": {
    "schemas": {
      "baseinfo.GetRedPacketList": {
        "properties": {
          "HongBaoItem": {
            "$ref": "#/components/schemas/baseinfo.HongBaoURLItem",
            "description": "NativeURL 解析出的各字段"
          },
          "Limit": {
            "description": "每页条数",
            "type": "integer"
          },
          "NativeURL": {
            "description": "红包原始链接(可选, 传入则按该红包过滤)",
            "type": "string"
          },
          "Offset": {
            "description": "分页起始偏移",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "baseinfo.HongBaoItem": {
        "properties": {
          "FromUserName": {
            "description": "发红包人的 wxid",
            "type": "string"
          },
          "IsGroup": {
            "description": "默认 1",
            "type": "integer"
          },
          "Limit": {
            "description": "分页条数(仅查询类红包接口使用)",
            "type": "integer"
          },
          "NativeURL": {
            "description": "红包原始链接(wxpay:",
            "type": "string"
          },
          "SceneID": {
            "description": "场景 ID(微信侧原始字段, 透传给红包 CGI)",
            "type": "integer"
          },
          "URLItem": {
            "$ref": "#/components/schemas/baseinfo.HongBaoURLItem",
            "description": "NativeURL 解析出的各字段"
          }
        },
        "type": "object"
      },
      "baseinfo.HongBaoURLItem": {
        "properties": {
          "ChannelID": {
            "description": "渠道 ID",
            "type": "string"
          },
          "MsgType": {
            "description": "红包消息类型",
            "type": "string"
          },
          "SceneID": {
            "description": "场景 ID",
            "type": "integer"
          },
          "SendID": {
            "description": "红包发送单号",
            "type": "string"
          },
          "SendUserName": {
            "description": "红包发送者 wxid",
            "type": "string"
          },
          "ShowSourceMac": {
            "description": "微信侧原始字段, 代码中未使用(语义未确认)",
            "type": "string"
          },
          "ShowWxPayTitle": {
            "description": "是否展示微信支付标题",
            "type": "string"
          },
          "Sign": {
            "description": "链接签名",
            "type": "string"
          },
          "Ver": {
            "description": "链接版本号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "baseinfo.RedPacket": {
        "properties": {
          "Amount": {
            "description": "每个红包的金额(单位为分, 最小为100); 总金额为 Amount*Count",
            "type": "integer"
          },
          "Content": {
            "description": "红包的备注内容(祝福语)",
            "type": "string"
          },
          "Count": {
            "description": "红包个数(最少为1)",
            "type": "integer"
          },
          "From": {
            "description": "InAway(0:群红包; 1:个人红包)",
            "type": "integer"
          },
          "RedType": {
            "description": "红包类型(0 普通红包; 1 拼手气红包; ? 专属红包)",
            "type": "integer"
          },
          "Username": {
            "description": "红包接收者; wxid 或 群ID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "baseinfo.SnsSyncItem": {
        "properties": {
          "CmdId": {
            "type": "integer"
          },
          "TimelineInfo": {
            "$ref": "#/components/schemas/vo.TimelineObjectDoc"
          }
        },
        "type": "object"
      },
      "baseinfo.SnsSyncResp": {
        "properties": {
          "ContinueFlag": {
            "type": "integer"
          },
          "SnsCount": {
            "type": "integer"
          },
          "SnsItems": {
            "items": {
              "$ref": "#/components/schemas/baseinfo.SnsSyncItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "SnsSyncKey": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "baseinfo.UserLabelInfoItem": {
        "properties": {
          "LabelIDList": {
            "type": "string"
          },
          "UserName": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.AlisaModel": {
        "properties": {
          "Alisa": {
            "description": "要设置的微信号(alias)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.AppletModel": {
        "properties": {
          "AppId": {
            "description": "应用ID",
            "type": "string"
          },
          "Data": {
            "description": "小程序云函数操作的 Data; json字符串, 注意必须是 json 字符串; 传空时默认值为: '{\"with_credentials\":true,\"from_component\":true,\"data\":{\"lang\":\"zh_CN\"},\"api_name\":\"webapi_getuserinfo\"}'",
            "type": "string"
          },
          "Opt": {
            "description": "小程序云函数操作的 Opt; 默认为1",
            "example": 1,
            "type": "integer"
          },
          "PackageName": {
            "description": "应用包名(App 授权时使用)",
            "type": "string"
          },
          "SdkName": {
            "description": "SDK 名称(小程序/App 授权时使用)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.BatchGetContactModel": {
        "properties": {
          "RoomWxIDList": {
            "description": "群 ID 列表, 用于拉取群内成员详情",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "UserNames": {
            "description": "要查询详情的 wxid 列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.BindEmailModel": {
        "properties": {
          "Email": {
            "description": "要绑定的邮箱地址",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.BindOpMobileModel": {
        "properties": {
          "Mobile": {
            "description": "手机号",
            "type": "string"
          },
          "Opcode": {
            "description": "操作码: 19=提交验证码完成绑定",
            "type": "integer"
          },
          "Verifycode": {
            "description": "短信验证码; 发码阶段留空",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.BindQQModel": {
        "properties": {
          "Account": {
            "description": "要绑定的 QQ 号",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.BizSearchModel": {
        "properties": {
          "BusinessType": {
            "description": "业务位掩码; 0=全部(协议值 -1), 可传单项过滤",
            "type": "integer"
          },
          "Keyword": {
            "description": "搜索词; 必填",
            "type": "string"
          },
          "RequestSrc": {
            "description": "请求来源场景; 默认 0",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.CdnSnsVideoUploadModel": {
        "properties": {
          "ThumbData": {
            "description": "缩略图数据的base64编码",
            "type": "string"
          },
          "VideoData": {
            "description": "视频数据的base64编码",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.CdnThumbConfig": {
        "properties": {
          "aeskey": {
            "description": "appattach.aeskey(与 cdnthumbaeskey 同值)",
            "type": "string"
          },
          "cdnthumbaeskey": {
            "description": "缩略图 AES 密钥",
            "type": "string"
          },
          "cdnthumbheight": {
            "description": "高",
            "type": "integer"
          },
          "cdnthumblength": {
            "description": "缩略图字节数",
            "type": "integer"
          },
          "cdnthumburl": {
            "description": "CDN key(十六进制串, 非完整 URL)",
            "type": "string"
          },
          "cdnthumbwidth": {
            "description": "宽",
            "type": "integer"
          },
          "encryver": {
            "description": "加密版本(0/1)",
            "type": "integer"
          },
          "filekey": {
            "description": "文件标识(发送者wxid_序号_时间戳)",
            "type": "string"
          },
          "md5": {
            "description": "图片 MD5",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ChannelsLoginModel": {
        "properties": {
          "FinderUsername": {
            "description": "指定要登录的视频号用户名，为空则选择第一个",
            "type": "string"
          },
          "Url": {
            "description": "视频号助手扫码登录确认链接",
            "type": "string"
          }
        },
        "required": [
          "Url"
        ],
        "type": "object"
      },
      "req.ChatRoomWxIdListModel": {
        "properties": {
          "ChatRoomWxIdList": {
            "description": "群 ID 列表(xxx@chatroom)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.ChatroomMemberModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "UserList": {
            "description": "成员 wxid 列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.ChatroomNameModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "Nickname": {
            "description": "新的群名称",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.CollectmoneyModel": {
        "properties": {
          "InvalidTime": {
            "description": "转账单过期时间(来自 wcpayinfo 的 invalidtime)",
            "type": "string"
          },
          "ToUserName": {
            "description": "付款方 wxid(来自 wcpayinfo 的 receiver_username)",
            "type": "string"
          },
          "TransFerId": {
            "description": "微信转账单号(来自 wcpayinfo 的 transferid)",
            "type": "string"
          },
          "TransactionId": {
            "description": "微信交易号(来自 wcpayinfo 的 transcationid)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ConfirmPreTransfer": {
        "properties": {
          "BankSerial": {
            "description": "付款方式 Serial序列号",
            "type": "string"
          },
          "BankType": {
            "description": "付款方式 类型",
            "type": "string"
          },
          "PayPassword": {
            "description": "支付密码",
            "type": "string"
          },
          "ReqKey": {
            "description": "创建转账返回的ReqKey",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ConsentToJoinGroupModel": {
        "properties": {
          "Url": {
            "description": "群邀请链接(来自群邀请消息或群二维码)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.CreateChatRoomModel": {
        "properties": {
          "TopIc": {
            "description": "群名称(可留空)",
            "type": "string"
          },
          "UserList": {
            "description": "要拉入群的成员 wxid 列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.CreatePreTransfer": {
        "properties": {
          "Description": {
            "description": "转账备注",
            "type": "string"
          },
          "Fee": {
            "description": "转账金额(单位为分)",
            "type": "integer"
          },
          "ToUserName": {
            "description": "要转账用户的wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.DataSection": {
        "properties": {
          "DataLen": {
            "description": "数据分包长度(不要超过 65535)",
            "example": 61440,
            "type": "integer"
          },
          "StartPos": {
            "description": "数据分包开始位置",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.DelContactModel": {
        "properties": {
          "DelUserName": {
            "description": "要删除的好友 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.DelSafeDeviceModel": {
        "properties": {
          "DeviceUUID": {
            "description": "要删除的安全设备唯一标识(取自 GetSafetyInfo 返回的设备列表)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.DeleteBillRecordModel": {
        "properties": {
          "BillId": {
            "description": "账单记录 id; 必填(来自 GetBillList)",
            "type": "string"
          },
          "FromTimestamp": {
            "description": "秒级时间戳; 与列表一致",
            "type": "integer"
          },
          "Type": {
            "description": "分组类型; 与列表一致",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.DeviceIdLoginModel": {
        "properties": {
          "DeviceInfo": {
            "$ref": "#/components/schemas/req.DeviceInfo",
            "description": "设备信息(模拟的安卓设备标识; iPad 协议下可留空)"
          },
          "LoginData": {
            "description": "62 数据/A16 数据",
            "type": "string"
          },
          "Password": {
            "description": "微信密码",
            "type": "string"
          },
          "Proxy": {
            "description": "socks代理，例如：socks5://username:password@ipv4:port",
            "type": "string"
          },
          "Ticket": {
            "description": "SMS短信验证码",
            "type": "string"
          },
          "Type": {
            "description": "登录数据类型: 62=62 数据登录, 其余值按直登处理",
            "example": 62,
            "type": "integer"
          },
          "UserName": {
            "description": "手机号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.DeviceInfo": {
        "properties": {
          "AndroidId": {
            "description": "安卓 AndroidID(16 位十六进制)",
            "type": "string"
          },
          "ImeI": {
            "description": "设备 IMEI",
            "type": "string"
          },
          "Manufacturer": {
            "description": "设备厂商, 例如 samsung",
            "type": "string"
          },
          "Model": {
            "description": "设备型号, 例如 SM-G9860",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.DownMediaModel": {
        "properties": {
          "AesKey": {
            "description": "文件的 AES 密钥(hex)",
            "type": "string"
          },
          "DnsCluster": {
            "description": "可选: main(默认, 收到的消息附件) / fake(AppMsg 通道上传的自有附件)",
            "type": "string"
          },
          "FileType": {
            "description": "1=大图 2=普通图 3=缩略图 4=视频 5=文件 7=大文件",
            "type": "integer"
          },
          "FileURL": {
            "description": "文件的 CDN 地址",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.DownloadAppAttachModel": {
        "properties": {
          "AppID": {
            "description": "业务 appId; 普通聊天附件留空",
            "type": "string"
          },
          "AttachId": {
            "description": "附件 ID(消息 XML 里的 attachid)",
            "type": "string"
          },
          "DataLen": {
            "description": "附件总长度(消息 XML 里的 totallen)",
            "type": "integer"
          },
          "SectionLen": {
            "description": "本次要下载的字节数; 传 DataLen 表示全量",
            "type": "integer"
          },
          "StartPos": {
            "description": "本次下载起始偏移; 全量下载传 0",
            "type": "integer"
          },
          "UserName": {
            "description": "附件所属会话; 群聊填群 wxid, 单聊填对方 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.DownloadMediaModel": {
        "properties": {
          "Key": {
            "description": "视频 CDN 地址中的 encKey(数字字符串)",
            "type": "string"
          },
          "URL": {
            "description": "视频 CDN 完整下载地址",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.DownloadParam": {
        "properties": {
          "CompressType": {
            "description": "下载图片时，数据压缩类型(默认为0即可)",
            "type": "integer"
          },
          "FromUserName": {
            "description": "下载图片时，图片消息的发送者",
            "type": "string"
          },
          "MsgId": {
            "description": "消息ID(注意是msg_id 不是new_msg_id)",
            "type": "integer"
          },
          "Section": {
            "$ref": "#/components/schemas/req.DataSection",
            "description": "当前要获取的数据分包"
          },
          "ToUserName": {
            "description": "下载图片时，图片消息的接收者",
            "type": "string"
          },
          "TotalLen": {
            "description": "下载数据的总长度",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.DownloadQWImageModel": {
        "properties": {
          "Xml": {
            "description": "企微图片消息 XML(需含 <img> 节点与 aeskey/url 属性)",
            "type": "string"
          }
        },
        "required": [
          "Xml"
        ],
        "type": "object"
      },
      "req.DownloadVoiceModel": {
        "properties": {
          "Bufid": {
            "description": "语音文件在微信侧的 bufid",
            "type": "string"
          },
          "Length": {
            "description": "语音数据长度",
            "type": "integer"
          },
          "NewMsgId": {
            "description": "语音消息的 new_msg_id",
            "type": "string"
          },
          "ToUserName": {
            "description": "语音消息接收方 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.EmojiCdnConfig": {
        "properties": {
          "aeskey": {
            "description": "AES 密钥",
            "type": "string"
          },
          "cdnurl": {
            "description": "表情 CDN key",
            "type": "string"
          },
          "emojiType": {
            "description": "1=普通动画表情",
            "type": "integer"
          },
          "height": {
            "description": "高",
            "type": "integer"
          },
          "length": {
            "description": "字节数",
            "type": "integer"
          },
          "md5": {
            "description": "表情 MD5",
            "type": "string"
          },
          "width": {
            "description": "宽",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.EmojiItem": {
        "properties": {
          "EmojiCdnConfig": {
            "$ref": "#/components/schemas/req.EmojiCdnConfig",
            "description": "表情 CDN 配置"
          },
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.FacePayloadModel": {
        "properties": {
          "Payload": {
            "description": "手机端上报的过程数据的 base64 编码",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.FaceToFaceQrcodeModel": {
        "properties": {
          "Userver": {
            "description": "预留字段(当前实现不使用); 传 0 即可",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FacingCreateChatRoomModel": {
        "properties": {
          "Latitude": {
            "description": "纬度; 无定位传 0",
            "type": "number"
          },
          "Longitude": {
            "description": "经度; 无定位传 0",
            "type": "number"
          },
          "OpCode": {
            "description": "操作码: 0=创建群 1=加入群",
            "type": "integer"
          },
          "Password": {
            "description": "4 位数字密码(同一密码的人进入同一个群)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.FavInfoModel": {
        "properties": {
          "FavId": {
            "description": "收藏条目数字 ID(GetFavList / BatchDelFavItem 使用)",
            "type": "integer"
          },
          "KeyBuf": {
            "description": "收藏同步 key(来自 FavSync 或上一次列表返回)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.FileItem": {
        "properties": {
          "FileBase64": {
            "description": "文件内容 base64",
            "type": "string"
          },
          "FileMd5": {
            "description": "可选: 文件 md5(缺省自动计算)",
            "type": "string"
          },
          "FileName": {
            "description": "显示文件名(需带扩展名, 如 report.pdf)",
            "type": "string"
          },
          "Length": {
            "description": "可选: 文件字节数(缺省自动计算)",
            "type": "integer"
          },
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.FinderCheckStatusModel": {
        "properties": {
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderCommentModel": {
        "properties": {
          "CommentId": {
            "description": "删除时定位目标评论的 ID",
            "type": "integer"
          },
          "CommentScene": {
            "description": "评论场景; 默认 2",
            "type": "integer"
          },
          "Content": {
            "description": "评论内容; 发表/回复时必填",
            "type": "string"
          },
          "Delete": {
            "description": "true=删除评论, false=发表/回复",
            "type": "boolean"
          },
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "ReplyCommentId": {
            "description": "回复的评论 ID; 发表一级评论传 0",
            "type": "integer"
          },
          "ReplyUsername": {
            "description": "被回复者的 finder username; 无传空",
            "type": "string"
          },
          "RootCommentId": {
            "description": "二级评论的根评论 ID; 无传 0",
            "type": "integer"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderCreateUserModel": {
        "properties": {
          "BirthDay": {
            "description": "出生日",
            "type": "integer"
          },
          "BirthMonth": {
            "description": "出生月",
            "type": "integer"
          },
          "BirthYear": {
            "description": "出生年",
            "type": "integer"
          },
          "City": {
            "description": "地区-市",
            "type": "string"
          },
          "Country": {
            "description": "地区-国家",
            "type": "string"
          },
          "CreateScene": {
            "description": "开通来源场景",
            "type": "integer"
          },
          "HeadImgBase64": {
            "description": "头像图片 base64(不含 data: 前缀); 与 HeadImgUrl 二选一",
            "type": "string"
          },
          "HeadImgUrl": {
            "description": "头像 URL; 与 HeadImgBase64 二选一",
            "type": "string"
          },
          "Nickname": {
            "description": "视频号昵称; 必填",
            "type": "string"
          },
          "NotRecommendToFriend": {
            "description": "1=不推荐给朋友",
            "type": "integer"
          },
          "NotShowLocationSwitch": {
            "description": "1=不展示地区",
            "type": "integer"
          },
          "NotShowSexSwitch": {
            "description": "1=不展示性别",
            "type": "integer"
          },
          "Province": {
            "description": "地区-省",
            "type": "string"
          },
          "Sex": {
            "description": "性别: 0=未知 1=男 2=女",
            "type": "integer"
          },
          "ShowFinderInWx": {
            "description": "1=在微信里展示视频号入口",
            "type": "integer"
          },
          "Signature": {
            "description": "视频号简介",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderFavModel": {
        "properties": {
          "Cancel": {
            "description": "true=取消收藏, false=收藏",
            "type": "boolean"
          },
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderFeedByShareUrlModel": {
        "properties": {
          "Url": {
            "description": "视频号分享链接",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.FinderFollowModel": {
        "properties": {
          "Cancel": {
            "description": "true=取消关注, false=关注",
            "type": "boolean"
          },
          "EnterType": {
            "description": "进入入口类型; 默认 7",
            "type": "integer"
          },
          "FinderUsername": {
            "description": "目标视频号 username(v2_xxx); 必填",
            "type": "string"
          },
          "RefObjectId": {
            "description": "从哪个 feed 进入(可 0)",
            "type": "integer"
          },
          "RefObjectNonceId": {
            "description": "来源 feed nonce(可空)",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetBulletModel": {
        "properties": {
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "StartTimestamp": {
            "description": "起始视频时间点(毫秒); 从头拉传 0",
            "type": "integer"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetCommentDetailModel": {
        "properties": {
          "Direction": {
            "description": "评论翻页方向; 首页传 0",
            "type": "integer"
          },
          "EncryptedObjectid": {
            "description": "加密 feedId(分享链解析得到); 直接给数字 ID 时可留空",
            "type": "string"
          },
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "IdentityScene": {
            "description": "身份场景值; 默认 0",
            "type": "integer"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "MaxCommentId": {
            "description": "评论翻页游标; 首页传 0",
            "type": "integer"
          },
          "ObjectId": {
            "description": "数字 feedId(与内嵌的 ObjectId 同义, 这里用 uint64 以便直接喂协议层)",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "RefCommentId": {
            "description": "引用评论 ID; 无传 0",
            "type": "integer"
          },
          "RootCommentId": {
            "description": "二级评论的根评论 ID; 不查二级评论传 0",
            "type": "integer"
          },
          "Scene": {
            "description": "场景值; 默认 0",
            "type": "integer"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetCommentListModel": {
        "properties": {
          "Direction": {
            "description": "翻页方向: 0/1=向下 2=向上; 首页 0",
            "type": "integer"
          },
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "RootCommentId": {
            "description": "取子评论时的根评论 ID; 一级评论传 0",
            "type": "integer"
          },
          "SortType": {
            "description": "排序: 0=智能(默认) 1=最热 2=最新",
            "type": "integer"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetFansListModel": {
        "properties": {
          "FinderUsername": {
            "description": "目标作者 finder username; 必填",
            "type": "string"
          },
          "LastBuff": {
            "description": "buffer 游标(base64); 与 LastId 一起回传",
            "type": "string"
          },
          "LastId": {
            "description": "数值游标: 上一页响应回传的 lastId; 首页 0",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetFavListModel": {
        "properties": {
          "FinderUsername": {
            "description": "我的 finder username; 可留空",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetFollowListModel": {
        "properties": {
          "FinderUsername": {
            "description": "我的 finder username; 可留空(默认自己)",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetHistoryModel": {
        "properties": {
          "FinderUsername": {
            "description": "我的 finder username; 可留空",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "TabType": {
            "description": "历史页 tab; 默认 0",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetHotWordListModel": {
        "properties": {
          "HotwordLastBuffer": {
            "description": "上一页返回的游标(base64); 首次传空",
            "type": "string"
          },
          "Limit": {
            "description": "单页条数; 默认 20",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetLikedListModel": {
        "properties": {
          "FinderUsername": {
            "description": "我的 finder username; 可留空",
            "type": "string"
          },
          "LastBuffer": {
            "description": "buffer 游标(base64); 首次传空",
            "type": "string"
          },
          "LastDisplayId": {
            "description": "数值游标: 上一页最后一条; 首页 0",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetRelatedListModel": {
        "properties": {
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "TabType": {
            "description": "场景 tab; 默认 0",
            "type": "integer"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderGetUserModel": {
        "properties": {
          "ExportUsername": {
            "description": "对外导出 ID(openFinderProfile 场景)",
            "type": "string"
          },
          "Nickname": {
            "description": "视频号昵称列表(常用)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "UserList": {
            "description": "扫码重定向串(仅扫码场景)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderInitModel": {
        "properties": {
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderLikeModel": {
        "properties": {
          "Cancel": {
            "description": "true=取消点赞, false=点赞",
            "type": "boolean"
          },
          "CommentId": {
            "description": "给\"评论\"点赞时的评论 ID; 给视频点赞传 0",
            "type": "integer"
          },
          "CurLikeCount": {
            "description": "当前点赞数(客户端展示值); 未知传 0",
            "type": "integer"
          },
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderMixSearchModel": {
        "properties": {
          "LastBuff": {
            "description": "上一页返回的 lastBuff(base64); 首次传空",
            "type": "string"
          },
          "Query": {
            "description": "搜索词; 必填",
            "type": "string"
          },
          "RequestId": {
            "description": "请求唯一 id; 留空自动生成",
            "type": "string"
          },
          "SelectTabType": {
            "description": "选中 tab; 默认 0",
            "type": "integer"
          },
          "SubTabType": {
            "description": "子 tab; 默认 0",
            "type": "integer"
          },
          "TabType": {
            "description": "聚合页 tab 类型; 首次传 0(由混搜页服务端下发)",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderMsgSessionIdModel": {
        "properties": {
          "MyAccountType": {
            "description": "我的账号类型: 1/2/3",
            "type": "integer"
          },
          "MyAccountUsername": {
            "description": "我的 finder username(未开通可留空)",
            "type": "string"
          },
          "SourceType": {
            "description": "来源类型; 默认 0",
            "type": "integer"
          },
          "SupportAlias": {
            "description": "是否支持别名; 默认 false",
            "type": "boolean"
          },
          "ToCommentId": {
            "description": "关联的评论 ID; 无传 0",
            "type": "integer"
          },
          "ToFansId": {
            "description": "对方 fansId; 无传空",
            "type": "string"
          },
          "ToObjectId": {
            "description": "关联的 feed ID; 无传 0",
            "type": "integer"
          },
          "ToUsername": {
            "description": "对方 finder username",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderMsgSessionModel": {
        "properties": {
          "FinderUsername": {
            "description": "我的 finder username",
            "type": "string"
          },
          "ReqList": {
            "description": "要查询的会话请求列表",
            "items": {
              "$ref": "#/components/schemas/req.FinderMsgSessionReqItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "SupportAlias": {
            "description": "是否支持别名",
            "type": "boolean"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderMsgSessionReqItem": {
        "properties": {
          "MyAccountType": {
            "description": "我的账号类型: 1/2/3",
            "type": "integer"
          },
          "SessionId": {
            "description": "会话 ID(由 FinderMsgSessionId 得到)",
            "type": "string"
          },
          "SourceType": {
            "description": "来源类型",
            "type": "integer"
          },
          "ToUserName": {
            "description": "对方 finder username",
            "type": "string"
          },
          "UserpageEnterType": {
            "description": "从主页进入的入口类型",
            "type": "integer"
          },
          "UserpageFromObjectId": {
            "description": "从主页哪个作品进入",
            "type": "integer"
          },
          "UserpageLastCommentScene": {
            "description": "主页最近一次评论场景",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderNewUserPrepareModel": {
        "properties": {
          "Scene": {
            "description": "进入场景; 默认 0",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderOpBulletModel": {
        "properties": {
          "CommentId": {
            "description": "弹幕评论 ID",
            "type": "integer"
          },
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "OpType": {
            "description": "操作类型: 0=点赞 1=删除",
            "type": "integer"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderParseShareUrlModel": {
        "properties": {
          "Url": {
            "description": "视频号分享链接(含短码, 如 https://channels.weixin.qq.com/... 或微信内分享链)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.FinderPostBulletModel": {
        "properties": {
          "Content": {
            "description": "弹幕文字; 必填",
            "type": "string"
          },
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          },
          "VideoTimestamp": {
            "description": "弹幕出现的视频时间点(毫秒)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderRecommendModel": {
        "properties": {
          "Cancel": {
            "description": "true=取消推荐, false=推荐",
            "type": "boolean"
          },
          "FinderUsername": {
            "description": "作者 finder username; 传 ObjectId 时建议带上",
            "type": "string"
          },
          "ObjectId": {
            "description": "数字 feedId(协议为 uint64, 大于 int64 的 feedId 也支持); 与 Url 二选一",
            "type": "integer"
          },
          "ObjectNonceId": {
            "description": "feed nonce; 传 ObjectId 时互动类接口必带",
            "type": "string"
          },
          "Url": {
            "description": "视频号分享链接; 与 ObjectId 二选一",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderSearchModel": {
        "properties": {
          "LastBuff": {
            "description": "上一页返回的 lastBuff(base64); 首次传空",
            "type": "string"
          },
          "Offset": {
            "description": "内容翻页偏移; 首页 0",
            "type": "integer"
          },
          "Query": {
            "description": "搜索词; 必填",
            "type": "string"
          },
          "RequestId": {
            "description": "请求唯一 id; 留空自动生成",
            "type": "string"
          },
          "Scene": {
            "description": "2=综合内容(默认) 3=视频号账号 4=话题",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderSearchSuggestModel": {
        "properties": {
          "Query": {
            "description": "输入中的关键词; 必填",
            "type": "string"
          },
          "SessionBuffer": {
            "description": "上一页响应的 sessionBuffer(base64); 可留空",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderStreamModel": {
        "properties": {
          "FinderUsername": {
            "description": "我的 finder username; 可留空",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "Latitude": {
            "description": "纬度",
            "type": "number"
          },
          "Longitude": {
            "description": "经度; 同城/附近建议带",
            "type": "number"
          },
          "PullType": {
            "description": "0=刷新/首次 1=加载更多",
            "type": "integer"
          },
          "TabType": {
            "description": "频道: 4=推荐(默认) 1=朋友 3=关注 2=同城LBS",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FinderUserPageModel": {
        "properties": {
          "FirstPageMd5": {
            "description": "首页内容 MD5; 内容未变化时服务端不回数据, 首次传空",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "MaxId": {
            "description": "翻页游标; 首页传 0",
            "type": "integer"
          },
          "NeedFansCount": {
            "description": "1=额外返回粉丝数, 0=不返回",
            "type": "integer"
          },
          "Username": {
            "description": "目标作者 finder username",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认(config finderUserver)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.FollowGHModel": {
        "properties": {
          "GHList": {
            "description": "要关注的公众号列表",
            "items": {
              "$ref": "#/components/schemas/req.VerifyUserItem"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.GeneratePayQCodeModel": {
        "properties": {
          "Money": {
            "description": "金额(单位为分), 999 即为 9.99 元",
            "type": "string"
          },
          "Name": {
            "description": "收款备注",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetA8KeyRequestModel": {
        "properties": {
          "OpCode": {
            "description": "操作码",
            "type": "integer"
          },
          "ReqUrl": {
            "description": "待解析的原始 URL",
            "type": "string"
          },
          "Scene": {
            "description": "场景值",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.GetBillDetailModel": {
        "properties": {
          "PayScene": {
            "description": "支付场景: 2=线下支付(走 offline 接口), 其他默认",
            "type": "integer"
          },
          "ReqKey": {
            "description": "详情凭证; 必填, 来自聊天消息/服务端下发的账单卡片",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetBillListModel": {
        "properties": {
          "FromTimestamp": {
            "description": "秒级时间戳(分组截止时间); 0=当前时间",
            "type": "integer"
          },
          "LastBillId": {
            "description": "翻页游标: 上一页最后一条的 billId; 首页留空",
            "type": "string"
          },
          "Num": {
            "description": "页大小; 默认 20",
            "type": "integer"
          },
          "Type": {
            "description": "分组类型: 0=默认全部; 非 0 值来自 GetBillStats 返回的分组",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.GetBillStatsModel": {
        "properties": {
          "DirectionFlag": {
            "description": "游标方向; 默认 0",
            "type": "integer"
          },
          "FromTimestamp": {
            "description": "秒级时间戳; 0=当前时间",
            "type": "integer"
          },
          "Num": {
            "description": "拉取分组数; 默认 10",
            "type": "integer"
          },
          "Type": {
            "description": "分组类型; 默认 0",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.GetChatroomMemberDetailModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetChatroomQrCodeModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetContactListModel": {
        "properties": {
          "CurrentChatRoomContactSeq": {
            "description": "当前群联系人同步序列号, 首次传 0",
            "type": "integer"
          },
          "CurrentWxcontactSeq": {
            "description": "当前好友同步序列号, 首次传 0, 续拉时传上次返回的序列号",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.GetFriendRelationModel": {
        "properties": {
          "UserName": {
            "description": "要查询好友关系的对方 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetIdDetailModel": {
        "properties": {
          "BlackList": {
            "description": "不可见好友 wxid 列表(转发场景使用)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Id": {
            "description": "朋友圈动态 ID(字符串形式的数字)",
            "type": "string"
          },
          "Location": {
            "$ref": "#/components/schemas/vo.LocationDoc",
            "description": "定位信息(转发场景使用)"
          },
          "LocationVal": {
            "description": "定位相关数值(转发场景使用)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.GetLoginQrCodeModel": {
        "properties": {
          "AutoAuthKeepalive": {
            "description": "是否开启 24h 兜底 AutoAuth 保活(按账号持久化)。指针语义: nil=沿用账号当前配置(未登录过的 key 默认开启);\ntrue=距上次鉴权超过 24 小时时自动主动发起一次 AutoAuth(长短链模式都生效);\nfalse=永不主动, 仅调用业务接口时的被动检查(session 超时)才会触发 AutoAuth",
            "example": true,
            "type": "boolean"
          },
          "LongLink": {
            "description": "是否开启长链接(按账号持久化)。指针语义: nil=沿用账号当前配置(该 key 从未登录过时默认开启);\ntrue=本次登录建立长链并自动保活(默认); false=纯短链模式(不建长链、无自动心跳,保活走被动检查)",
            "example": true,
            "type": "boolean"
          },
          "Proxy": {
            "description": "socks代理，例如：socks5://username:password@ipv4:port(留空=直连)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetMpA8KeyModel": {
        "properties": {
          "Opcode": {
            "description": "GetA8Key 操作码; service 内部会按场景覆写(取公众号主页/历史消息时传 2)",
            "type": "integer"
          },
          "Scene": {
            "description": "授权场景(仅 AuthMpLogin 使用): 0=二维码确认登录 1=二次验证 2=appkey 验证 3=扫码 4=确认操作",
            "type": "integer"
          },
          "Url": {
            "description": "公众号文章或授权链接",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetMpHistoryMsgModel": {
        "properties": {
          "Url": {
            "description": "公众号主页或文章链接",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetQrCodeModel": {
        "properties": {
          "Recover": {
            "description": "保持默认值, 无需修改",
            "type": "boolean"
          },
          "Style": {
            "description": "个人二维码样式: 可设置为8, 其余自行探索",
            "example": 8,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.GetRedPacketRecordListModel": {
        "properties": {
          "Limit": {
            "description": "页大小; 默认 20",
            "type": "integer"
          },
          "Offset": {
            "description": "翻页偏移; 首页 0",
            "type": "integer"
          },
          "Type": {
            "description": "红包类型; 默认 0(全部)",
            "type": "integer"
          },
          "Year": {
            "description": "年份(如 2025); 留空=当前年",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetSnsInfoModel": {
        "properties": {
          "FirstPageMD5": {
            "description": "翻页 MD5; 为空表示取第一页, 翻页时传上一页返回的值",
            "type": "string"
          },
          "MaxID": {
            "description": "上一页最后一条动态的 ID; 首页传 0",
            "type": "integer"
          },
          "UserName": {
            "description": "目标好友 wxid; 获取自己主页时可留空",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GetTransferDetailModel": {
        "properties": {
          "TransferId": {
            "description": "转账单 id; 必填, 来自转账消息的 XML 元数据",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.GroupMassMsgImageModel": {
        "properties": {
          "ImageBase64": {
            "description": "要群发的图片 base64",
            "type": "string"
          },
          "ToUserName": {
            "description": "接收者 wxid 数组",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.GroupMassMsgTextModel": {
        "properties": {
          "Content": {
            "description": "要群发的文本内容",
            "type": "string"
          },
          "ToUserName": {
            "description": "接收者 wxid 数组",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.ImageCdnConfig": {
        "properties": {
          "aeskey": {
            "description": "AES 密钥",
            "type": "string"
          },
          "cdnbigimgurl": {
            "description": "大图 CDN key",
            "type": "string"
          },
          "cdnmidimgurl": {
            "description": "中图 CDN key",
            "type": "string"
          },
          "cdnthumbheight": {
            "description": "缩略图高",
            "type": "integer"
          },
          "cdnthumblength": {
            "description": "缩略图字节数",
            "type": "integer"
          },
          "cdnthumburl": {
            "description": "缩略图 CDN key",
            "type": "string"
          },
          "cdnthumbwidth": {
            "description": "缩略图宽",
            "type": "integer"
          },
          "encryver": {
            "description": "加密版本",
            "type": "integer"
          },
          "hdlength": {
            "description": "大图字节数",
            "type": "integer"
          },
          "length": {
            "description": "中图字节数",
            "type": "integer"
          },
          "md5": {
            "description": "图片 MD5",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ImageItem": {
        "properties": {
          "ImageBase64": {
            "description": "图片 base64(自动上传+发送)",
            "type": "string"
          },
          "ImageCdnConfig": {
            "$ref": "#/components/schemas/req.ImageCdnConfig",
            "description": "可选: 直接给 CDN 配置(优先)"
          },
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.InviteChatroomMembersModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "UserList": {
            "description": "要邀请进群的 wxid 列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.LabelModel": {
        "properties": {
          "LabelId": {
            "description": "del labelId",
            "type": "string"
          },
          "LabelNameList": {
            "description": "要新增的标签名列表(添加标签时使用)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "UserLabelList": {
            "description": "用户与标签的关联列表(修改标签时使用)",
            "items": {
              "$ref": "#/components/schemas/baseinfo.UserLabelInfoItem"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.LabelUpdateNameModel": {
        "properties": {
          "LabelId": {
            "description": "要改名的标签 ID(来自 /label/GetContactLabelList)",
            "type": "integer"
          },
          "NewName": {
            "description": "新的标签名",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.LicenseDeleteModel": {
        "properties": {
          "Key": {
            "description": "要删除的授权码",
            "example": "HBxxxxxxxx",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.LicenseGenCustomModel": {
        "properties": {
          "ExpireAt": {
            "description": "过期时间戳(秒), 0/缺省=永久",
            "example": 0,
            "type": "integer"
          },
          "Key": {
            "description": "指定的授权码: 仅英文/数字/下划线, 1-64 位, 区分大小写(不符返回 300)",
            "example": "MyKey001",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.LicenseGenRandomModel": {
        "properties": {
          "Count": {
            "description": "生成数量(1-100, 缺省=1)",
            "example": 5,
            "type": "integer"
          },
          "ExpireAt": {
            "description": "过期时间戳(秒), 0/缺省=永久",
            "example": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.LicenseSetExpireModel": {
        "properties": {
          "ExpireAt": {
            "description": "过期时间戳(秒), 0/缺省=永久",
            "example": 0,
            "type": "integer"
          },
          "Key": {
            "description": "授权码",
            "example": "HBxxxxxxxx",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.MessageCallbackConfigModel": {
        "properties": {
          "CallbackURL": {
            "description": "回调URL",
            "type": "string"
          },
          "Enabled": {
            "description": "是否启用回调",
            "type": "boolean"
          }
        },
        "required": [
          "CallbackURL"
        ],
        "type": "object"
      },
      "req.MessageItem": {
        "properties": {
          "AtAll": {
            "description": "@所有人(群聊有效)",
            "type": "boolean"
          },
          "AtWxIDList": {
            "description": "发送艾特消息时的 wxid 列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ImageContent": {
            "description": "图片类型消息时图片的 base64 编码",
            "type": "string"
          },
          "MsgType": {
            "description": "1 Text 2 Image",
            "type": "integer"
          },
          "TextContent": {
            "description": "文本类型消息时内容",
            "type": "string"
          },
          "ToUserName": {
            "description": "接收者 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.MiniProgramItem": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID(与 UserName 一致)",
            "type": "string"
          },
          "Desc": {
            "description": "卡片描述(可选)",
            "type": "string"
          },
          "IconUrl": {
            "description": "小程序图标外链(小角标; 卡片大图走 CDN 缩略图)",
            "type": "string"
          },
          "PagePath": {
            "description": "小程序页面路径, 如 pages/index/index.html",
            "type": "string"
          },
          "ShareId": {
            "description": "可选: 0_<appid>_<时间戳>_0",
            "type": "string"
          },
          "ThumbUrlBase64": {
            "description": "可选: 缩略图 base64(纯 CDN 原图上传, 不产生消息)",
            "type": "string"
          },
          "ThumburlCdnConfig": {
            "$ref": "#/components/schemas/req.CdnThumbConfig",
            "description": "可选: 直接给 CDN 配置(优先于 Base64)"
          },
          "Title": {
            "description": "卡片标题",
            "type": "string"
          },
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          },
          "Url": {
            "description": "点击卡片无小程序环境时的落地页(可选, 默认自动生成)",
            "type": "string"
          },
          "UserName": {
            "description": "小程序原始 ID: gh_xxx@app",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ModifyUserInfo": {
        "properties": {
          "City": {
            "description": "城市(可空, 不修改请留空)",
            "type": "string"
          },
          "Country": {
            "description": "国家(可空, 不修改请留空)",
            "type": "string"
          },
          "InitFlag": {
            "description": "初始化标记, 透传给微信 ModifyUserInfo 请求(语义未完全确认, 一般传 0)",
            "type": "integer"
          },
          "NickName": {
            "description": "新昵称(留空表示不修改昵称)",
            "type": "string"
          },
          "Province": {
            "description": "省份(可空, 不修改请留空)",
            "type": "string"
          },
          "Sex": {
            "description": "性别: 1=男 2=女, 0=不修改",
            "type": "integer"
          },
          "Signature": {
            "description": "个性签名(留空表示不修改签名)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.MoveContractModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "Val": {
            "description": "1=保存到通讯录, 其它值=从通讯录移除",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.MpUnfollowModel": {
        "properties": {
          "Appid": {
            "description": "要取关的公众号 AppID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.MusicItem": {
        "properties": {
          "AppId": {
            "description": "音源 AppID(可选)",
            "type": "string"
          },
          "DataUrl": {
            "description": "音乐播放地址",
            "type": "string"
          },
          "Desc": {
            "description": "描述(可选)",
            "type": "string"
          },
          "ThumbUrl": {
            "description": "封面图",
            "type": "string"
          },
          "Title": {
            "description": "音乐标题",
            "type": "string"
          },
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          },
          "Url": {
            "description": "点击卡片跳转的网页",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.OauthJsapiPreVerifyModel": {
        "properties": {
          "Appid": {
            "description": "公众号 AppID",
            "type": "string"
          },
          "JsapiList": {
            "description": "要校验的 JS 接口名列表, 如 [\"chooseImage\",\"getLocation\"]",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Url": {
            "description": "要校验的页面链接",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.OauthWebAuthorizeModel": {
        "properties": {
          "Url": {
            "description": "公众号授权页链接(从公众号网页授权入口复制)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.PeopleNearbyModel": {
        "properties": {
          "Latitude": {
            "description": "定位纬度",
            "type": "number"
          },
          "Longitude": {
            "description": "定位经度",
            "type": "number"
          }
        },
        "type": "object"
      },
      "req.PinSubmitModel": {
        "properties": {
          "Pin": {
            "description": "手机微信上显示的 PIN 验证码(4~12 位数字)",
            "type": "string"
          }
        },
        "required": [
          "Pin"
        ],
        "type": "object"
      },
      "req.QRConnectAuthorizeModel": {
        "properties": {
          "QrUrl": {
            "description": "扫码登录二维码对应的 URL",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.QWAcceptChatRoomModel": {
        "properties": {
          "Link": {
            "description": "企业群邀请链接(geta8key 的 ReqUrl)",
            "type": "string"
          },
          "Opcode": {
            "description": "企业微信 geta8key 请求的 OpCode",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.QWAddChatRoomMemberModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "ToUserName": {
            "description": "目标成员 wxid 列表(拉人/邀请/移除/设管理员时使用; 仅查询群信息、群二维码时可留空)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.QWAdminAcceptJoinChatRoomSetModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "P": {
            "description": "企业微信侧入群审核开关值(原始字段 P, 取值含义未枚举)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.QWApplyAddContactModel": {
        "properties": {
          "Content": {
            "description": "打招呼/验证语内容",
            "type": "string"
          },
          "UserName": {
            "description": "目标企业联系人 wxid",
            "type": "string"
          },
          "V1": {
            "description": "企业微信侧验证票据(v1), 一般来自搜索接口返回的 info.v1",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.QWChatRoomTransferOwnerModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "ToUserName": {
            "description": "新群主的企业微信账号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.QWContactModel": {
        "properties": {
          "ChatRoom": {
            "description": "群 ID(xxx@chatroom); 非空时按该群成员维度查询",
            "type": "string"
          },
          "T": {
            "description": "企业微信侧原始字段, 当前 clientsdk 实现未使用(语义未确认)",
            "type": "string"
          },
          "ToUserName": {
            "description": "要查询的企业微信成员账号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.QWCreateModel": {
        "properties": {
          "ToUserName": {
            "description": "要拉入新群的企业微信成员账号列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.QWModChatRoomNameModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "Name": {
            "description": "名称/文本: 按接口语义分别为新群名称、成员群昵称或公告正文",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.QWRemarkModel": {
        "properties": {
          "Name": {
            "description": "备注内容",
            "type": "string"
          },
          "ToUserName": {
            "description": "要修改备注的企业微信成员账号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.QWSnsUserPageModel": {
        "properties": {
          "FirstPageMd5": {
            "description": "首页内容指纹; 首次传空",
            "type": "string"
          },
          "MaxId": {
            "description": "翻页游标; 首页传 0",
            "type": "integer"
          },
          "Source": {
            "description": "来源标记; 默认 0",
            "type": "integer"
          },
          "Username": {
            "description": "企业微信联系人 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.QWSyncChatRoomModel": {
        "properties": {
          "Key": {
            "description": "同步游标; 首次留空, 后续传上次响应里返回的 key 做增量同步",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ReadParam": {
        "properties": {
          "Cancel": {
            "description": "仅 /mp/GetAppMsgExtLike 使用: true=取消点赞/在看, false=点赞",
            "type": "boolean"
          },
          "Url": {
            "description": "公众号文章URL",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ReplyCommentItem": {
        "properties": {
          "NickName": {
            "description": "发表评论的昵称",
            "type": "string"
          },
          "OpType": {
            "description": "操作类型：评论/点赞",
            "type": "integer"
          },
          "Source": {
            "description": "source",
            "type": "integer"
          },
          "UserName": {
            "description": "评论的微信ID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.RevokeMsgModel": {
        "properties": {
          "ClientImgIdStr": {
            "description": "保存clientImgId的原始字符串值",
            "type": "string"
          },
          "ClientMsgId": {
            "description": "消息的 client_msg_id",
            "type": "integer"
          },
          "CreateTime": {
            "description": "消息创建时间(Unix 秒)",
            "type": "integer"
          },
          "IsImage": {
            "description": "标识是否为图片消息",
            "type": "boolean"
          },
          "NewMsgId": {
            "description": "消息的 new_msg_id",
            "type": "string"
          },
          "ToUserName": {
            "description": "消息所在会话的对端 wxid(群消息传群 ID)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SayHelloByAccountModel": {
        "properties": {
          "FromScene": {
            "description": "搜索来源场景值; 不确定传 0",
            "type": "integer"
          },
          "Scene": {
            "description": "添加来源场景值; 常用 3(微信号) 15(手机号) 6(通过名片)",
            "type": "integer"
          },
          "SearchScene": {
            "description": "搜索场景值; 不确定传 0",
            "type": "integer"
          },
          "ToUserName": {
            "description": "目标微信号 / 手机号 / QQ 号",
            "type": "string"
          },
          "VerifyContent": {
            "description": "招呼语(加好友验证内容)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SayHelloByQrcodeModel": {
        "properties": {
          "Url": {
            "description": "二维码解析出的链接或标识",
            "type": "string"
          },
          "VerifyContent": {
            "description": "招呼语(加好友验证内容)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SayHelloByVerifyDataModel": {
        "properties": {
          "Scene": {
            "description": "添加来源场景值",
            "type": "integer"
          },
          "V3": {
            "description": "用户标识(搜索结果里的用户名字段)",
            "type": "string"
          },
          "V4": {
            "description": "校验票据(搜索结果里的票据字段)",
            "type": "string"
          },
          "VerifyContent": {
            "description": "招呼语(加好友验证内容)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ScanIntoUrlGroupModel": {
        "properties": {
          "Url": {
            "description": "群邀请链接 / 群二维码 URL",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SearchContactModel": {
        "properties": {
          "FromScene": {
            "description": "场景值; 当前实现未参与请求且固定按 1(手机号场景)处理(代码中未使用)",
            "type": "integer"
          },
          "Tg": {
            "description": "手机号或企业对外名片账号(为手机号时按 Tg 字段搜索)",
            "type": "string"
          },
          "UserName": {
            "description": "企业对外名片账号(非手机号时使用); 当前 clientsdk 实现未实际使用该字段(语义未确认)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SearchContactRequestModel": {
        "properties": {
          "FromScene": {
            "description": "来源场景值",
            "type": "integer"
          },
          "OpCode": {
            "description": "操作类型",
            "type": "integer"
          },
          "SearchScene": {
            "description": "搜索场景",
            "type": "integer"
          },
          "UserName": {
            "description": "要搜索的内容(微信号、手机号、QQ号等)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SendChangePwdRequestModel": {
        "properties": {
          "NewPass": {
            "description": "新密码",
            "type": "string"
          },
          "OldPass": {
            "description": "旧密码",
            "type": "string"
          },
          "OpCode": {
            "description": "操作码, 透传给微信改密请求(语义未完全确认, 一般传 0)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.SendEmojiItem": {
        "properties": {
          "EmojiMd5": {
            "description": "表情文件 MD5",
            "type": "string"
          },
          "EmojiSize": {
            "description": "表情字节大小",
            "type": "integer"
          },
          "ToUserName": {
            "description": "接收者 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SendEmojiMessageModel": {
        "properties": {
          "EmojiList": {
            "description": "表情数组",
            "items": {
              "$ref": "#/components/schemas/req.SendEmojiItem"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.SendFavItemCircle": {
        "properties": {
          "BlackList": {
            "description": "转发时对该动态不可见的好友 wxid 列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "FavItemID": {
            "description": "收藏项 ID(转发成功后据此删除收藏)",
            "type": "integer"
          },
          "Location": {
            "$ref": "#/components/schemas/vo.LocationDoc",
            "description": "转发动态时附带的位置信息(城市 / 经纬度 / POI)"
          },
          "LocationVal": {
            "description": "位置校验值, 与 Location 配套传给朋友圈转发任务",
            "type": "integer"
          },
          "SourceID": {
            "description": "要转发的朋友圈动态 ID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SendMessageItem": {
        "properties": {
          "Emoji": {
            "$ref": "#/components/schemas/req.EmojiItem",
            "description": "表情载荷"
          },
          "File": {
            "$ref": "#/components/schemas/req.FileItem",
            "description": "文件载荷"
          },
          "Image": {
            "$ref": "#/components/schemas/req.ImageItem",
            "description": "图片载荷"
          },
          "MiniProgram": {
            "$ref": "#/components/schemas/req.MiniProgramItem",
            "description": "小程序卡片载荷"
          },
          "MsgType": {
            "description": "3=音乐 4=视频 5=网页 6=文件 8=表情 33/36=小程序",
            "type": "integer"
          },
          "Music": {
            "$ref": "#/components/schemas/req.MusicItem",
            "description": "音乐载荷"
          },
          "Video": {
            "$ref": "#/components/schemas/req.VideoItem",
            "description": "视频载荷"
          },
          "WebPage": {
            "$ref": "#/components/schemas/req.WebPageItem",
            "description": "网页卡片载荷"
          },
          "Xml": {
            "$ref": "#/components/schemas/req.XmlPayload",
            "description": "Xml 载荷"
          }
        },
        "type": "object"
      },
      "req.SendMessageListModel": {
        "properties": {
          "Async": {
            "description": "true=异步并发发送, false=同步逐条发送",
            "type": "boolean"
          },
          "MessageList": {
            "description": "每个元素=一种消息(结构见各子载荷)",
            "items": {
              "$ref": "#/components/schemas/req.SendMessageItem"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.SendMessageModel": {
        "properties": {
          "AtAll": {
            "description": "@所有人(群聊有效)",
            "type": "boolean"
          },
          "MsgItem": {
            "description": "消息体数组",
            "items": {
              "$ref": "#/components/schemas/req.MessageItem"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.SendModifyRemarkRequestModel": {
        "properties": {
          "RemarkName": {
            "description": "新备注名(留空表示清空备注)",
            "type": "string"
          },
          "UserName": {
            "description": "要修改备注的好友 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SendPatModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "Scene": {
            "description": "拍一拍场景值, 传 0 即可",
            "type": "integer"
          },
          "ToUserName": {
            "description": "被「拍一拍」的成员 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SendSnsCommentRequestModel": {
        "properties": {
          "SnsCommentList": {
            "description": "要执行的点赞/评论列表",
            "items": {
              "$ref": "#/components/schemas/req.SnsCommentItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Tx": {
            "description": "是否给评论内容追加固定后缀文本; 仅评论生效",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "req.SendSnsObjectOpRequestModel": {
        "properties": {
          "SnsObjectOpList": {
            "description": "要执行的朋友圈操作列表",
            "items": {
              "$ref": "#/components/schemas/req.SnsObjectOpItem"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.SendTextParam": {
        "properties": {
          "AtAll": {
            "description": "@所有人(仅群聊有效)",
            "type": "boolean"
          },
          "AtWxIDList": {
            "description": "被 @ 的 wxid 列表(仅群聊有效)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "MsgType": {
            "description": "微信内容类型, 默认 1=普通文本; 其它值原样传给微信(如 10000 系统消息)",
            "type": "integer"
          },
          "TextContent": {
            "description": "文本内容",
            "type": "string"
          },
          "ToUserName": {
            "description": "接收者 wxid(好友或群 id)",
            "type": "string"
          }
        },
        "required": [
          "TextContent",
          "ToUserName"
        ],
        "type": "object"
      },
      "req.SendUploadVoiceRequestModel": {
        "properties": {
          "ToUserName": {
            "description": "接收者 wxid",
            "type": "string"
          },
          "VoiceData": {
            "description": "语音文件 base64",
            "type": "string"
          },
          "VoiceSecond": {
            "description": "语音时长(秒); 同一行声明的 VoiceFormat 为微信语音格式编码",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.SetAutoAuthModel": {
        "properties": {
          "Enabled": {
            "description": "true=开启保活(默认); false=关闭(仅被动触发 AutoAuth)",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "req.SetBackgroundImageModel": {
        "properties": {
          "Url": {
            "description": "背景图片 CDN 地址(需先上传获得)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SetChatroomAccessVerifyModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "Enable": {
            "description": "true=开启群聊邀请确认(Status=2), false=关闭(Status=0)",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "req.SetFriendCircleDaysModel": {
        "properties": {
          "Function": {
            "description": "要修改的设置项(微信侧枚举)",
            "type": "integer"
          },
          "Value": {
            "description": "可见范围档位值(具体档位以微信侧枚举为准)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.SetLongLinkModel": {
        "properties": {
          "Enable": {
            "description": "true=开启长链接(默认); false=纯短链模式",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "req.SetProxyModel": {
        "properties": {
          "Check": {
            "description": "是否发送检测代理请求(会真实走一遍登录链路, 可能超时)",
            "example": false,
            "type": "boolean"
          },
          "Proxy": {
            "description": "socks代理，例如：socks5://username:password@ipv4:port(留空=清除代理)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SetSendPatModel": {
        "properties": {
          "Value": {
            "description": "拍一拍名称(后缀文案), 透传给微信 PatMod.Name",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ShareCardParam": {
        "properties": {
          "CardAlias": {
            "description": "名片别名(发送公众号名片时留空)",
            "type": "string"
          },
          "CardFlag": {
            "description": "名片CertFlag(0:个人名片 24:公众号名片)",
            "type": "integer"
          },
          "CardNickName": {
            "description": "名片昵称",
            "type": "string"
          },
          "CardWxId": {
            "description": "名片wxid",
            "type": "string"
          },
          "ToUserName": {
            "description": "消息接收者",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.ShopLoginConfirmModel": {
        "properties": {
          "Url": {
            "description": "登录二维码URL",
            "type": "string"
          }
        },
        "required": [
          "Url"
        ],
        "type": "object"
      },
      "req.ShopProductDetailModel": {
        "properties": {
          "ObjectId": {
            "description": "关联 feedId(从视频/直播进入时); 可 0",
            "type": "integer"
          },
          "ProductId": {
            "description": "商品 id; 必填(来自货架/搜索结果)",
            "type": "integer"
          },
          "ShopRequestId": {
            "description": "货架响应回传的会话 id; 建议带上",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.ShopShareProductModel": {
        "properties": {
          "FinderUsername": {
            "description": "商品所属作者 finder username; 必填",
            "type": "string"
          },
          "ObjectId": {
            "description": "关联 feedId; 可 0",
            "type": "integer"
          },
          "ProductId": {
            "description": "商品 id; 必填",
            "type": "integer"
          },
          "SpuId": {
            "description": "SPU id; 可 0",
            "type": "integer"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.ShopShelfModel": {
        "properties": {
          "AnchorFinderUsername": {
            "description": "店铺作者的 finder username; 必填",
            "type": "string"
          },
          "LastBuffer": {
            "description": "上一页返回的 lastBuffer(base64); 首次传空",
            "type": "string"
          },
          "PullScene": {
            "description": "拉取场景: 0=首页 1=翻页",
            "type": "integer"
          },
          "Scene": {
            "description": "进入场景; 默认 0",
            "type": "integer"
          },
          "ShopRequestId": {
            "description": "上一页响应回传的 shopRequestId; 首页留空",
            "type": "string"
          },
          "Userver": {
            "description": "视频号协议版本号; 留空(0)用全局默认",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.SnsCommentItem": {
        "properties": {
          "Content": {
            "description": "评论内容",
            "type": "string"
          },
          "CreateTime": {
            "description": "创建时间",
            "type": "integer"
          },
          "ItemID": {
            "description": "朋友圈项ID",
            "type": "string"
          },
          "OpType": {
            "description": "操作类型：评论/点赞",
            "type": "integer"
          },
          "ReplyCommentID": {
            "description": "回复的评论ID",
            "type": "integer"
          },
          "ReplyItem": {
            "$ref": "#/components/schemas/req.ReplyCommentItem",
            "description": "回覆的评论项"
          },
          "ToUserName": {
            "description": "好友微信ID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SnsLocationInfoModel": {
        "properties": {
          "City": {
            "description": "城市",
            "type": "string"
          },
          "Latitude": {
            "description": "纬度(字符串形式)",
            "type": "string"
          },
          "Longitude": {
            "description": "经度(字符串形式)",
            "type": "string"
          },
          "PoiAddress": {
            "description": "POI 详细地址",
            "type": "string"
          },
          "PoiClassifyID": {
            "description": "POI 分类 ID",
            "type": "string"
          },
          "PoiClassifyType": {
            "description": "POI 分类类型",
            "type": "integer"
          },
          "PoiClickableStatus": {
            "description": "POI 是否可点击(0/1)",
            "type": "integer"
          },
          "PoiInfoURL": {
            "description": "POI 详情页 URL",
            "type": "string"
          },
          "PoiName": {
            "description": "POI 名称",
            "type": "string"
          },
          "PoiScale": {
            "description": "POI 缩放级别",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.SnsMediaItemModel": {
        "properties": {
          "Description": {
            "description": "描述",
            "type": "string"
          },
          "ID": {
            "description": "媒体项 ID",
            "type": "integer"
          },
          "MD5": {
            "description": "媒体文件 MD5",
            "type": "string"
          },
          "Private": {
            "description": "是否私密(0/1)",
            "type": "integer"
          },
          "SizeHeight": {
            "description": "高(像素, 字符串)",
            "type": "string"
          },
          "SizeWidth": {
            "description": "宽(像素, 字符串)",
            "type": "string"
          },
          "SubType": {
            "description": "子类型",
            "type": "integer"
          },
          "ThumType": {
            "description": "缩略图类型",
            "type": "string"
          },
          "Thumb": {
            "description": "缩略图 CDN 地址",
            "type": "string"
          },
          "Title": {
            "description": "标题",
            "type": "string"
          },
          "TotalSize": {
            "description": "文件总大小(字节, 字符串)",
            "type": "string"
          },
          "Type": {
            "description": "媒体类型(微信侧枚举, 常见 1=图片 2=视频)",
            "type": "integer"
          },
          "URL": {
            "description": "媒体文件 CDN 地址",
            "type": "string"
          },
          "URLType": {
            "description": "URL 类型",
            "type": "string"
          },
          "UserData": {
            "description": "用户自定义数据",
            "type": "string"
          },
          "VideoDuration": {
            "description": "视频时长(秒)",
            "type": "number"
          },
          "VideoHeight": {
            "description": "视频高(字符串)",
            "type": "string"
          },
          "VideoMD5": {
            "description": "视频文件 MD5",
            "type": "string"
          },
          "VideoWidth": {
            "description": "视频宽(字符串)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SnsObjectOpItem": {
        "properties": {
          "Data": {
            "description": "其它数据",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "DataLen": {
            "description": "其它数据长度",
            "type": "integer"
          },
          "Ext": {
            "type": "integer"
          },
          "OpType": {
            "description": "操作码",
            "type": "integer"
          },
          "SnsObjID": {
            "description": "朋友圈ID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SnsPostItemModel": {
        "properties": {
          "BlackList": {
            "description": "不可见好友列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Content": {
            "description": "文本内容",
            "type": "string"
          },
          "ContentStyle": {
            "description": "纯文字/图文/引用/视频",
            "type": "integer"
          },
          "ContentUrl": {
            "description": "内容跳转链接(引用/图文类型时使用)",
            "type": "string"
          },
          "Description": {
            "description": "动态描述文案(图文 / 引用 / 视频类型时展示)",
            "type": "string"
          },
          "GroupUserList": {
            "description": "可见好友列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "LocationInfo": {
            "$ref": "#/components/schemas/req.SnsLocationInfoModel",
            "description": "发送朋友圈的位置信息"
          },
          "MediaList": {
            "description": "图片/视频列表",
            "items": {
              "$ref": "#/components/schemas/req.SnsMediaItemModel"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Privacy": {
            "description": "是否仅自己可见",
            "type": "integer"
          },
          "WithUserList": {
            "description": "提醒好友看列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.SnsUploadModel": {
        "properties": {
          "Base64": {
            "description": "图片内容(base64)",
            "type": "string"
          },
          "ClientImgId": {
            "description": "客户端图片标识; 留空则服务端按 账号_时间戳 生成",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.SyncMessageModel": {
        "properties": {
          "Count": {
            "description": "同步几条消息; 接收空请求体, 默认为0, 同步所有消息",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.SyncMsgModel": {
        "properties": {
          "DeviceType": {
            "description": "DeviceType 设备类型; 留空则用当前会话的设备类型。",
            "type": "string"
          },
          "PrevDownloadFlag": {
            "description": "PrevDownloadFlag 上次同步时的下载标记(网络为 WiFi 时置 1); 0 = 不传。",
            "type": "integer"
          },
          "Scene": {
            "description": "Scene 场景值。3 表示常规的前台同步(此时服务端会按「手动同步」处理)。",
            "type": "integer"
          },
          "Selector": {
            "description": "Selector 内容选择器(位掩码), 决定服务端返回哪几类变更。常用值 262151\n(即 1|2|4|262144 这几位的组合, 覆盖消息/联系人等常见类型)。",
            "type": "integer"
          },
          "SyncFlag": {
            "description": "SyncFlag 客户端同步标记; 0 = 不传。",
            "type": "integer"
          },
          "SyncKey": {
            "description": "增量同步游标(base64); 留空则用当前登录会话里的游标",
            "type": "string"
          },
          "SyncMsgDigest": {
            "description": "SyncMsgDigest 同步摘要类型。取客户端自身的同步场景: Scene=3 时传 1, 其余传 0(不压缩摘要)。",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.TransferGroupOwnerModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "NewOwnerUserName": {
            "description": "新群主的 wxid(须为该群成员)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.UpdateAutopassModel": {
        "properties": {
          "SwitchType": {
            "description": "加好友验证开关值, 透传给微信 UpdateAutopass(1=需要验证 0=免验证, 具体取值以微信侧为准)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.UpdateChatroomAnnouncementModel": {
        "properties": {
          "ChatRoomName": {
            "description": "群聊ID：xxx@chatroom",
            "type": "string"
          },
          "Content": {
            "description": "公告正文内容",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.UpdateNickNameModel": {
        "properties": {
          "Scene": {
            "description": "修改场景: 1=昵称 2=个性签名。/user/SetNickName 固定 1, /user/SetSignature 固定 2, /user/UpdateNickName 由调用方指定",
            "type": "integer"
          },
          "Val": {
            "description": "要设置的新值(昵称或个性签名内容)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.UpdateSexModel": {
        "properties": {
          "City": {
            "description": "城市(可空)",
            "type": "string"
          },
          "Country": {
            "description": "国家(可空)",
            "type": "string"
          },
          "Province": {
            "description": "省份(可空)",
            "type": "string"
          },
          "Sex": {
            "description": "性别: 1=男 2=女",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.UpdateStepNumberModel": {
        "properties": {
          "Number": {
            "description": "要设置的目标步数",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.UploadAppAttachModel": {
        "properties": {
          "FileData": {
            "description": "文件base64编码内容",
            "type": "string"
          }
        },
        "required": [
          "FileData"
        ],
        "type": "object"
      },
      "req.UploadFileCdnModel": {
        "properties": {
          "FileBase64": {
            "description": "文件 base64",
            "type": "string"
          },
          "FileName": {
            "description": "显示文件名(可选, 仅业务侧记录用)",
            "type": "string"
          },
          "ToWxid": {
            "description": "可选: 仅作为 CDN 上传上下文(不产生消息); 不传默认 filehelper",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.UploadFriendCircleModel": {
        "properties": {
          "ImageDataList": {
            "description": "图片 base64 列表(可带 data:image/... 前缀)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "VideoDataList": {
            "description": "视频 base64 列表(当前实现未使用该字段)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "req.UploadHeadImageModel": {
        "properties": {
          "Base64": {
            "description": "头像图片的 base64 字符串(不含 data:image/... 前缀)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.UploadImageCdnModel": {
        "properties": {
          "ImageBase64": {
            "description": "图片 base64(可带 data:image/...;base64, 前缀)",
            "type": "string"
          },
          "ToWxid": {
            "description": "可选: 仅作为 CDN 上传上下文(不产生消息); 不传默认 filehelper",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.UploadMContactModel": {
        "properties": {
          "Mobile": {
            "description": "当前账号绑定的手机号",
            "type": "string"
          },
          "MobileList": {
            "description": "要上传的手机号列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Opcode": {
            "description": "操作码",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.UserRankLikeModel": {
        "properties": {
          "RankId": {
            "description": "排行榜 ID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.VerifyCodeModel": {
        "properties": {
          "Code": {
            "description": "微信下发的登录验证码",
            "type": "string"
          },
          "Data62": {
            "description": "62 数据(登录会话凭据)",
            "type": "string"
          },
          "Ticket": {
            "description": "二次验证票据, 由 CheckQR 触发安全验证时下发",
            "type": "string"
          }
        },
        "required": [
          "Code",
          "Data62",
          "Ticket"
        ],
        "type": "object"
      },
      "req.VerifyUserItem": {
        "properties": {
          "Gh": {
            "description": "公众号原始 ID(gh_ 开头)",
            "type": "string"
          },
          "Scene": {
            "description": "关注来源场景值",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.VerifyUserRequestModel": {
        "properties": {
          "ChatRoomUserName": {
            "description": "通过群来添加好友 需要设置此值为群id",
            "type": "string"
          },
          "OpCode": {
            "description": "操作类型: 1(免验证发送请求) 2(添加好友/发送验证申请) 3(同意好友/通过好友验证) 4(拒绝好友)",
            "example": 2,
            "type": "integer"
          },
          "Scene": {
            "description": "添加来源, 同意添加好友时传回调消息xml中的scene值.<br/>添加好友时的枚举值如下: <br/>1(QQ) 2(邮箱) 3(微信号) 4(QQ好友) 8(来自群聊) 13(通讯录)<br/>14(群聊) 15(手机号) 18(附近的人) 25(漂流瓶) 29(摇一摇) 30(二维码)",
            "example": 3,
            "type": "integer"
          },
          "V3": {
            "description": "V3用户名数据(SearchContact请求返回的UserValue)",
            "type": "string"
          },
          "V4": {
            "description": "V4校验数据(SearchContact请求返回的AntispamTicket)",
            "type": "string"
          },
          "VerifyContent": {
            "description": "添加好友时的(招呼语/验证信息)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.VideoCdnConfig": {
        "properties": {
          "aeskey": {
            "description": "视频 AES 密钥",
            "type": "string"
          },
          "cdnthumbaeskey": {
            "description": "封面 AES 密钥",
            "type": "string"
          },
          "cdnthumbheight": {
            "description": "封面高",
            "type": "integer"
          },
          "cdnthumblength": {
            "description": "封面字节数",
            "type": "integer"
          },
          "cdnthumburl": {
            "description": "封面 CDN key",
            "type": "string"
          },
          "cdnthumbwidth": {
            "description": "封面宽",
            "type": "integer"
          },
          "cdnvideourl": {
            "description": "视频 CDN key",
            "type": "string"
          },
          "crc32": {
            "description": "可选: 视频 CRC32",
            "type": "integer"
          },
          "encryver": {
            "description": "加密版本",
            "type": "integer"
          },
          "length": {
            "description": "视频字节数",
            "type": "integer"
          },
          "md5": {
            "description": "可选: 视频 md5(服务端投递校验)",
            "type": "string"
          },
          "playLengthMs": {
            "description": "播放时长(毫秒)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.VideoItem": {
        "properties": {
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          },
          "VideoCdnConfig": {
            "$ref": "#/components/schemas/req.VideoCdnConfig",
            "description": "视频 CDN 配置"
          }
        },
        "type": "object"
      },
      "req.VideoMessageModel": {
        "properties": {
          "DurationMs": {
            "description": "可选: 播放时长毫秒(缺省 10000)",
            "type": "integer"
          },
          "ThumbBase64": {
            "description": "可选: 封面图 base64(不传则自动取视频首帧, 取不到用内置占位图)",
            "type": "string"
          },
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          },
          "VideoBase64": {
            "description": "视频 base64(与 multipart 二选一)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WebPageItem": {
        "properties": {
          "AppId": {
            "description": "第三方 App 的 OpenSDK AppID(左下角 App 标志)",
            "type": "string"
          },
          "Desc": {
            "description": "卡片描述(可选)",
            "type": "string"
          },
          "SourceDisplayName": {
            "description": "来源显示名(可选)",
            "type": "string"
          },
          "SourceUsername": {
            "description": "gh_ 公众号原始 ID(可选)",
            "type": "string"
          },
          "ThumbUrl": {
            "description": "可选: 图片外链",
            "type": "string"
          },
          "ThumbUrlBase64": {
            "description": "可选: 缩略图 base64(纯 CDN 原图上传, 不产生消息)",
            "type": "string"
          },
          "ThumbUrlCdnConfig": {
            "$ref": "#/components/schemas/req.CdnThumbConfig",
            "description": "可选: 直接给 CDN 配置(优先)"
          },
          "Title": {
            "description": "卡片标题",
            "type": "string"
          },
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          },
          "Url": {
            "description": "点击卡片跳转的网页地址",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WebSearchModel": {
        "properties": {
          "ActionType": {
            "description": "动作类型; 0=默认(5)",
            "type": "integer"
          },
          "BusinessType": {
            "description": "业务过滤(按 tab); 默认 0",
            "type": "integer"
          },
          "DarkMode": {
            "description": "深色模式; 默认 0",
            "type": "integer"
          },
          "ExtParams": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "额外环境 KV; 留空用内置默认",
            "type": "object"
          },
          "H5Version": {
            "description": "H5 模板版本; 0=自动(取搜索配置)",
            "type": "integer"
          },
          "Keyword": {
            "description": "搜索词; 必填",
            "type": "string"
          },
          "Language": {
            "description": "语言; 默认 zh_CN",
            "type": "string"
          },
          "Scene": {
            "description": "搜索场景; 默认 0",
            "type": "integer"
          },
          "SearchID": {
            "description": "本次搜索唯一 id; 留空自动生成",
            "type": "string"
          },
          "SessionID": {
            "description": "搜索会话 id(同会话保持一致); 留空自动生成",
            "type": "string"
          },
          "Source": {
            "description": "搜索来源页标识; 留空不携带",
            "type": "string"
          },
          "WebSearchH5Version": {
            "description": "WebSearch H5 版本; 0=自动",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.WxFunctionSwitchModel": {
        "properties": {
          "Function": {
            "description": "功能开关 ID(打进 wechat.FunctionSwitch.FunctionId)",
            "type": "integer"
          },
          "Value": {
            "description": "开关值, 0=关 1=开(具体取值随开关而定)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.WxaAddAvatarModel": {
        "properties": {
          "AFileKey": {
            "description": "头像文件 key(先调 /wxa/UploadAvatarImg 得到)",
            "type": "string"
          },
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "NickName": {
            "description": "昵称",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaAttrSyncItem": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "SyncVersion": {
            "description": "上次同步版本(base64); 首次留空",
            "type": "string"
          },
          "Username": {
            "description": "小程序的 username",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaAttrSyncModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "Scene": {
            "description": "场景值; 默认 0",
            "type": "integer"
          },
          "SyncVersion": {
            "description": "上次同步版本(base64); 首次留空",
            "type": "string"
          },
          "Username": {
            "description": "小程序的 username",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaBatchAttrSyncModel": {
        "properties": {
          "AttrList": {
            "description": "要同步的小程序列表; 必填",
            "items": {
              "$ref": "#/components/schemas/req.WxaAttrSyncItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "OsVersion": {
            "description": "客户端系统版本, 如 \"iPhone iOS13.3.1\"",
            "type": "string"
          },
          "Scene": {
            "description": "场景值; 默认 0",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.WxaCheckVerifyCodeModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "Mobile": {
            "description": "手机号",
            "type": "string"
          },
          "OpCode": {
            "description": "0=走手机号通道; 1=走小程序通道",
            "type": "integer"
          },
          "VerifyCode": {
            "description": "短信验证码",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaGetAllPhoneModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "Data": {
            "description": "业务侧请求载荷(JSON 字符串), 服务端原样透传",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaGetPayQRModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "NonceStr": {
            "description": "支付参数: 随机串",
            "type": "string"
          },
          "Package": {
            "description": "支付参数: 预支付交易会话标识",
            "type": "string"
          },
          "PaySign": {
            "description": "支付参数: 签名",
            "type": "string"
          },
          "SessionId": {
            "description": "小程序运行时会话标识; 由 /wxa/GetRuntimeSession 取得",
            "type": "string"
          },
          "TimeStamp": {
            "description": "支付参数: 时间戳(秒)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaGetRandomAvatarModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaGetRuntimeSessionModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaGetUserOpenIdModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "UserName": {
            "description": "目标用户 wxid(通常是当前登录账号或会话里的对端)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaModMobileModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "Mobile": {
            "description": "手机号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaSendVerifyCodeModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "Mobile": {
            "description": "手机号",
            "type": "string"
          },
          "OpCode": {
            "description": "0=走手机号通道; 1=走小程序通道",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "req.WxaUnionPayModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "NonceStr": {
            "description": "支付参数: 随机串",
            "type": "string"
          },
          "Package": {
            "description": "支付参数: 预支付交易会话标识",
            "type": "string"
          },
          "PaySign": {
            "description": "支付参数: 签名",
            "type": "string"
          },
          "SignType": {
            "description": "支付参数: 签名算法, 通常为 MD5",
            "type": "string"
          },
          "TimeStamp": {
            "description": "支付参数: 时间戳(秒)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaUpdateUsageRecordModel": {
        "properties": {
          "Cook": {
            "description": "来源场景凭证; 无则留空",
            "type": "string"
          },
          "Username": {
            "description": "小程序的 username(形如 gh_xxx@app)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaUploadAvatarImgModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "JPGlink": {
            "description": "已上传到 CDN 的图片地址",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.WxaVerifyPluginModel": {
        "properties": {
          "AppId": {
            "description": "小程序 AppID",
            "type": "string"
          },
          "Data": {
            "description": "插件校验载荷(由业务侧提供)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "req.XmlPayload": {
        "properties": {
          "ToWxid": {
            "description": "接收者 wxid",
            "type": "string"
          },
          "Type": {
            "description": "见 Type 对照表: 5/6/33/36/19/57/51 等",
            "type": "integer"
          },
          "Xml": {
            "description": "<appmsg>...</appmsg>(不含 <msg> 外壳)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "service.CheckQRStatusData": {
        "properties": {
          "status": {
            "description": "扫码状态(干净枚举, 见包注释): 进度态 0/1/2/401 继续轮询; 200=成功; 终态 -1/-2/-3/-4 停止轮询",
            "type": "integer"
          },
          "verifyInfo": {
            "$ref": "#/components/schemas/service.CheckQRVerifyInfo",
            "description": "仅 Status=401 时存在: 安全验证所需的链接与任务码"
          },
          "weChatRawResp": {
            "additionalProperties": {},
            "description": "微信侧原始信息(uuid/wxid/nickName/headImgUrl/ticket/ret/errMsg/rawState 等), 排查问题时看这里",
            "type": "object"
          }
        },
        "type": "object"
      },
      "service.CheckQRStatusResponse": {
        "properties": {
          "Code": {
            "description": "业务状态码: 200=可继续轮询或已登录成功(Success=true) 300=失败(登录失败/二维码过期/手机端取消/无登录状态)",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/service.CheckQRStatusData",
            "description": "状态数据"
          },
          "Msg": {
            "description": "状态文案, 例如「等待扫码」「登录成功」; 排查问题时优先看这里",
            "type": "string"
          },
          "Success": {
            "description": "是否成功。等价于 Code == 200; 仅「登录失败/二维码过期/手机端取消/无登录状态」为 false",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "service.CheckQRVerifyInfo": {
        "properties": {
          "pinSubmitUrl": {
            "description": "PIN 提交接口(POST /api/v1/security/SubmitPin?key=xxx), PIN 验证时把手机上显示的数字提交到这里",
            "type": "string"
          },
          "qrUrl": {
            "description": "二维码渲染链接(QrBaseUrl + 验证链接内容), 供扫码端直接展示",
            "type": "string"
          },
          "verifyId": {
            "description": "验证会话 ID(secverifyid); 未解析出时为空",
            "type": "string"
          },
          "verifyInfoUrl": {
            "description": "验证参数接口地址, 即 /api/v1/security/VerifyInfo?key=xxx 链接, 渲染成二维码供验证 App 扫描",
            "type": "string"
          },
          "verifyInstructions": {
            "description": "用户操作指引文案(按验证方式区分人脸/PIN)",
            "type": "string"
          },
          "verifyType": {
            "description": "weixin110 verify_type 枚举值(\"4\"=人脸 \"5\"=PIN \"1\"=图形验证码...); 未解析出时为空串",
            "type": "string"
          },
          "verifyTypeName": {
            "description": "验证方式稳定名称: face/pin/captcha/sms/qrcode...; 未解析出时为空串",
            "type": "string"
          },
          "verifyTypeText": {
            "description": "验证方式中文说明; 未解析出时为空串",
            "type": "string"
          },
          "wechatVerifyUrl": {
            "description": "微信官方安全验证链接(weixin110), 需在手机微信中打开完成验证",
            "type": "string"
          }
        },
        "type": "object"
      },
      "service.UnionPayJumpData": {
        "properties": {
          "androidPayUrl": {
            "description": "Android 唤起链接(upwrp://)",
            "type": "string"
          },
          "createdAt": {
            "description": "下单时间(秒级时间戳)",
            "type": "integer"
          },
          "iosPayUrl": {
            "description": "iOS 唤起链接(uppaywallet://)",
            "type": "string"
          },
          "tn": {
            "description": "云闪付交易号",
            "type": "string"
          },
          "ts": {
            "description": "微信侧会话票据(排查用)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.AppMsgLikeData": {
        "properties": {
          "like": {
            "description": "点赞(appmsg_like)响应的 JSON 文本; 请求异常时为 {\"error\":\"...\"}",
            "type": "string"
          },
          "read": {
            "description": "阅读(getappmsgext)响应的 JSON 文本",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.AppMsgReadCountData": {
        "properties": {
          "articleUrl": {
            "description": "追加 uin/key/acctmode 等参数后的完整文章地址",
            "type": "string"
          },
          "readCount": {
            "description": "文章阅读数(从页面 read_num_new 提取, 字符串形式)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.BaseResp": {
        "properties": {
          "errMsg": {
            "description": "微信侧错误信息",
            "type": "string"
          },
          "ret": {
            "description": "微信侧返回码, 0=成功, 非 0 见微信私有错误码",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.BindEmailData": {
        "properties": {
          "errMsg": {
            "description": "微信侧错误文案",
            "type": "string"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.BindOpMobileData": {
        "properties": {
          "errMsg": {
            "description": "微信侧错误文案",
            "type": "string"
          },
          "formatedMobile": {
            "description": "带格式的手机号",
            "type": "string"
          },
          "mobileCheckType": {
            "description": "二次校验类型",
            "type": "integer"
          },
          "needSetPwd": {
            "description": "1=需补设密码",
            "type": "integer"
          },
          "pureMobile": {
            "description": "归一后的手机号",
            "type": "string"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          },
          "safeDevice": {
            "description": "是否已设为安全设备",
            "type": "integer"
          },
          "ticket": {
            "description": "二次校验票据",
            "type": "string"
          },
          "username": {
            "description": "微信侧回显账号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.BindQQData": {
        "properties": {
          "errMsg": {
            "description": "微信侧错误文案",
            "type": "string"
          },
          "imageBase64": {
            "description": "需要验证码时的图片(base64)",
            "type": "string"
          },
          "imageSid": {
            "description": "需要验证码时的图片会话 ID",
            "type": "string"
          },
          "microBlogName": {
            "description": "绑定后展示的 QQ 微博名",
            "type": "string"
          },
          "pushMailStatus": {
            "description": "QQ 邮箱推送状态",
            "type": "integer"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          },
          "safeDevice": {
            "description": "是否已设为安全设备",
            "type": "integer"
          },
          "status": {
            "description": "绑定状态",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.BizSearchBlock": {
        "properties": {
          "businessType": {
            "type": "integer"
          },
          "continueFlag": {
            "description": "1=还有下一页",
            "type": "integer"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/vo.BizSearchItemVo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "keywords": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "offset": {
            "description": "下页偏移(回传给下次请求)",
            "type": "integer"
          },
          "searchId": {
            "type": "string"
          },
          "title": {
            "description": "块标题(如 文章/小程序/官方内容)",
            "type": "string"
          },
          "totalCount": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.BizSearchData": {
        "properties": {
          "blocks": {
            "description": "各业务类型内容块",
            "items": {
              "$ref": "#/components/schemas/vo.BizSearchBlock"
            },
            "type": "array",
            "uniqueItems": false
          },
          "businessType": {
            "description": "本次请求的业务位掩码",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.BizSearchItemVo": {
        "properties": {
          "contactItem": {
            "description": "公众号名片(base64, 公众号类型结果)",
            "type": "string"
          },
          "desc": {
            "type": "string"
          },
          "docId": {
            "type": "integer"
          },
          "iconUrl": {
            "type": "string"
          },
          "thumbUrl": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "integer"
          },
          "url": {
            "description": "内容跳转链接(文章等)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.ContentObjectDoc": {
        "properties": {
          "ContentStyle": {
            "description": "内容类型: 决定这条动态是纯文字/图文/视频/链接等",
            "type": "integer"
          },
          "ContentURL": {
            "description": "内容跳转链接",
            "type": "string"
          },
          "Description": {
            "description": "描述",
            "type": "string"
          },
          "MediaList": {
            "$ref": "#/components/schemas/vo.MediaListDoc",
            "description": "媒体列表(图片/视频)"
          },
          "Title": {
            "description": "标题",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.ContentObjectVideoDoc": {
        "properties": {
          "ContentStyle": {
            "description": "内容类型",
            "type": "string"
          },
          "ContentSubStyle": {
            "description": "内容子类型",
            "type": "string"
          },
          "ContentUrl": {
            "description": "内容链接",
            "type": "string"
          },
          "Description": {
            "description": "描述",
            "type": "string"
          },
          "FinderFeed": {
            "description": "视频号 feed 结构(字段较多, 见 clientsdk/baseinfo/snsdefine.go 的 FinderFeed)"
          },
          "Title": {
            "description": "标题",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.DTO": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功(SUCCESS) 300=失败(FAIL) -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。各接口不同, 见对应接口的响应说明; 失败时为 null。\n接口特有的额外字段一律放在这里, 不要加到信封顶层"
          },
          "Msg": {
            "description": "提示文本。成功或失败的文字说明, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功。等价于 Code == 200, 由构造 helper 统一填写",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.DownloadAppAttachData": {
        "properties": {
          "appId": {
            "description": "业务 appId",
            "type": "string"
          },
          "dataBase64": {
            "description": "附件内容(base64; 原协议为 bytes，这里编码成字符串便于 JSON 传输)",
            "type": "string"
          },
          "dataLen": {
            "description": "本次实际返回长度",
            "type": "integer"
          },
          "mediaId": {
            "description": "附件 ID",
            "type": "string"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          },
          "startPos": {
            "description": "本次起始偏移",
            "type": "integer"
          },
          "totalLen": {
            "description": "附件总长度",
            "type": "integer"
          },
          "userName": {
            "description": "附件所属会话",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.DownloadVoiceData": {
        "properties": {
          "Base64": {
            "description": "语音二进制数据(JSON 序列化为 base64 字符串)",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "VoiceLength": {
            "description": "语音长度(单位未在代码中使用, 语义未完全确认)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.Empty": {
        "type": "object"
      },
      "vo.EquipmentOnlineDeviceData": {
        "properties": {
          "clientKey": {
            "description": "客户端 key",
            "type": "string"
          },
          "deviceId": {
            "description": "设备 ID(十六进制编码字符串)",
            "type": "string"
          },
          "deviceType": {
            "description": "设备类型",
            "type": "integer"
          },
          "onlineStatus": {
            "description": "在线状态",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.EquipmentOnlineInfoData": {
        "properties": {
          "onlineCount": {
            "description": "当前在线设备数量",
            "type": "integer"
          },
          "onlineList": {
            "description": "在线设备明细列表",
            "items": {
              "$ref": "#/components/schemas/vo.EquipmentOnlineDeviceData"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.FaceInfoData": {
        "properties": {
          "b1": {
            "description": "本次人脸识别配置数据(base64), 手机模块解码后使用",
            "type": "string"
          },
          "bioid": {
            "description": "本次验证业务 ID, 0 表示未分配",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FaceStatusData": {
        "properties": {
          "callbackUrl": {
            "description": "验证完成后手机端回调本地址推动登录流程",
            "type": "string"
          },
          "ccdata": {
            "type": "string"
          },
          "expiresIn": {
            "description": "二维码剩余有效秒数",
            "type": "integer"
          },
          "faceConfigUrl": {
            "type": "string"
          },
          "faceUrl": {
            "description": "---- 触发验证时附带的验证参数 ----",
            "type": "string"
          },
          "headImgUrl": {
            "description": "已扫码账号的头像",
            "type": "string"
          },
          "nickName": {
            "description": "已扫码账号的昵称",
            "type": "string"
          },
          "pinSubmitUrl": {
            "description": "PIN 提交接口(POST /api/v1/security/SubmitPin?key=xxx)",
            "type": "string"
          },
          "qrUrl": {
            "description": "QrUrl / callbackUrl 为附加字段(见 buildFaceTaskParams):\n分别是「二维码渲染链接」与「验证完成回调地址」。",
            "type": "string"
          },
          "rawState": {
            "description": "微信原始扫码状态",
            "type": "integer"
          },
          "securityInfo": {
            "type": "string"
          },
          "status": {
            "description": "状态码, 取值同 CheckLogin 的 Data.Status",
            "type": "integer"
          },
          "statusText": {
            "description": "状态文案",
            "type": "string"
          },
          "system": {
            "type": "string"
          },
          "ticket": {
            "description": "安全验证票据",
            "type": "string"
          },
          "ua": {
            "type": "string"
          },
          "updatedAt": {
            "description": "状态最后更新时间戳(秒)",
            "type": "integer"
          },
          "uuid": {
            "description": "当前二维码 uuid",
            "type": "string"
          },
          "verifyId": {
            "description": "验证会话 ID(secverifyid); 未解析出时为空串",
            "type": "string"
          },
          "verifyInstructions": {
            "description": "按验证方式生成的操作指引文案",
            "type": "string"
          },
          "verifyType": {
            "description": "---- 验证方式(人脸/PIN 分流) ----",
            "type": "string"
          },
          "verifyTypeName": {
            "description": "稳定名称: face/pin/captcha/...; 未解析出时为空串",
            "type": "string"
          },
          "verifyTypeText": {
            "description": "验证方式中文说明; 未解析出时为空串",
            "type": "string"
          },
          "weixin110Url": {
            "description": "微信官方验证链接(weixin110)",
            "type": "string"
          },
          "wxid": {
            "description": "已扫码账号的微信号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.FaceToFaceQrcodeData": {
        "properties": {
          "bottomLeftIconUrl": {
            "description": "左下角图标",
            "type": "string"
          },
          "bottomRightArrow": {
            "description": "右下角是否有箭头",
            "type": "boolean"
          },
          "busiType": {
            "description": "业务类型",
            "type": "integer"
          },
          "guideMaterialFlag": {
            "description": "引导素材标记",
            "type": "integer"
          },
          "mchName": {
            "description": "商户名称",
            "type": "string"
          },
          "mchPhoto": {
            "description": "商户头像",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "trueName": {
            "description": "收款人实名",
            "type": "string"
          },
          "upperRightItems": {
            "description": "右上角元素(base64)",
            "type": "string"
          },
          "upperWording": {
            "description": "上方文案",
            "type": "string"
          },
          "url": {
            "description": "面对面收款码内容(可据此生成二维码)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.FacingCreateChatRoomData": {
        "properties": {
          "chatRoomMembers": {
            "description": "成员列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChatRoomMemberInfoSimple"
            },
            "type": "array",
            "uniqueItems": false
          },
          "chatroomWxid": {
            "description": "建好的群 wxid",
            "type": "string"
          },
          "memberCount": {
            "description": "成员数",
            "type": "integer"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderChannelsLoginData": {
        "properties": {
          "finderUsername": {
            "description": "本次实际授权的视频号用户名",
            "type": "string"
          },
          "fullUrl": {
            "description": "GetA8Key 解析出的完整跳转 URL(含 token/exportkey)",
            "type": "string"
          },
          "handleAuth": {
            "$ref": "#/components/schemas/vo.RawResp",
            "description": "channels finder-handle-auth 接口的微信原始响应"
          },
          "scanQrcode": {
            "$ref": "#/components/schemas/vo.RawResp",
            "description": "channels scan-qrcode 接口的微信原始响应(含 finderList)"
          }
        },
        "type": "object"
      },
      "vo.FinderCheckStatusData": {
        "properties": {
          "actionType": {
            "description": "个人中心动作类型(协议原值)",
            "type": "integer"
          },
          "finderUsername": {
            "description": "自己的视频号 username",
            "type": "string"
          },
          "mainFinderUsername": {
            "description": "主视频号 username",
            "type": "string"
          },
          "selfContact": {
            "$ref": "#/components/schemas/wechat.ChannelsContact",
            "description": "自己的视频号资料; 未开通时为空"
          },
          "spamStatus": {
            "description": "原始标志位: -1=未知 0=正常 1=封禁 2=受限",
            "type": "integer"
          },
          "status": {
            "description": "归一结论: normal=正常 not_created=未开通 banned=封禁 restricted=受限",
            "type": "string"
          },
          "userFlag": {
            "description": "账号标志位(协议原值)",
            "type": "integer"
          },
          "userNotCreatedFlag": {
            "description": "1=未开通视频号",
            "type": "integer"
          },
          "userVersion": {
            "description": "服务端下发的最新视频号协议版本号; 可回填到后续请求的 Userver 参数",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderCommentData": {
        "properties": {
          "clientId": {
            "description": "客户端评论 ID",
            "type": "string"
          },
          "commentId": {
            "description": "新评论的服务器 ID(删除时回显原 ID)",
            "type": "integer"
          },
          "deleted": {
            "description": "本次是否为删除操作",
            "type": "boolean"
          },
          "errMsg": {
            "description": "微信侧错误文案",
            "type": "string"
          },
          "exposedComment": {
            "description": "服务端额外返回的评论(含新评论详情)",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsCommentInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "objectId": {
            "description": "实际操作的 feedId",
            "type": "integer"
          },
          "opType": {
            "description": "0=发/回复 1=删除",
            "type": "integer"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderCreateUserData": {
        "properties": {
          "contact": {
            "$ref": "#/components/schemas/wechat.ChannelsContact",
            "description": "新建的视频号资料"
          },
          "errMsg": {
            "description": "微信侧错误文案",
            "type": "string"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          },
          "verifyInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsNicknameVerifyInfo",
            "description": "昵称校验信息(需二次确认时才有)"
          }
        },
        "type": "object"
      },
      "vo.FinderFavData": {
        "properties": {
          "faved": {
            "description": "本次操作后是否处于已收藏状态",
            "type": "boolean"
          },
          "objectId": {
            "description": "实际操作的 feedId",
            "type": "integer"
          },
          "opType": {
            "description": "1=收藏 2=取消收藏",
            "type": "integer"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderFeedByShareUrlData": {
        "properties": {
          "detail": {
            "$ref": "#/components/schemas/vo.FinderFeedDetailData",
            "description": "协议层视频详情; 查询失败时为空"
          },
          "detailError": {
            "description": "详情查询失败原因; 成功时为空",
            "type": "string"
          },
          "preview": {
            "$ref": "#/components/schemas/vo.FinderSharePreviewData",
            "description": "分享链解析得到的展示信息"
          }
        },
        "type": "object"
      },
      "vo.FinderFeedDetailData": {
        "properties": {
          "commentCount": {
            "description": "评论数",
            "type": "integer"
          },
          "object": {
            "$ref": "#/components/schemas/wechat.ChannelsObject",
            "description": "视频详情(含文案/媒体/统计/互动标记)"
          }
        },
        "type": "object"
      },
      "vo.FinderFollowData": {
        "properties": {
          "contact": {
            "$ref": "#/components/schemas/wechat.ChannelsContact",
            "description": "目标账号资料(含 followFlag)"
          },
          "errMsg": {
            "type": "string"
          },
          "finderUsername": {
            "description": "目标视频号 username",
            "type": "string"
          },
          "followed": {
            "description": "操作后的关注状态",
            "type": "boolean"
          },
          "opType": {
            "description": "1=关注 2=取消",
            "type": "integer"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetBulletData": {
        "properties": {
          "commentCount": {
            "description": "本页弹幕条数",
            "type": "integer"
          },
          "commentList": {
            "description": "弹幕列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsBulletComment"
            },
            "type": "array",
            "uniqueItems": false
          },
          "endTimestamp": {
            "description": "本页结束时间点(ms)",
            "type": "integer"
          },
          "lastBuffer": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "objectId": {
            "description": "实际操作的 feedId",
            "type": "integer"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          },
          "startTimestamp": {
            "description": "本页起始时间点(ms)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetCommentListData": {
        "properties": {
          "commentInfo": {
            "description": "评论列表(子评论场景为该根评论的回复)",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsCommentInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "countInfoRaw": {
            "description": "评论计数信息(base64, 协议原值)",
            "type": "string"
          },
          "descComment": {
            "$ref": "#/components/schemas/wechat.ChannelsCommentInfo",
            "description": "置顶/描述评论"
          },
          "downContinueFlag": {
            "description": "向下还有更多",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "lastBuffer": {
            "description": "翻页游标(base64, 回传取下一页)",
            "type": "string"
          },
          "ret": {
            "type": "integer"
          },
          "upContinueFlag": {
            "description": "向上还有更多",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetFansListData": {
        "properties": {
          "contactList": {
            "description": "粉丝账号列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsContact"
            },
            "type": "array",
            "uniqueItems": false
          },
          "continueFlag": {
            "description": "1=还有更多",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "lastBuff": {
            "description": "下一页请求的 lastBuff(base64)",
            "type": "string"
          },
          "lastId": {
            "description": "下一页请求的 lastId",
            "type": "integer"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetFavListData": {
        "properties": {
          "continueFlag": {
            "description": "1=还有更多",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "lastBuffer": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "object": {
            "description": "收藏的视频",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsObject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ret": {
            "type": "integer"
          },
          "totalCount": {
            "description": "收藏总数",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetFollowListData": {
        "properties": {
          "contactList": {
            "description": "我关注的视频号账号",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsContact"
            },
            "type": "array",
            "uniqueItems": false
          },
          "continueFlag": {
            "description": "1=还有更多",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "followCount": {
            "description": "关注总数",
            "type": "integer"
          },
          "lastBuffer": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetHistoryData": {
        "properties": {
          "continueFlag": {
            "description": "1=还有更多",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "lastBuffer": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "object": {
            "description": "看过的视频(时间倒序)",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsObject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetHotWordListData": {
        "properties": {
          "errMsg": {
            "type": "string"
          },
          "hotTitle": {
            "description": "榜单标题",
            "type": "string"
          },
          "hotWords": {
            "description": "热搜词条目",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "hotwordLastBuffer": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetLikedListData": {
        "properties": {
          "continueFlag": {
            "description": "1=还有更多",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "lastBuffer": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "likedList": {
            "description": "点赞过的视频",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsObject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ret": {
            "type": "integer"
          },
          "totalCount": {
            "description": "点赞总数",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetRelatedListData": {
        "properties": {
          "continueFlag": {
            "description": "1=还有更多",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "lastBuffer": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "object": {
            "description": "相关推荐视频",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsObject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "relatedStreamWording": {
            "description": "推荐流标题",
            "type": "string"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderGetUserData": {
        "properties": {
          "contactList": {
            "description": "账号资料列表(与请求顺序对应)",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsContact"
            },
            "type": "array",
            "uniqueItems": false
          },
          "errMsg": {
            "type": "string"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderInitData": {
        "properties": {
          "curFinderUsername": {
            "description": "当前生效的视频号 username",
            "type": "string"
          },
          "finderUsernameList": {
            "description": "账号下的视频号 username 列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "hasChannel": {
            "description": "便捷判断: 已开通视频号(等价于 userNotCreatedFlag==0 且 mainFinderUsername 非空)",
            "type": "boolean"
          },
          "mainFinderUsername": {
            "description": "主视频号 username",
            "type": "string"
          },
          "self": {
            "$ref": "#/components/schemas/wechat.ChannelsContact",
            "description": "自己的视频号资料; 未开通时为空"
          },
          "showInWxFinderUsername": {
            "description": "在微信中展示的视频号 username",
            "type": "string"
          },
          "userNotCreatedFlag": {
            "description": "1=当前账号还没开通视频号, 0=已开通",
            "type": "integer"
          },
          "userVersion": {
            "description": "服务端下发的最新视频号协议版本号; 可回填到后续请求的 Userver 参数(不填则用全局默认)",
            "type": "integer"
          },
          "userverForH5": {
            "description": "H5 侧使用的版本号(协议原值)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderLikeData": {
        "properties": {
          "errMsg": {
            "description": "微信侧错误文案",
            "type": "string"
          },
          "likeId": {
            "description": "服务端返回的点赞记录 ID",
            "type": "integer"
          },
          "liked": {
            "description": "本次操作后是否处于已赞状态",
            "type": "boolean"
          },
          "objectId": {
            "description": "实际操作的 feedId",
            "type": "integer"
          },
          "opType": {
            "description": "3=点赞 4=取消点赞",
            "type": "integer"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderMixSearchData": {
        "properties": {
          "continueFlag": {
            "description": "1=还有更多",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "lastBuff": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "objectList": {
            "description": "当前 tab 的视频列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsObject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderMsgSessionData": {
        "properties": {
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          },
          "sessionProfileList": {
            "description": "会话档案列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsMsgSessionInfo"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.FinderMsgSessionIdData": {
        "properties": {
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          },
          "sessionInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsMsgSessionInfo",
            "description": "会话信息(含 SessionId / 是否可发起会话)"
          }
        },
        "type": "object"
      },
      "vo.FinderNewUserPrepareData": {
        "properties": {
          "actionType": {
            "description": "动作类型(协议原值)",
            "type": "integer"
          },
          "finderList": {
            "description": "已开通的视频号列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsContact"
            },
            "type": "array",
            "uniqueItems": false
          },
          "foreignUserFlag": {
            "description": "是否海外用户",
            "type": "integer"
          },
          "mainFinderUsername": {
            "description": "主视频号 username",
            "type": "string"
          },
          "multiCreateFlag": {
            "description": "是否允许创建多个",
            "type": "integer"
          },
          "nicknameMaxLength": {
            "description": "昵称最大长度",
            "type": "integer"
          },
          "nicknameMinLength": {
            "description": "昵称最小长度",
            "type": "integer"
          },
          "noPostPrivilegeDesc": {
            "description": "无发布权限时的说明",
            "type": "string"
          },
          "noPostPrivilegeTitle": {
            "description": "无发布权限时的标题",
            "type": "string"
          },
          "prepareRealnameInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsRealnameInfo",
            "description": "实名信息"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          },
          "signatureMaxLength": {
            "description": "简介最大长度",
            "type": "integer"
          },
          "unauthFinderList": {
            "description": "未认证的视频号列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsContact"
            },
            "type": "array",
            "uniqueItems": false
          },
          "userFlag": {
            "description": "账号标志位",
            "type": "integer"
          },
          "userNoFinder": {
            "description": "1=当前账号还没有视频号",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderObjectDetailData": {
        "properties": {
          "commentCount": {
            "description": "评论数",
            "type": "integer"
          },
          "commentInfo": {
            "description": "一级评论摘要(完整分页请用 FinderGetCommentList)",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsCommentInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "downContinueFlag": {
            "description": "向下翻页是否还有(协议原值)",
            "type": "integer"
          },
          "lastBuffer": {
            "description": "翻页游标(base64)",
            "type": "string"
          },
          "nextCheckObjectStatus": {
            "description": "待检查状态(协议原值)",
            "type": "integer"
          },
          "object": {
            "$ref": "#/components/schemas/wechat.ChannelsObject",
            "description": "视频详情(含文案/媒体/统计/互动标记)"
          },
          "secondaryShowFlag": {
            "description": "二级展示标志(协议原值)",
            "type": "integer"
          },
          "upContinueFlag": {
            "description": "向上翻页是否还有(协议原值)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderOpBulletData": {
        "properties": {
          "commentId": {
            "description": "操作的弹幕 ID",
            "type": "integer"
          },
          "objectId": {
            "description": "实际操作的 feedId",
            "type": "integer"
          },
          "opType": {
            "description": "0=点赞 1=删除",
            "type": "integer"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderPostBulletData": {
        "properties": {
          "comment": {
            "$ref": "#/components/schemas/wechat.ChannelsBulletComment",
            "description": "服务端回显的弹幕对象"
          },
          "objectId": {
            "description": "实际操作的 feedId",
            "type": "integer"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderRecommendData": {
        "properties": {
          "errMsg": {
            "type": "string"
          },
          "likeId": {
            "type": "integer"
          },
          "objectId": {
            "description": "feedId",
            "type": "integer"
          },
          "opType": {
            "description": "3=推荐 4=取消",
            "type": "integer"
          },
          "recommended": {
            "type": "boolean"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderSearchData": {
        "properties": {
          "continueFlag": {
            "description": "账号列表还有更多",
            "type": "integer"
          },
          "errMsg": {
            "description": "协议错误信息",
            "type": "string"
          },
          "infoList": {
            "description": "命中的视频号账号(scene=3 主要看这个)",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsContact"
            },
            "type": "array",
            "uniqueItems": false
          },
          "lastBuff": {
            "description": "内容翻页游标(base64)",
            "type": "string"
          },
          "objectContinueFlag": {
            "description": "1=内容还有更多",
            "type": "integer"
          },
          "objectList": {
            "description": "命中的视频/动态",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsObject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "offset": {
            "description": "下一次请求的 offset",
            "type": "integer"
          },
          "requestId": {
            "description": "请求唯一 id(翻页建议带上)",
            "type": "string"
          },
          "ret": {
            "description": "协议返回码",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderSearchSuggestData": {
        "properties": {
          "errMsg": {
            "type": "string"
          },
          "ret": {
            "type": "integer"
          },
          "sessionBuffer": {
            "description": "会话 buffer(base64)",
            "type": "string"
          },
          "suggest": {
            "description": "联想词列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.FinderSharePreviewData": {
        "properties": {
          "authIconUrl": {
            "description": "认证图标",
            "type": "string"
          },
          "authorHeadImg": {
            "description": "作者头像",
            "type": "string"
          },
          "authorNickname": {
            "description": "作者昵称",
            "type": "string"
          },
          "commentCount": {
            "description": "评论数",
            "type": "string"
          },
          "commentScene": {
            "description": "评论场景",
            "type": "integer"
          },
          "coverUrl": {
            "description": "封面图",
            "type": "string"
          },
          "createTime": {
            "description": "发布时间(秒)",
            "type": "integer"
          },
          "description": {
            "description": "视频描述",
            "type": "string"
          },
          "dynamicExportId": {
            "description": "加密 feedId(export/...)，可用作 EncryptedObjectid",
            "type": "string"
          },
          "exportId": {
            "description": "去掉 export/ 前缀的同义值",
            "type": "string"
          },
          "favCount": {
            "description": "收藏数",
            "type": "string"
          },
          "forwardCount": {
            "description": "转发数",
            "type": "string"
          },
          "likeCount": {
            "description": "点赞数(已格式化)",
            "type": "string"
          },
          "shortUri": {
            "description": "分享短码(例 AU3op7pixT)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.FinderStreamData": {
        "properties": {
          "continueFlag": {
            "description": "1=还有更多",
            "type": "integer"
          },
          "curLocation": {
            "description": "服务端识别的当前城市",
            "type": "string"
          },
          "errMsg": {
            "description": "协议错误信息",
            "type": "string"
          },
          "historyHeadWording": {
            "description": "历史头部文案(关注/朋友 tab)",
            "type": "string"
          },
          "lastBuffer": {
            "description": "翻页游标(base64, 回传取下一页)",
            "type": "string"
          },
          "lbsCityName": {
            "description": "LBS 城市名",
            "type": "string"
          },
          "object": {
            "description": "feed 列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsObject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ret": {
            "description": "协议返回码",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FinderUserInfoData": {
        "properties": {
          "contact": {
            "$ref": "#/components/schemas/wechat.ChannelsContact",
            "description": "作者完整资料"
          },
          "fansCount": {
            "description": "粉丝数",
            "type": "integer"
          },
          "feedsCount": {
            "description": "作品数",
            "type": "integer"
          },
          "finderUserInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsUserInfo",
            "description": "主页展示信息(封面/认证)"
          },
          "friendFollowCount": {
            "description": "朋友关注数",
            "type": "integer"
          },
          "verifyInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsNicknameVerifyInfo",
            "description": "昵称校验信息(需改名时才有)"
          }
        },
        "type": "object"
      },
      "vo.FinderUserVideoListData": {
        "properties": {
          "contact": {
            "$ref": "#/components/schemas/wechat.ChannelsContact",
            "description": "作者完整资料"
          },
          "continueFlag": {
            "description": "1=还有下一页",
            "type": "integer"
          },
          "fansCount": {
            "description": "粉丝数",
            "type": "integer"
          },
          "feedsCount": {
            "description": "作品总数",
            "type": "integer"
          },
          "finderUserInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsUserInfo",
            "description": "主页展示信息"
          },
          "firstPageMd5": {
            "description": "首页内容指纹，回传可让服务端跳过未变化数据",
            "type": "string"
          },
          "lastBuffer": {
            "description": "下一页游标(base64)，回传即可翻页",
            "type": "string"
          },
          "object": {
            "description": "作品列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsObject"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.FollowGHResultItem": {
        "properties": {
          "errMsg": {
            "description": "失败原因; 成功时为空串",
            "type": "string"
          },
          "gH": {
            "description": "公众号原始 ID(回显请求项)",
            "type": "string"
          },
          "isFollowSuccess": {
            "description": "该公众号是否关注成功",
            "type": "boolean"
          },
          "retCode": {
            "description": "微信侧返回码; 仅成功分支返回该字段, 请求失败分支不含此字段",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.ForceReconnectData": {
        "properties": {
          "deviceUser": {
            "description": "该会话归属的微信号",
            "type": "string"
          },
          "fromState": {
            "description": "操作前的登录状态, 固定 3=已退出",
            "type": "integer"
          },
          "isOnline": {
            "description": "重连后是否在线",
            "type": "boolean"
          },
          "key": {
            "description": "账号唯一标识(原样回显)",
            "type": "string"
          },
          "notice": {
            "description": "风险提示文案",
            "type": "string"
          },
          "risk": {
            "description": "固定为 \"high\", 标记这是高风险接口",
            "type": "string"
          },
          "toState": {
            "description": "操作后的登录状态: 1=在线 2=离线 0=未登录",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FriendContactListData": {
        "properties": {
          "contactList": {
            "$ref": "#/components/schemas/vo.RawResp",
            "description": "微信侧联系人分页原始响应, 结构随 CGI 变化"
          },
          "errMsg": {
            "description": "微信侧错误信息",
            "type": "string"
          },
          "retCode": {
            "description": "微信侧返回码, 0=成功",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.FriendGHListData": {
        "properties": {
          "count": {
            "description": "公众号数量",
            "type": "integer"
          },
          "ghList": {
            "description": "公众号资料数组",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "isInitFinished": {
            "description": "缓存是否初始化完成",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.FriendGroupListData": {
        "properties": {
          "count": {
            "description": "群数量",
            "type": "integer"
          },
          "groupList": {
            "description": "群资料数组(缓存的群联系人)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "isInitFinished": {
            "description": "缓存是否初始化完成(恒为 true: 直接读本地联系人缓存, 不再有\"初始化中\"状态)",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.FriendRelationData": {
        "properties": {
          "ContactRemark": {
            "description": "备注名; 未设置时为空",
            "type": "string"
          },
          "Explain": {
            "description": "关系枚举与未知态的语义说明",
            "type": "string"
          },
          "FriendRelation": {
            "description": "关系枚举: 1=好友 2=群聊 4=公众号/官方帐号 -1=未知(未查到, 不可当作\"非好友\")",
            "type": "integer"
          },
          "Known": {
            "description": "是否真正查到该联系人; false 时 FriendRelation 恒为 -1",
            "type": "boolean"
          },
          "NickName": {
            "description": "对方昵称; 未查到时为空",
            "type": "string"
          },
          "UserName": {
            "description": "被查询的 wxid(原样回显)",
            "type": "string"
          },
          "VerifyFlag": {
            "description": "微信联系人 VerifyFlag 原值(位 8/0x100 表示公众号)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.GroupAnnouncementData": {
        "properties": {
          "baseResp": {
            "$ref": "#/components/schemas/vo.BaseResp",
            "description": "微信侧基础响应(含 ret/errMsg)"
          }
        },
        "type": "object"
      },
      "vo.GroupScanIntoUrlData": {
        "properties": {
          "body": {
            "description": "入群链接返回的原始响应体文本(为空表示服务端 302 跳转)",
            "type": "string"
          },
          "chatRoomName": {
            "description": "解析出的群 ID(xxx@chatroom); 拿不到群 ID 时该字段不返回",
            "type": "string"
          },
          "fullUrl": {
            "description": "GetA8Key 解析后的完整跳转 URL",
            "type": "string"
          },
          "isJoinSuccess": {
            "description": "是否已确认入群(以群成员回读见到本账号为准, 不是\"请求已提交\")",
            "type": "boolean"
          },
          "pending": {
            "description": "已拿到群 ID 但回读未见本账号(可能需群主确认), 稍后用 GetChatRoomInfo 复查",
            "type": "boolean"
          },
          "resp": {
            "$ref": "#/components/schemas/vo.RawResp",
            "description": "GetA8Key 微信原始响应, 结构随 CGI 变化; 仅部分失败分支返回"
          }
        },
        "type": "object"
      },
      "vo.GroupToJoinData": {
        "properties": {
          "Msg": {
            "description": "结果说明: 已入群 / 已提交待确认 / 未取得群 ID 等",
            "type": "string"
          },
          "QID": {
            "description": "入群跳转标识; 成功时为 weixin:// 链接(真机可解析出群 ID), 失败时为空",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.LabelUpdateNameData": {
        "properties": {
          "errMsg": {
            "description": "微信侧错误文案",
            "type": "string"
          },
          "ret": {
            "description": "微信侧返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.LicenseDeleteData": {
        "properties": {
          "key": {
            "description": "已被删除的授权码",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.LicenseGenRandomData": {
        "properties": {
          "count": {
            "description": "实际生成的授权码数量",
            "type": "integer"
          },
          "expireAt": {
            "description": "过期时间戳(秒), 0=永久",
            "type": "integer"
          },
          "keys": {
            "description": "生成的授权码列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.LicenseKeyData": {
        "properties": {
          "expireAt": {
            "description": "过期时间戳(秒), 0=永久",
            "type": "integer"
          },
          "key": {
            "description": "授权码",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.LicenseListData": {
        "properties": {
          "list": {
            "description": "当前页的授权码列表",
            "items": {
              "$ref": "#/components/schemas/vo.LicenseRow"
            },
            "type": "array",
            "uniqueItems": false
          },
          "page": {
            "description": "当前页码(从 1 开始)",
            "type": "integer"
          },
          "size": {
            "description": "每页条数, 最大 50",
            "type": "integer"
          },
          "total": {
            "description": "总条数",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.LicenseRow": {
        "properties": {
          "alias": {
            "description": "微信号别名",
            "type": "string"
          },
          "bindmobile": {
            "description": "绑定的手机号",
            "type": "string"
          },
          "deviceToken": {
            "description": "绑定的设备令牌",
            "type": "string"
          },
          "expireAt": {
            "description": "精确过期时间戳(秒), 0=永久",
            "type": "integer"
          },
          "expiryDate": {
            "description": "过期日期",
            "type": "string"
          },
          "id": {
            "description": "自增主键",
            "type": "integer"
          },
          "isBanned": {
            "description": "是否封禁: 0=正常 1=封禁",
            "type": "integer"
          },
          "license": {
            "description": "授权码本身, 即调用业务接口时使用的 key",
            "type": "string"
          },
          "nickName": {
            "description": "已绑定账号的昵称",
            "type": "string"
          },
          "startDate": {
            "description": "生效日期",
            "type": "string"
          },
          "status": {
            "description": "状态: 0=正常 1=禁用",
            "type": "integer"
          },
          "type": {
            "description": "类型: 1=日 7=周 30=月 90=季 180=半年 365=年 30000=永久(数字为标识, 非准确天数)",
            "type": "integer"
          },
          "wxId": {
            "description": "已绑定的微信号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.LocationDoc": {
        "properties": {
          "City": {
            "description": "城市",
            "type": "string"
          },
          "Latitude": {
            "description": "纬度(字符串形式)",
            "type": "string"
          },
          "Longitude": {
            "description": "经度(字符串形式)",
            "type": "string"
          },
          "PoiAddress": {
            "description": "POI 详细地址",
            "type": "string"
          },
          "PoiClassifyID": {
            "description": "POI 分类 ID",
            "type": "string"
          },
          "PoiClassifyType": {
            "description": "POI 分类类型",
            "type": "integer"
          },
          "PoiName": {
            "description": "POI 名称",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.Login62Data": {
        "properties": {
          "key": {
            "description": "账号唯一标识(授权码)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.LoginJournalData": {
        "properties": {
          "count": {
            "description": "日志条数",
            "type": "integer"
          },
          "logs": {
            "description": "日志明细",
            "items": {
              "$ref": "#/components/schemas/vo.LoginJournalRow"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.LoginJournalRow": {
        "properties": {
          "errMsg": {
            "description": "登录失败原因",
            "type": "string"
          },
          "id": {
            "description": "自增主键",
            "type": "integer"
          },
          "key": {
            "description": "账号唯一标识(授权码)",
            "type": "string"
          },
          "loginTime": {
            "description": "登录时间",
            "type": "string"
          },
          "loginType": {
            "description": "登录方式, 例如 62 / iPad",
            "type": "string"
          },
          "nickName": {
            "description": "微信昵称",
            "type": "string"
          },
          "retCode": {
            "description": "本次登录结果码, 0=成功",
            "type": "integer"
          },
          "userName": {
            "description": "微信号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.LoginQRData": {
        "properties": {
          "baseResp": {
            "$ref": "#/components/schemas/vo.BaseResp",
            "description": "微信侧基础响应"
          },
          "key": {
            "description": "仅本次请求新建了会话时返回: 归一化后的账号唯一标识",
            "type": "string"
          },
          "qrCodeUrl": {
            "description": "二维码内容直链(微信原始链接 http://weixin.qq.com/x/<uuid>, 内容本身即二维码)",
            "type": "string"
          },
          "qrUrl": {
            "description": "二维码渲染直链(把上面的内容交给渲染服务画成图片), 供扫码端直接展示",
            "type": "string"
          },
          "txt": {
            "description": "使用提示: 建议取 qrCodeUrl 中 data= 之后的内容自行生成二维码",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.LoginStatusData": {
        "properties": {
          "autoAuthKeepalive": {
            "description": "24h 兜底 AutoAuth 保活开关当前值(nil 视为开启): true=距上次鉴权超 24h 自动补一次二次登录;\nfalse=仅业务接口被动触发。可经 POST /login/SetAutoAuth 或 GetQR/PushLogin 参数切换",
            "type": "boolean"
          },
          "expiryTime": {
            "description": "license 授权到期时间(格式 2006-01-02 15:04:05)",
            "type": "string"
          },
          "loginErrMsg": {
            "description": "状态说明文案, 例如「账号在线状态良好！」",
            "type": "string"
          },
          "loginJournal": {
            "$ref": "#/components/schemas/vo.LoginJournalData",
            "description": "登录日志(仅当请求带 loginJournal=true 时有内容)"
          },
          "loginState": {
            "description": "登录状态: 0=未登录 1=在线 2=离线 3=已退出 4=登录失败",
            "type": "integer"
          },
          "loginTime": {
            "description": "本次登录时间",
            "type": "string"
          },
          "onlineDays": {
            "description": "本次连续在线天数",
            "type": "integer"
          },
          "onlineTime": {
            "description": "本次连续在线时长, 形如「本次在线: 3小时12分」",
            "type": "string"
          },
          "proxyUrl": {
            "description": "当前账号使用的 socks5 代理地址, 未使用代理时为空",
            "type": "string"
          },
          "targetIp": {
            "description": "当前出网 IP",
            "type": "string"
          },
          "totalOnline": {
            "description": "该设备累计在线时长, 形如「总计在线: 12天4小时」",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.LogoutData": {
        "type": "object"
      },
      "vo.MediaListDoc": {
        "properties": {
          "Media": {
            "description": "媒体项列表(元素结构见 clientsdk/baseinfo 的 Media)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.MpUnfollowData": {
        "properties": {
          "appid": {
            "description": "已取关的公众号 AppID",
            "type": "string"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.MsgCdnDownloadData": {
        "properties": {
          "FileData": {
            "description": "解密后文件内容的 base64; 失败时为空串",
            "type": "string"
          },
          "IsGetCdn": {
            "description": "是否已命中 CDN",
            "type": "integer"
          },
          "IsOverLoad": {
            "description": "CDN 是否过载",
            "type": "integer"
          },
          "IsRetry": {
            "description": "是否建议重试",
            "type": "integer"
          },
          "RangeEnd": {
            "description": "本次返回数据的结束偏移",
            "type": "integer"
          },
          "RangeStart": {
            "description": "本次返回数据的起始偏移",
            "type": "integer"
          },
          "RetCode": {
            "description": "0=成功; 非 0(如 -5103017/4289864279)=对象类型或 CDN 簇不匹配/已过期",
            "type": "integer"
          },
          "RetrySec": {
            "description": "建议重试间隔(秒)",
            "type": "integer"
          },
          "RspPicFormat": {
            "description": "图片格式标识(仅图片类型有意义)",
            "type": "integer"
          },
          "Seq": {
            "description": "请求序号",
            "type": "integer"
          },
          "SrcSize": {
            "description": "解密后原始文件长度(按此截断尾部填充)",
            "type": "integer"
          },
          "SubStituteFType": {
            "description": "实际使用的文件类型(服务端可替换为相近类型)",
            "type": "integer"
          },
          "TotalSize": {
            "description": "服务端文件总长度(含填充)",
            "type": "integer"
          },
          "Ver": {
            "description": "CDN 协议版本",
            "type": "integer"
          },
          "VideoFormat": {
            "description": "视频封装格式(仅视频类型有意义)",
            "type": "integer"
          },
          "XClientIP": {
            "description": "服务端看到的客户端出口 IP",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.MsgHttpSyncItem": {
        "properties": {
          "addMsgs": {
            "description": "同步到的新增消息列表(微信原始结构)",
            "items": {
              "$ref": "#/components/schemas/vo.RawResp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "favItem": {
            "$ref": "#/components/schemas/vo.RawResp",
            "description": "同步到的收藏项(微信原始结构)"
          },
          "key": {
            "$ref": "#/components/schemas/vo.RawResp",
            "description": "同步分页 key(微信原始结构)"
          },
          "loginState": {
            "description": "该账号当前登录状态",
            "type": "integer"
          },
          "modContacts": {
            "description": "同步到的联系人变更(微信原始结构)",
            "items": {
              "$ref": "#/components/schemas/vo.RawResp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "modUserImgs": {
            "description": "用户头像变更(微信原始结构)",
            "items": {
              "$ref": "#/components/schemas/vo.RawResp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "modUserInfos": {
            "description": "同步到的用户信息增量(微信原始结构)",
            "items": {
              "$ref": "#/components/schemas/vo.RawResp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "snsActionGroups": {
            "description": "朋友圈互动(评论/点赞)数据(微信原始结构)",
            "items": {
              "$ref": "#/components/schemas/vo.RawResp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "snsObjects": {
            "description": "朋友圈动态对象(微信原始结构)",
            "items": {
              "$ref": "#/components/schemas/vo.RawResp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "targetIp": {
            "description": "本次同步的目标服务器 IP(代码中未直接使用)",
            "type": "string"
          },
          "type": {
            "description": "同步消息类型标识(代码中未直接使用, 语义未确认)",
            "type": "integer"
          },
          "uUID": {
            "description": "账号唯一标识(key)",
            "type": "string"
          },
          "userInfoExts": {
            "description": "用户扩展信息(微信原始结构)",
            "items": {
              "$ref": "#/components/schemas/vo.RawResp"
            },
            "type": "array",
            "uniqueItems": false
          },
          "userName": {
            "description": "消息所属微信号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.MsgSendEmojiItem": {
        "properties": {
          "emojiMd5": {
            "description": "表情文件 MD5(原样回显)",
            "type": "string"
          },
          "errMsg": {
            "description": "微信错误信息; 仅失败时返回",
            "type": "string"
          },
          "isSendSuccess": {
            "description": "是否发送成功(微信 ret==0)",
            "type": "boolean"
          },
          "retCode": {
            "description": "微信返回码, 0=成功",
            "type": "integer"
          },
          "toUSerName": {
            "description": "接收者 wxid(源码 key 拼写为 toUSerName)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.MsgSendFileData": {
        "properties": {
          "aesKey": {
            "description": "该 CDN 对象的 AES 密钥(hex)",
            "type": "string"
          },
          "cdnUrl": {
            "description": "文件 CDN 引用(可复用发送/下载)",
            "type": "string"
          },
          "fileName": {
            "description": "落库的显示文件名(未传 FileName 时为自动生成名)",
            "type": "string"
          },
          "newMsgId": {
            "description": "微信服务端消息 ID(非 0 才算受理成功)",
            "type": "integer"
          },
          "toUserName": {
            "description": "接收者 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.MsgSendResult": {
        "properties": {
          "createTime": {
            "description": "消息创建时间戳(秒)",
            "type": "integer"
          },
          "errMsg": {
            "description": "失败原因; 仅失败时返回",
            "type": "string"
          },
          "isSendSuccess": {
            "description": "是否发送成功(ret==0 且 newMsgId!=0)",
            "type": "boolean"
          },
          "msgId": {
            "description": "微信服务端短消息 ID",
            "type": "integer"
          },
          "newMsgId": {
            "description": "微信服务端消息 ID(非 0 才算成功)",
            "type": "integer"
          },
          "toUserName": {
            "description": "接收者 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.MsgSendVideoData": {
        "properties": {
          "aesKey": {
            "description": "视频/封面的 AES 密钥(hex)",
            "type": "string"
          },
          "cdnUrl": {
            "description": "视频 CDN 引用",
            "type": "string"
          },
          "durationMs": {
            "description": "写入消息的播放时长(毫秒)",
            "type": "integer"
          },
          "newMsgId": {
            "description": "微信服务端消息 ID(非 0 才算受理成功)",
            "type": "integer"
          },
          "thumbUrl": {
            "description": "封面图 CDN 引用(独立对象, 与视频对象不同)",
            "type": "string"
          },
          "toUserName": {
            "description": "接收者 wxid",
            "type": "string"
          },
          "videoBytes": {
            "description": "上传的视频字节数",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.MsgShareCardData": {
        "properties": {
          "errMsg": {
            "description": "失败原因; 成功时不返回该字段",
            "type": "string"
          },
          "isSendSuccess": {
            "description": "是否发送成功",
            "type": "boolean"
          },
          "resp": {
            "$ref": "#/components/schemas/vo.RawResp",
            "description": "微信原始发送响应(wechat.NewSendMsgResponse), 仅成功时返回"
          },
          "textContent": {
            "description": "固定为空串(名片内容由 XML 承载)",
            "type": "string"
          },
          "toUserName": {
            "description": "接收者 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.MsgUploadAppAttachData": {
        "properties": {
          "BaseResponse": {
            "$ref": "#/components/schemas/vo.WeChatBaseResponse",
            "description": "微信侧基础响应(含 ret/errMsg)"
          },
          "clientAppDataId": {
            "description": "客户端数据 ID(同一次上传的关联标识)",
            "type": "string"
          },
          "createTime": {
            "description": "微信侧创建时间戳(秒)",
            "type": "integer"
          },
          "dataLen": {
            "description": "本次分片长度",
            "type": "integer"
          },
          "mediaId": {
            "description": "附件标识(attachid), 后续发文件消息时使用",
            "type": "string"
          },
          "startPos": {
            "description": "本次分片起始偏移",
            "type": "integer"
          },
          "totalLen": {
            "description": "附件总长度(字节)",
            "type": "integer"
          },
          "userName": {
            "description": "上传账号 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.OauthJsapiPreVerifyData": {
        "properties": {
          "appHeadimgUrl": {
            "description": "公众号头像",
            "type": "string"
          },
          "baseResponse": {
            "$ref": "#/components/schemas/wechat.BaseResponse",
            "description": "服务端返回码与提示"
          },
          "domainPathList": {
            "description": "需要配置到 JS 安全域名的路径列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "errCode": {
            "description": "业务错误码(0=成功)",
            "type": "integer"
          },
          "errMsg": {
            "description": "业务错误提示",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "verifyInfoList": {
            "description": "校验结果列表(逐条对应请求的 JS 接口)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.OauthWebAuthorizeData": {
        "properties": {
          "appIconUrl": {
            "description": "授权应用图标",
            "type": "string"
          },
          "appName": {
            "description": "授权应用名称",
            "type": "string"
          },
          "baseResponse": {
            "$ref": "#/components/schemas/wechat.BaseResponse",
            "description": "服务端返回码与提示"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "redirectUrl": {
            "description": "授权成功后的跳转地址",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.PardusSearchData": {
        "properties": {
          "businessResults": {
            "description": "业务卡片段落(base64 数组)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "errMsg": {
            "type": "string"
          },
          "guideText": {
            "description": "引导文案",
            "type": "string"
          },
          "json": {
            "description": "搜索结果(服务端 JSON 字符串, 本协议会话通常为空)",
            "type": "string"
          },
          "moreText": {
            "description": "\"查看更多\"文案",
            "type": "string"
          },
          "pardusInfo": {
            "description": "pardus 引擎信息(base64, 翻页需回传)",
            "type": "string"
          },
          "relatedResult": {
            "description": "相关搜索原始结构(base64)",
            "type": "string"
          },
          "relatedWords": {
            "description": "相关搜索词(纯词列表)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ret": {
            "type": "integer"
          },
          "searchId": {
            "description": "本次搜索 id(点击上报/翻页关联用)",
            "type": "string"
          },
          "sugResult": {
            "description": "联想结果原始结构(base64)",
            "type": "string"
          },
          "sugWords": {
            "description": "联想词(纯词列表)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.PayBandCardData": {
        "properties": {
          "Array": {
            "description": "银行卡列表(JSON 键: Array; 元素结构代码中未使用)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "balance_info": {
            "description": "零钱余额信息(JSON 键: balance_info), 结构: {total_balance:总余额, avail_balance:可用余额, frozen_balance:冻结金额, fetch_balance:可提现额, use_cft_balance:是否用零钱, mobile:绑定手机号, support_micropay:是否支持小额免密, balance_list_url:零钱明细URL, balance_logo_url:零钱图标URL, balance_bank_type/balance_bind_serial:语义未确认, balance_version/time_out:int}"
          },
          "balance_notice": {
            "description": "零钱提示(JSON 键: balance_notice; 元素结构代码中未使用)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "bind_query_scene": {
            "description": "微信侧原始字段, 代码中未使用(语义未确认) (JSON 键: bind_query_scene)",
            "type": "string"
          },
          "favor_compose_channel_info": {
            "description": "优惠渠道信息(JSON 键: favor_compose_channel_info; 元素结构代码中未使用)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "fetch_notice": {
            "description": "提现提示(JSON 键: fetch_notice; 元素结构代码中未使用)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "history_card_array": {
            "description": "历史银行卡列表(JSON 键: history_card_array; 元素结构代码中未使用)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "paymenu_array": {
            "description": "支付菜单(JSON 键: paymenu_array; 元素结构代码中未使用)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "paymenu_use_new": {
            "description": "微信侧原始字段, 代码中未使用(语义未确认) (JSON 键: paymenu_use_new)",
            "type": "integer"
          },
          "query_cache_time": {
            "description": "微信侧原始字段, 代码中未使用(语义未确认) (JSON 键: query_cache_time)",
            "type": "integer"
          },
          "query_order_time": {
            "description": "微信侧原始字段, 代码中未使用(语义未确认) (JSON 键: query_order_time)",
            "type": "integer"
          },
          "retcode": {
            "description": "微信侧返回码, 0 表示成功 (JSON 键: retcode)",
            "type": "string"
          },
          "retmsg": {
            "description": "微信侧返回说明 (JSON 键: retmsg)",
            "type": "string"
          },
          "switch_info": {
            "description": "支付开关信息(JSON 键: switch_info), 结构: {switch_bit:int 功能开关位图}"
          },
          "time_stamp": {
            "description": "微信侧时间戳 (JSON 键: time_stamp)",
            "type": "integer"
          },
          "user_info": {
            "description": "财付通用户信息(JSON 键: user_info), 结构: {is_reg:是否注册, true_name:实名姓名, bind_card_num:绑定卡数, transfer_url:转账页URL, lct_wording/lct_url/icard_user_flag/cre_name/cre_type:语义未确认, touch_info:{is_open_touch,use_touch_pay}, authen_channel_state:int64 语义未确认}"
          },
          "virtual_card_array": {
            "description": "虚拟卡列表(JSON 键: virtual_card_array; 元素结构代码中未使用)",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "wallet_info": {
            "description": "钱包信息(JSON 键: wallet_info), 结构: {wallet_balance:int, wallet_entrance_balance_switch_state:int}, 语义未确认"
          }
        },
        "type": "object"
      },
      "vo.PayBillData": {
        "properties": {
          "raw": {
            "description": "服务端返回原文(JSON 字符串)",
            "type": "string"
          },
          "ret": {
            "additionalProperties": {},
            "description": "服务端返回 JSON(已解析)",
            "type": "object"
          }
        },
        "type": "object"
      },
      "vo.PayHongBaoResData": {
        "properties": {
          "baseResponse": {
            "description": "微信侧基础响应(JSON 键: baseResponse), 结构: {ret:int 返回码(0=成功), errMsg:{str:string} 错误信息}"
          },
          "cgiCmdid": {
            "description": "本次请求的 CGI 命令号 (JSON 键: cgiCmdid)",
            "type": "integer"
          },
          "errorMsg": {
            "description": "红包业务错误信息 (JSON 键: errorMsg)",
            "type": "string"
          },
          "errorType": {
            "description": "红包业务错误类型 (JSON 键: errorType)",
            "type": "integer"
          },
          "platMsg": {
            "description": "平台层返回信息 (JSON 键: platMsg)",
            "type": "string"
          },
          "platRet": {
            "description": "平台层返回码 (JSON 键: platRet)",
            "type": "integer"
          },
          "retText": {
            "description": "红包业务响应体(JSON 键: retText), 结构: {len:int, buffer:string(二进制, JSON 中为 base64)}, buffer 内为红包结果 JSON"
          }
        },
        "type": "object"
      },
      "vo.PayPreTransferData": {
        "properties": {
          "fee": {
            "description": "转账金额(单位分) (JSON 键: fee)",
            "type": "integer"
          },
          "receiver_true_name": {
            "description": "收款方实名姓名(用于确认页展示) (JSON 键: receiver_true_name)",
            "type": "string"
          },
          "req_key": {
            "description": "确认转账所需的一次性密钥, 传给 /pay/ConfirmPreTransfer (JSON 键: req_key)",
            "type": "string"
          },
          "retcode": {
            "description": "微信侧返回码, 0 表示成功 (JSON 键: retcode)",
            "type": "string"
          },
          "retmsg": {
            "description": "微信侧返回说明 (JSON 键: retmsg)",
            "type": "string"
          },
          "tansfering_status": {
            "description": "转账进行状态(源码字段拼写即为 tansfering_status) (JSON 键: tansfering_status)",
            "type": "string"
          },
          "transaction_id": {
            "description": "微信侧交易号 (JSON 键: transaction_id)",
            "type": "string"
          },
          "transfer_id": {
            "description": "微信侧转账单号 (JSON 键: transfer_id)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.PayQCodeData": {
        "properties": {
          "pay_url": {
            "description": "收款链接/收款码内容, 可渲染为二维码 (JSON 键: pay_url)",
            "type": "string"
          },
          "retcode": {
            "description": "微信侧返回码, 0 表示成功 (JSON 键: retcode)",
            "type": "string"
          },
          "retmsg": {
            "description": "微信侧返回说明 (JSON 键: retmsg)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.PayRedEnvelopeDetailData": {
        "properties": {
          "amount": {
            "description": "当前用户领取金额(单位分)",
            "type": "integer"
          },
          "atomicFunc": {
            "description": "原子功能开关, 结构: {Enable:int}"
          },
          "canShare": {
            "description": "是否可分享",
            "type": "integer"
          },
          "changeURL": {
            "description": "跳转链接",
            "type": "string"
          },
          "changeWording": {
            "description": "跳转入口文案",
            "type": "string"
          },
          "enableAnswerByExpression": {
            "description": "是否允许用表情作答",
            "type": "integer"
          },
          "enableAnswerBySelfie": {
            "description": "是否允许自拍作答",
            "type": "integer"
          },
          "expressionMd5": {
            "description": "表情 MD5",
            "type": "string"
          },
          "hBKind": {
            "description": "红包种类",
            "type": "integer"
          },
          "hBStatus": {
            "description": "红包状态",
            "type": "integer"
          },
          "hBType": {
            "description": "红包类型",
            "type": "integer"
          },
          "hasWriteAnswer": {
            "description": "是否已填写口令答案",
            "type": "integer"
          },
          "headTitle": {
            "description": "详情页标题",
            "type": "string"
          },
          "isContinue": {
            "description": "是否可继续领取",
            "type": "integer"
          },
          "isSender": {
            "description": "当前用户是否为发送者(1=是)",
            "type": "integer"
          },
          "jumpChange": {
            "description": "是否展示跳转入口",
            "type": "integer"
          },
          "jumpChangeType": {
            "description": "跳转入口类型",
            "type": "integer"
          },
          "operationHeader": {
            "description": "头部操作文案列表",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "operationTail": {
            "description": "尾部操作开关, 结构: {Enable:int}"
          },
          "recAmount": {
            "description": "已领取金额(单位分)",
            "type": "integer"
          },
          "recNum": {
            "description": "已领取人数/个数",
            "type": "integer"
          },
          "receiveID": {
            "description": "领取记录 ID",
            "type": "string"
          },
          "receiveStatus": {
            "description": "领取状态",
            "type": "integer"
          },
          "record": {
            "description": "领取记录明细, 元素结构: {ReceiveAmount:int 金额(分), ReceiveTime:string, Answer:string 口令答案, ReceiveID:string, State:int, ReceiveOpenID:string, UserName:string}",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "retCode": {
            "description": "微信侧返回码, 0=成功",
            "type": "integer"
          },
          "retMsg": {
            "description": "微信侧返回说明",
            "type": "string"
          },
          "sendID": {
            "description": "红包发送单号",
            "type": "string"
          },
          "sendUserName": {
            "description": "发送者 wxid",
            "type": "string"
          },
          "showDetailNormalExpression": {
            "description": "详情页是否展示表情",
            "type": "integer"
          },
          "showSourceOpen": {
            "description": "来源与操作信息, 结构: {Source:{SubType:int, SourceObject:{CoverImage,CoverImageMd5,DetailImage,DetailImageMd5 均为 string}}, Operation:{Name,Type,Content,IconURL 均为 string, Enable:int, OssKey:int}}"
          },
          "statusMess": {
            "description": "状态说明文案",
            "type": "string"
          },
          "totalAmount": {
            "description": "红包总金额(单位分)",
            "type": "integer"
          },
          "totalNum": {
            "description": "红包总个数",
            "type": "integer"
          },
          "wishing": {
            "description": "红包祝福语",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.PayRedPacketListData": {
        "properties": {
          "gameCount": {
            "description": "微信侧原始字段, 代码中未使用(语义未确认)",
            "type": "integer"
          },
          "isContinue": {
            "description": "是否还有下一页(1=有)",
            "type": "integer"
          },
          "recTotalAmount": {
            "description": "累计领取金额(单位分)",
            "type": "integer"
          },
          "recTotalNum": {
            "description": "累计领取红包个数",
            "type": "integer"
          },
          "record": {
            "description": "领取记录明细, 元素结构: {SendName:string 发送者昵称, ReceiveAmount:int 金额(分), ReceiveTime:string, HBType:int, SendID:string, HBKind:int, SendUserName:string, ReceiveID:string}",
            "items": {},
            "type": "array",
            "uniqueItems": false
          },
          "recordYear": {
            "description": "记录所属年份",
            "type": "string"
          },
          "retCode": {
            "description": "微信侧返回码, 0=成功",
            "type": "integer"
          },
          "retMsg": {
            "description": "微信侧返回说明",
            "type": "string"
          },
          "years": {
            "description": "统计年份",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.PayTenPayRespData": {
        "properties": {
          "baseResponse": {
            "description": "微信侧基础响应(JSON 键: baseResponse), 结构: {ret:int 返回码(0=成功), errMsg:{str:string} 错误信息}"
          },
          "cgiCmdid": {
            "description": "本次请求的 CGI 命令号 (JSON 键: cgiCmdid)",
            "type": "integer"
          },
          "platMsg": {
            "description": "平台层返回信息 (JSON 键: platMsg)",
            "type": "string"
          },
          "platRet": {
            "description": "平台层返回码 (JSON 键: platRet)",
            "type": "integer"
          },
          "retText": {
            "description": "业务响应体(JSON 键: retText), 结构: {len:int, buffer:string(二进制, JSON 中为 base64)}, buffer 内为 JSON"
          },
          "tenpayErrMsg": {
            "description": "财付通错误信息 (JSON 键: tenpayErrMsg)",
            "type": "string"
          },
          "tenpayErrType": {
            "description": "财付通错误类型 (JSON 键: tenpayErrType)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.PinSubmitData": {
        "properties": {
          "verifyType": {
            "description": "weixin110 verify_type 枚举值(提交成功时为 \"5\")",
            "type": "string"
          },
          "verifyTypeName": {
            "description": "稳定名称, 提交成功时为 pin",
            "type": "string"
          },
          "verifyTypeText": {
            "description": "验证方式中文说明",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.ProxyMappingData": {
        "properties": {
          "createTime": {
            "description": "创建时间",
            "type": "string"
          },
          "iD": {
            "description": "自增主键",
            "type": "integer"
          },
          "proxyNumber": {
            "description": "代理编号",
            "type": "string"
          },
          "proxyValue": {
            "description": "代理值(地区名)",
            "type": "string"
          },
          "updateTime": {
            "description": "更新时间",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.QWAcceptChatRoomData": {
        "properties": {
          "A8key": {
            "description": "geta8key 解析得到的 A8key"
          },
          "ActionCode": {
            "description": "动作码(语义未完全确认)"
          },
          "AntispamTicket": {
            "description": "反垃圾票据"
          },
          "BaseResponse": {
            "description": "微信侧基础响应"
          },
          "Content": {
            "description": "页面内容"
          },
          "Cookie": {
            "$ref": "#/components/schemas/vo.QWSKBuiltinBufferT",
            "description": "Cookie 缓冲区"
          },
          "DeepLinkBitSet": {
            "$ref": "#/components/schemas/vo.QWDeepLinkBitSet",
            "description": "深链控制位集合"
          },
          "FullURL": {
            "description": "解析后的完整 URL"
          },
          "GeneralControlBitSet": {
            "$ref": "#/components/schemas/vo.QWGeneralControlBitSet",
            "description": "通用控制位集合"
          },
          "Headimg": {
            "description": "头像地址"
          },
          "HttpHeader": {
            "description": "HTTP 头列表",
            "items": {
              "$ref": "#/components/schemas/vo.QWGetA8KeyHeader"
            },
            "type": "array",
            "uniqueItems": false
          },
          "HttpHeaderCount": {
            "description": "HTTP 头数量",
            "type": "integer"
          },
          "JSAPIControlBytes": {
            "$ref": "#/components/schemas/vo.QWSKBuiltinBufferT",
            "description": "JSAPI 控制字节缓冲区"
          },
          "JSAPIPermission": {
            "$ref": "#/components/schemas/vo.QWJSAPIPermission",
            "description": "JSAPI 权限位集合"
          },
          "MID": {
            "description": "机器标识"
          },
          "MenuWording": {
            "description": "菜单提示文案"
          },
          "ScopeCount": {
            "description": "授权域名数量",
            "type": "integer"
          },
          "ScopeList": {
            "description": "授权域名列表",
            "items": {
              "$ref": "#/components/schemas/vo.QWBizScopeInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ShareURL": {
            "description": "分享链接"
          },
          "Ssid": {
            "description": "会话标识"
          },
          "Title": {
            "description": "页面标题"
          },
          "UserName": {
            "description": "请求使用的登录微信号"
          },
          "Wording": {
            "description": "提示文案"
          }
        },
        "type": "object"
      },
      "vo.QWAddChatRoomMemberData": {
        "properties": {
          "T": {
            "description": "企业微信侧原始字段(字符串, 语义未确认)"
          },
          "baseResponse": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "微信侧基础响应"
          },
          "memberList": {
            "description": "各成员的处理结果",
            "items": {
              "$ref": "#/components/schemas/vo.QWMemberResp"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.QWBizScopeInfo": {
        "properties": {
          "apiCount": {
            "description": "域名下 API 数量",
            "type": "integer"
          },
          "apiList": {
            "description": "域名下的 API 列表(元素结构未确认)",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "scope": {
            "description": "业务域名"
          },
          "scopeDesc": {
            "description": "域名描述"
          },
          "scopeStatus": {
            "description": "域名授权状态(语义未完全确认)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWChatRoomMemberData": {
        "properties": {
          "chatRoomMember": {
            "description": "群成员列表",
            "items": {
              "$ref": "#/components/schemas/vo.QWChatRoomMemberInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "infoMask": {
            "description": "字段掩码(语义未确认)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWChatRoomMemberInfo": {
        "properties": {
          "appId": {
            "description": "成员所属企业应用 ID(语义未完全确认)"
          },
          "bigHeadImgUrl": {
            "description": "大头像地址"
          },
          "chatroomMemberFlag": {
            "description": "成员群内身份标记位(群主/管理员等, 语义未完全确认)",
            "type": "integer"
          },
          "displayName": {
            "description": "成员在企业群中的显示名(群昵称)"
          },
          "linkman": {
            "description": "企业微信侧原始字段 linkman(语义未确认)"
          },
          "nickName": {
            "description": "成员昵称"
          },
          "qy": {
            "description": "企业微信侧原始字段 qy(语义未确认)"
          },
          "smallHeadImgUrl": {
            "description": "小头像地址"
          },
          "userName": {
            "description": "成员 wxid"
          }
        },
        "type": "object"
      },
      "vo.QWChatroomContactInfo": {
        "properties": {
          "App": {
            "description": "企业微信侧原始字段 App(语义未确认)"
          },
          "G": {
            "description": "企业微信侧原始字段 G(语义未确认)",
            "type": "integer"
          },
          "Info": {
            "$ref": "#/components/schemas/vo.QWChatroomInfo",
            "description": "群基本信息(名称/公告/群主等)"
          },
          "MemberList": {
            "$ref": "#/components/schemas/vo.QWMemberList",
            "description": "群成员列表"
          },
          "ModSetTimes_": {
            "description": "群设定修改次数(企业微信侧原始字段 ModSetTimes)",
            "type": "integer"
          },
          "P": {
            "description": "企业微信侧原始字段 P(语义未确认)",
            "type": "integer"
          },
          "P_": {
            "description": "企业微信侧原始字段 p(语义未确认)",
            "type": "integer"
          },
          "Username": {
            "description": "群 ID(xxx@chatroom)"
          },
          "modSetTimes": {
            "description": "群设定修改次数(语义未完全确认)",
            "type": "integer"
          },
          "t": {
            "description": "企业微信侧原始字段 t(语义未确认)",
            "type": "integer"
          },
          "tg": {
            "description": "企业微信侧原始字段 tg(语义未确认)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWChatroomInfo": {
        "properties": {
          "Announcement": {
            "description": "群公告内容"
          },
          "AnnouncementTime": {
            "description": "公告发布时间(时间戳)",
            "type": "integer"
          },
          "Announcer": {
            "description": "公告发布人 wxid"
          },
          "ChatroomNickname": {
            "description": "群名称"
          },
          "ChatroomOwner": {
            "description": "群主 wxid"
          },
          "CountMax": {
            "description": "群人数上限",
            "type": "integer"
          },
          "JoinMustApply": {
            "description": "是否需审核进群: 非 0 表示需要审核(语义未完全确认)",
            "type": "integer"
          },
          "Pic": {
            "description": "群头像地址"
          },
          "Pic_": {
            "description": "群头像地址(企业微信侧原始字段 pic)"
          },
          "Pinyin": {
            "description": "群名称全拼"
          },
          "Pyinitial": {
            "description": "群名称拼音首字母"
          },
          "g": {
            "description": "企业微信侧原始字段 g(语义未确认)",
            "type": "integer"
          },
          "t": {
            "description": "企业微信侧原始字段 t(语义未确认)",
            "type": "number"
          }
        },
        "type": "object"
      },
      "vo.QWContactData": {
        "properties": {
          "Continue": {
            "description": "是否还有更多: 非 0 表示需继续增量同步(语义未完全确认)",
            "type": "integer"
          },
          "contactList": {
            "description": "企业联系人列表",
            "items": {
              "$ref": "#/components/schemas/vo.QWContactInfo"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.QWContactInfo": {
        "properties": {
          "App": {
            "description": "企业微信侧原始字段 App(语义未确认)"
          },
          "G": {
            "description": "企业微信侧原始字段 G(语义未确认)",
            "type": "integer"
          },
          "Highpxpic": {
            "description": "高清头像地址"
          },
          "Info": {
            "description": "企业微信侧原始字段 Info(语义未确认)"
          },
          "Nickname": {
            "description": "昵称"
          },
          "Pic": {
            "description": "头像地址"
          },
          "Pinyin": {
            "description": "昵称全拼"
          },
          "Pyinitial": {
            "description": "昵称拼音首字母"
          },
          "Remark": {
            "description": "备注名"
          },
          "RemarkPy": {
            "description": "备注全拼"
          },
          "RemarkPyinitial": {
            "description": "备注拼音首字母"
          },
          "Sex": {
            "description": "性别: 0=未知 1=男 2=女(语义未完全确认)",
            "type": "integer"
          },
          "T": {
            "description": "企业微信侧原始字段 T(语义未确认)"
          },
          "Type": {
            "description": "联系人类型(企业微信侧原始字段, 语义未确认)",
            "type": "integer"
          },
          "Username": {
            "description": "企业联系人 wxid"
          }
        },
        "type": "object"
      },
      "vo.QWCreateChatRoomData": {
        "properties": {
          "G": {
            "description": "企业微信侧原始字段(字符串, 语义未确认)"
          },
          "T": {
            "description": "企业微信侧原始字段(字符串, 语义未确认)"
          },
          "Username": {
            "description": "新建企业群的群 ID(xxx@chatroom), 后续群操作使用"
          },
          "baseResponse": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "微信侧基础响应"
          },
          "memberList": {
            "description": "初始成员的处理结果",
            "items": {
              "$ref": "#/components/schemas/vo.QWMemberResp"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.QWDeepLinkBitSet": {
        "properties": {
          "bitValue": {
            "description": "深链控制位",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWDelChatRoomMemberData": {
        "properties": {
          "baseResponse": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "微信侧基础响应"
          },
          "memberList": {
            "description": "被移出成员的处理结果",
            "items": {
              "$ref": "#/components/schemas/vo.QWMemberResp"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.QWGeneralControlBitSet": {
        "properties": {
          "bitValue": {
            "description": "通用控制位",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWGetA8KeyHeader": {
        "properties": {
          "key": {
            "description": "HTTP 头取值"
          },
          "name": {
            "description": "HTTP 头名称"
          }
        },
        "type": "object"
      },
      "vo.QWGetChatRoomMemberData": {
        "properties": {
          "baseResponse": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "微信侧基础响应"
          },
          "clientVersion": {
            "description": "客户端版本号(企业微信侧原始字段, 语义未确认)",
            "type": "integer"
          },
          "newChatroomData": {
            "$ref": "#/components/schemas/vo.QWChatRoomMemberData",
            "description": "群成员明细数据"
          }
        },
        "type": "object"
      },
      "vo.QWGetChatRoomQRData": {
        "properties": {
          "baseResponse": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "微信侧基础响应"
          },
          "footerWording": {
            "description": "二维码底部文案"
          },
          "link": {
            "description": "入群链接(可能为空)"
          },
          "qrcode": {
            "description": "二维码图片字节数据(JSON 中以 base64 输出)",
            "items": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.QWGetChatroomInfoData": {
        "properties": {
          "baseResponse": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "微信侧基础响应"
          },
          "info": {
            "$ref": "#/components/schemas/vo.QWChatroomContactInfo",
            "description": "群设定信息"
          }
        },
        "type": "object"
      },
      "vo.QWJSAPIPermission": {
        "properties": {
          "bitValue": {
            "description": "JSAPI 权限位 1",
            "type": "integer"
          },
          "bitValue2": {
            "description": "JSAPI 权限位 2",
            "type": "integer"
          },
          "bitValue3": {
            "description": "JSAPI 权限位 3",
            "type": "integer"
          },
          "bitValue4": {
            "description": "JSAPI 权限位 4",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWMember": {
        "properties": {
          "G_": {
            "description": "企业微信侧原始字段 G(语义未确认)"
          },
          "NicknameInChatroom": {
            "description": "成员在群内的昵称"
          },
          "P": {
            "description": "企业微信侧原始字段 P(语义未确认)"
          },
          "T": {
            "description": "企业微信侧原始字段 T(语义未确认)"
          },
          "T_": {
            "description": "企业微信侧原始字段 t(语义未确认)"
          },
          "Username": {
            "description": "成员 wxid"
          },
          "flag": {
            "description": "成员标记位(群主/管理员等, 语义未完全确认)",
            "type": "integer"
          },
          "g": {
            "description": "企业微信侧原始字段 g(语义未确认)"
          },
          "tg": {
            "description": "企业微信侧原始字段 tg(语义未确认)"
          }
        },
        "type": "object"
      },
      "vo.QWMemberList": {
        "properties": {
          "MemberList": {
            "description": "群成员列表",
            "items": {
              "$ref": "#/components/schemas/vo.QWMember"
            },
            "type": "array",
            "uniqueItems": false
          },
          "g": {
            "description": "企业微信侧原始字段 g(语义未确认)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWMemberResp": {
        "properties": {
          "member": {
            "description": "成员 wxid"
          },
          "memberStatus": {
            "description": "该成员的处理状态, 0=成功(其余取值语义未完全确认)",
            "type": "integer"
          },
          "nickName": {
            "description": "成员在企业群中的昵称"
          }
        },
        "type": "object"
      },
      "vo.QWProtoBaseResp": {
        "properties": {
          "errMsg": {
            "$ref": "#/components/schemas/vo.QWStringWrap",
            "description": "微信侧错误信息(仅错误时有内容)"
          },
          "ret": {
            "description": "微信侧返回码, 0=成功, 非 0 为企业微信私有错误码",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWSKBuiltinBufferT": {
        "properties": {
          "buffer": {
            "description": "缓冲区内容(JSON 中以 base64 字符串输出)",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "iLen": {
            "description": "缓冲区长度",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.QWSearchContactData": {
        "properties": {
          "baseResponse": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "微信侧基础响应"
          },
          "info": {
            "$ref": "#/components/schemas/vo.QWSearchContactInfo",
            "description": "搜索到的企业联系人信息(含验证票据 v1)"
          },
          "link": {
            "description": "企业对外名片/加好友链接(可能为空, 语义未完全确认)"
          }
        },
        "type": "object"
      },
      "vo.QWSearchContactInfo": {
        "properties": {
          "App": {
            "description": "企业微信侧原始字段 App(语义未确认)"
          },
          "Highpxpic": {
            "description": "高清头像地址"
          },
          "Info": {
            "description": "企业微信侧原始字段 Info(语义未确认)"
          },
          "Nickname": {
            "description": "昵称"
          },
          "Pic": {
            "description": "头像地址"
          },
          "Pinyin": {
            "description": "昵称全拼"
          },
          "Pyinitial": {
            "description": "昵称拼音首字母"
          },
          "Sex": {
            "description": "性别(企业微信侧原始字段, 语义未确认)"
          },
          "UserName": {
            "description": "搜索到的企业联系人 wxid"
          },
          "g": {
            "description": "企业微信侧原始字段 g(语义未确认)",
            "type": "integer"
          },
          "v1": {
            "description": "验证票据 v1, 后续加好友接口(QWApplyAddContact/QWAddContact)必需"
          }
        },
        "type": "object"
      },
      "vo.QWSnsUserPageData": {
        "properties": {
          "firstPageMd5": {
            "description": "首页内容指纹",
            "type": "string"
          },
          "objectCount": {
            "description": "本条返回的朋友圈条数",
            "type": "integer"
          },
          "objectList": {
            "description": "朋友圈条目列表",
            "items": {
              "$ref": "#/components/schemas/wechat.SnsObject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "objectTotalCount": {
            "description": "总条数",
            "type": "integer"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "snsUserInfo": {
            "$ref": "#/components/schemas/wechat.SnsUserInfo",
            "description": "对方用户信息"
          }
        },
        "type": "object"
      },
      "vo.QWStringWrap": {
        "properties": {
          "str": {
            "description": "文本内容"
          }
        },
        "type": "object"
      },
      "vo.QWSyncChatRoomData": {
        "properties": {
          "Key": {
            "description": "同步游标, 作为下次增量同步的 Key"
          },
          "List": {
            "description": "本次同步到的企业群列表(含群信息与成员)",
            "items": {
              "$ref": "#/components/schemas/vo.QWChatroomContactInfo"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "vo.QWTransferOwnerData": {
        "properties": {
          "BaseResponse": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "微信侧基础响应"
          }
        },
        "type": "object"
      },
      "vo.RawResp": {
        "additionalProperties": {},
        "type": "object"
      },
      "vo.ReconnectData": {
        "properties": {
          "key": {
            "description": "账号唯一标识(原样回显)",
            "type": "string"
          },
          "notice": {
            "description": "提示: AutoAuth 已发送, 稍后用 /login/GetOnlineStatus 或 /login/CheckLogin 确认在线",
            "type": "string"
          },
          "wxid": {
            "description": "从 DB 会话恢复出的微信号",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.Resp-array_string": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。失败时为 null",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-array_vo_FollowGHResultItem": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。失败时为 null",
            "items": {
              "$ref": "#/components/schemas/vo.FollowGHResultItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-array_vo_MsgHttpSyncItem": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。失败时为 null",
            "items": {
              "$ref": "#/components/schemas/vo.MsgHttpSyncItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-array_vo_MsgSendEmojiItem": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。失败时为 null",
            "items": {
              "$ref": "#/components/schemas/vo.MsgSendEmojiItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-array_vo_SnsCommentResultItem": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。失败时为 null",
            "items": {
              "$ref": "#/components/schemas/vo.SnsCommentResultItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-array_vo_SnsUploadImageItem": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。失败时为 null",
            "items": {
              "$ref": "#/components/schemas/vo.SnsUploadImageItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-baseinfo_SnsSyncResp": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/baseinfo.SnsSyncResp",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-req_MessageCallbackConfigModel": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/req.MessageCallbackConfigModel",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-service_UnionPayJumpData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/service.UnionPayJumpData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-string": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。失败时为 null",
            "type": "string"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_AppMsgLikeData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.AppMsgLikeData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_AppMsgReadCountData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.AppMsgReadCountData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_BindEmailData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.BindEmailData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_BindOpMobileData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.BindOpMobileData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_BindQQData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.BindQQData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_BizSearchData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.BizSearchData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_DownloadAppAttachData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.DownloadAppAttachData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_DownloadVoiceData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.DownloadVoiceData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_Empty": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.Empty",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_EquipmentOnlineInfoData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.EquipmentOnlineInfoData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FaceInfoData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FaceInfoData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FaceStatusData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FaceStatusData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FaceToFaceQrcodeData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FaceToFaceQrcodeData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FacingCreateChatRoomData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FacingCreateChatRoomData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderChannelsLoginData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderChannelsLoginData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderCheckStatusData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderCheckStatusData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderCommentData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderCommentData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderCreateUserData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderCreateUserData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderFavData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderFavData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderFeedByShareUrlData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderFeedByShareUrlData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderFollowData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderFollowData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetBulletData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetBulletData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetCommentListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetCommentListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetFansListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetFansListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetFavListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetFavListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetFollowListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetFollowListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetHistoryData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetHistoryData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetHotWordListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetHotWordListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetLikedListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetLikedListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetRelatedListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetRelatedListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderGetUserData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderGetUserData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderInitData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderInitData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderLikeData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderLikeData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderMixSearchData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderMixSearchData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderMsgSessionData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderMsgSessionData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderMsgSessionIdData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderMsgSessionIdData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderNewUserPrepareData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderNewUserPrepareData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderObjectDetailData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderObjectDetailData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderOpBulletData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderOpBulletData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderPostBulletData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderPostBulletData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderRecommendData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderRecommendData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderSearchData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderSearchData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderSearchSuggestData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderSearchSuggestData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderSharePreviewData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderSharePreviewData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderStreamData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderStreamData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderUserInfoData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderUserInfoData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FinderUserVideoListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FinderUserVideoListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ForceReconnectData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.ForceReconnectData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FriendContactListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FriendContactListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FriendGHListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FriendGHListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FriendGroupListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FriendGroupListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_FriendRelationData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.FriendRelationData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_GroupAnnouncementData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.GroupAnnouncementData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_GroupScanIntoUrlData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.GroupScanIntoUrlData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_GroupToJoinData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.GroupToJoinData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LabelUpdateNameData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LabelUpdateNameData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LicenseDeleteData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LicenseDeleteData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LicenseGenRandomData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LicenseGenRandomData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LicenseKeyData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LicenseKeyData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LicenseListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LicenseListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LicenseRow": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LicenseRow",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_Login62Data": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.Login62Data",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LoginQRData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LoginQRData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LoginStatusData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LoginStatusData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_LogoutData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.LogoutData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_MpUnfollowData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.MpUnfollowData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_MsgCdnDownloadData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.MsgCdnDownloadData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_MsgSendFileData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.MsgSendFileData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_MsgSendResult": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.MsgSendResult",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_MsgSendVideoData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.MsgSendVideoData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_MsgShareCardData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.MsgShareCardData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_MsgUploadAppAttachData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.MsgUploadAppAttachData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_OauthJsapiPreVerifyData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.OauthJsapiPreVerifyData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_OauthWebAuthorizeData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.OauthWebAuthorizeData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PardusSearchData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PardusSearchData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PayBandCardData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PayBandCardData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PayBillData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PayBillData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PayHongBaoResData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PayHongBaoResData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PayPreTransferData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PayPreTransferData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PayQCodeData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PayQCodeData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PayRedEnvelopeDetailData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PayRedEnvelopeDetailData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PayRedPacketListData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PayRedPacketListData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PayTenPayRespData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PayTenPayRespData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_PinSubmitData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.PinSubmitData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ProxyMappingDataList": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "description": "业务数据。失败时为 null",
            "items": {
              "$ref": "#/components/schemas/vo.ProxyMappingData"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWAcceptChatRoomData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWAcceptChatRoomData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWAddChatRoomMemberData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWAddChatRoomMemberData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWContactData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWContactData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWCreateChatRoomData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWCreateChatRoomData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWDelChatRoomMemberData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWDelChatRoomMemberData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWGetChatRoomMemberData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWGetChatRoomMemberData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWGetChatRoomQRData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWGetChatRoomQRData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWGetChatroomInfoData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWGetChatroomInfoData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWProtoBaseResp": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWProtoBaseResp",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWSearchContactData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWSearchContactData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWSnsUserPageData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWSnsUserPageData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWSyncChatRoomData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWSyncChatRoomData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_QWTransferOwnerData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.QWTransferOwnerData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_RawResp": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.RawResp",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ReconnectData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.ReconnectData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ShopExtDeviceLoginGetData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.ShopExtDeviceLoginGetData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ShopExtDeviceLoginOkData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.ShopExtDeviceLoginOkData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ShopProductDetailData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.ShopProductDetailData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ShopScanQrcodeReportData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.ShopScanQrcodeReportData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ShopShareProductData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.ShopShareProductData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_ShopShelfData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.ShopShelfData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_SnsUploadData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.SnsUploadData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_VerifyAppData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.VerifyAppData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_VerifyMethodData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.VerifyMethodData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaAddAvatarData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaAddAvatarData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaAttrSyncData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaAttrSyncData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaBatchAttrSyncData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaBatchAttrSyncData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaCheckVerifyCodeData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaCheckVerifyCodeData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaGetAllPhoneData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaGetAllPhoneData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaGetPayQRData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaGetPayQRData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaGetRandomAvatarData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaGetRandomAvatarData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaGetRuntimeSessionData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaGetRuntimeSessionData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaGetUserOpenIdData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaGetUserOpenIdData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaModMobileData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaModMobileData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaSendVerifyCodeData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaSendVerifyCodeData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaUnionPayData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaUnionPayData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaUpdateUsageRecordData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaUpdateUsageRecordData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaUploadAvatarImgData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaUploadAvatarImgData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.Resp-vo_WxaVerifyPluginData": {
        "properties": {
          "Code": {
            "description": "业务状态码。200=成功 300=失败 -1=数据格式错误 -2=key不存在或无登录会话 -3=账号被绑定 -4=账号掉线 -5=不属于该服务器实例",
            "example": 200,
            "type": "integer"
          },
          "Data": {
            "$ref": "#/components/schemas/vo.WxaVerifyPluginData",
            "description": "业务数据。失败时为 null"
          },
          "Msg": {
            "description": "提示文本, 排查问题时优先看这里",
            "example": "操作成功",
            "type": "string"
          },
          "Success": {
            "description": "是否成功, 等价于 Code == 200",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.ShopExtDeviceLoginGetData": {
        "properties": {
          "BaseResponse": {
            "description": "微信侧基础响应, 结构: {ret:int 返回码(0=成功), errMsg:{str:string} 错误信息}"
          },
          "ConfirmData": {
            "description": "确认信息数据(二进制, JSON 中序列化为 base64), 内含 token/session, 结构由微信侧定义",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.ShopExtDeviceLoginOkData": {
        "properties": {
          "BaseResponse": {
            "description": "微信侧基础响应, 结构: {ret:int 返回码(0=成功), errMsg:{str:string} 错误信息}"
          },
          "Message": {
            "description": "确认结果说明",
            "type": "string"
          },
          "ResultData": {
            "description": "结果数据(二进制, JSON 中序列化为 base64), 结构由微信侧定义",
            "type": "string"
          },
          "Status": {
            "description": "确认结果状态, 0=成功",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.ShopProductDetailData": {
        "properties": {
          "errMsg": {
            "type": "string"
          },
          "productInfo": {
            "$ref": "#/components/schemas/wechat.ShopProductInfo",
            "description": "商品完整信息(SkuAttrInfoList 为可选规格)"
          },
          "productItem": {
            "$ref": "#/components/schemas/wechat.ShopProductItem",
            "description": "商品摘要"
          },
          "ret": {
            "type": "integer"
          },
          "shopRequestId": {
            "description": "会话 id(详情/翻页请求回传)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.ShopScanQrcodeReportData": {
        "properties": {
          "A": {
            "description": "嵌套的扫码基础信息, 结构: {A1/A3/A5:string, A2/A4/A6:int}, 语义未确认"
          },
          "D": {
            "description": "事件类型",
            "type": "integer"
          },
          "E": {
            "description": "Scene",
            "type": "integer"
          },
          "F": {
            "description": "时间戳",
            "type": "integer"
          },
          "H": {
            "description": "登录 URL",
            "type": "string"
          },
          "I": {
            "description": "固定为空字符串(源码注释)",
            "type": "string"
          },
          "M": {
            "description": "标志位",
            "type": "integer"
          },
          "N": {
            "description": "版本号(二进制, JSON 中序列化为 base64)",
            "type": "string"
          },
          "O": {
            "description": "标志位",
            "type": "integer"
          },
          "P": {
            "description": "版本号(二进制, JSON 中序列化为 base64)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.ShopShareProductData": {
        "properties": {
          "errMsg": {
            "type": "string"
          },
          "isLiving": {
            "description": "1=作者正在直播",
            "type": "integer"
          },
          "isProductInLivingRoom": {
            "description": "1=正在直播间讲解",
            "type": "integer"
          },
          "livingFinderUsername": {
            "description": "正在直播的作者",
            "type": "string"
          },
          "productInfo": {
            "$ref": "#/components/schemas/wechat.ShopProductInfo",
            "description": "商品完整信息(含 SKU)"
          },
          "ret": {
            "type": "integer"
          },
          "shopLogoUrl": {
            "description": "店铺 logo",
            "type": "string"
          },
          "tagUrl": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.ShopShelfData": {
        "properties": {
          "couponCount": {
            "description": "优惠券数量",
            "type": "integer"
          },
          "errMsg": {
            "type": "string"
          },
          "itemList": {
            "description": "货架条目(ExtInfo 内含商品摘要, base64)",
            "items": {
              "$ref": "#/components/schemas/wechat.ShopShelfItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "itemListDecoded": {
            "description": "货架条目解码视图(尽力解析)",
            "items": {
              "$ref": "#/components/schemas/vo.ShopShelfItemDecoded"
            },
            "type": "array",
            "uniqueItems": false
          },
          "jumpShopBagUrl": {
            "$ref": "#/components/schemas/wechat.WxaShopInfo",
            "description": "购物袋落地(小程序)"
          },
          "labelClassifyInfoList": {
            "description": "商品分类列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ShopLabelClassify"
            },
            "type": "array",
            "uniqueItems": false
          },
          "orderInfoUrl": {
            "$ref": "#/components/schemas/wechat.WxaShopInfo",
            "description": "订单页落地(小程序)"
          },
          "productCount": {
            "description": "商品总数",
            "type": "integer"
          },
          "ret": {
            "type": "integer"
          },
          "shopRequestId": {
            "description": "会话 id(详情请求回传)",
            "type": "string"
          },
          "shopWindowProfileRaw": {
            "description": "店铺橱窗资料(base64, 协议原值)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.ShopShelfItemDecoded": {
        "properties": {
          "extInfo": {
            "description": "原始扩展数据(base64)",
            "type": "string"
          },
          "itemType": {
            "description": "条目类型",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.SnsCommentResultItem": {
        "properties": {
          "data": {
            "description": "该条评论/点赞的请求项原样回显(含目标动态 ID、内容等)"
          },
          "errMsg": {
            "description": "失败原因; 成功时为空串",
            "type": "string"
          },
          "isCommentSuccess": {
            "description": "该条是否执行成功",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "vo.SnsUploadData": {
        "properties": {
          "bufferUrl": {
            "description": "上传后图片的访问地址",
            "type": "string"
          },
          "clientId": {
            "description": "回显的客户端图片标识",
            "type": "string"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "id": {
            "description": "图片 ID",
            "type": "integer"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "thumbUrl": {
            "description": "缩略图访问地址",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.SnsUploadImageItem": {
        "properties": {
          "errMgs": {
            "description": "上传失败原因(仅失败项存在)",
            "type": "string"
          },
          "imageId": {
            "description": "图片字节的 MD5, 作为该图片在本次上传中的标识",
            "type": "string"
          },
          "resp": {
            "description": "上传成功时的微信 CDN 上传响应(结构随微信返回, 仅成功项存在)"
          }
        },
        "type": "object"
      },
      "vo.TimelineObjectDoc": {
        "properties": {
          "ActionInfo": {
            "description": "互动信息(点赞/评论列表, 见 clientsdk/baseinfo 的 ActionInfo)"
          },
          "AppInfo": {
            "description": "附加信息(公众号/链接卡片等, 见 clientsdk/baseinfo 的 AppInfo)"
          },
          "ContentDesc": {
            "description": "动态文字内容",
            "type": "string"
          },
          "ContentDescScene": {
            "description": "文字展示场景(微信侧原始字段, 语义未确认)",
            "type": "integer"
          },
          "ContentDescShowType": {
            "description": "文字展示类型(微信侧原始字段, 语义未确认)",
            "type": "integer"
          },
          "ContentObject": {
            "$ref": "#/components/schemas/vo.ContentObjectDoc",
            "description": "内容主体(决定动态形态)"
          },
          "ContentObjectVideo": {
            "$ref": "#/components/schemas/vo.ContentObjectVideoDoc",
            "description": "视频内容对象(视频动态时使用)"
          },
          "CreateTime": {
            "description": "发布时间戳(秒)",
            "type": "integer"
          },
          "ID": {
            "description": "朋友圈动态 ID(微信侧生成)",
            "type": "integer"
          },
          "Location": {
            "$ref": "#/components/schemas/vo.LocationDoc",
            "description": "位置信息"
          },
          "Private": {
            "description": "可见范围: 0=公开, 1=私密(仅自己可见)",
            "type": "integer"
          },
          "PublicUserName": {
            "description": "公众号 wxid(公众号文章类动态)",
            "type": "string"
          },
          "ShowFlag": {
            "description": "展示标记(微信侧原始字段, 语义未确认)",
            "type": "integer"
          },
          "SightFolded": {
            "description": "视频号内容是否折叠",
            "type": "integer"
          },
          "SourceNickName": {
            "description": "转发来源的昵称",
            "type": "string"
          },
          "SourceUserName": {
            "description": "转发来源的 wxid(原创内容时为空)",
            "type": "string"
          },
          "StatExtStr": {
            "description": "统计扩展串",
            "type": "string"
          },
          "StatisticsData": {
            "description": "统计数据(阅读/点赞计数等)",
            "type": "string"
          },
          "StreamVideo": {
            "description": "视频流信息(见 clientsdk/baseinfo 的 StreamVideo)"
          },
          "UserName": {
            "description": "发布者微信号(wxid)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.VerifyAppData": {
        "properties": {
          "downloadUrl": {
            "description": "安卓 APK 下载链接, 前端用它生成「扫码下载」二维码",
            "type": "string"
          },
          "enabled": {
            "description": "icon 与 downloadUrl 均已配置时为 true; false 时前端不展示下载引导",
            "type": "boolean"
          },
          "icon": {
            "description": "App 图标链接(http/https 图片地址)",
            "type": "string"
          },
          "name": {
            "description": "App 名称(未配置时服务端返回默认名「安全验证App」)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.VerifyMethodData": {
        "properties": {
          "pinSubmitUrl": {
            "description": "PIN 提交接口(POST /api/v1/security/SubmitPin?key=xxx)",
            "type": "string"
          },
          "ticket": {
            "description": "本次安全验证票据",
            "type": "string"
          },
          "verifyId": {
            "description": "验证会话 ID(secverifyid), 提交 PIN 时服务端自动使用",
            "type": "string"
          },
          "verifyType": {
            "description": "weixin110 verify_type 枚举值(\"4\"=人脸 \"5\"=PIN)",
            "type": "string"
          },
          "verifyTypeName": {
            "description": "稳定名称: face/pin/captcha/sms/qrcode/...",
            "type": "string"
          },
          "verifyTypeText": {
            "description": "验证方式中文说明",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.WeChatBaseResponse": {
        "properties": {
          "errMsg": {
            "$ref": "#/components/schemas/vo.WeChatErrMsgText",
            "description": "微信侧错误信息"
          },
          "ret": {
            "description": "微信侧返回码, 0=成功",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WeChatErrMsgText": {
        "properties": {
          "str": {
            "description": "错误文案; 成功时为空串",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.WxaAddAvatarData": {
        "properties": {
          "avatarUrl": {
            "description": "头像地址",
            "type": "string"
          },
          "desc": {
            "description": "附加说明",
            "type": "string"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "nickname": {
            "description": "写入的昵称",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaAttrSyncData": {
        "properties": {
          "attrList": {
            "description": "同步到的属性键值对",
            "items": {
              "$ref": "#/components/schemas/wechat.WxaAttrKV"
            },
            "type": "array",
            "uniqueItems": false
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "newSyncVersion": {
            "description": "新的同步版本(base64), 下次请求带回",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaBatchAttrSyncData": {
        "properties": {
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "respList": {
            "description": "各小程序的同步结果",
            "items": {
              "$ref": "#/components/schemas/wechat.WxaAttrSyncRespItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaCheckVerifyCodeData": {
        "properties": {
          "cloudId": {
            "description": "云端手机号标识",
            "type": "string"
          },
          "encryptedData": {
            "description": "加密后的手机号数据, 供绑定流程使用",
            "type": "string"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "iv": {
            "description": "加密向量",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "showMobile": {
            "description": "脱敏展示用的手机号",
            "type": "string"
          },
          "status": {
            "description": "业务状态码(0=校验通过)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaGetAllPhoneData": {
        "properties": {
          "allowWording": {
            "description": "允许授权时的文案",
            "type": "string"
          },
          "appIconUrl": {
            "description": "小程序图标",
            "type": "string"
          },
          "appName": {
            "description": "小程序名称",
            "type": "string"
          },
          "applyWording": {
            "description": "申请授权时的文案",
            "type": "string"
          },
          "cancelWording": {
            "description": "拒绝授权时的文案",
            "type": "string"
          },
          "data": {
            "description": "手机号列表载荷(JSON 文本)",
            "type": "string"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "scopeInfo": {
            "$ref": "#/components/schemas/wechat.ScopeInfo",
            "description": "授权范围"
          }
        },
        "type": "object"
      },
      "vo.WxaGetPayQRData": {
        "properties": {
          "qrCodeUrl": {
            "description": "二维码图片地址, 可直接渲染或分享",
            "type": "string"
          },
          "uuid": {
            "description": "一次性的二维码标识",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.WxaGetRandomAvatarData": {
        "properties": {
          "aFileKey": {
            "description": "对应的文件 key",
            "type": "string"
          },
          "avatarUrl": {
            "description": "随机头像地址",
            "type": "string"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "nickname": {
            "description": "随机头像对应的昵称",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaGetRuntimeSessionData": {
        "properties": {
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "sessionId": {
            "description": "运行时会话标识; 可用于 /wxa/GetPayQR 等后续调用",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.WxaGetUserOpenIdData": {
        "properties": {
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "friendRelation": {
            "description": "好友关系标记",
            "type": "integer"
          },
          "headImgUrl": {
            "description": "头像地址",
            "type": "string"
          },
          "nickName": {
            "description": "昵称",
            "type": "string"
          },
          "openId": {
            "description": "用户在该小程序内的 openid",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "sign": {
            "description": "签名",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.WxaModMobileData": {
        "properties": {
          "deleted": {
            "description": "true=本次是解绑, false=绑定",
            "type": "boolean"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "mobile": {
            "description": "操作后的手机号",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaSendVerifyCodeData": {
        "properties": {
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "status": {
            "description": "业务状态码(0=发送成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaUnionPayData": {
        "properties": {
          "androidPayUrl": {
            "description": "Android 唤起链接(upwrp://), 直接交给客户端打开",
            "type": "string"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "iosPayUrl": {
            "description": "iOS 唤起链接(uppaywallet://), 直接交给客户端打开",
            "type": "string"
          },
          "payUrl": {
            "description": "手机端支付跳转页(基址取 public_base_url, 未配置时按请求 Host 推导; 页面只带 tn 回取唤起链接)",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "tn": {
            "description": "交易号(云闪付侧标识一笔交易)",
            "type": "string"
          },
          "ts": {
            "description": "中间会话票据; 便于出错时对照排查",
            "type": "string"
          }
        },
        "type": "object"
      },
      "vo.WxaUpdateUsageRecordData": {
        "properties": {
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          },
          "status": {
            "description": "业务返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaUploadAvatarImgData": {
        "properties": {
          "aFileKey": {
            "description": "头像文件 key, 供 /wxa/AddAvatar 使用",
            "type": "string"
          },
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "vo.WxaVerifyPluginData": {
        "properties": {
          "errMsg": {
            "description": "服务端错误文案",
            "type": "string"
          },
          "jsonResp": {
            "description": "校验结果(JSON 文本, 业务侧自行解析)",
            "type": "string"
          },
          "ret": {
            "description": "服务端返回码(0=成功)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.BaseResponse": {
        "properties": {
          "errMsg": {
            "$ref": "#/components/schemas/wechat.SKBuiltinString"
          },
          "ret": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ByNumber": {
        "properties": {
          "byNum": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ByTabMsg": {
        "properties": {
          "byNum": {
            "type": "integer"
          },
          "byTabTitle": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsAuthInfo": {
        "properties": {
          "authIconType": {
            "description": "认证图标类型",
            "type": "integer"
          },
          "photo": {
            "type": "string"
          },
          "realName": {
            "description": "认证主体名",
            "type": "string"
          },
          "v1": {
            "type": "string"
          },
          "v8": {
            "type": "integer"
          },
          "v9": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsBulletComment": {
        "properties": {
          "Content": {
            "description": "弹幕文字",
            "type": "string"
          },
          "ContentType": {
            "type": "integer"
          },
          "CreateTime": {
            "type": "integer"
          },
          "DisplayType": {
            "type": "integer"
          },
          "FeedPlayTimes": {
            "type": "integer"
          },
          "FollowCommentId": {
            "type": "integer"
          },
          "Id": {
            "type": "integer"
          },
          "Identity": {
            "type": "integer"
          },
          "LikeCount": {
            "type": "integer"
          },
          "LikeFlag": {
            "type": "integer"
          },
          "Source": {
            "type": "integer"
          },
          "VideoTimestamp": {
            "description": "弹幕出现的视频时间点(ms)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsCommentInfo": {
        "properties": {
          "blacklistFlag": {
            "type": "integer"
          },
          "clientId": {
            "description": "客户端评论 ID",
            "type": "string"
          },
          "commentId": {
            "description": "评论 ID",
            "type": "integer"
          },
          "content": {
            "description": "评论内容",
            "type": "string"
          },
          "continueFlag": {
            "type": "integer"
          },
          "createtime": {
            "description": "评论时间",
            "type": "integer"
          },
          "deleteFlag": {
            "description": "已删除标记",
            "type": "integer"
          },
          "displayFlag": {
            "type": "integer"
          },
          "displayid": {
            "type": "integer"
          },
          "displayidDiscarded": {
            "type": "string"
          },
          "expandCommentCount": {
            "description": "展开的二级评论数",
            "type": "integer"
          },
          "headUrl": {
            "description": "头像",
            "type": "string"
          },
          "lastBuffer": {
            "description": "二级评论翻页",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "levelTwoComment": {
            "description": "二级评论",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "likeCount": {
            "description": "点赞数",
            "type": "integer"
          },
          "likeFlag": {
            "description": "是否已赞",
            "type": "integer"
          },
          "nickname": {
            "description": "评论者昵称",
            "type": "string"
          },
          "replyCommentId": {
            "description": "被回复评论 ID",
            "type": "integer"
          },
          "replyContent": {
            "description": "被回复评论内容",
            "type": "string"
          },
          "replyNickname": {
            "description": "被回复者昵称",
            "type": "string"
          },
          "replyUsername": {
            "description": "被回复者 username",
            "type": "string"
          },
          "upContinueFlag": {
            "type": "integer"
          },
          "username": {
            "description": "评论者 username",
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsContact": {
        "properties": {
          "authInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsAuthInfo",
            "description": "认证信息"
          },
          "coverImgUrl": {
            "description": "封面",
            "type": "string"
          },
          "extFlag": {
            "type": "integer"
          },
          "extInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsContactExtInfo",
            "description": "地区/性别/生日"
          },
          "followFlag": {
            "description": "是否已关注",
            "type": "integer"
          },
          "followTime": {
            "description": "关注时间",
            "type": "integer"
          },
          "headUrl": {
            "description": "头像",
            "type": "string"
          },
          "nickname": {
            "description": "昵称",
            "type": "string"
          },
          "originalFlag": {
            "description": "原创标记",
            "type": "integer"
          },
          "seq": {
            "type": "integer"
          },
          "signature": {
            "description": "简介",
            "type": "string"
          },
          "spamStatus": {
            "type": "integer"
          },
          "username": {
            "description": "finder username",
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsContactExtInfo": {
        "properties": {
          "birthDay": {
            "type": "integer"
          },
          "birthMonth": {
            "type": "integer"
          },
          "birthYear": {
            "type": "integer"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "province": {
            "type": "string"
          },
          "sex": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsExtendedReading": {
        "properties": {
          "link": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsLocation": {
        "properties": {
          "city": {
            "type": "string"
          },
          "latitude": {
            "type": "number"
          },
          "longitude": {
            "type": "number"
          },
          "poiAddress": {
            "type": "string"
          },
          "poiClassifyId": {
            "type": "string"
          },
          "poiClassifyType": {
            "type": "integer"
          },
          "poiName": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsMedia": {
        "properties": {
          "Bitrate": {
            "type": "integer"
          },
          "FileSize": {
            "type": "integer"
          },
          "Height": {
            "type": "number"
          },
          "Md5Sum": {
            "type": "string"
          },
          "MediaType": {
            "type": "integer"
          },
          "Spec": {
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsMediaSpec"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ThumbUrl": {
            "type": "string"
          },
          "Url": {
            "type": "string"
          },
          "VideoPlayLen": {
            "type": "integer"
          },
          "Width": {
            "type": "number"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsMediaExtra": {
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsMediaSpec": {
        "properties": {
          "bitRate": {
            "type": "integer"
          },
          "codingFormat": {
            "type": "string"
          },
          "fileFormat": {
            "type": "string"
          },
          "firstLoadBytes": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsMsgSessionInfo": {
        "properties": {
          "DisableSendmsgNeedFollow": {
            "type": "boolean"
          },
          "EnableAction": {
            "description": "是否可发起会话/发消息",
            "type": "integer"
          },
          "FollowFlag": {
            "type": "integer"
          },
          "MsgExtInfo": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "RejectMsg": {
            "type": "string"
          },
          "SessionId": {
            "description": "会话 ID",
            "type": "string"
          },
          "ToUsername": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsNicknameVerifyInfo": {
        "properties": {
          "appname": {
            "type": "string"
          },
          "bannerWording": {
            "type": "string"
          },
          "errScene": {
            "type": "integer"
          },
          "headImgUrl": {
            "type": "string"
          },
          "verifyLink": {
            "type": "string"
          },
          "verifyNickname": {
            "type": "string"
          },
          "verifyPrefix": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsObjDetails": {
        "properties": {
          "byNumber": {
            "$ref": "#/components/schemas/wechat.ByNumber"
          },
          "det2": {
            "type": "integer"
          },
          "det3": {
            "type": "integer"
          },
          "detId": {
            "type": "integer"
          },
          "likeNumber": {
            "description": "点赞数",
            "type": "integer"
          },
          "lookNumber": {
            "description": "观看数",
            "type": "integer"
          },
          "nu13": {
            "type": "integer"
          },
          "nu7": {
            "type": "integer"
          },
          "tab": {
            "$ref": "#/components/schemas/wechat.ByTabMsg"
          },
          "timesTime": {
            "type": "integer"
          },
          "videoUrl": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsObject": {
        "properties": {
          "commentClose": {
            "description": "评论是否关闭",
            "type": "integer"
          },
          "commentCount": {
            "description": "评论数",
            "type": "integer"
          },
          "commentList": {
            "description": "评论列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsCommentInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "contact": {
            "$ref": "#/components/schemas/wechat.ChannelsContact",
            "description": "作者完整信息"
          },
          "createtime": {
            "description": "发布时间",
            "type": "integer"
          },
          "deletetime": {
            "type": "integer"
          },
          "displayid": {
            "type": "integer"
          },
          "displayidDiscarded": {
            "type": "string"
          },
          "enKey": {
            "type": "string"
          },
          "favCount": {
            "description": "收藏数",
            "type": "integer"
          },
          "favFlag": {
            "description": "我是否已收藏",
            "type": "integer"
          },
          "finderObjDetails": {
            "$ref": "#/components/schemas/wechat.ChannelsObjDetails"
          },
          "finderObjectID": {
            "description": "加密 feedId",
            "type": "string"
          },
          "forwardCount": {
            "type": "integer"
          },
          "friendLikeCount": {
            "description": "朋友点赞数",
            "type": "integer"
          },
          "id": {
            "description": "feedId(数字)",
            "type": "integer"
          },
          "likeCount": {
            "description": "点赞数",
            "type": "integer"
          },
          "likeFlag": {
            "description": "我是否已赞",
            "type": "integer"
          },
          "likeList": {
            "description": "点赞者列表",
            "items": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            "type": "array",
            "uniqueItems": false
          },
          "nickname": {
            "description": "作者昵称",
            "type": "string"
          },
          "objectDesc": {
            "$ref": "#/components/schemas/wechat.ChannelsObjectDesc",
            "description": "内容(文案/媒体)"
          },
          "objectNonceId": {
            "description": "互动必需",
            "type": "string"
          },
          "objectStatus": {
            "type": "integer"
          },
          "orgRecommendType": {
            "type": "integer"
          },
          "originalFlag": {
            "type": "integer"
          },
          "readCount": {
            "description": "阅读数",
            "type": "integer"
          },
          "recommendReason": {
            "type": "string"
          },
          "recommendType": {
            "type": "integer"
          },
          "recommenderList": {
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsRecommendInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "refObjectContact": {
            "$ref": "#/components/schemas/wechat.ChannelsContact"
          },
          "refObjectFlag": {
            "type": "integer"
          },
          "refObjectNonceId": {
            "type": "string"
          },
          "refObjectid": {
            "type": "integer"
          },
          "secondaryShowFlag": {
            "type": "integer"
          },
          "sendShareFavWording": {
            "type": "string"
          },
          "tipsWording": {
            "type": "string"
          },
          "unk43": {
            "type": "integer"
          },
          "unk44": {
            "type": "integer"
          },
          "unk57": {
            "type": "integer"
          },
          "username": {
            "description": "作者 username",
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsObjectDesc": {
        "properties": {
          "description": {
            "description": "文案",
            "type": "string"
          },
          "extReading": {
            "$ref": "#/components/schemas/wechat.ChannelsExtendedReading",
            "description": "扩展阅读(公众号链接)"
          },
          "extra": {
            "$ref": "#/components/schemas/wechat.ChannelsMediaExtra"
          },
          "location": {
            "$ref": "#/components/schemas/wechat.ChannelsLocation"
          },
          "media": {
            "description": "媒体列表",
            "items": {
              "$ref": "#/components/schemas/wechat.ChannelsMedia"
            },
            "type": "array",
            "uniqueItems": false
          },
          "mediaType": {
            "description": "3=视频 其它=图文",
            "type": "integer"
          },
          "topic": {
            "$ref": "#/components/schemas/wechat.ChannelsTopic",
            "description": "话题"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsRealnameInfo": {
        "properties": {
          "realnameStatus": {
            "type": "integer"
          },
          "wording": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsRecommendInfo": {
        "properties": {
          "isAutoIncrement": {
            "type": "boolean"
          },
          "lastInsertedRowID": {
            "type": "integer"
          },
          "orgRecommendType": {
            "type": "integer"
          },
          "recommendReason": {
            "type": "string"
          },
          "recommendType": {
            "type": "integer"
          },
          "tid": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsTopic": {
        "properties": {
          "finderTopicInfo": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChannelsUserInfo": {
        "properties": {
          "authIconType": {
            "type": "integer"
          },
          "authInfo": {
            "$ref": "#/components/schemas/wechat.ChannelsAuthInfo"
          },
          "authProfession": {
            "type": "string"
          },
          "coverImgUrl": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ChatRoomMemberInfoSimple": {
        "properties": {
          "chatroomMemberFlag": {
            "description": "成员标志位",
            "type": "integer"
          },
          "displayName": {
            "description": "群昵称",
            "type": "string"
          },
          "headImgUrl": {
            "description": "头像",
            "type": "string"
          },
          "nickName": {
            "description": "昵称",
            "type": "string"
          },
          "userName": {
            "description": "成员 wxid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.PreDownloadInfo": {
        "properties": {
          "noPreDownloadRange": {
            "type": "string"
          },
          "preDownloadNetType": {
            "type": "integer"
          },
          "preDownloadPercent": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.SKBuiltinString": {
        "properties": {
          "str": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.SKBuiltinString_": {
        "properties": {
          "buffer": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "len": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ScopeInfo": {
        "properties": {
          "AuthDesc": {
            "type": "string"
          },
          "AuthState": {
            "type": "integer"
          },
          "Desc": {
            "type": "string"
          },
          "ExtDesc": {
            "type": "string"
          },
          "Scope": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ShopLabelClassify": {
        "properties": {
          "CategoryId": {
            "type": "integer"
          },
          "IconUrl": {
            "type": "string"
          },
          "LabelName": {
            "description": "分类名",
            "type": "string"
          },
          "LabelType": {
            "type": "integer"
          },
          "NeedPreload": {
            "type": "boolean"
          },
          "ProductIds": {
            "description": "该分类下的商品 id",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "wechat.ShopProductInfo": {
        "properties": {
          "Appid": {
            "description": "落地小程序 appid",
            "type": "string"
          },
          "ButtonWording": {
            "description": "按钮文案(如\"购买\")",
            "type": "string"
          },
          "CsInfo": {
            "description": "客服信息(结构化, 透传)",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Data": {
            "type": "string"
          },
          "DiscountPrice": {
            "description": "到手价(分)",
            "type": "integer"
          },
          "ExclusiveInfo": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "FullPage": {
            "description": "全屏落地页(结构化, 透传)",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "HalfPage": {
            "description": "半屏落地页(结构化, 透传)",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "IconUrls": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ImgUrls": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "IsMarketPriceShow": {
            "type": "integer"
          },
          "IsPromoting": {
            "type": "integer"
          },
          "IsVirtualProduct": {
            "type": "boolean"
          },
          "ListId": {
            "type": "integer"
          },
          "MarketPrice": {
            "description": "市场价(分)",
            "type": "integer"
          },
          "OutProductId": {
            "description": "商家外部商品 id",
            "type": "string"
          },
          "PlatformId": {
            "type": "integer"
          },
          "PlatformName": {
            "description": "店铺名",
            "type": "string"
          },
          "ProductBusinessType": {
            "type": "integer"
          },
          "ProductButtonStatus": {
            "type": "integer"
          },
          "ProductId": {
            "type": "integer"
          },
          "ProductPathCookie": {
            "type": "string"
          },
          "RequestId": {
            "type": "string"
          },
          "Sales": {
            "description": "销量",
            "type": "integer"
          },
          "SellingPrice": {
            "description": "售价(分)",
            "type": "integer"
          },
          "SellingPriceWording": {
            "description": "价格文案(如\"¥99起\")",
            "type": "string"
          },
          "SkuAttrInfoList": {
            "$ref": "#/components/schemas/wechat.ShopSkuAttrInfoList",
            "description": "可选规格(SKU)"
          },
          "Status": {
            "type": "integer"
          },
          "Stock": {
            "type": "integer"
          },
          "StockId": {
            "type": "string"
          },
          "Title": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.ShopProductItem": {
        "properties": {
          "AppUsername": {
            "type": "string"
          },
          "ExtBuff": {
            "type": "string"
          },
          "ExtraData": {
            "type": "string"
          },
          "ImgUrl": {
            "type": "string"
          },
          "MaxPrice": {
            "description": "最高价(分)",
            "type": "integer"
          },
          "MinPrice": {
            "description": "最低价(分)",
            "type": "integer"
          },
          "PlatformId": {
            "type": "integer"
          },
          "PlatformName": {
            "description": "店铺/平台名",
            "type": "string"
          },
          "ProductId": {
            "type": "integer"
          },
          "ProductPage": {
            "description": "商品落地页(结构化, 透传)",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "Promoting": {
            "type": "integer"
          },
          "ShopExtraData": {
            "type": "string"
          },
          "Status": {
            "type": "integer"
          },
          "Stock": {
            "type": "integer"
          },
          "Title": {
            "type": "string"
          },
          "UserPurchasePage": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "wechat.ShopShelfItem": {
        "properties": {
          "ExtInfo": {
            "description": "条目数据(结构化, 原样透传)",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ItemType": {
            "description": "条目类型(1=商品等, 客户端枚举)",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ShopSkuAttrInfo": {
        "properties": {
          "AttrValue": {
            "description": "规格值(如\"红色\"/\"128G\")",
            "type": "string"
          },
          "HalfPage": {
            "description": "选规格落地页(结构化, 透传)",
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ImgUrl": {
            "description": "该规格图片",
            "type": "string"
          },
          "IsSellOut": {
            "description": "1=已售罄",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.ShopSkuAttrInfoList": {
        "properties": {
          "HasMore": {
            "type": "integer"
          },
          "SkuAttrInfos": {
            "items": {
              "$ref": "#/components/schemas/wechat.ShopSkuAttrInfo"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "wechat.SnsCommentInfo": {
        "properties": {
          "commentFlag": {
            "type": "integer"
          },
          "commentId": {
            "type": "integer"
          },
          "commentId2": {
            "type": "integer"
          },
          "content": {
            "type": "string"
          },
          "createTime": {
            "type": "integer"
          },
          "deleteFlag": {
            "type": "integer"
          },
          "isNotRichText": {
            "type": "integer"
          },
          "nickname": {
            "type": "string"
          },
          "replyCommentId": {
            "type": "integer"
          },
          "replyCommentId2": {
            "type": "integer"
          },
          "replyUsername": {
            "type": "string"
          },
          "source": {
            "type": "integer"
          },
          "type": {
            "type": "integer"
          },
          "username": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.SnsGroup": {
        "properties": {
          "groupId": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.SnsHBUserInfo": {
        "properties": {
          "createTime": {
            "type": "integer"
          },
          "hbbuffer": {
            "$ref": "#/components/schemas/wechat.SKBuiltinString_"
          },
          "username": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.SnsObject": {
        "properties": {
          "blackList": {
            "items": {
              "$ref": "#/components/schemas/wechat.SKBuiltinString"
            },
            "type": "array",
            "uniqueItems": false
          },
          "blackListCount": {
            "type": "integer"
          },
          "commentCount": {
            "type": "integer"
          },
          "commentUserList": {
            "items": {
              "$ref": "#/components/schemas/wechat.SnsCommentInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "commentUserListCount": {
            "type": "integer"
          },
          "createTime": {
            "type": "integer"
          },
          "deleteFlag": {
            "type": "integer"
          },
          "extFlag": {
            "type": "integer"
          },
          "groupCount": {
            "type": "integer"
          },
          "groupList": {
            "items": {
              "$ref": "#/components/schemas/wechat.SnsGroup"
            },
            "type": "array",
            "uniqueItems": false
          },
          "groupUser": {
            "items": {
              "$ref": "#/components/schemas/wechat.SKBuiltinString"
            },
            "type": "array",
            "uniqueItems": false
          },
          "groupUserCount": {
            "type": "integer"
          },
          "id": {
            "type": "integer"
          },
          "isNotRichText": {
            "type": "integer"
          },
          "likeCount": {
            "type": "integer"
          },
          "likeFlag": {
            "type": "integer"
          },
          "likeUserList": {
            "items": {
              "$ref": "#/components/schemas/wechat.SnsCommentInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "likeUserListCount": {
            "type": "integer"
          },
          "nickname": {
            "type": "string"
          },
          "noChange": {
            "type": "integer"
          },
          "objectDesc": {
            "$ref": "#/components/schemas/wechat.SKBuiltinString_"
          },
          "objectDescStr": {
            "type": "string"
          },
          "objectOperations": {
            "$ref": "#/components/schemas/wechat.SKBuiltinString_"
          },
          "preDownloadInfo": {
            "$ref": "#/components/schemas/wechat.PreDownloadInfo"
          },
          "referId": {
            "type": "integer"
          },
          "referUsername": {
            "type": "string"
          },
          "snsRedEnvelops": {
            "$ref": "#/components/schemas/wechat.SnsRedEnvelops"
          },
          "username": {
            "type": "string"
          },
          "weAppInfo": {
            "$ref": "#/components/schemas/wechat.SnsWeAppInfo"
          },
          "withUserCount": {
            "type": "integer"
          },
          "withUserList": {
            "items": {
              "$ref": "#/components/schemas/wechat.SnsCommentInfo"
            },
            "type": "array",
            "uniqueItems": false
          },
          "withUserListCount": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.SnsRedEnvelops": {
        "properties": {
          "reportId": {
            "type": "integer"
          },
          "reportKey": {
            "type": "integer"
          },
          "resourceId": {
            "type": "integer"
          },
          "rewardCount": {
            "type": "integer"
          },
          "rewardUserList": {
            "items": {
              "$ref": "#/components/schemas/wechat.SnsHBUserInfo"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "wechat.SnsUserInfo": {
        "properties": {
          "sns_bgimg_id": {
            "type": "string"
          },
          "sns_bgobject_id": {
            "type": "integer"
          },
          "sns_flag": {
            "type": "integer"
          },
          "sns_flagex": {
            "type": "integer"
          },
          "sns_privacy_recent": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "wechat.SnsWeAppInfo": {
        "properties": {
          "appId": {
            "type": "integer"
          },
          "mapPoiId": {
            "type": "string"
          },
          "redirectUrl": {
            "type": "string"
          },
          "score": {
            "type": "integer"
          },
          "showType": {
            "type": "integer"
          },
          "userName": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.WxaAttrKV": {
        "properties": {
          "key": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.WxaAttrSyncRespItem": {
        "properties": {
          "attrList": {
            "items": {
              "$ref": "#/components/schemas/wechat.WxaAttrKV"
            },
            "type": "array",
            "uniqueItems": false
          },
          "newSyncVersion": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "username": {
            "type": "string"
          }
        },
        "type": "object"
      },
      "wechat.WxaShopInfo": {
        "properties": {
          "AppId": {
            "type": "string"
          },
          "AppUrl": {
            "type": "string"
          },
          "Username": {
            "description": "小程序 appid 对应的 userName",
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "AdminKey": {
        "description": "管理接口鉴权密钥, 对应 config/config.yaml 的 adminKey。",
        "in": "query",
        "name": "adminKey",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "微信 iPad 协议 HTTP 接口服务: 长连接 / 自动心跳 / 自动二登 / 消息回调 / 长时间在线。\n\n## 通用约定\n\n- 请求体与响应体统一为 `application/json`(UTF-8)。\n- **HTTP 状态码恒为 200**, 业务结果一律看响应体里的 `Code` 字段。\n- 除 `/health` 与 `/admin/*` 外, 所有接口都必须在 query 中携带 `key`。\n- 响应体统一为 `vo.DTO` 包装: `Code` 业务码 / `Success` 是否成功 / `Msg` 提示文本 / `Data` 业务数据。\n- `Data` 的具体字段因接口而异, 见各接口「响应」里的 schema; **成功判据不能只看外层 `Success`**, 有内层 ret / RetCode / 状态字段的接口以它们为准。\n\n## 字段命名约定\n\n`api/req` 下的请求结构体绝大多数没有声明 `json` tag, 因此报文字段名与 Go 字段名完全一致,\n例如 `{\"Proxy\":\"socks5://user:pass@ip:port\"}`(注意是首字母大写的 PascalCase)。\n少数显式声明了 `json` tag 的字段(如 `req.VerifyCodeModel`)以 tag 为准。\n部分转发微信原始结构的 `Data`(如 CdnDownload / UploadAppAttach)同样保持 PascalCase 原样。\n\n## 业务码对照表\n\n| Code | 常量 | 含义 |\n| ---- | ---- | ---- |\n| 200 | `vo.SUCCESS` | 执行成功 |\n| 300 | `vo.FAIL` | 执行失败, 具体原因见 `Msg` |\n| -1 | `vo.FAIL_DATA` | 提交数据格式错误(JSON 解析/校验失败) |\n| -2 | `vo.FAIL_UUID` | key 不存在, 或该 key 下没有登录会话 |\n| -3 | `vo.FAIL_Bound` | 账号已被绑定 |\n| -4 | `vo.FAIL_Offline` | 账号已掉线 |\n| -5 | `vo.FAIL_DoesNotBelongToServer` | 账号不属于当前服务器实例 |\n\n## 鉴权方式\n\n- 业务接口: query 参数 `key`, 即 license 授权码。缺失或过期时返回 `Code=-2` 或 `Code=300`。\n- 管理接口 `/admin/*`: query 参数 `adminKey`, 对应 `config/config.yaml` 中的 `adminKey`。\n\n## 扫码登录典型调用顺序\n\n1. `POST /login/GetQR` 取二维码\n2. `GET /login/CheckLogin` 每 1~2 秒轮询一次扫码状态(纯读, 不打微信)\n3. 若返回 `Status=401` 触发安全验证, 需按 `Data.VerifyInfo` 里的验证链接/任务码完成扫脸\n4. `Status=200` 表示登录成功, 之后即可调用业务接口\n\n",
    "title": "iPad协议-人脸版本",
    "version": "1.0.0"
  },
  "externalDocs": {
    "description": "",
    "url": ""
  },
  "paths": {
    "/login/GetQR": {
      "post": {
        "description": "申请一张 iPad 协议登录二维码, 返回二维码直链与 uuid; 拿到后轮询 GET /login/CheckQR 获取扫码进度。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetLoginQrCodeModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LoginQRData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示出码成功, Data 结构见 LoginQRData"
          }
        },
        "summary": "获取登录二维码(首登请扫脸验证)",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/CheckLogin": {
      "get": {
        "description": "二维码扫码进度查询入口(纯读: 只读后台巡检写入的 Redis 状态机, 不发任何微信请求)。\n\nData.Status 为干净枚举(v3):\n进度态(继续轮询): 0=等待扫码 1=已扫码,等待手机确认 2=登录中(检测到扫码确认,自动重试期间保持) 401=触发安全验证(Data.VerifyInfo 含人脸码/验证链接)\n成功: 200=登录成功(状态机写入后维持 180 秒, 供调用方接住成功信号)\n终态(停止轮询, 提示后重新取码): -1=登录失败(自动重试5次均失败, weChatRawResp.errMsg=失败原因, weChatRawResp.loginRawResp=登录包响应原始报文JSON) -2=二维码已过期 -3=手机端取消登录 -4=会话不存在(未出码/记录过期/进程重启)\n\n状态新鲜度由后台账号级巡检保证(每账号独立协程, 间隔 config.yaml qrCheckInterval, 默认 1 秒); 本接口轮询频率不影响微信侧。\n★ 本接口只负责扫码进度; 登录成功 180 秒后记录过期, 之后账号是否在线请用 GET /login/GetOnlineStatus 查询。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/service.CheckQRStatusResponse"
                }
              }
            },
            "description": "登录状态。Data.Status: 进度态 0=等待扫码 1=已扫码 2=登录中 401=触发安全验证(均继续轮询); 200=登录成功; 终态 -1=登录失败(weChatRawResp.errMsg/loginRawResp 为原因与原始响应) -2=二维码过期 -3=手机端取消 -4=会话不存在(均停止轮询)"
          }
        },
        "summary": "检查登录状态",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/CommitPin": {
      "post": {
        "description": "提交微信下发的登录验证码完成二次验证; 成功时 Data 为本次登录的会话票据。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.VerifyCodeModel",
                "summary": "body",
                "description": "验证码数据: Code / Data62 / Ticket(均必填)"
              }
            }
          },
          "description": "验证码数据: Code / Data62 / Ticket(均必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示验证通过, Data 为会话票据字符串"
          }
        },
        "summary": "提交登录验证码",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/PushLogin": {
      "post": {
        "description": "向手机微信下发登录确认推送, 手机确认后自动完成登录。请求体可选: {\"LongLink\": true|false} 显式指定长链模式(按参生效并落库); 不传沿用账号已保存配置(无记录默认开长链)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetLoginQrCodeModel",
                "summary": "body",
                "description": "可选请求体(仅 LongLink 字段生效, Proxy 留空)"
              }
            }
          },
          "description": "可选请求体(仅 LongLink 字段生效, Proxy 留空)"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示推送指令已发送, Data 为微信侧推送响应"
          }
        },
        "summary": "推送登录(唤醒登录)",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/GetOnlineStatus": {
      "get": {
        "description": "查询指定 key 下账号的登录状态、代理、出网 IP、在线时长与授权到期时间。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "是否执行自动上线确认。false=只读当前状态, 不触发 token 二次登录; 缺省或其它值为 true",
            "in": "query",
            "name": "autoLogin",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LoginStatusData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示账号在线, Code=300 且 Msg 说明离线原因"
          }
        },
        "summary": "获取在线状态",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/Login62": {
      "post": {
        "description": "用 62 数据发起 iPad 协议登录。本接口只负责把登录请求发出去, 真正的登录结果需通过 CheckQR 或 GetLoginStatus 查询。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DeviceIdLoginModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Login62Data"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示登录请求已发送成功"
          }
        },
        "summary": "62 数据登录",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/ForceReconnectUnsafe": {
      "post": {
        "description": "把状态为「已退出(3)」的会话强制改为在线并尝试重连。会绕过部分安全判定, 风险由调用方承担。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ForceReconnectData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示重连成功, Data 含操作前后状态"
          }
        },
        "summary": "强制重连(高风险)",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/AutoAuthReconnect": {
      "post": {
        "description": "用数据库里的 AutoAuthKey 重建长连接并做 token 二次登录, 服务重启后无需重新扫码即可恢复在线。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ReconnectData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示 AutoAuth 已发送, 需再查一次在线状态确认"
          }
        },
        "summary": "会话恢复登录(AutoAuth)",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/Logout": {
      "get": {
        "description": "退出指定 key 的登录会话, 同时清理该账号的 WebSocket 长连接。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LogoutData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示退出成功, Data 固定为空对象"
          }
        },
        "summary": "退出登录",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/SetLongLink": {
      "post": {
        "description": "切换账号的长链/纯短链模式。纯短链模式不建立长连接、无自动心跳, 保活由状态检查接口被动触发; 运行中的会话会立即按新模式重建。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SetLongLinkModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示开关已保存(运行中的会话立即生效)"
          }
        },
        "summary": "按账号开关长链接",
        "tags": [
          "登录"
        ]
      }
    },
    "/login/SetAutoAuth": {
      "post": {
        "description": "切换账号的 24h 兜底保活开关。开启时距上次鉴权超过 24 小时自动补一次二次登录; 关闭时仅业务接口被动触发。切换不影响当前连接。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SetAutoAuthModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示开关已保存(运行中的会话立即生效)"
          }
        },
        "summary": "按账号开关 24h 兜底 AutoAuth 保活",
        "tags": [
          "登录"
        ]
      }
    },
    "/security/VerifyInfo": {
      "get": {
        "description": "返回当前安全验证状态; 触发验证时附带完整验证参数: 微信官方验证页链接(faceUrl)、客户端验证参数(securityInfo/ccdata/ua)与人脸配置接口地址(faceConfigUrl)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FaceStatusData"
                }
              }
            },
            "description": "Code/Success/Msg/Data; Data.status 取值同 CheckLogin; 触发验证时附带验证参数"
          }
        },
        "summary": "获取安全验证参数",
        "tags": [
          "安全验证"
        ]
      }
    },
    "/security/VerifyMethod": {
      "get": {
        "description": "解析本次安全验证的方式(weixin110 verify_type): \"4\"/face=人脸(走人脸 App 流程), \"5\"/pin=PIN(把手机上显示的数字提交到 pinSubmitUrl), 另有 captcha/sms/qrcode 等。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_VerifyMethodData"
                }
              }
            },
            "description": "Code/Success/Msg/Data; Data.verifyTypeName=pin 时前端弹 PIN 输入框, face 时走人脸流程"
          }
        },
        "summary": "查询当前安全验证方式",
        "tags": [
          "安全验证"
        ]
      }
    },
    "/security/SubmitPin": {
      "post": {
        "description": "PIN 安全验证时提交手机微信上显示的数字验证码; 成功后服务端自动继续登录流程。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.PinSubmitModel",
                "summary": "body",
                "description": "提交体: {\\"
              }
            }
          },
          "description": "提交体: {\\",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PinSubmitData"
                }
              }
            },
            "description": "Code/Success/Msg/Data; 成功时 Msg 为「PIN 验证通过，正在继续登录…」, 之后轮询 /login/CheckLogin"
          }
        },
        "summary": "提交 PIN 验证码",
        "tags": [
          "安全验证"
        ]
      }
    },
    "/security/FaceConfig": {
      "post": {
        "description": "手机端在验证流程中上报过程数据(Base64), 服务端返回本次人脸识别所需的配置参数。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FacePayloadModel",
                "summary": "body",
                "description": "上报体: {\\"
              }
            }
          },
          "description": "上报体: {\\",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FaceInfoData"
                }
              }
            },
            "description": "Code/Success/Msg/Data; 成功时 Data.b1 为配置数据, Data.bioid 为本次验证业务 ID"
          }
        },
        "summary": "获取人脸识别配置参数",
        "tags": [
          "安全验证"
        ]
      }
    },
    "/security/VerifyCallback": {
      "get": {
        "description": "手机端完成安全验证后调用本接口, 服务端重新检测登录状态, 推动登录流程继续。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "Code/Success/Msg, 成功时 Data 为 null"
          }
        },
        "summary": "安全验证完成回调",
        "tags": [
          "安全验证"
        ]
      }
    },
    "/security/VerifyApp": {
      "get": {
        "description": "返回扫脸安全验证 App 的名称/图标/安卓 APK 下载链接(全局配置); enabled=false 表示未配置下载引导, 前端不展示。",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_VerifyAppData"
                }
              }
            },
            "description": "Code/Success/Msg/Data; Data.enabled=true 时前端展示下载引导"
          }
        },
        "summary": "获取安全验证 App 信息",
        "tags": [
          "安全验证"
        ]
      }
    },
    "/security/FaceFlash": {
      "post": {
        "description": "接收人脸核身 App 端上传的单块活体数据(flashData)并按 key 暂存,\n供后续 FaceSubmit 组包直发 12106 使用。CDN 通道未对齐前仅暂存。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "text/plain": {
              "schema": {
                "title": "body",
                "type": "object"
              }
            }
          },
          "description": "{\\",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一信封; Code=200 表示已暂存"
          }
        },
        "summary": "独立App: 人脸活体数据上传",
        "tags": [
          "安全验证"
        ]
      }
    },
    "/security/FaceSubmit": {
      "post": {
        "description": "汇集暂存的活体数据与人脸 App 回传结果, 组包直发微信 12106 CGI\n完成本次扫码登录的安全验证(需已完成 FaceFlash 暂存)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "text/plain": {
              "schema": {
                "title": "body",
                "type": "object"
              }
            }
          },
          "description": "{ticket,user_id_key,bioid,fileid,key}",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一信封; Code=200 表示直发完成"
          }
        },
        "summary": "独立App: 人脸核身结果直发",
        "tags": [
          "安全验证"
        ]
      }
    },
    "/admin/GetProxyMappingList": {
      "get": {
        "description": "返回内置的代理编号与省份映射表, 供 SetProxy 等接口选择代理地区。需 adminKey 鉴权。",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ProxyMappingDataList"
                }
              }
            },
            "description": "Data 为代理映射数组"
          }
        },
        "security": [
          {
            "AdminKey": []
          }
        ],
        "summary": "获取代理映射列表(省份编号)",
        "tags": [
          "管理"
        ]
      }
    },
    "/admin/license/Delete": {
      "post": {
        "description": "删除指定授权码。需 adminKey 鉴权。",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LicenseDeleteModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LicenseDeleteData"
                }
              }
            },
            "description": "统一信封; Code 200=成功 300=失败"
          }
        },
        "security": [
          {
            "AdminKey": []
          }
        ],
        "summary": "3. 删除授权码",
        "tags": [
          "管理"
        ]
      }
    },
    "/admin/license/GenCustom": {
      "post": {
        "description": "生成一个自定义内容的授权码, 可指定过期时间。需 adminKey 鉴权。",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LicenseGenCustomModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LicenseKeyData"
                }
              }
            },
            "description": "统一信封; Code 200=成功 300=失败"
          }
        },
        "security": [
          {
            "AdminKey": []
          }
        ],
        "summary": "2. 生成指定授权码",
        "tags": [
          "管理"
        ]
      }
    },
    "/admin/license/GenRandom": {
      "post": {
        "description": "批量生成随机授权码, 可指定过期时间。需 adminKey 鉴权。",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LicenseGenRandomModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LicenseGenRandomData"
                }
              }
            },
            "description": "统一信封; Code 200=成功 300=失败"
          }
        },
        "security": [
          {
            "AdminKey": []
          }
        ],
        "summary": "1. 随机生成授权码",
        "tags": [
          "管理"
        ]
      }
    },
    "/admin/license/Info": {
      "get": {
        "description": "按授权码查询其绑定信息、类型与过期时间。需 adminKey 鉴权。",
        "parameters": [
          {
            "description": "要查询的授权码",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LicenseRow"
                }
              }
            },
            "description": "统一信封; Code 200=成功 300=失败"
          }
        },
        "security": [
          {
            "AdminKey": []
          }
        ],
        "summary": "4. 查看授权码信息",
        "tags": [
          "管理"
        ]
      }
    },
    "/admin/license/List": {
      "get": {
        "description": "分页查询授权码列表, size 最大 50。需 adminKey 鉴权。",
        "parameters": [
          {
            "description": "页码, 从 1 开始, 缺省 1",
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "每页条数, 缺省 10, 最大 50",
            "in": "query",
            "name": "size",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LicenseListData"
                }
              }
            },
            "description": "统一信封; Code 200=成功 300=失败"
          }
        },
        "security": [
          {
            "AdminKey": []
          }
        ],
        "summary": "5. 授权码列表(分页)",
        "tags": [
          "管理"
        ]
      }
    },
    "/admin/license/SetExpire": {
      "post": {
        "description": "修改指定授权码的过期时间戳, 0 表示永久。需 adminKey 鉴权。",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LicenseSetExpireModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LicenseKeyData"
                }
              }
            },
            "description": "统一信封; Code 200=成功 300=失败"
          }
        },
        "security": [
          {
            "AdminKey": []
          }
        ],
        "summary": "6. 设置授权码过期时间",
        "tags": [
          "管理"
        ]
      }
    },
    "/channel/ChannelsLogin": {
      "post": {
        "description": "传入视频号助手登录确认链接, 依次完成链接解析、视频号拉取与授权，返回各步结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ChannelsLoginModel",
                "summary": "body",
                "description": "视频号助手登录确认链接与目标视频号"
              }
            }
          },
          "description": "视频号助手登录确认链接与目标视频号",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderChannelsLoginData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示视频号助手登录成功, Data 见 FinderChannelsLoginData"
          }
        },
        "summary": "视频号助手扫码登录",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderCheckStatus": {
      "post": {
        "description": "先取账号视频号资料，再用初始化结果交叉判断，归一输出账号视频号功能状态。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderCheckStatusModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderCheckStatusData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data.status 为归一结论"
          }
        },
        "summary": "查询视频号可用性/封禁状态",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderComment": {
      "post": {
        "description": "对某条视频号作品发表评论、回复他人评论，或删除自己的评论。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderCommentModel",
                "summary": "body",
                "description": "请求参数(ObjectId 或 Url 二选一)"
              }
            }
          },
          "description": "请求参数(ObjectId 或 Url 二选一)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderCommentData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, 是否成功看 Data.ret"
          }
        },
        "summary": "视频号发表/回复/删除评论",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderCreateUser": {
      "post": {
        "description": "以昵称/简介/头像/地区等资料开通当前账号的视频号。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderCreateUserModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderCreateUserData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示已提交, 是否成功看 Data.ret"
          }
        },
        "summary": "开通视频号",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderFav": {
      "post": {
        "description": "对某条视频号作品收藏或取消收藏(星标), 收藏列表见 FinderGetFavList。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderFavModel",
                "summary": "body",
                "description": "请求参数(ObjectId 或 Url 二选一)"
              }
            }
          },
          "description": "请求参数(ObjectId 或 Url 二选一)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderFavData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, 是否成功看 Data.ret"
          }
        },
        "summary": "视频号收藏/取消收藏",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderFeedByShareUrl": {
      "post": {
        "description": "解析分享链接并立即以登录态拉取该视频的协议层详情。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderFeedByShareUrlModel",
                "summary": "body",
                "description": "请求参数(Url 必填)"
              }
            }
          },
          "description": "请求参数(Url 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderFeedByShareUrlData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data.preview/detail 见说明"
          }
        },
        "summary": "分享链接直接查视频详情",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderFollow": {
      "post": {
        "description": "对指定视频号账号执行关注或取消关注, 返回操作后的关注状态。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderFollowModel",
                "summary": "body",
                "description": "请求参数(FinderUsername 必填)"
              }
            }
          },
          "description": "请求参数(FinderUsername 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderFollowData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, 是否成功看 Data.ret"
          }
        },
        "summary": "关注/取消关注视频号",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetBullet": {
      "post": {
        "description": "按时间区间分页拉取某条视频的弹幕列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetBulletModel",
                "summary": "body",
                "description": "请求参数(ObjectId 或 Url 二选一)"
              }
            }
          },
          "description": "请求参数(ObjectId 或 Url 二选一)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetBulletData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号查看弹幕",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetCommentList": {
      "post": {
        "description": "分页拉取视频的一级评论或某条评论的子评论, 支持排序。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetCommentListModel",
                "summary": "body",
                "description": "请求参数(ObjectId 或 Url 二选一)"
              }
            }
          },
          "description": "请求参数(ObjectId 或 Url 二选一)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetCommentListData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取视频评论列表(标准分页)",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetFansList": {
      "post": {
        "description": "分页拉取某视频号账号的粉丝列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetFansListModel",
                "summary": "body",
                "description": "请求参数(FinderUsername 必填)"
              }
            }
          },
          "description": "请求参数(FinderUsername 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetFansListData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取粉丝列表",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetFavList": {
      "post": {
        "description": "分页拉取当前账号收藏的视频列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetFavListModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetFavListData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取我收藏的视频",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetFollowList": {
      "post": {
        "description": "分页拉取当前账号关注的视频号账号列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetFollowListModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetFollowListData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取关注列表",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetHistory": {
      "post": {
        "description": "分页拉取当前账号的视频号观看历史。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetHistoryModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetHistoryData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取观看历史",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetHotWordList": {
      "post": {
        "description": "拉取视频号热搜词榜单, 支持翻页。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetHotWordListModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetHotWordListData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号热搜榜",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetLikedList": {
      "post": {
        "description": "分页拉取当前账号点赞过的视频列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetLikedListModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetLikedListData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取我点赞过的视频",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetRelatedList": {
      "post": {
        "description": "拉取某条视频的相关推荐流。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetRelatedListModel",
                "summary": "body",
                "description": "请求参数(ObjectId 或 Url 二选一)"
              }
            }
          },
          "description": "请求参数(ObjectId 或 Url 二选一)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetRelatedListData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取相关视频推荐",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderGetUser": {
      "post": {
        "description": "按 username 列表批量拉取视频号账号资料。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetUserModel",
                "summary": "body",
                "description": "请求参数(UserList 必填)"
              }
            }
          },
          "description": "请求参数(UserList 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderGetUserData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "批量获取视频号账号信息",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderInit": {
      "post": {
        "description": "初始化视频号上下文并判断当前账号是否已开通视频号; 响应回传服务端下发的协议版本号 userVersion。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderInitModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderInitData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 见 FinderInitData"
          }
        },
        "summary": "视频号首页初始化",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderLike": {
      "post": {
        "description": "对某条视频号作品(或其中某条评论)点赞或取消点赞。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderLikeModel",
                "summary": "body",
                "description": "请求参数(ObjectId 或 Url 二选一)"
              }
            }
          },
          "description": "请求参数(ObjectId 或 Url 二选一)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderLikeData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, 是否成功看 Data.ret"
          }
        },
        "summary": "视频号点赞/取消点赞",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderMixSearch": {
      "post": {
        "description": "聚合搜索页按 tab 拉取视频列表, lastBuff 翻页。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderMixSearchModel",
                "summary": "body",
                "description": "请求参数(Query 必填)"
              }
            }
          },
          "description": "请求参数(Query 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderMixSearchData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号混合搜索(聚合tab)",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderMsgSession": {
      "post": {
        "description": "批量查询私信会话的档案信息(是否可发消息/是否已关注等)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderMsgSessionModel",
                "summary": "body",
                "description": "请求参数(ReqList 必填)"
              }
            }
          },
          "description": "请求参数(ReqList 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderMsgSessionData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号私信: 获取会话档案",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderMsgSessionId": {
      "post": {
        "description": "与指定视频号建立(或复用)私信会话，拿到 sessionId。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderMsgSessionIdModel",
                "summary": "body",
                "description": "请求参数(ToUsername 必填)"
              }
            }
          },
          "description": "请求参数(ToUsername 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderMsgSessionIdData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号私信: 建立/获取会话",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderNewUserPrepare": {
      "post": {
        "description": "拉取开通视频号所需的限制信息(昵称长度/是否已开通/实名状态)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderNewUserPrepareModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderNewUserPrepareData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "开通视频号前的准备页",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderObjectDetail": {
      "post": {
        "description": "取单条视频号作品的详情(文案/媒体/点赞收藏评论数)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderGetCommentDetailModel",
                "summary": "body",
                "description": "请求参数(ObjectId 或 Url 二选一)"
              }
            }
          },
          "description": "请求参数(ObjectId 或 Url 二选一)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderObjectDetailData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频详情",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderOpBullet": {
      "post": {
        "description": "对某条弹幕点赞或删除。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderOpBulletModel",
                "summary": "body",
                "description": "请求参数(CommentId 必填)"
              }
            }
          },
          "description": "请求参数(CommentId 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderOpBulletData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出"
          }
        },
        "summary": "视频号弹幕操作(点赞/删除)",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderParseShareUrl": {
      "post": {
        "description": "把视频号分享链接解析成展示信息与加密 feedId，供后续查详情/互动使用。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderParseShareUrlModel",
                "summary": "body",
                "description": "请求参数(Url 必填)"
              }
            }
          },
          "description": "请求参数(Url 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderSharePreviewData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示解析成功"
          }
        },
        "summary": "解析视频号分享链接",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderPostBullet": {
      "post": {
        "description": "在指定视频的指定时间点发送一条弹幕。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderPostBulletModel",
                "summary": "body",
                "description": "请求参数(Content 必填)"
              }
            }
          },
          "description": "请求参数(Content 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderPostBulletData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出"
          }
        },
        "summary": "视频号发送弹幕",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderRecommend": {
      "post": {
        "description": "对某条视频执行「推荐给朋友」(私密赞)或取消推荐。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderRecommendModel",
                "summary": "body",
                "description": "请求参数(ObjectId 或 Url 二选一)"
              }
            }
          },
          "description": "请求参数(ObjectId 或 Url 二选一)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderRecommendData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, 是否成功看 Data.ret"
          }
        },
        "summary": "推荐视频/取消推荐(私密赞)",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderSearch": {
      "post": {
        "description": "按关键词搜索视频号内容/账号/话题, offset+lastBuff 双游标翻页。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderSearchModel",
                "summary": "body",
                "description": "请求参数(Query 必填)"
              }
            }
          },
          "description": "请求参数(Query 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderSearchData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号搜索",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderSearchSuggest": {
      "post": {
        "description": "按输入关键词拉取视频号搜索联想词。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderSearchSuggestModel",
                "summary": "body",
                "description": "请求参数(Query 必填)"
              }
            }
          },
          "description": "请求参数(Query 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderSearchSuggestData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号搜索联想词",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderStream": {
      "post": {
        "description": "拉取视频号首页各 tab 的视频流; TabType 区分频道, lastBuffer 翻页。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderStreamModel",
                "summary": "body",
                "description": "请求参数(TabType 不传默认推荐)"
              }
            }
          },
          "description": "请求参数(TabType 不传默认推荐)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderStreamData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取视频号信息流(推荐/朋友/关注/同城)",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderUserInfo": {
      "post": {
        "description": "按作者 username 拉取视频号主页资料与统计数字。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderUserPageModel",
                "summary": "body",
                "description": "请求参数(Username 必填)"
              }
            }
          },
          "description": "请求参数(Username 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderUserInfoData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号个人主页信息",
        "tags": [
          "视频号"
        ]
      }
    },
    "/channel/FinderUserVideoList": {
      "post": {
        "description": "按作者 username 分页拉取视频号作品(feed)列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FinderUserPageModel",
                "summary": "body",
                "description": "请求参数(Username 必填)"
              }
            }
          },
          "description": "请求参数(Username 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FinderUserVideoListData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "视频号作品列表",
        "tags": [
          "视频号"
        ]
      }
    },
    "/chatroom/AddChatRoomMembers": {
      "post": {
        "description": "把一批 wxid 直接拉入指定群, 不走对方确认流程。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.InviteChatroomMembersModel",
                "summary": "body",
                "description": "群 ID 与要添加的成员列表"
              }
            }
          },
          "description": "群 ID 与要添加的成员列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示添加请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "直接添加成员进群",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/AddChatroomAdmin": {
      "post": {
        "description": "把群内成员设置为管理员。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ChatroomMemberModel",
                "summary": "body",
                "description": "群 ID 与成员列表"
              }
            }
          },
          "description": "群 ID 与成员列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "设置群管理员",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/CreateChatRoom": {
      "post": {
        "description": "用指定成员列表拉起一个新群, 可选传群名称。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.CreateChatRoomModel",
                "summary": "body",
                "description": "群名称与初始成员"
              }
            }
          },
          "description": "群名称与初始成员",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示建群请求已被微信受理, Data 为 CreateChatRoomResponse"
          }
        },
        "summary": "创建群聊(拉人建群)",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/DelChatroomAdmin": {
      "post": {
        "description": "取消群内成员的管理员身份。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ChatroomMemberModel",
                "summary": "body",
                "description": "群 ID 与成员列表"
              }
            }
          },
          "description": "群 ID 与成员列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "取消群管理员",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/FacingCreateChatRoom": {
      "post": {
        "description": "以 4 位数字密码创建或加入一个面对面群。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FacingCreateChatRoomModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FacingCreateChatRoomData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data.ret 为微信侧返回码"
          }
        },
        "summary": "面对面建群",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/GetChatRoomInfo": {
      "post": {
        "description": "按群 ID 列表批量拉取群的联系人资料(名称、成员数等)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ChatRoomWxIdListModel",
                "summary": "body",
                "description": "群 ID 列表"
              }
            }
          },
          "description": "群 ID 列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "批量获取群资料",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/GetChatroomMemberDetail": {
      "post": {
        "description": "拉取指定群的成员详细列表(含昵称、头像、群内标识等)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetChatroomMemberDetailModel",
                "summary": "body",
                "description": "群标识"
              }
            }
          },
          "description": "群标识",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "拉取群成员详细资料",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/GetChatroomQrCode": {
      "post": {
        "description": "根据群 ID 向微信申请该群的名片二维码, 供他人扫码入群。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetChatroomQrCodeModel",
                "summary": "body",
                "description": "群标识"
              }
            }
          },
          "description": "群标识",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示取到二维码, Data 为微信侧原始响应"
          }
        },
        "summary": "获取群二维码(群 ID 换群码)",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/InviteChatroomMembers": {
      "post": {
        "description": "向指定群邀请一批好友, 微信会向被邀请人发送入群邀请。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.InviteChatroomMembersModel",
                "summary": "body",
                "description": "群 ID 与要邀请的成员列表"
              }
            }
          },
          "description": "群 ID 与要邀请的成员列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示邀请请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "邀请好友入群(需对方确认)",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/MoveToContract": {
      "post": {
        "description": "把群聊保存到通讯录, 或从通讯录移除。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.MoveContractModel",
                "summary": "body",
                "description": "群 ID 与保存/移除标记"
              }
            }
          },
          "description": "群 ID 与保存/移除标记",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改已提交成功, Data 为空"
          }
        },
        "summary": "保存/取消保存群到通讯录",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/QuitChatroom": {
      "post": {
        "description": "让当前登录账号主动退出指定群聊, 并从本地群缓存中移除该群。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetChatroomMemberDetailModel",
                "summary": "body",
                "description": "要退出的群标识"
              }
            }
          },
          "description": "要退出的群标识",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示退群请求已发送成功, Data 为空"
          }
        },
        "summary": "退出指定群聊",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/ScanIntoUrlGroup": {
      "post": {
        "description": "传入群邀请链接(扫码得到的 URL), 完成当前账号的入群动作。\n结果分三态: isJoinSuccess=true 已确认在群内; pending=true 已提交待群主确认; 两者皆 false 为失败(Msg 带原因)。\n不要以跳转 URL 或 HTTP 200 判定入群成功 —— 退群后立即用同一二维码重进可能被微信风控限制。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ScanIntoUrlGroupModel",
                "summary": "body",
                "description": "群邀请链接"
              }
            }
          },
          "description": "群邀请链接",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_GroupScanIntoUrlData"
                }
              }
            },
            "description": "Code=200 恒成立(入群失败也返回 200), 必须看 Data.isJoinSuccess / Data.pending / Msg 判断实际结果"
          }
        },
        "summary": "通过群链接扫码入群",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/SendDelDelChatRoomMember": {
      "post": {
        "description": "把指定成员从群聊中移出。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.InviteChatroomMembersModel",
                "summary": "body",
                "description": "群 ID 与要移出的成员列表"
              }
            }
          },
          "description": "群 ID 与要移出的成员列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示移出请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "移出群成员(踢人)",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/SendPat": {
      "post": {
        "description": "在群聊里对指定成员发起「拍一拍」。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendPatModel",
                "summary": "body",
                "description": "群 ID、被拍成员与场景值"
              }
            }
          },
          "description": "群 ID、被拍成员与场景值",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "群内拍一拍",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/SendTransferGroupOwner": {
      "post": {
        "description": "把当前账号的群主身份转让给群内指定成员。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.TransferGroupOwnerModel",
                "summary": "body",
                "description": "群 ID 与新群主 wxid"
              }
            }
          },
          "description": "群 ID 与新群主 wxid",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示转让请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "转让群主",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/SetChatroomAccessVerify": {
      "post": {
        "description": "开启/关闭「群聊邀请确认」, 开启后进群需群主或管理员确认。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SetChatroomAccessVerifyModel",
                "summary": "body",
                "description": "群 ID 与开关状态"
              }
            }
          },
          "description": "群 ID 与开关状态",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示设置成功, Data 固定为字符串 \"ok"
          }
        },
        "summary": "设置群聊邀请确认开关",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/SetChatroomAnnouncement": {
      "post": {
        "description": "以当前登录账号身份修改指定群聊的公告内容。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UpdateChatroomAnnouncementModel",
                "summary": "body",
                "description": "群 ID 与新公告正文"
              }
            }
          },
          "description": "群 ID 与新公告正文",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_GroupAnnouncementData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已提交, Data.baseResp.ret=0 才是微信侧成功"
          }
        },
        "summary": "修改群公告(需群主/管理员)",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/SetChatroomName": {
      "post": {
        "description": "修改指定群的群名称, 服务端会先拉取群资料再改 NickName 下发。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ChatroomNameModel",
                "summary": "body",
                "description": "群 ID 与新群名称"
              }
            }
          },
          "description": "群 ID 与新群名称",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改请求已发送成功, Data 为空"
          }
        },
        "summary": "修改群名称",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/SetGetChatRoomInfoDetail": {
      "post": {
        "description": "拉取群的基础详情, 其中包含群公告等字段。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetChatroomMemberDetailModel",
                "summary": "body",
                "description": "群标识"
              }
            }
          },
          "description": "群标识",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "拉取群详情(含群公告)",
        "tags": [
          "群管理"
        ]
      }
    },
    "/chatroom/ToJoinGroup": {
      "post": {
        "description": "传入入群邀请链接, 走 GetA8Key + 入群请求完成加入。\nData.QID 非空(weixin:// 跳转, 可解析出群 ID)才算拿到入群结果; 为空表示未取得群 ID, 需复查。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ConsentToJoinGroupModel",
                "summary": "body",
                "description": "入群邀请链接"
              }
            }
          },
          "description": "入群邀请链接",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_GroupToJoinData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, 入群结果看 Data.QID 与 Data.Msg"
          }
        },
        "summary": "同意入群邀请(URL 形式)",
        "tags": [
          "群管理"
        ]
      }
    },
    "/device/DelSafeDevice": {
      "post": {
        "description": "把指定安全设备从账号的可信设备列表中移除。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DelSafeDeviceModel",
                "summary": "body",
                "description": "要删除的设备 UUID"
              }
            }
          },
          "description": "要删除的设备 UUID",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示删除成功, Data 为微信侧原始响应"
          }
        },
        "summary": "删除安全设备",
        "tags": [
          "设备"
        ]
      }
    },
    "/device/GetBoundHardDevice": {
      "get": {
        "description": "拉取该账号已绑定的硬件设备列表(如手表、手环等)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "获取已绑定的硬件设备",
        "tags": [
          "设备"
        ]
      }
    },
    "/device/GetOnlineInfo": {
      "get": {
        "description": "返回正在使用当前账号登录的在线设备数量与明细。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_EquipmentOnlineInfoData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data.onlineCount 为在线设备数, Data.onlineList 为设备明细"
          }
        },
        "summary": "获取当前在线设备列表",
        "tags": [
          "设备"
        ]
      }
    },
    "/device/GetSafetyInfo": {
      "post": {
        "description": "拉取该账号的微信安全设备(可信设备)列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "获取安全设备列表",
        "tags": [
          "设备"
        ]
      }
    },
    "/favor/BatchDelFavItem": {
      "post": {
        "description": "按收藏 ID 删除一条微信收藏。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FavInfoModel",
                "summary": "body",
                "description": "要删除的收藏 ID"
              }
            }
          },
          "description": "要删除的收藏 ID",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示删除成功, Data 为微信侧原始响应"
          }
        },
        "summary": "删除收藏条目",
        "tags": [
          "收藏"
        ]
      }
    },
    "/favor/FavSync": {
      "get": {
        "description": "触发一次微信收藏同步, 返回同步 key 与结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示同步成功, Data 为微信侧原始响应"
          }
        },
        "summary": "同步微信收藏",
        "tags": [
          "收藏"
        ]
      }
    },
    "/favor/GetFavItemId": {
      "post": {
        "description": "按收藏 ID 拉取该条收藏的详细内容。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FavInfoModel",
                "summary": "body",
                "description": "收藏 ID"
              }
            }
          },
          "description": "收藏 ID",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "获取收藏条目详情",
        "tags": [
          "收藏"
        ]
      }
    },
    "/favor/GetFavList": {
      "post": {
        "description": "按 KeyBuf 分页拉取收藏条目列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FavInfoModel",
                "summary": "body",
                "description": "收藏同步 key"
              }
            }
          },
          "description": "收藏同步 key",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "分页获取收藏列表",
        "tags": [
          "收藏"
        ]
      }
    },
    "/friend/AgreeAdd": {
      "post": {
        "description": "同意一条好友添加申请, 使双方成为好友。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.VerifyUserRequestModel",
                "summary": "body",
                "description": "操作类型、验证信息与来源"
              }
            }
          },
          "description": "操作类型、验证信息与来源",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "同意好友请求",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/DelContact": {
      "post": {
        "description": "把指定联系人从好友列表删除。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DelContactModel",
                "summary": "body",
                "description": "要删除的好友 wxid"
              }
            }
          },
          "description": "要删除的好友 wxid",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示删除成功, Data 为空对象"
          }
        },
        "summary": "删除好友",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/GetContactDetailsList": {
      "post": {
        "description": "按 wxid 列表批量拉取联系人详细资料(昵称、头像、备注等)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.BatchGetContactModel",
                "summary": "body",
                "description": "联系人与群 ID 列表"
              }
            }
          },
          "description": "联系人与群 ID 列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "批量获取联系人详情",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/GetContactList": {
      "post": {
        "description": "按当前同步序列号分页拉取联系人与群联系人, 用于增量同步通讯录。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetContactListModel",
                "summary": "body",
                "description": "分页同步序列号"
              }
            }
          },
          "description": "分页同步序列号",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FriendContactListData"
                }
              }
            },
            "description": "Code=200 表示请求已处理; Data.retCode=0 才是微信侧成功"
          }
        },
        "summary": "分页拉取通讯录(增量同步)",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/GetFriendRelation": {
      "post": {
        "description": "查询当前账号与指定用户的微信好友关系状态。\nFriendRelation: 1=好友 2=群聊 4=公众号; Known=false 时恒为 -1(未知), 不可当作非好友。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetFriendRelationModel",
                "summary": "body",
                "description": "对方 wxid"
              }
            }
          },
          "description": "对方 wxid",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FriendRelationData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示查询完成, 关系结果看 Data.FriendRelation 与 Data.Known"
          }
        },
        "summary": "查询与某人的好友关系",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/GetGHList": {
      "get": {
        "description": "读取服务端联系人库中 userName 以 gh_ 开头的联系人(已关注公众号), 不向微信发请求。\n不再有\"初始化中\"状态: Data.IsInitFinished 恒为 true, 空列表即\"当前账号没有关注任何公众号\"。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FriendGHListData"
                }
              }
            },
            "description": "Code=200 表示读取成功; Data.Count/Data.GhList 即当前公众号列表(为空即无关注)"
          }
        },
        "summary": "获取关注的公众号列表",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/GetMFriend": {
      "get": {
        "description": "拉取已上传的手机通讯录中匹配到的微信好友。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "获取手机通讯录好友",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/GroupList": {
      "get": {
        "description": "直接读取服务端联系人库中 userName 以 @chatroom 结尾的联系人, 不向微信发请求。\n不再有\"初始化中\"状态: Data.IsInitFinished 恒为 true, 空列表即\"当前账号没有任何群\"。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FriendGroupListData"
                }
              }
            },
            "description": "Code=200 表示读取成功; Data.Count/Data.GroupList 即当前群列表(为空即无群)"
          }
        },
        "summary": "获取本地缓存的群列表",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/SearchContact": {
      "post": {
        "description": "按微信号/手机号/QQ 号等搜索用户, 返回可用于加好友的校验数据。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SearchContactRequestModel",
                "summary": "body",
                "description": "搜索内容与场景"
              }
            }
          },
          "description": "搜索内容与场景",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示搜索成功, Data 为微信侧原始响应"
          }
        },
        "summary": "搜索用户(微信号/手机号等)",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/UploadMContact": {
      "post": {
        "description": "把手机通讯录号码批量上传到微信, 供匹配好友使用。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UploadMContactModel",
                "summary": "body",
                "description": "手机号列表与当前账号手机号"
              }
            }
          },
          "description": "手机号列表与当前账号手机号",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示上传成功, Data 为微信侧原始响应"
          }
        },
        "summary": "上传手机通讯录",
        "tags": [
          "朋友"
        ]
      }
    },
    "/friend/VerifyUser": {
      "post": {
        "description": "向目标用户发送好友申请, 或完成加好友验证动作。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.VerifyUserRequestModel",
                "summary": "body",
                "description": "操作类型、验证信息与来源"
              }
            }
          },
          "description": "操作类型、验证信息与来源",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "添加好友/发送验证申请",
        "tags": [
          "朋友"
        ]
      }
    },
    "/health": {
      "get": {
        "description": "探活接口, 服务进程存活即返回 OK, 不依赖微信登录态与数据库。",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "HTTP 200 且 Msg=\"OK\" 表示服务存活"
          }
        },
        "summary": "健康检查",
        "tags": [
          "健康检查"
        ]
      }
    },
    "/label/AddContactLabel": {
      "post": {
        "description": "批量新增联系人标签。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LabelModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示添加成功, Data 为微信侧原始响应"
          }
        },
        "summary": "添加联系人标签",
        "tags": [
          "标签"
        ]
      }
    },
    "/label/DelContactLabel": {
      "post": {
        "description": "按标签 ID 删除一个联系人标签。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LabelModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示删除成功, Data 为微信侧原始响应"
          }
        },
        "summary": "删除联系人标签",
        "tags": [
          "标签"
        ]
      }
    },
    "/label/GetContactLabelList": {
      "get": {
        "description": "拉取当前账号的全部联系人标签。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示拉取成功, Data 为微信侧标签列表"
          }
        },
        "summary": "获取联系人标签列表",
        "tags": [
          "标签"
        ]
      }
    },
    "/label/GetWXFriendListByLabel": {
      "post": {
        "description": "按标签 ID 返回该标签下的全部好友 wxid 列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LabelModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-array_string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示查询成功, Data 为 wxid 字符串数组"
          }
        },
        "summary": "获取标签下所有好友",
        "tags": [
          "标签"
        ]
      }
    },
    "/label/ModifyLabel": {
      "post": {
        "description": "批量修改联系人标签(通常用于调整好友与标签的关联)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LabelModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改成功, Data 为微信侧原始响应"
          }
        },
        "summary": "修改标签",
        "tags": [
          "标签"
        ]
      }
    },
    "/label/UpdateName": {
      "post": {
        "description": "修改单个联系人标签的名称。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.LabelUpdateNameModel",
                "summary": "body",
                "description": "请求参数(LabelId/NewName 必填)"
              }
            }
          },
          "description": "请求参数(LabelId/NewName 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_LabelUpdateNameData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "修改标签名",
        "tags": [
          "标签"
        ]
      }
    },
    "/message/AddMessageMgr": {
      "post": {
        "description": "把文本/图片消息加入该账号的「好友消息管理器」队列, 由后台异步发送; 本接口只负责入队, 不等待发送结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendMessageModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示已加入队列, Data 为空对象"
          }
        },
        "summary": "把待发消息加入发送队列",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/CdnDownload": {
      "post": {
        "description": "用 AesKey+FileURL 从微信 CDN 下载并解密, Data.FileData 为文件内容的 base64。\n成功判据是 Data.RetCode==0 且 Data.FileData 非空: 外层 Success 只表示下载流程完成。\nRetCode 非 0(如 -5103017)表示对象类型与 CDN 簇不匹配或引用已过期; 文件/图片类型会自动重试并切换簇。\nData.SrcSize 为解密后真实长度, 打印/落盘时按它截断(尾部可能有填充)。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DownMediaModel",
                "summary": "body",
                "description": "AesKey(hex)/FileURL/FileType"
              }
            }
          },
          "description": "AesKey(hex)/FileURL/FileType",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_MsgCdnDownloadData"
                }
              }
            },
            "description": "统一响应包装; Data 为 CDN 下载响应原样透传(Key 保持 PascalCase)"
          }
        },
        "summary": "CDN 下载文件",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/DeleteCallback": {
      "get": {
        "description": "删除该 key 的消息回调配置, 之后不再向该地址推送消息。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示配置已删除, Data 为空对象"
          }
        },
        "summary": "删除消息回调配置",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/DownloadAppAttach": {
      "post": {
        "description": "按附件标识分片下载通用附件通道里的文件内容, 返回 base64 数据; 与上传互为上下行。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DownloadAppAttachModel",
                "summary": "body",
                "description": "请求参数(AttachId 必填)"
              }
            }
          },
          "description": "请求参数(AttachId 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_DownloadAppAttachData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data.dataBase64 为附件内容"
          }
        },
        "summary": "下载文件(通用附件通道)",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/GetCallback": {
      "get": {
        "description": "读取该 key 当前的消息回调地址与启用开关。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-req_MessageCallbackConfigModel"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示查询成功, Data 为回调配置"
          }
        },
        "summary": "查询消息回调配置",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/GetMsgBigImg": {
      "post": {
        "description": "按消息 ID 分段拉取图片原始数据(高清大图)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DownloadParam",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示已取到该分段数据, Data 为微信原始响应"
          }
        },
        "summary": "下载消息里的高清图片",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/GetMsgVideo": {
      "post": {
        "description": "按消息 ID 分段拉取视频原始数据。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DownloadParam",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示已取到该分段数据, Data 为微信原始响应"
          }
        },
        "summary": "下载消息里的视频数据",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/GetMsgVoice": {
      "post": {
        "description": "按 NewMsgId/Bufid 拉取语音数据, 返回 base64 与时长。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DownloadVoiceModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_DownloadVoiceData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示已取到语音数据"
          }
        },
        "summary": "下载消息里的语音",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/GetQueueMsg": {
      "post": {
        "description": "取走该账号已同步到本地队列的消息(不联微信), 条数由 body.Count 控制, 0 表示取全部。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SyncMessageModel",
                "summary": "body",
                "description": "请求参数; 可传空对象 {}"
              }
            }
          },
          "description": "请求参数; 可传空对象 {}",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-array_vo_MsgHttpSyncItem"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为消息条目数组(条目结构见 MsgHttpSyncItem)"
          }
        },
        "summary": "从队列中获取消息",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/GroupMassMsgImage": {
      "post": {
        "description": "向一组 wxid 群发同一张图片(base64)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GroupMassMsgImageModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示群发请求已发出, Data 为微信原始响应"
          }
        },
        "summary": "群发图片给多个接收者",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/GroupMassMsgText": {
      "post": {
        "description": "向一组 wxid 群发同一段文本。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GroupMassMsgTextModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示群发请求已发出, Data 为微信原始响应"
          }
        },
        "summary": "群发文本给多个接收者",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/RevokeMsg": {
      "post": {
        "description": "按 NewMsgId/ClientMsgId 撤回指定会话中的一条消息。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.RevokeMsgModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示撤销请求已发出, Data 为微信原始响应(需看 ret 判断是否成功)"
          }
        },
        "summary": "撤回已发送的消息",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendEmojiMessage": {
      "post": {
        "description": "按表情 MD5 向好友发送商店表情, 逐条返回发送结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendEmojiMessageModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-array_vo_MsgSendEmojiItem"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data 为逐条发送结果数组"
          }
        },
        "summary": "发送表情(按 MD5)",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendFileMessage": {
      "post": {
        "description": "multipart/form-data: File=文件内容, ToWxid=接收者, FileName=显示文件名(可选, 默认自动生成)。\n文件走纯附件通道上传 CDN(不产生额外消息)后以 type=6 文件消息发送; 响应返回 CDN 配置。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "properties": {
                  "File": {
                    "description": "文件内容",
                    "format": "binary",
                    "type": "string"
                  },
                  "FileName": {
                    "description": "显示文件名",
                    "type": "string"
                  },
                  "ToWxid": {
                    "description": "接收者 wxid",
                    "type": "string"
                  }
                },
                "required": [
                  "ToWxid",
                  "File"
                ],
                "type": "object"
              }
            }
          },
          "description": "接收者 wxid",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_MsgSendFileData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示微信已受理, Data 为本次上传的 CDN 配置与消息 ID"
          }
        },
        "summary": "发送文件消息",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendImage": {
      "post": {
        "description": "二选一: ImageBase64(自动上传发送) 或 ImageCdnConfig(已有 CDN 配置, 优先)。\nImageCdnConfig 字段: cdnbigimgurl/cdnmidimgurl/cdnthumburl/aeskey/encryver/length/hdlength/cdnthumblength/cdnthumbwidth/cdnthumbheight/md5。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ImageItem",
                "summary": "body",
                "description": "ToWxid 必填"
              }
            }
          },
          "description": "ToWxid 必填",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.DTO"
                }
              }
            },
            "description": "Data: {newMsgId, toUserName, aesKey? 或 ImageCdnConfig}"
          }
        },
        "summary": "发送图片消息",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendMessageList": {
      "post": {
        "description": "MessageList 每个元素一种消息: MsgType 决定类型, 并用对应子载荷传参 ——\nXml{ToWxid,Xml,Type} / WebPage{ToWxid,Title,Desc,Url,ThumbUrl,ThumbUrlCdnConfig,AppId} /\nMiniProgram{ToWxid,Title,PagePath,UserName(gh_xxx@app),AppId,IconUrl,ThumburlCdnConfig} /\nImage{ToWxid,ImageBase64 或 ImageCdnConfig} / File{ToWxid,FileName,FileBase64} /\nVideo{ToWxid,VideoCdnConfig} / Emoji{ToWxid,EmojiCdnConfig} / Music{ToWxid,Title,Url,DataUrl,ThumbUrl}\nAsync=true 并发发送(结果按输入顺序), false 同步逐条。缩略图: ThumburlCdnConfig 优先, 否则 ThumbUrlBase64 自动上传 CDN。\nFile 只接受 FileBase64(服务端自动走附件通道登记 + 上传 CDN); 复用已有 CDN 附件请用 SendMetaXmlMessage 发 type=6 XML。\n每条的真实结果在 Data.Results[i](Success/Msg/Data), 外层 Success 只代表批次处理完成。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendMessageListModel",
                "summary": "body",
                "description": "Async + MessageList"
              }
            }
          },
          "description": "Async + MessageList",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.DTO"
                }
              }
            },
            "description": "Data: {Results: [{Index, MsgType, Success, Msg, Data}]}"
          }
        },
        "summary": "批量发送消息(SendMessageList)",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendMetaXmlMessage": {
      "post": {
        "description": "直接发送 appmsg XML。Xml 传 <appmsg>...</appmsg>(不含 <msg> 外壳)。\nData.Status(Type) 支持值及含义:\n5=网页卡片(链接/公众号文章) 6=文件(需 appattach 带 CDN 字段)\n33/36=小程序卡片(需 weappinfo) 3=音乐 4=视频 8=大表情\n19=合并转发(聊天记录) 57=引用消息 51=视频号\n注意: 卡片类(5/33/36)的图片需要 appattach 里带 CDN 字段(cdnthumburl+cdnthumbaeskey),\n外链 URL 不渲染大图; 可先用 /message/UploadImageCDN 上传获取。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.XmlPayload",
                "summary": "body",
                "description": "ToWxid/Xml 必填; Type 见说明"
              }
            }
          },
          "description": "ToWxid/Xml 必填; Type 见说明",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.DTO"
                }
              }
            },
            "description": "Data: {newMsgId, toUserName, Type}"
          }
        },
        "summary": "发送原始 XML 消息",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendTextMessage": {
      "post": {
        "description": "向好友或群发送一条文本消息, 支持 @ 群成员/@所有人; 成功返回非零 newMsgId。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendTextParam",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_MsgSendResult"
                }
              }
            },
            "description": "统一响应包装; Code=200 且 Data.newMsgId!=0 表示发送成功"
          }
        },
        "summary": "发送单条文本消息(支持 @ 群成员)",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendVideoMessage": {
      "post": {
        "description": "上传视频到 CDN 并发送给对方(base64 传参, dataURI 前缀自动剥离)。\n未传 ThumbBase64 时自动取视频首帧作封面(取不到用内置占位图) —— 真机校验封面对象, 缺封面会导致接收端无法播放。\nVideoBase64 为空会直接返回明确校验错误; 已有 CDN 参数的视频请改用 SendMessageList 的 VideoCdnConfig。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.VideoMessageModel",
                "summary": "body",
                "description": "视频参数"
              }
            }
          },
          "description": "视频参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_MsgSendVideoData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示视频已上传并发送, Data 为 CDN 引用与消息 ID"
          }
        },
        "summary": "发送视频消息(本地文件直发)",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendVoice": {
      "post": {
        "description": "把语音数据(base64)作为语音消息发给好友。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendUploadVoiceRequestModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示语音上传/发送请求已发出, Data 为微信原始响应"
          }
        },
        "summary": "发送语音消息",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendWeAppMessage": {
      "post": {
        "description": "缩略图二选一: ThumbUrlBase64(纯 CDN 原图上传, 不产生任何消息) 或 ThumburlCdnConfig(已有 CDN 配置, 优先)。\n缩略图上传失败不阻塞发送: 自动降级为无缩略图卡片, 响应 Data.ThumbWarning 携带降级原因。\n响应 Data.ThumburlCdnConfig 返回本次实际使用的 CDN 配置(Base64 上传成功时必有, 调用方可自行缓存复用)。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.MiniProgramItem",
                "summary": "body",
                "description": "ToWxid/Title/UserName/PagePath 必填"
              }
            }
          },
          "description": "ToWxid/Title/UserName/PagePath 必填",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.DTO"
                }
              }
            },
            "description": "Data: {newMsgId, toUserName, ThumburlCdnConfig, ThumbWarning?}"
          }
        },
        "summary": "发送小程序消息",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SendWebPageMessage": {
      "post": {
        "description": "缩略图三选一: ThumbUrlCdnConfig(优先) / ThumbUrlBase64(纯 CDN 原图上传, 不产生任何消息) / ThumbUrl(外链)。\n缩略图上传失败不阻塞发送: 自动降级为无缩略图卡片(有 ThumbUrl 外链则仅用外链), 响应 Data.ThumbWarning 携带降级原因。\nAppId 可选: 传第三方 App 的 AppID 时, 消息左下角显示该 App 标志(从 App 分享样式)。\n响应 Data.ThumbUrlCdnConfig 返回本次实际使用的 CDN 配置(可自行缓存复用)。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WebPageItem",
                "summary": "body",
                "description": "ToWxid/Title/Url 必填"
              }
            }
          },
          "description": "ToWxid/Title/Url 必填",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.DTO"
                }
              }
            },
            "description": "Data: {newMsgId, toUserName, ThumbUrlCdnConfig?, ThumbWarning?}"
          }
        },
        "summary": "发送网页卡片消息",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SetCallback": {
      "post": {
        "description": "为该 key 配置收到消息时的 HTTP 回调地址与启用开关, 配置写入服务端数据库。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.MessageCallbackConfigModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示配置已保存, Data 为空对象"
          }
        },
        "summary": "设置消息回调地址",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/ShareCardMessage": {
      "post": {
        "description": "向好友发送一张名片(个人名片或公众号名片), 返回单条发送结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ShareCardParam",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_MsgShareCardData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data 为单条发送结果"
          }
        },
        "summary": "发送个人/公众号名片",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/SyncMsg": {
      "post": {
        "description": "参数原样透传给服务端并原样返回其响应, 不做任何筛选或改写。各字段取值见请求模型说明。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SyncMsgModel",
                "summary": "body",
                "description": "同步参数; 可传空对象 {}"
              }
            }
          },
          "description": "同步参数; 可传空对象 {}",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data 为服务端原始同步响应(含 KeyBuf 下次游标)"
          }
        },
        "summary": "主动同步一次消息(短链)",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/UploadAppAttach": {
      "post": {
        "description": "把文件按分片上传到通用附件通道, 返回附件标识 mediaId; 用于「文件」类消息, 与图片/视频先上传到 CDN 拿地址不是同一件事。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UploadAppAttachModel",
                "summary": "body",
                "description": "文件 base64 内容"
              }
            }
          },
          "description": "文件 base64 内容",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_MsgUploadAppAttachData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示上传成功, Data 为附件上传响应(Key 保持 PascalCase; mediaId 即后续发文件消息用的 attachid)"
          }
        },
        "summary": "上传文件(通用附件通道)",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/UploadFileCDN": {
      "post": {
        "description": "把任意文件上传到微信 CDN, 返回 cdnUrl/aesKey/md5/length —— 用于 type=6 文件消息组装。\nToWxid 完全可选: 仅作为 CDN 上传上下文, 不传默认 filehelper。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UploadFileCdnModel",
                "summary": "body",
                "description": "FileBase64: 文件 base64"
              }
            }
          },
          "description": "FileBase64: 文件 base64",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.DTO"
                }
              }
            },
            "description": "Data: {cdnUrl, aesKey, md5, length}"
          }
        },
        "summary": "上传文件到 CDN",
        "tags": [
          "消息"
        ]
      }
    },
    "/message/UploadImageCDN": {
      "post": {
        "description": "把图片上传到微信 CDN(缩略图=原图字节, 不压缩), 返回 cdnUrl(CDN key)/aesKey/md5/尺寸/fileKey\n—— 用于卡片消息的 appattach.cdnthumburl+cdnthumbaeskey 组装。全程不产生任何聊天消息。\nToWxid 完全可选: 仅作为 CDN 上传上下文, 不传默认 filehelper。",
        "parameters": [
          {
            "description": "账号唯一标识",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UploadImageCdnModel",
                "summary": "body",
                "description": "ImageContent: 图片 base64(可带 data:image/...;base64, 前缀); ToWxid 可选"
              }
            }
          },
          "description": "ImageContent: 图片 base64(可带 data:image/...;base64, 前缀); ToWxid 可选",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.DTO"
                }
              }
            },
            "description": "Data: {cdnUrl, aesKey, md5, length, width, height, fileKey}"
          }
        },
        "summary": "上传图片到 CDN",
        "tags": [
          "消息"
        ]
      }
    },
    "/mp/AuthLogin": {
      "post": {
        "description": "按 Scene 对公众号登录/验证链接执行不同授权动作, 内部 Opcode 固定为 2。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetMpA8KeyModel",
                "summary": "body",
                "description": "授权链接与 Scene"
              }
            }
          },
          "description": "授权链接与 Scene",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示已执行对应授权动作, Data 为微信网页响应文本"
          }
        },
        "summary": "公众号扫码授权登录/验证",
        "tags": [
          "公众号"
        ]
      }
    },
    "/mp/Follow": {
      "post": {
        "description": "按 gh 列表并发关注公众号, 返回每个公众号的关注结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FollowGHModel",
                "summary": "body",
                "description": "要关注的公众号列表"
              }
            }
          },
          "description": "要关注的公众号列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-array_vo_FollowGHResultItem"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示批量流程结束(逐个结果见 Data 数组)"
          }
        },
        "summary": "批量关注公众号",
        "tags": [
          "公众号"
        ]
      }
    },
    "/mp/GetA8Key": {
      "post": {
        "description": "针对公众号文章/授权链接请求微信解析, 返回带鉴权信息的完整链接。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetMpA8KeyModel",
                "summary": "body",
                "description": "公众号链接与操作码"
              }
            }
          },
          "description": "公众号链接与操作码",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示解析成功, Data 为微信侧 链接解析Resp 原始响应"
          }
        },
        "summary": "解析公众号链接获取授权上下文",
        "tags": [
          "公众号"
        ]
      }
    },
    "/mp/GetA8Key3Rd": {
      "post": {
        "description": "解析第三方页面/App 跳转链接, 返回跳转后的完整链接与授权上下文; 公众号链接请用 /mp/GetA8Key。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetA8KeyRequestModel",
                "summary": "body",
                "description": "待解析链接与场景参数"
              }
            }
          },
          "description": "待解析链接与场景参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示解析成功, Data 为链接解析原始响应(含 FullURL/HttpHeader 等)"
          }
        },
        "summary": "解析链接获取授权上下文(第三方通道)",
        "tags": [
          "公众号"
        ]
      }
    },
    "/mp/GetAppMsgExt": {
      "post": {
        "description": "以登录身份打开公众号文章并上报一次阅读, 返回 getappmsgext 接口的原始 JSON 文本。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ReadParam",
                "summary": "body",
                "description": "公众号文章链接"
              }
            }
          },
          "description": "公众号文章链接",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示阅读上报成功, Data 为微信 getappmsgext 的 JSON 文本"
          }
        },
        "summary": "阅读公众号文章并上报",
        "tags": [
          "公众号"
        ]
      }
    },
    "/mp/GetAppMsgExtLike": {
      "post": {
        "description": "先上报一次阅读以取得 appmsg_token, 再对文章执行点赞, 返回阅读与点赞两次响应。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ReadParam",
                "summary": "body",
                "description": "公众号文章链接"
              }
            }
          },
          "description": "公众号文章链接",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_AppMsgLikeData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示点赞流程结束, Data 含 read/like 两段原始响应文本"
          }
        },
        "summary": "点赞公众号文章",
        "tags": [
          "公众号"
        ]
      }
    },
    "/mp/GetAppMsgReadCount": {
      "post": {
        "description": "解析文章页提取阅读数, 并返回带鉴权参数的文章完整链接。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ReadParam",
                "summary": "body",
                "description": "公众号文章链接"
              }
            }
          },
          "description": "公众号文章链接",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_AppMsgReadCountData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示取到阅读数, Data 见 AppMsgReadCountData"
          }
        },
        "summary": "获取公众号文章阅读数",
        "tags": [
          "公众号"
        ]
      }
    },
    "/mp/GetHistoryMessage": {
      "post": {
        "description": "先解析链接拿到授权上下文, 再抓取该公众号的历史消息页面内容。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetMpHistoryMsgModel",
                "summary": "body",
                "description": "公众号历史消息页链接"
              }
            }
          },
          "description": "公众号历史消息页链接",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 且 Text=成功 时 Data 为历史消息页 HTML 文本"
          }
        },
        "summary": "获取公众号历史消息",
        "tags": [
          "公众号"
        ]
      }
    },
    "/mp/Unfollow": {
      "post": {
        "description": "对指定公众号执行取消关注。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.MpUnfollowModel",
                "summary": "body",
                "description": "请求参数(Appid 必填)"
              }
            }
          },
          "description": "请求参数(Appid 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_MpUnfollowData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示取关已下发"
          }
        },
        "summary": "取消关注公众号",
        "tags": [
          "公众号"
        ]
      }
    },
    "/oauth/JsapiPreVerify": {
      "post": {
        "description": "校验页面链接与公众号 JS 接口的授权配置是否就绪。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.OauthJsapiPreVerifyModel",
                "summary": "body",
                "description": "请求参数(Url/Appid 必填)"
              }
            }
          },
          "description": "请求参数(Url/Appid 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_OauthJsapiPreVerifyData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示校验完成"
          }
        },
        "summary": "JSAPI 授权预检",
        "tags": [
          "OAuth授权"
        ]
      }
    },
    "/oauth/QRConnectAuthorize": {
      "post": {
        "description": "解析网页扫码登录二维码 URL, 向微信发起一次授权请求。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QRConnectAuthorizeModel",
                "summary": "body",
                "description": "扫码登录链接"
              }
            }
          },
          "description": "扫码登录链接",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示发起成功, Data 为微信侧 QRConnectAuthorizeResp 原始响应"
          }
        },
        "summary": "发起扫码授权登录",
        "tags": [
          "OAuth授权"
        ]
      }
    },
    "/oauth/QRConnectAuthorizeConfirm": {
      "post": {
        "description": "对扫码登录请求做确认, 完成网页端登录授权。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QRConnectAuthorizeModel",
                "summary": "body",
                "description": "扫码登录链接"
              }
            }
          },
          "description": "扫码登录链接",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示确认成功, Data 为微信侧 SdkOauthAuthorizeConfirmNewResp 原始响应"
          }
        },
        "summary": "确认扫码授权登录",
        "tags": [
          "OAuth授权"
        ]
      }
    },
    "/oauth/SdkAuthorize": {
      "post": {
        "description": "以 AppId/SdkName/PackageName 向微信发起 App 应用(sdk)授权。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.AppletModel",
                "summary": "body",
                "description": "App 授权参数(AppId/SdkName/PackageName)"
              }
            }
          },
          "description": "App 授权参数(AppId/SdkName/PackageName)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示授权成功, Data 为微信侧 SdkOauthAuthorizeConfirmNewResp 原始响应"
          }
        },
        "summary": "App 应用授权",
        "tags": [
          "OAuth授权"
        ]
      }
    },
    "/oauth/WebAuthorize": {
      "post": {
        "description": "以公众号授权页链接完成网页端授权。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.OauthWebAuthorizeModel",
                "summary": "body",
                "description": "请求参数(Url 必填)"
              }
            }
          },
          "description": "请求参数(Url 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_OauthWebAuthorizeData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data.ret 为服务端返回码"
          }
        },
        "summary": "公众号网页授权",
        "tags": [
          "OAuth授权"
        ]
      }
    },
    "/pay/Collectmoney": {
      "post": {
        "description": "对一条转账/收款单执行确认收款(对应微信, op=confirm), total_fee 固定传 0。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.CollectmoneyModel",
                "summary": "body",
                "description": "收款参数(字段名以 json tag 为准)"
              }
            }
          },
          "description": "收款参数(字段名以 json tag 为准)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayTenPayRespData"
                }
              }
            },
            "description": "Code=200 表示微信已受理收款请求(Data 为微信原始响应); 不代表资金立即到账"
          }
        },
        "summary": "确认收款(向指定账户收款)",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/ConfirmPreTransfer": {
      "post": {
        "description": "对 /pay/CreatePreTransfer 创建的转账单做确认付款, 需要支付密码。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ConfirmPreTransfer",
                "summary": "body",
                "description": "确认转账参数"
              }
            }
          },
          "description": "确认转账参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayTenPayRespData"
                }
              }
            },
            "description": "Code=200 表示微信已受理确认(Data 为微信原始响应); 实际到账以微信为准"
          }
        },
        "summary": "确认转账(输入密码付款)",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/CreatePreTransfer": {
      "post": {
        "description": "向指定微信好友发起一笔转账, 返回确认转账所需的一次性 ReqKey。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.CreatePreTransfer",
                "summary": "body",
                "description": "转账参数"
              }
            }
          },
          "description": "转账参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayPreTransferData"
                }
              }
            },
            "description": "Code=200 表示转账单创建成功; 取 Data.req_key 调 /pay/ConfirmPreTransfer 完成付款"
          }
        },
        "summary": "发起转账(创建转账单)",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/DeleteBillRecord": {
      "post": {
        "description": "删除一条收款账单记录。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DeleteBillRecordModel",
                "summary": "body",
                "description": "请求参数(BillId 必填)"
              }
            }
          },
          "description": "请求参数(BillId 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayBillData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "删除收款账单记录",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/FaceToFaceQrcode": {
      "post": {
        "description": "获取当前账号的面对面收款码。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.FaceToFaceQrcodeModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_FaceToFaceQrcodeData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data.url 为收款码内容"
          }
        },
        "summary": "面对面收款码",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GeneratePayQCode": {
      "post": {
        "description": "按指定备注与金额生成个人收款码/收款链接(对应微信, pay_scene=31)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GeneratePayQCodeModel",
                "summary": "body",
                "description": "收款参数"
              }
            }
          },
          "description": "收款参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayQCodeData"
                }
              }
            },
            "description": "Code=200 表示出码成功, Data.pay_url 为收款链接; 失败时 Code=300"
          }
        },
        "summary": "生成自定义金额收款码",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GetBandCardList": {
      "post": {
        "description": "查询该登录账号在微信支付中的银行卡列表、零钱余额与支付开关信息。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayBandCardData"
                }
              }
            },
            "description": "Code=200 表示查询成功; Code=300 表示账号未登录或离线; Code=-2 表示 key 不存在"
          }
        },
        "summary": "获取绑定银行卡与零钱信息",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GetBillDetail": {
      "post": {
        "description": "按 ReqKey 查询账单/订单详情(交易状态/金额/商户/商品名等), Data.ret 为服务端 JSON。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetBillDetailModel",
                "summary": "body",
                "description": "请求参数(ReqKey 必填)"
              }
            }
          },
          "description": "请求参数(ReqKey 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayBillData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取账单/订单详情",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GetBillList": {
      "post": {
        "description": "分页拉取收款账单(二维码收款记录), lastBillId 翻页; Data.ret 为服务端 JSON。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetBillListModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayBillData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取收款账单列表",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GetBillStats": {
      "post": {
        "description": "拉取收款账单的按日/分组汇总, 返回的分组 type 可用于列表筛选。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetBillStatsModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayBillData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "收款账单统计(按日/分组)",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GetRedEnvelopesDetail": {
      "post": {
        "description": "查询指定红包的详情、总/剩余个数与金额、以及已领取记录。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/baseinfo.HongBaoItem",
                "summary": "body",
                "description": "红包项"
              }
            }
          },
          "description": "红包项",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayRedEnvelopeDetailData"
                }
              }
            },
            "description": "Code=200 表示查询成功, Data 为微信侧 JSON 字符串(需二次解析)"
          }
        },
        "summary": "查看红包详情与领取记录",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GetRedPacketList": {
      "post": {
        "description": "分页查询该账号历史领取红包的记录与累计领取金额。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/baseinfo.GetRedPacketList",
                "summary": "body",
                "description": "分页与过滤参数"
              }
            }
          },
          "description": "分页与过滤参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayRedPacketListData"
                }
              }
            },
            "description": "Code=200 表示查询成功, Data 为微信侧 JSON 字符串(需二次解析)"
          }
        },
        "summary": "查询已领取红包记录",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GetRedPacketRecordList": {
      "post": {
        "description": "分页拉取红包收发记录, 支持按年份筛选。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetRedPacketRecordListModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayBillData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取红包记录(按年份筛选)",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/GetTransferDetail": {
      "post": {
        "description": "按 TransferId 查询转账单详情(状态/金额/双方/时间), Data.ret 为服务端 JSON。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetTransferDetailModel",
                "summary": "body",
                "description": "请求参数(TransferId 必填)"
              }
            }
          },
          "description": "请求参数(TransferId 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayBillData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取转账单详情",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/OpenRedEnvelopes": {
      "post": {
        "description": "拆开指定红包并领取金额, 支持群红包与单聊红包。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/baseinfo.HongBaoItem",
                "summary": "body",
                "description": "红包项"
              }
            }
          },
          "description": "红包项",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayHongBaoResData"
                }
              }
            },
            "description": "Code=200 表示微信已返回结果(不代表一定领到钱); 领取详情看 Data.retText"
          }
        },
        "summary": "拆红包(领取金额)",
        "tags": [
          "支付"
        ]
      }
    },
    "/pay/WXCreateRedPacket": {
      "post": {
        "description": "按指定类型、人数、金额与祝福语创建一个微信红包(个人红包或群红包)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/baseinfo.RedPacket",
                "summary": "body",
                "description": "红包参数"
              }
            }
          },
          "description": "红包参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PayHongBaoResData"
                }
              }
            },
            "description": "Code=200 表示微信已受理创建请求; 实际发放结果见 Data.retText"
          }
        },
        "summary": "创建微信红包并发出",
        "tags": [
          "支付"
        ]
      }
    },
    "/sayhello/GetPeopleNearby": {
      "post": {
        "description": "按经纬度搜索附近开启了「附近的人」的微信用户。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.PeopleNearbyModel",
                "summary": "body",
                "description": "定位坐标"
              }
            }
          },
          "description": "定位坐标",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示搜索成功, Data 为微信侧原始响应"
          }
        },
        "summary": "查看附近的人",
        "tags": [
          "打招呼"
        ]
      }
    },
    "/sayhello/SayHelloByAccount": {
      "post": {
        "description": "传入对方的微信号/手机号与招呼语，服务端先搜索出目标用户，再发送好友申请。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SayHelloByAccountModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示好友申请已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "按微信号/手机号打招呼",
        "tags": [
          "打招呼"
        ]
      }
    },
    "/sayhello/SayHelloByQrcode": {
      "post": {
        "description": "传入二维码链接与招呼语，服务端先按链接找到目标用户，再发送好友申请。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SayHelloByQrcodeModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示好友申请已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "扫码打招呼",
        "tags": [
          "打招呼"
        ]
      }
    },
    "/sayhello/SayHelloByVerifyData": {
      "post": {
        "description": "直接使用已获得的用户标识与校验票据发送好友申请，不重复搜索。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SayHelloByVerifyDataModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示好友申请已发送, Data 为微信侧原始响应"
          }
        },
        "summary": "用已有验证数据打招呼",
        "tags": [
          "打招呼"
        ]
      }
    },
    "/search/BizSearch": {
      "post": {
        "description": "按关键词搜索公众号文章等内容, 按业务类型分块返回结构化结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.BizSearchModel",
                "summary": "body",
                "description": "请求参数(Keyword 必填)"
              }
            }
          },
          "description": "请求参数(Keyword 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_BizSearchData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data.blocks 为分块结果"
          }
        },
        "summary": "公众号内容搜索",
        "tags": [
          "微信搜一搜"
        ]
      }
    },
    "/search/WebSearch": {
      "post": {
        "description": "按关键词获取微信搜一搜的相关搜索词与联想词列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WebSearchModel",
                "summary": "body",
                "description": "请求参数(Keyword 必填)"
              }
            }
          },
          "description": "请求参数(Keyword 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_PardusSearchData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data.relatedWords 为相关搜索词列表"
          }
        },
        "summary": "搜一搜搜索(联想词+相关搜索)",
        "tags": [
          "微信搜一搜"
        ]
      }
    },
    "/shop/ExtDeviceLoginConfirmGet": {
      "post": {
        "description": "对登录二维码 URL 调 拉取该次外部设备(网页/PC)登录的确认信息, 供调用方展示。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ShopLoginConfirmModel",
                "summary": "body",
                "description": "登录二维码 URL"
              }
            }
          },
          "description": "登录二维码 URL",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ShopExtDeviceLoginGetData"
                }
              }
            },
            "description": "Code=200 表示取到确认信息, Data.ConfirmData(base64) 为微信侧原始确认数据"
          }
        },
        "summary": "获取外部设备登录确认信息",
        "tags": [
          "微信小店"
        ]
      }
    },
    "/shop/ExtDeviceLoginConfirmOk": {
      "post": {
        "description": "对登录二维码 URL 对应的外部设备登录请求做「同意」确认, 完成该设备授权(腾讯)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ShopLoginConfirmModel",
                "summary": "body",
                "description": "登录二维码 URL"
              }
            }
          },
          "description": "登录二维码 URL",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ShopExtDeviceLoginOkData"
                }
              }
            },
            "description": "Code=200 表示已确认; Data.Status/Message/ResultData 为微信侧返回"
          }
        },
        "summary": "确认外部设备登录",
        "tags": [
          "微信小店"
        ]
      }
    },
    "/shop/GetProductDetail": {
      "post": {
        "description": "拉取小店商品详情: 标题/价格/销量/图片/SKU 可选规格列表等。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ShopProductDetailModel",
                "summary": "body",
                "description": "请求参数(ProductId 必填)"
              }
            }
          },
          "description": "请求参数(ProductId 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ShopProductDetailData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取商品详情(含可选规格SKU)",
        "tags": [
          "微信小店"
        ]
      }
    },
    "/shop/GetShareProductInfo": {
      "post": {
        "description": "拉取商品卡片信息: 完整商品资料(SKU)/店铺 logo/直播状态。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ShopShareProductModel",
                "summary": "body",
                "description": "请求参数(FinderUsername/ProductId 必填)"
              }
            }
          },
          "description": "请求参数(FinderUsername/ProductId 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ShopShareProductData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取商品分享卡片信息",
        "tags": [
          "微信小店"
        ]
      }
    },
    "/shop/GetShelf": {
      "post": {
        "description": "拉取小店货架: 商品列表、商品分类、商品总数、店铺橱窗资料。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ShopShelfModel",
                "summary": "body",
                "description": "请求参数(AnchorFinderUsername 必填)"
              }
            }
          },
          "description": "请求参数(AnchorFinderUsername 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ShopShelfData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "获取店铺货架商品列表+分类",
        "tags": [
          "微信小店"
        ]
      }
    },
    "/shop/ScanQrcodeEventReport": {
      "post": {
        "description": "把扫码事件上报到微信侧, 模拟用户已扫码行为(腾讯)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ShopLoginConfirmModel",
                "summary": "body",
                "description": "登录二维码 URL"
              }
            }
          },
          "description": "登录二维码 URL",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ShopScanQrcodeReportData"
                }
              }
            },
            "description": "Code=200 表示上报成功"
          }
        },
        "summary": "上报扫码事件",
        "tags": [
          "微信小店"
        ]
      }
    },
    "/shop/ShopLoginConfirm": {
      "post": {
        "description": "对微信小店/外部设备登录二维码 URL 一次性完成链接解析、扫码上报、取确认信息与确认登录全流程。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ShopLoginConfirmModel",
                "summary": "body",
                "description": "登录二维码 URL"
              }
            }
          },
          "description": "登录二维码 URL",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_ShopExtDeviceLoginOkData"
                }
              }
            },
            "description": "Code=200 表示四步全部执行完成(Data 为确认登录的原始响应); 任一步失败返回 Code=300"
          }
        },
        "summary": "小店扫码登录一键确认",
        "tags": [
          "微信小店"
        ]
      }
    },
    "/sns/CdnSnsVideoUpload": {
      "post": {
        "description": "把 base64 编码的视频与封面缩略图上传到微信 CDN, 返回可用于发朋友圈的 CDN 标识。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.CdnSnsVideoUploadModel",
                "summary": "body",
                "description": "视频与缩略图数据"
              }
            }
          },
          "description": "视频与缩略图数据",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示上传成功, Data 为微信侧 CdnSnsVideoUploadResponse 原始响应(含 fileId/aesKey 等, 字段以微信返回为准)"
          }
        },
        "summary": "上传朋友圈视频到 CDN",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/DownloadMedia": {
      "post": {
        "description": "按 encKey 与 CDN 地址下载朋友圈视频, 返回视频二进制数据(base64)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DownloadMediaModel",
                "summary": "body",
                "description": "视频下载参数"
              }
            }
          },
          "description": "视频下载参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示下载成功, Data 为视频二进制(base64 字符串)"
          }
        },
        "summary": "下载朋友圈视频原始数据",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/GetCollectCircle": {
      "post": {
        "description": "按收藏项关联的朋友圈 ID 反查该动态的原始对象详情。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendFavItemCircle",
                "summary": "body",
                "description": "收藏项对应的朋友圈 ID(其余字段本接口不使用)"
              }
            }
          },
          "description": "收藏项对应的朋友圈 ID(其余字段本接口不使用)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示取到详情, Data 为微信侧 SnsObject 原始响应"
          }
        },
        "summary": "获取收藏朋友圈详情",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/GetSnsSync": {
      "post": {
        "description": "拉取服务端新产生的朋友圈动态并刷新账号的 SnsSyncKey。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-baseinfo_SnsSyncResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示同步成功, Data 见 baseinfo.SnsSyncResp(ContinueFlag/SnsSyncKey/SnsCount/SnsItems)"
          }
        },
        "summary": "增量同步朋友圈新动态",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendFavItemCircle": {
      "post": {
        "description": "把收藏夹中的指定朋友圈转发到自己的朋友圈, 成功后自动删除该收藏项。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendFavItemCircle",
                "summary": "body",
                "description": "转发与收藏参数"
              }
            }
          },
          "description": "转发与收藏参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示转发成功, Data 固定为 \"ok"
          }
        },
        "summary": "转发收藏的朋友圈",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendFriendCircle": {
      "post": {
        "description": "用结构化的文本/图片/视频/位置参数发布一条朋友圈, 返回微信侧发布响应。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SnsPostItemModel",
                "summary": "body",
                "description": "朋友圈内容参数"
              }
            }
          },
          "description": "朋友圈内容参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示发布成功, Data 为微信侧 SnsPostResponse 原始响应(含动态 ID 等, 字段以微信返回为准)"
          }
        },
        "summary": "发布朋友圈(结构化参数)",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendFriendCircleByXMl": {
      "post": {
        "description": "直接以 TimelineObject 结构(等价于微信朋友圈 XML)发布动态, 适合引用/复杂形态。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/vo.TimelineObjectDoc",
                "summary": "body",
                "description": "朋友圈 TimelineObject(XML 等价结构)"
              }
            }
          },
          "description": "朋友圈 TimelineObject(XML 等价结构)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示发送成功, Data 为 null"
          }
        },
        "summary": "按 XML 结构发布朋友圈",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendOneIdCircle": {
      "post": {
        "description": "按朋友圈 ID 拉取原文并一键转发到自己的朋友圈。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetIdDetailModel",
                "summary": "body",
                "description": "目标动态 ID 与转发可见性参数"
              }
            }
          },
          "description": "目标动态 ID 与转发可见性参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示转发成功, Data 固定为 \"ok"
          }
        },
        "summary": "一键转发指定朋友圈",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendSnsComment": {
      "post": {
        "description": "对一条或多条朋友圈并发执行点赞/评论, 返回每条的执行结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendSnsCommentRequestModel",
                "summary": "body",
                "description": "点赞/评论列表"
              }
            }
          },
          "description": "点赞/评论列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-array_vo_SnsCommentResultItem"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示批量流程结束(逐条结果见 Data 数组)"
          }
        },
        "summary": "批量点赞或评论朋友圈",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendSnsObjectDetailById": {
      "post": {
        "description": "按朋友圈动态 ID 拉取该条动态的完整原始对象。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetIdDetailModel",
                "summary": "body",
                "description": "目标动态 ID(其余字段本接口不使用)"
              }
            }
          },
          "description": "目标动态 ID(其余字段本接口不使用)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示取到动态, Data 为微信侧 SnsObject 原始响应"
          }
        },
        "summary": "按 ID 获取朋友圈详情",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendSnsObjectOp": {
      "post": {
        "description": "对若干条朋友圈批量下发操作指令(如删除、设为私密等), 返回微信侧操作响应。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendSnsObjectOpRequestModel",
                "summary": "body",
                "description": "朋友圈操作列表"
              }
            }
          },
          "description": "朋友圈操作列表",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示操作已下发, Data 为微信侧 SnsObjectOpResponse 原始响应"
          }
        },
        "summary": "批量执行朋友圈操作指令",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendSnsTimeLine": {
      "post": {
        "description": "拉取朋友圈主页(好友动态流)的第一页或翻页数据, 返回微信侧时间线响应。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetSnsInfoModel",
                "summary": "body",
                "description": "时间线拉取参数"
              }
            }
          },
          "description": "时间线拉取参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示拉取成功, Data 为微信侧 SnsTimeLineResponse 原始响应(ObjectList 等字段以微信返回为准)"
          }
        },
        "summary": "获取朋友圈时间线主页",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SendSnsUserPage": {
      "post": {
        "description": "拉取某个好友的个人朋友圈列表(分页), 返回微信侧响应且已解析每条动态 XML。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetSnsInfoModel",
                "summary": "body",
                "description": "目标好友与翻页参数"
              }
            }
          },
          "description": "目标好友与翻页参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示拉取成功, Data 为微信侧 SnsUserPageResponseNew 原始响应"
          }
        },
        "summary": "获取指定好友的朋友圈",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SetBackgroundImage": {
      "post": {
        "description": "通过发布一条 contentStyle=7 的特殊动态来更换朋友圈封面背景图。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SetBackgroundImageModel",
                "summary": "body",
                "description": "背景图参数"
              }
            }
          },
          "description": "背景图参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示设置成功, Data 为微信侧 SnsPostResponse 原始响应"
          }
        },
        "summary": "设置朋友圈背景图",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/SetFriendCircleDays": {
      "post": {
        "description": "修改「允许朋友查看朋友圈的范围」, 例如三天/一个月/半年/全部。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SetFriendCircleDaysModel",
                "summary": "body",
                "description": "可见天数设置参数"
              }
            }
          },
          "description": "可见天数设置参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示设置成功, Data 固定为 \"ok"
          }
        },
        "summary": "设置朋友圈可见天数",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/Upload": {
      "post": {
        "description": "走微信原生分片通道上传朋友圈图片，返回可直接用于发朋友圈的图片地址。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SnsUploadModel",
                "summary": "body",
                "description": "请求参数(Base64 必填)"
              }
            }
          },
          "description": "请求参数(Base64 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_SnsUploadData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示上传完成, Data.bufferUrl 为图片地址"
          }
        },
        "summary": "朋友圈图片上传",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/sns/UploadFriendCircleImage": {
      "post": {
        "description": "把 base64 图片并发上传到微信 CDN, 返回每张图片的 MD5 标识与上传结果。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UploadFriendCircleModel",
                "summary": "body",
                "description": "图片上传参数"
              }
            }
          },
          "description": "图片上传参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-array_vo_SnsUploadImageItem"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示上传流程结束(逐张结果见 Data 数组)"
          }
        },
        "summary": "批量上传朋友圈图片到 CDN",
        "tags": [
          "朋友圈"
        ]
      }
    },
    "/user/BindEmail": {
      "post": {
        "description": "给当前微信账号绑定一个邮箱地址。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.BindEmailModel",
                "summary": "body",
                "description": "请求参数(Email 必填)"
              }
            }
          },
          "description": "请求参数(Email 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_BindEmailData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data.ret 为微信侧返回码"
          }
        },
        "summary": "绑定邮箱",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/BindMobile": {
      "post": {
        "description": "提交短信验证码完成手机号绑定。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.BindOpMobileModel",
                "summary": "body",
                "description": "请求参数(Mobile/Verifycode 必填)"
              }
            }
          },
          "description": "请求参数(Mobile/Verifycode 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_BindOpMobileData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data.ret 为微信侧返回码"
          }
        },
        "summary": "绑定手机号",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/BindQQ": {
      "post": {
        "description": "给当前微信账号绑定一个 QQ 号。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.BindQQModel",
                "summary": "body",
                "description": "请求参数(Account 必填)"
              }
            }
          },
          "description": "请求参数(Account 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_BindQQData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data.ret 为微信侧返回码"
          }
        },
        "summary": "绑定 QQ",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/ChangePwd": {
      "post": {
        "description": "修改当前账号的微信密码, 需同时提供旧密码与新密码。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendChangePwdRequestModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示改密请求已被微信接受, Data 为微信侧基础响应"
          }
        },
        "summary": "修改微信登录密码",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/GetMyQrCode": {
      "post": {
        "description": "生成当前登录账号的个人微信二维码名片。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.GetQrCodeModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示出码成功, Data 为微信侧原始出码响应"
          }
        },
        "summary": "获取我的个人二维码",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/GetProfile": {
      "get": {
        "description": "向微信拉取当前登录账号的个人资料(昵称、头像、签名、地区等)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示取到资料, Data 为微信侧原始资料对象"
          }
        },
        "summary": "获取个人资料详细信息",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/GetUserRankLikeCount": {
      "post": {
        "description": "按排行榜 ID 拉取好友步数与点赞排行数据。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UserRankLikeModel",
                "summary": "body",
                "description": "排行榜 ID"
              }
            }
          },
          "description": "排行榜 ID",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功, Data 为微信侧原始响应"
          }
        },
        "summary": "获取微信运动步数排行",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/ModifyRemark": {
      "post": {
        "description": "为指定好友设置新的备注名(留空表示清空备注)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SendModifyRemarkRequestModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改成功, Data 为 null"
          }
        },
        "summary": "修改好友备注",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/ModifyUserInfo": {
      "post": {
        "description": "一次性修改昵称、个性签名、性别、地区等个人资料字段。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.ModifyUserInfo",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改成功, Data 为 null"
          }
        },
        "summary": "修改个人资料",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/ResetGender": {
      "post": {
        "description": "把个人资料性别重置为「未设置」, 其余资料字段一并按空值下发。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示重置成功, Data 为 null"
          }
        },
        "summary": "重置性别为未设置",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/SendVerifyMobile": {
      "post": {
        "description": "向待绑定手机号发送短信验证码。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.BindOpMobileModel",
                "summary": "body",
                "description": "请求参数(Mobile 必填)"
              }
            }
          },
          "description": "请求参数(Mobile 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_BindOpMobileData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出"
          }
        },
        "summary": "绑定手机号: 发送验证码",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/SetFunctionSwitch": {
      "post": {
        "description": "修改「添加我的方式」中某一项的开关(如微信号、手机号、群聊、二维码等)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxFunctionSwitchModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示设置成功, Data 固定为字符串 \"ok"
          }
        },
        "summary": "设置添加我的方式",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/SetNickName": {
      "post": {
        "description": "修改当前账号的微信昵称(修改场景固定为昵称)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UpdateNickNameModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改成功, Data 为 null"
          }
        },
        "summary": "设置微信昵称",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/SetProxy": {
      "post": {
        "description": "为指定账号设置或清除 socks5 代理, 可选择再触发一次真实登录检测。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SetProxyModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示代理已设置, Data 结构见下方说明"
          }
        },
        "summary": "修改 Socks5 代理",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/SetSendPat": {
      "post": {
        "description": "设置当前账号被拍一拍时展示的自定义后缀名称。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SetSendPatModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示设置成功, Data 固定为字符串 \"ok"
          }
        },
        "summary": "设置拍一拍名称",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/SetSexDq": {
      "post": {
        "description": "修改账号性别, 可同时更新地区(国家/省/市)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UpdateSexModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改成功, Data 为 null"
          }
        },
        "summary": "修改性别",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/SetSignature": {
      "post": {
        "description": "修改当前账号的个性签名(修改场景固定为签名)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UpdateNickNameModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改成功, Data 为 null"
          }
        },
        "summary": "修改个性签名",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/SetWechat": {
      "post": {
        "description": "为当前账号设置/修改微信号(alias)。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.AlisaModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示设置请求已被微信接受, Data 为微信侧原始响应"
          }
        },
        "summary": "设置微信号",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/UpdateAutoPass": {
      "post": {
        "description": "修改「加好友是否需要验证」的属性开关。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UpdateAutopassModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改成功, Data 为 null"
          }
        },
        "summary": "修改加好友验证开关",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/UpdateNickName": {
      "post": {
        "description": "按 scene 指定的场景修改昵称或个性签名。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UpdateNickNameModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_Empty"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改成功, Data 为 null"
          }
        },
        "summary": "修改昵称或签名",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/UpdateStepNumber": {
      "post": {
        "description": "把当前账号的微信运动步数上报为指定数值。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UpdateStepNumberModel",
                "summary": "body",
                "description": "目标步数"
              }
            }
          },
          "description": "目标步数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示上报成功, Data 为微信侧原始响应"
          }
        },
        "summary": "修改微信运动步数",
        "tags": [
          "用户"
        ]
      }
    },
    "/user/UploadHeadImage": {
      "post": {
        "description": "上传并设置当前账号的微信头像。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.UploadHeadImageModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示上传成功, Data 为微信侧原始上传响应"
          }
        },
        "summary": "上传头像",
        "tags": [
          "用户"
        ]
      }
    },
    "/wecom/QWAcceptChatRoom": {
      "post": {
        "description": "解析企业群邀请链接并执行「同意入群」; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAcceptChatRoomModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWAcceptChatRoomData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示 geta8key 解析成功, Data 为企业微信原始返回"
          }
        },
        "summary": "同意进企业群(解析邀请链接)",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWAddChatRoomMember": {
      "post": {
        "description": "把指定成员一次性拉入企业群(无需对方确认); 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAddChatRoomMemberModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWAddChatRoomMemberData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示拉人请求已受理, Data 含各成员处理结果"
          }
        },
        "summary": "直接拉好友进企业群",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWAddContact": {
      "post": {
        "description": "向目标企业联系人发起「单向添加」好友请求; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWApplyAddContactModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data 固定为字符串 ok"
          }
        },
        "summary": "单向添加企业联系人",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWAdminAcceptJoinChatRoomSet": {
      "post": {
        "description": "开启/关闭企业群的「管理审核进群」; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAdminAcceptJoinChatRoomSetModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWTransferOwnerData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示设置已下发, Data 仅含微信侧基础响应"
          }
        },
        "summary": "设定企业群入群审核开关",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWApplyAddContact": {
      "post": {
        "description": "向目标企业联系人发送打招呼/验证语申请添加对方; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWApplyAddContactModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data 固定为字符串 ok"
          }
        },
        "summary": "向企业联系人打招呼申请",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWAppointChatRoomAdmin": {
      "post": {
        "description": "把指定成员设为该企业群的管理员; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAddChatRoomMemberModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWTransferOwnerData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示任命已下发, Data 仅含微信侧基础响应"
          }
        },
        "summary": "设置企业群管理员",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWChatRoomAnnounce": {
      "post": {
        "description": "在当前企业群发布/更新群公告; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWModChatRoomNameModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWTransferOwnerData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示公告已下发, Data 仅含微信侧基础响应"
          }
        },
        "summary": "发布企业群公告",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWChatRoomTransferOwner": {
      "post": {
        "description": "把企业群群主转让给指定成员; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWChatRoomTransferOwnerModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWProtoBaseResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示转让已下发, Data 为微信侧基础响应"
          }
        },
        "summary": "转让企业群群主",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWContact": {
      "post": {
        "description": "按 wxid 提取单个企业联系人详情(可指定所在群); 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWContactModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWContactData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示查询成功, Data 含联系人列表"
          }
        },
        "summary": "提取企业联系人详情",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWCreateChatRoom": {
      "post": {
        "description": "创建一个企业群并拉入指定初始成员; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWCreateModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWCreateChatRoomData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示建群成功, Data.Username 为新群 ID"
          }
        },
        "summary": "创建企业微信群",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWDelChatRoom": {
      "post": {
        "description": "让当前账号退出指定企业群(群主则解散); 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWModChatRoomNameModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWTransferOwnerData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示退群已下发, Data 仅含微信侧基础响应"
          }
        },
        "summary": "退出/解散企业群",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWDelChatRoomAdmin": {
      "post": {
        "description": "取消指定成员的企业群管理员身份; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAddChatRoomMemberModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWTransferOwnerData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示移除已下发, Data 仅含微信侧基础响应"
          }
        },
        "summary": "移除企业群管理员",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWDelChatRoomMember": {
      "post": {
        "description": "把指定成员移出企业群; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAddChatRoomMemberModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWDelChatRoomMemberData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示移出已受理, Data 含各成员处理结果"
          }
        },
        "summary": "移出企业群成员",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWGetChatRoomMember": {
      "post": {
        "description": "拉取指定企业群的成员明细列表; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAddChatRoomMemberModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWGetChatRoomMemberData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示查询成功, Data 含群成员明细"
          }
        },
        "summary": "提取企业群全部成员",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWGetChatRoomQR": {
      "post": {
        "description": "获取指定企业群的入群二维码; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAddChatRoomMemberModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWGetChatRoomQRData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示取码成功, Data 含二维码数据"
          }
        },
        "summary": "提取企业群二维码",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWGetChatroomInfo": {
      "post": {
        "description": "获取企业群的名称、公告、群主、人数上限等设定信息; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAddChatRoomMemberModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWGetChatroomInfoData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示查询成功, Data.info 为群设定信息"
          }
        },
        "summary": "提取企业群基本信息",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWImageDownload": {
      "post": {
        "description": "传入企微图片消息 XML，服务端解析出 AesKey 与文件 URL 后走 CDN 下载。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.DownloadQWImageModel",
                "summary": "body",
                "description": "企微图片消息 XML"
              }
            }
          },
          "description": "企微图片消息 XML",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示下载成功, Data 为 CDN 下载原始响应"
          }
        },
        "summary": "企微图片下载(传消息 XML)",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWInviteChatRoomMember": {
      "post": {
        "description": "向指定成员发送企业群邀请(需对方确认入群); 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWAddChatRoomMemberModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWProtoBaseResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示邀请已发出, Data 为微信侧基础响应"
          }
        },
        "summary": "向好友发送企业群邀请",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWModChatRoomMemberNick": {
      "post": {
        "description": "修改指定成员在当前企业群内的群昵称(显示名); 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWModChatRoomNameModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWTransferOwnerData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示修改已下发, Data 仅含微信侧基础响应"
          }
        },
        "summary": "修改成员在群内昵称",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWModChatRoomName": {
      "post": {
        "description": "重命名指定企业群; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWModChatRoomNameModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWTransferOwnerData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示改名已下发, Data 仅含微信侧基础响应"
          }
        },
        "summary": "修改企业群名称",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWRemark": {
      "post": {
        "description": "给企业联系人写入/修改备注; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWRemarkModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-string"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已发出, Data 固定为字符串 ok"
          }
        },
        "summary": "备注企业联系人",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWSearchContact": {
      "post": {
        "description": "按手机号或企业对外名片账号搜索联系人, 返回验证票据(v1); 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.SearchContactModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWSearchContactData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示搜索成功, Data.info 含联系人及验证票据 v1"
          }
        },
        "summary": "搜索企业联系人并取验证票据",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWSyncChatRoom": {
      "post": {
        "description": "按同步游标(key)拉取企业群列表及群设定变更; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWSyncChatRoomModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWSyncChatRoomData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示同步成功, Data.List 为企业群列表, Data.Key 为下次游标"
          }
        },
        "summary": "增量同步全部企业群",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/QWSyncContact": {
      "post": {
        "description": "拉取当前账号可见的全部企业联系人; 会真实调用企业微信服务端。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWContactData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示同步成功, Data.contactList 为全部企业联系人"
          }
        },
        "summary": "全量同步企业通讯录",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/wecom/SnsUserPage": {
      "post": {
        "description": "拉取企业微信联系人的朋友圈内容列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.QWSnsUserPageModel",
                "summary": "body",
                "description": "请求参数(Username 必填)"
              }
            }
          },
          "description": "请求参数(Username 必填)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_QWSnsUserPageData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示成功"
          }
        },
        "summary": "企业微信联系人朋友圈主页",
        "tags": [
          "企业微信"
        ]
      }
    },
    "/ws/GetSyncMsg": {
      "get": {
        "description": "把 HTTP 请求升级为 WebSocket 连接, 服务端持续推送该账号的实时同步消息。key 通过 query 传入。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "101": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "WebSocket 升级成功(101 Switching Protocols); 之后为双向消息帧, 无普通 JSON 响应"
          }
        },
        "summary": "WebSocket 长连接接收实时同步消息",
        "tags": [
          "同步消息"
        ]
      }
    },
    "/wxapp/AddAvatar": {
      "post": {
        "description": "用已上传的图片文件 key 设置小程序内头像；文件名 key 来自 /wxa/UploadAvatarImg。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaAddAvatarModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaAddAvatarData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "写入小程序头像",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/AddMobile": {
      "post": {
        "description": "把手机号绑定到该小程序。与解绑互为逆操作。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaModMobileModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaModMobileData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "小程序手机号: 绑定",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/AttrSync": {
      "post": {
        "description": "同步单个小程序的属性；首次不传 SyncVersion，之后把上次返回的 syncVersion 带回即可增量同步。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaAttrSyncModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaAttrSyncData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "小程序属性同步",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/BatchAttrSync": {
      "post": {
        "description": "一次同步多个小程序的属性，适合启动时批量刷新。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaBatchAttrSyncModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaBatchAttrSyncData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "批量小程序属性同步",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/CheckVerifyCode": {
      "post": {
        "description": "校验短信验证码，通过后返回加密后的手机号数据，供手机号绑定流程使用。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaCheckVerifyCodeModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaCheckVerifyCodeData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.status 为业务状态码"
          }
        },
        "summary": "小程序手机号: 校验验证码",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/DelMobile": {
      "post": {
        "description": "解除手机号与该小程序的绑定。与绑定互为逆操作。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaModMobileModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaModMobileData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "小程序手机号: 解绑",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/GetAllPhone": {
      "post": {
        "description": "获取该小程序下已授权给当前账号的手机号列表。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaGetAllPhoneModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaGetAllPhoneData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "拉取小程序内已授权手机号",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/GetPayQR": {
      "post": {
        "description": "传入微信下单接口返回的支付参数与运行时会话标识，返回可直接渲染的支付二维码图片地址。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaGetPayQRModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaGetPayQRData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.qrCodeUrl 为二维码地址"
          }
        },
        "summary": "获取小程序支付二维码",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/GetRandomAvatar": {
      "post": {
        "description": "获取一张随机头像（含地址与文件 key），可直接用于设置头像。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaGetRandomAvatarModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaGetRandomAvatarData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "随机小程序头像",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/GetRuntimeSession": {
      "post": {
        "description": "拿到本次运行时的会话标识，它是后续代小程序调用（例如生成支付二维码）的前置条件。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaGetRuntimeSessionModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaGetRuntimeSessionData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.sessionId 为运行时会话标识"
          }
        },
        "summary": "获取小程序运行时会话",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/GetUserOpenId": {
      "post": {
        "description": "传入小程序 AppID 与目标用户 wxid，返回该用户在此小程序内的 openid 与昵称头像。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaGetUserOpenIdModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaGetUserOpenIdData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "换取小程序内用户 openid",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/JSOperateWxData": {
      "post": {
        "description": "以登录态代小程序执行一次云函数或接口调用, 返回微信侧原始响应。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.AppletModel",
                "summary": "body",
                "description": "小程序调用参数(AppId/Opt/Data)"
              }
            }
          },
          "description": "小程序调用参数(AppId/Opt/Data)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示调用成功, Data 为微信侧 JSOperateWxDataResponse 原始响应"
          }
        },
        "summary": "小程序云函数/接口调用",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/JsLogin": {
      "post": {
        "description": "对指定小程序发起授权登录, 返回可用于换取会话的 code 等原始响应。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.AppletModel",
                "summary": "body",
                "description": "小程序授权参数(仅 AppId 必用)"
              }
            }
          },
          "description": "小程序授权参数(仅 AppId 必用)",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_RawResp"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示授权成功, Data 为微信侧 JSLoginResponse 原始响应"
          }
        },
        "summary": "小程序授权登录(获取 code)",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/SendVerifyCode": {
      "post": {
        "description": "向待绑定手机号发送短信验证码；拿到验证码后再调绑定接口。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaSendVerifyCodeModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaSendVerifyCodeData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "小程序手机号: 发送验证码",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/UnionPay": {
      "post": {
        "description": "传入微信下单接口返回的支付参数，返回云闪付交易号与 iOS/Android 唤起链接。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaUnionPayModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaUnionPayData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.tn 为云闪付交易号, Data.payUrl 为手机端跳转页"
          }
        },
        "summary": "云闪付下单",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/UnionPay/PayInfo": {
      "get": {
        "description": "按云闪付交易号 tn 回取唤起链接(跳转页专用, 无需账号 key)。",
        "parameters": [
          {
            "description": "云闪付交易号(/wxapp/UnionPay 返回的 Data.tn)",
            "in": "query",
            "name": "tn",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-service_UnionPayJumpData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示有效, Code=300 表示已失效"
          }
        },
        "summary": "云闪付跳转页数据",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/UpdateUsageRecord": {
      "post": {
        "description": "把一次小程序打开行为上报给服务端（影响「最近使用的小程序」列表）。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaUpdateUsageRecordModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaUpdateUsageRecordData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "上报小程序使用记录",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/UploadAvatarImg": {
      "post": {
        "description": "先上传头像图片，拿到文件 key，再调 /wxa/AddAvatar 生效。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaUploadAvatarImgModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaUploadAvatarImgData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "上传小程序头像图",
        "tags": [
          "小程序"
        ]
      }
    },
    "/wxapp/VerifyPlugin": {
      "post": {
        "description": "校验小程序对某插件的使用权限。",
        "parameters": [
          {
            "description": "账号唯一标识(license 授权码)",
            "in": "query",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/req.WxaVerifyPluginModel",
                "summary": "body",
                "description": "请求参数"
              }
            }
          },
          "description": "请求参数",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/vo.Resp-vo_WxaVerifyPluginData"
                }
              }
            },
            "description": "统一响应包装; Code=200 表示请求已处理, Data.ret 为服务端返回码"
          }
        },
        "summary": "小程序插件校验",
        "tags": [
          "小程序"
        ]
      }
    }
  },
  "openapi": "3.1.0",
  "servers": [
    {
      "url": "/api/v1",
      "description": "当前部署的云墨 API 服务"
    }
  ],
  "tags": [
    {
      "name": "登录",
      "description": "扫码登录、62 数据登录、会话恢复与扫码状态查询。接口按登录流程顺序排列: 出码 → 查码(长链/短链) → PIN → 唤醒 → 状态 → 62 → 重连 → AutoAuth → 登出 → 长链开关 → 保活开关。",
      "pathOrder": [
        "/login/GetQR",
        "/login/CheckLogin",
        "/login/CommitPin",
        "/login/PushLogin",
        "/login/GetOnlineStatus",
        "/login/Login62",
        "/login/ForceReconnectUnsafe",
        "/login/AutoAuthReconnect",
        "/login/Logout",
        "/login/SetLongLink",
        "/login/SetAutoAuth"
      ]
    },
    {
      "name": "同步消息",
      "description": "长连接消息同步(WebSocket)"
    },
    {
      "name": "消息",
      "description": "发送 / 转发 / 撤回各类消息, 以及消息回调配置"
    },
    {
      "name": "支付",
      "description": "支付: 收款、付款、红包、转账与账单(收款账单列表/统计/详情、转账详情、红包记录按年筛选)。完整交易流水页与导出是 H5, 无本地 CGI。"
    },
    {
      "name": "微信搜一搜",
      "description": "微信搜一搜能力集: /search/WebSearch 返回相关搜索词与联想词(pardus 通道); /search/BizSearch 按关键词搜索公众号文章等内容。全网主结果聚合页与表情搜索依赖的 mmwebsearch 系 CGI 需要独立 ilink 会话, 暂不可用; 搜视频用 /channel/FinderSearch, 搜人用 /friend/SearchContact。"
    },
    {
      "name": "朋友",
      "description": "通讯录、好友列表、好友关系与好友请求处理"
    },
    {
      "name": "打招呼",
      "description": "附近的人与打招呼(扫码 / 微信号手机号 / 已有验证数据三种入口)"
    },
    {
      "name": "用户",
      "description": "个人资料、昵称签名、头像、加好友方式、拍一拍、代理、账号绑定与微信运动步数"
    },
    {
      "name": "群管理",
      "description": "群聊创建、成员与管理员管理、公告、群主转让"
    },
    {
      "name": "标签",
      "description": "联系人标签的增删改查"
    },
    {
      "name": "朋友圈",
      "description": "发朋友圈、朋友圈同步与互动操作"
    },
    {
      "name": "小程序",
      "description": "小程序授权登录、云函数调用、手机号与头像、小程序支付"
    },
    {
      "name": "公众号",
      "description": "公众号关注/取关、文章阅读/点赞/在看、历史消息与 biz 信息"
    },
    {
      "name": "OAuth授权",
      "description": "授权链路: 公众号网页授权、JSAPI 预检、App SDK 授权、扫码授权"
    },
    {
      "name": "视频号",
      "description": "视频号(Channels)全功能: 初始化与开通、信息流(推荐/朋友/关注/同城)、搜索与联想热搜、关注与粉丝、主页与作品、点赞/推荐(私密赞)/收藏、评论与子评论、弹幕、私信、观看历史、相关推荐。列表类接口统一用 lastBuffer(或 lastId)游标翻页; Userver 全部可留空(用全局默认 config finderUserver)。"
    },
    {
      "name": "收藏",
      "description": "收藏夹同步与条目操作"
    },
    {
      "name": "企业微信",
      "description": "企业微信联系人、群与成员管理"
    },
    {
      "name": "设备",
      "description": "在线设备、安全设备与硬件设备信息"
    },
    {
      "name": "安全验证",
      "description": "安全验证状态查询、验证方式解析(人脸/PIN 分流)、PIN 提交、验证参数下发、人脸配置与完成回调",
      "pathOrder": [
        "/security/VerifyInfo",
        "/security/VerifyMethod",
        "/security/SubmitPin",
        "/security/FaceConfig",
        "/security/VerifyCallback",
        "/security/VerifyApp"
      ]
    },
    {
      "name": "微信小店",
      "description": "微信小店(视频号小店/EC)商品侧: 商品搜索、商品详情(含可选规格SKU)、店铺货架(商品列表+分类)、商品分享卡片。店铺主页/介绍/评论/订单列表是 H5 或小程序, 无原生 CGI 不提供。"
    },
    {
      "name": "管理",
      "description": "授权码管理与代理映射。全部接口需要 adminKey 鉴权。"
    },
    {
      "name": "健康检查",
      "description": "服务存活探针, 无需 key"
    }
  ]
}