升级至8069版本:版本号更新/代理配置系统/红包计时埋点/长连接重构/回调修复
This commit is contained in:
@@ -11,6 +11,7 @@ import (
|
||||
"strings"
|
||||
"xiawan/wx/clientsdk/baseinfo"
|
||||
"xiawan/wx/clientsdk/baseutils"
|
||||
"xiawan/wx/clientsdk/mmtls"
|
||||
|
||||
"github.com/gogf/gf/database/gredis"
|
||||
)
|
||||
@@ -21,6 +22,25 @@ var GlobalSetting Setting
|
||||
// TaskExecWaitTimes 任务执行间隔时间 500毫秒
|
||||
var TaskExecWaitTimes = uint32(500)
|
||||
|
||||
// ProxyConfig 代理配置
|
||||
type ProxyConfig struct {
|
||||
// 代理失效后是否允许直连(false=不允许,连接失败;true=允许,降级为直连)
|
||||
AllowDirectOnProxyFail bool `json:"allowDirectOnProxyFail"`
|
||||
// 长连接超时时间(秒)
|
||||
LongConnTimeout int `json:"longConnTimeout"`
|
||||
LongConnReadTimeout int `json:"longConnReadTimeout"`
|
||||
// 长连接建立时的重试次数
|
||||
LongConnRetryTimes int `json:"longConnRetryTimes"`
|
||||
// 长连接建立时的重试间隔(毫秒)
|
||||
LongConnRetryInterval int `json:"longConnRetryInterval"`
|
||||
// 短连接超时时间(秒)
|
||||
ShortConnTimeout int `json:"shortConnTimeout"`
|
||||
// 长连接断开后最大重试恢复次数
|
||||
MaxLongRetryTimes int `json:"maxLongRetryTimes"`
|
||||
// 长连接断开后重试间隔(秒)
|
||||
LongRetryInterval int `json:"longRetryInterval"`
|
||||
}
|
||||
|
||||
// Setting 设置
|
||||
type Setting struct {
|
||||
Debug bool `json:"debug"`
|
||||
@@ -63,6 +83,8 @@ type Setting struct {
|
||||
Mac2Ipad bool `json:"mac2ipad"`
|
||||
// 是否开启 car2ipad
|
||||
Car2Ipad bool `json:"car2ipad"`
|
||||
// 代理配置
|
||||
ProxyConfig ProxyConfig `json:"proxyConfig"`
|
||||
}
|
||||
|
||||
// getExternal 请求获取外网ip
|
||||
@@ -148,4 +170,47 @@ func ConfigSetUp() {
|
||||
if GlobalSetting.TargetIp == "" && GlobalSetting.SycnTargetIpUrl != "" {
|
||||
GlobalSetting.TargetIp = getExternal()
|
||||
}
|
||||
|
||||
// 设置代理配置默认值
|
||||
if GlobalSetting.ProxyConfig.LongConnTimeout <= 0 {
|
||||
GlobalSetting.ProxyConfig.LongConnTimeout = 15
|
||||
}
|
||||
if GlobalSetting.ProxyConfig.LongConnReadTimeout <= 0 {
|
||||
readTimeout := GlobalSetting.ProxyConfig.LongConnTimeout
|
||||
if readTimeout < 210 {
|
||||
readTimeout = 210
|
||||
}
|
||||
GlobalSetting.ProxyConfig.LongConnReadTimeout = readTimeout
|
||||
}
|
||||
if GlobalSetting.ProxyConfig.LongConnRetryTimes <= 0 {
|
||||
GlobalSetting.ProxyConfig.LongConnRetryTimes = 30
|
||||
}
|
||||
if GlobalSetting.ProxyConfig.LongConnRetryInterval <= 0 {
|
||||
GlobalSetting.ProxyConfig.LongConnRetryInterval = 500
|
||||
}
|
||||
if GlobalSetting.ProxyConfig.ShortConnTimeout <= 0 {
|
||||
GlobalSetting.ProxyConfig.ShortConnTimeout = 15
|
||||
}
|
||||
if GlobalSetting.ProxyConfig.MaxLongRetryTimes <= 0 {
|
||||
GlobalSetting.ProxyConfig.MaxLongRetryTimes = 10
|
||||
}
|
||||
if GlobalSetting.ProxyConfig.LongRetryInterval <= 0 {
|
||||
GlobalSetting.ProxyConfig.LongRetryInterval = 60
|
||||
}
|
||||
|
||||
// 同步代理配置到 mmtls 全局配置
|
||||
mmtls.GlobalProxyConfig.LongConnTimeout = GlobalSetting.ProxyConfig.LongConnTimeout
|
||||
mmtls.GlobalProxyConfig.LongConnReadTimeout = GlobalSetting.ProxyConfig.LongConnReadTimeout
|
||||
mmtls.GlobalProxyConfig.LongConnRetryTimes = GlobalSetting.ProxyConfig.LongConnRetryTimes
|
||||
mmtls.GlobalProxyConfig.LongConnRetryInterval = GlobalSetting.ProxyConfig.LongConnRetryInterval
|
||||
mmtls.GlobalProxyConfig.ShortConnTimeout = GlobalSetting.ProxyConfig.ShortConnTimeout
|
||||
mmtls.GlobalProxyConfig.AllowDirectOnProxyFail = GlobalSetting.ProxyConfig.AllowDirectOnProxyFail
|
||||
|
||||
fmt.Printf("======== 代理配置已同步 ========\n")
|
||||
fmt.Printf("代理失效后允许直连: %v\n", GlobalSetting.ProxyConfig.AllowDirectOnProxyFail)
|
||||
fmt.Printf("长连接超时: %d秒\n", GlobalSetting.ProxyConfig.LongConnTimeout)
|
||||
fmt.Printf("长连接重试次数: %d次\n", GlobalSetting.ProxyConfig.LongConnRetryTimes)
|
||||
fmt.Printf("长连接重试间隔: %dms\n", GlobalSetting.ProxyConfig.LongConnRetryInterval)
|
||||
fmt.Printf("短连接超时: %d秒\n", GlobalSetting.ProxyConfig.ShortConnTimeout)
|
||||
fmt.Printf("========================\n")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user