openwechat/global.go
2021-12-14 12:40:11 +08:00

156 lines
6.0 KiB
Go

package openwechat
import (
"errors"
"regexp"
)
var (
uuidRegexp = regexp.MustCompile(`uuid = "(.*?)";`)
statusCodeRegexp = regexp.MustCompile(`window.code=(\d+);`)
syncCheckRegexp = regexp.MustCompile(`window.synccheck=\{retcode:"(\d+)",selector:"(\d+)"\}`)
redirectUriRegexp = regexp.MustCompile(`window.redirect_uri="(.*?)"`)
)
const (
appId = "wx782c26e4c19acffb"
appMessageAppId = "wxeb7ec651dd0aefa9"
jsonContentType = "application/json; charset=utf-8"
uosPatchClientVersion = "2.0.0"
uosPatchExtspam = "Gp8ICJkIEpkICggwMDAwMDAwMRAGGoAI1GiJSIpeO1RZTq9QBKsRbPJdi84ropi16EYI10WB6g74sGmRwSNXjPQnYU" +
"KYotKkvLGpshucCaeWZMOylnc6o2AgDX9grhQQx7fm2DJRTyuNhUlwmEoWhjoG3F0ySAWUsEbH3bJMsEBwoB//0qmFJob74ffdaslqL+IrSy7L" +
"J76/G5TkvNC+J0VQkpH1u3iJJs0uUYyLDzdBIQ6Ogd8LDQ3VKnJLm4g/uDLe+G7zzzkOPzCjXL+70naaQ9medzqmh+/SmaQ6uFWLDQLcRln++w" +
"BwoEibNpG4uOJvqXy+ql50DjlNchSuqLmeadFoo9/mDT0q3G7o/80P15ostktjb7h9bfNc+nZVSnUEJXbCjTeqS5UYuxn+HTS5nZsPVxJA2O5G" +
"dKCYK4x8lTTKShRstqPfbQpplfllx2fwXcSljuYi3YipPyS3GCAqf5A7aYYwJ7AvGqUiR2SsVQ9Nbp8MGHET1GxhifC692APj6SJxZD3i1drSY" +
"ZPMMsS9rKAJTGz2FEupohtpf2tgXm6c16nDk/cw+C7K7me5j5PLHv55DFCS84b06AytZPdkFZLj7FHOkcFGJXitHkX5cgww7vuf6F3p0yM/W73" +
"SoXTx6GX4G6Hg2rYx3O/9VU2Uq8lvURB4qIbD9XQpzmyiFMaytMnqxcZJcoXCtfkTJ6pI7a92JpRUvdSitg967VUDUAQnCXCM/m0snRkR9LtoX" +
"AO1FUGpwlp1EfIdCZFPKNnXMeqev0j9W9ZrkEs9ZWcUEexSj5z+dKYQBhIICviYUQHVqBTZSNy22PlUIeDeIs11j7q4t8rD8LPvzAKWVqXE+5l" +
"S1JPZkjg4y5hfX1Dod3t96clFfwsvDP6xBSe1NBcoKbkyGxYK0UvPGtKQEE0Se2zAymYDv41klYE9s+rxp8e94/H8XhrL9oGm8KWb2RmYnAE7r" +
"y9gd6e8ZuBRIsISlJAE/e8y8xFmP031S6Lnaet6YXPsFpuFsdQs535IjcFd75hh6DNMBYhSfjv456cvhsb99+fRw/KVZLC3yzNSCbLSyo9d9BI" +
"45Plma6V8akURQA/qsaAzU0VyTIqZJkPDTzhuCl92vD2AD/QOhx6iwRSVPAxcRFZcWjgc2wCKh+uCYkTVbNQpB9B90YlNmI3fWTuUOUjwOzQRx" +
"JZj11NsimjOJ50qQwTTFj6qQvQ1a/I+MkTx5UO+yNHl718JWcR3AXGmv/aa9rD1eNP8ioTGlOZwPgmr2sor2iBpKTOrB83QgZXP+xRYkb4zVC+" +
"LoAXEoIa1+zArywlgREer7DLePukkU6wHTkuSaF+ge5Of1bXuU4i938WJHj0t3D8uQxkJvoFi/EYN/7u2P1zGRLV4dHVUsZMGCCtnO6BBigFMAA="
)
// 消息类型
const (
AppMessage = 6
)
// MessageType 以Go惯用形式定义了PC微信所有的官方消息类型。
// 详见 message_test.go
type MessageType int
// AppMessageType 以Go惯用形式定义了PC微信所有的官方App消息类型。
type AppMessageType int
// https://res.wx.qq.com/a/wx_fed/webwx/res/static/js/index_c7d281c.js
// MSGTYPE_TEXT
// MSGTYPE_IMAGE
// MSGTYPE_VOICE
// MSGTYPE_VERIFYMSG
// MSGTYPE_POSSIBLEFRIEND_MSG
// MSGTYPE_SHARECARD
// MSGTYPE_VIDEO
// MSGTYPE_EMOTICON
// MSGTYPE_LOCATION
// MSGTYPE_APP
// MSGTYPE_VOIPMSG
// MSGTYPE_VOIPNOTIFY
// MSGTYPE_VOIPINVITE
// MSGTYPE_MICROVIDEO
// MSGTYPE_SYS
// MSGTYPE_RECALLED
const (
MsgTypeText MessageType = 1 // 文本消息
MsgTypeImage MessageType = 3 // 图片消息
MsgTypeVoice MessageType = 34 // 语音消息
MsgTypeVerify MessageType = 37 // 认证消息
MsgTypePossibleFriend MessageType = 40 // 好友推荐消息
MsgTypeShareCard MessageType = 42 // 名片消息
MsgTypeVideo MessageType = 43 // 视频消息
MsgTypeEmoticon MessageType = 47 // 表情消息
MsgTypeLocation MessageType = 48 // 地理位置消息
MsgTypeApp MessageType = 49 // APP消息
MsgTypeVoip MessageType = 50 // VOIP消息
MsgTypeVoipNotify MessageType = 52 // VOIP结束消息
MsgTypeVoipInvite MessageType = 53 // VOIP邀请
MsgTypeMicroVideo MessageType = 62 // 小视频消息
MsgTypeSys MessageType = 10000 // 系统消息
MsgTypeRecalled MessageType = 10002 // 消息撤回
)
const (
AppMsgTypeText AppMessageType = 1 // 文本消息
AppMsgTypeImg AppMessageType = 2 // 图片消息
AppMsgTypeAudio AppMessageType = 3 // 语音消息
AppMsgTypeVideo AppMessageType = 4 // 视频消息
AppMsgTypeUrl AppMessageType = 5 // 文章消息
AppMsgTypeAttach AppMessageType = 6 // 附件消息
AppMsgTypeOpen AppMessageType = 7 // Open
AppMsgTypeEmoji AppMessageType = 8 // 表情消息
AppMsgTypeVoiceRemind AppMessageType = 9 // VoiceRemind
AppMsgTypeScanGood AppMessageType = 10 // ScanGood
AppMsgTypeGood AppMessageType = 13 // Good
AppMsgTypeEmotion AppMessageType = 15 // Emotion
AppMsgTypeCardTicket AppMessageType = 16 // 名片消息
AppMsgTypeRealtimeShareLocation AppMessageType = 17 // 地理位置消息
AppMsgTypeTransfers AppMessageType = 2000 // 转账消息
AppMsgTypeRedEnvelopes AppMessageType = 2001 // 红包消息
AppMsgTypeReaderType AppMessageType = 100001 //自定义的消息
)
// 登录状态
const (
StatusSuccess = "200"
StatusScanned = "201"
StatusTimeout = "400"
StatusWait = "408"
)
// errors
var (
ErrNoSuchUserFoundError = errors.New("no such user found")
ErrMissLocationHeader = errors.New("301 response missing Location header")
ErrLoginForbiddenError = errors.New("login forbidden")
ErrLoginTimeout = errors.New("login timeout")
)
// ALL 跟search函数搭配
// friends.Search(openwechat.ALL, )
const ALL = 0
// 性别
const (
MALE = 1
FEMALE = 2
)
const (
// 分块上传时每次上传的文件的大小
chunkSize int64 = (1 << 20) / 2 // 0.5m
// 需要检测的文件大小
needCheckSize int64 = 25 << 20 // 20m
// 最大文件上传大小
maxFileUploadSize int64 = 50 << 20 // 50m
// 最大图片上传大小
maxImageUploadSize int64 = 20 << 20 // 20m
)
const TimeFormat = "Mon Jan 02 2006 15:04:05 GMT+0800 (中国标准时间)"
var imageType = map[string]bool{
"bmp": true,
"png": true,
"jpeg": true,
"jpg": true,
}
var videoType = "mp4"
// ZombieText 检测僵尸好友字符串
// 发送该字符给好友,能正常发送不报错的为正常好友,否则为僵尸好友
const ZombieText = "وُحfخe ̷̴̐nخg ̷̴̐cخh ̷̴̐aخo امارتيخ ̷̴̐خ\n"