Documentation ¶
Index ¶
- func BytesCombine(pBytes ...[]byte) []byte
- func BytesToInt(b [4]byte) int
- func BytesToInt64(b [8]byte) int64
- func BytesToUint32(array []byte) uint32
- func Captcha(mode string, len int) (ret map[string]string)
- func FileExists(file string) bool
- func Get16MD5Encode(data string) string
- func GetCurrentDirectory() string
- func GetLocalIP() (ip string)
- func GetMD5Encode(data string) string
- func GetRandomString(length int) string
- func HttpBuildQuery(params map[string]string) (ret string)
- func HttpRequest(url string, method string, ch chan []byte, header map[string]string, ...)
- func Int64ToBytes(num int64) [8]byte
- func IntArrToString(obj []int) (ret string)
- func IntRange(min, max int) (int, error)
- func IntToBytes(num int) [4]byte
- func IsLittleEndian() bool
- func IsNum(s string) bool
- func MapInStringOrder(params map[string]string) (ret map[string]string)
- func MapToSplitString(m []map[string]interface{}, field string) (s string)
- func OffsetXYAfterRotationCore(W, H, L, T, Angle float64) (x, y float64)
- func Rc4Decrypt(key string, src []byte) (ret []byte, err error)
- func Rc4Encrypt(key string, data []byte) (ret []byte, err error)
- func SnowflakeId() (id int64)
- func StringArrSearch(arr []string, target string) (ret int)
- func StringArrToString(obj []string) (ret string)
- func StructArrToMap(obj []interface{}) []map[string]interface{}
- func StructToMap(obj interface{}) map[string]interface{}
- func Strval(value interface{}) string
- func UnicodeIndex(str, substr string) int
- func VerifyCaptcha(captchaId string, captcha string) bool
- func VerifyEmailFormat(email string) bool
- func VerifyMobileFormat(mobile string) bool
- type ClientProfile
- type ClientTcp
- type Config
- type Header
- type Log
- func (log *Log) Exit(logData *LogData, mod ...bool) (exist bool)
- func (log *Log) GetMod5(logData *LogData) (md5Key string)
- func (log *Log) LogMonitor()
- func (log *Log) Push(logData []LogData) (length int)
- func (log *Log) Write()
- func (log *Log) WriteDb(db *gorose.Engin) (num int64, err error)
- func (log *Log) WriteFile(f *os.File) (num int, err error)
- func (log *Log) WriteTcpConn() (num int, err error)
- type LogClient
- func (logClient *LogClient) Debug(logger string, logMessage string, exception string) (err error)
- func (logClient *LogClient) Error(logger string, logMessage string, exception string) (err error)
- func (logClient *LogClient) Fatal(logger string, logMessage string, exception string) (err error)
- func (logClient *LogClient) Info(logger string, logMessage string, exception string) (err error)
- func (logClient *LogClient) LogInfo(logger string, logMessage string, exception string) (err error)
- func (logClient *LogClient) SendPing(conn *net.TCPConn)
- func (logClient *LogClient) SendProfile(conn *net.TCPConn) (err error)
- func (logClient *LogClient) Warn(logger string, logMessage string, exception string) (err error)
- type LogData
- type LogServer
- type Ping
- type Protocol
- type ServerTcp
- type StorageEngine
- type StorageTcp
- type Tcp
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BytesToUint32 ¶
func Captcha ¶
* 验证码 * auth guolei at 20191105 * param mode 输出验证码类型:audio声音验证码,character字符串验证码,digit数学计算验证码 * param len 验证码长度 * return bool
func FileExists ¶
* 判断文件是否存在 * auth guolei at 20191128 * param file 文件全路径 * return true文件存在,false不存在
func Get16MD5Encode ¶
* 获取字符串16位md5值 * auth guolei at 20191101 * param data * return string data的32位md5值
func GetCurrentDirectory ¶
func GetCurrentDirectory() string
* 获取当前运行程序的运行路径 * auth guolei at 20191128 * return 程序文件运行路径
func GetLocalIP ¶
func GetLocalIP() (ip string)
* 获取本机ip,如果本机有多个ip地址则返回第一个 * auth guolei at 20200902 * return ip地址
func GetMD5Encode ¶
* 获取字符串32位md5值 * auth guolei at 20191101 * param data * return string data的32位md5值
func GetRandomString ¶
* 随机生成数字、字母字符串 * auth guolei at 20191101 * param l 生成字符串长度 * return string 随机生成字符串
func HttpBuildQuery ¶
* 仿php http_build_query,将数组数据修改成post的以&符区隔参数 * auth guolei at 20200902 * param params 要排序的map * return ret 完成排序的map
func HttpRequest ¶
* http 协程请求 * auth guolei at 20191101 * param url 请求url全路径带http、https * param method 请求方式get、post... * param ch 通道,请求结果通知给chan * param header 自定义请求头 * param data 发送请求数据
func IntArrToString ¶
* 数字数组转换为英文逗号分隔的字符串 * auth guolei at 20191105 * param obj 数字数组 * return 以逗号分隔的字符串
func IntRange ¶
* IntRange 随机数生成 * auth guolei at 20200821 * param min 随机数最小值 * param max 随机数最大值 * return int 随机数
func IntToBytes ¶
func IsLittleEndian ¶
func IsLittleEndian() bool
func MapInStringOrder ¶
* 按字母顺序排序map * auth guolei at 20200902 * param params 要排序的map * return ret 完成排序的map
func MapToSplitString ¶
* []map转逗号分隔字符串 * auth guolei at 20200429 * return s
func Rc4Decrypt ¶
* Rc4解密 * auth guolei at 20191101 * param key 解密秘钥 * param data base64后的待解密数据 * return byte[] 解密后数据 * return err 错误
func Rc4Encrypt ¶
* Rc4加密 * auth guolei at 20191101 * param key 加密秘钥 * param data 加密数据 * return string base64后的加密数据 * return err 错误
func StringArrSearch ¶
* 字符串数组搜索 * auth guolei at 20200902 * param arr 要检索的数组 * param target 检索的字符串 * return int 匹配到的数组索引值
func StringArrToString ¶
* 字符串数组转换为英文逗号分隔的字符串 * auth guolei at 20191105 * param obj 字符串数组 * return 以逗号分隔的字符串
func StructArrToMap ¶
func StructArrToMap(obj []interface{}) []map[string]interface{}
struct数组转为map数组
func Strval ¶
func Strval(value interface{}) string
* Strval 数据类型转换位string,浮点型 3.0将会转换成字符串3, "3",非数值或字符类型的变量将会被转换成JSON格式字符串 * auth guolei at 20200429 *
func UnicodeIndex ¶
* 获取中文字符在字符串中的位置 * auth guolei at 20191101 * param str 要检索的字符串 * param substr 包含的字符串 * return int 包含的字符串出现的位置,-1未检索到
func VerifyCaptcha ¶
func VerifyEmailFormat ¶
* 邮箱验证 * auth guolei at 20191101 * param email 邮箱 * return bool true验证通过,false验证不通过
func VerifyMobileFormat ¶
* 手机号验证 * auth guolei at 20191101 * param mobile 手机号 * return bool true验证通过,false验证不通过
Types ¶
type ClientProfile ¶
type ClientProfile struct { Consumer string // 客户端标识(使用程序所在服务器全路径+程序名) IP string // 客户端ip PingInterval int // 客户端发送心跳包间隔,单位秒 Secret string // 客户端传输加密秘钥 }
客户端链接识别包
type Config ¶
func ConfigInstance ¶
type Header ¶
type Header struct { Cmd [4]byte // 通讯命令 ClientId [32]byte // 服务器下发客户端标识,可以是加盐加密串防止长链被其他程序使用 PackLen [4]byte // 发送Msg包长 Timestamp [8]byte // 13位时间戳 ClientCache [1]byte // 客户端是否缓存 0x00 false 0x01 true ClientEncrypt [1]byte // 客户端是否加密 0x00 false 0x01 true }
包头
type Log ¶
type Log struct { Consumer string // 调用者程序所在机器路径+名称 StorageType string // 日志保存类型 file:本地文件存储,db:数据库存储,remotServer:远程服务器存储 StorageEngine *StorageEngine // 日志存储引擎 Cache bool // 本地是否缓存 SendInterval int // 开启缓存后日志存储间隔单位秒 LogData []LogData // 日志数组 Mutex sync.RWMutex MaxLength int // 日志缓存数量,开启缓存后当日志数量到达一定值后忽略SendInterval值将日志存储 Secret string // 远程服务器存储传输过程加密秘钥,空值则传输不加密 CliendId string // 服务器端下发客户端id }
日志队列
func LogInstance ¶
func (*Log) LogMonitor ¶
func (log *Log) LogMonitor()
func (*Log) WriteTcpConn ¶
type LogClient ¶
type LogClient struct { RunMod string // 程序运行模式 dev:开发模式,test:测试模式,prod:生产模式 Consumer string // 调用者程序所在机器路径+名称 PingInterval int // 客户端发送心跳包间隔,单位秒 LocalIp string // 本机ip地址 CliendId string // 服务器端下发客户端id Log *Log // 日志 }
func LogClientInstance ¶
func LogClientInstance() *LogClient
func (*LogClient) SendProfile ¶
type LogData ¶
type LogData struct { Md5Key string `gorose:"md5_key" json:"md5_key"` //IP、Level、Logger、Exception、LogMessage生成的md5Key值 IP string `gorose:"ip" json:"ip"` //错误产生机器IP Consumer string `gorose:"consumer" json:"consumer"` //程序所在机器路径+名称 Lev string `gorose:"lev" json:"lev"` //错误级别 Logger string `gorose:"logger" json:"logger"` //错误产生者,可以是类名.方法名 LogMessage string `gorose:"log_message" json:"log_message"` //错误日志 Exception string `gorose:"exception" json:"exception"` //错误信息 CreateTime string `gorose:"create_time" json:"create_time"` //创建时间 SendInterval int `gorose:"send_interval" json:"send_interval"` //记录间隔单位秒 Count int `gorose:"count" json:"count"` //日志数量 }
日志
type LogServer ¶
type LogServer struct { RunMod string // 程序运行模式 dev:开发模式,test:测试模式,prod:生产模式 Consumer string // 调用者程序所在机器路径+名称 LocalIp string // 本地服务器IP LocalPort string // 本地服务器监听端口 Log *Log // 日志 }
func LogServerInstance ¶
func LogServerInstance() *LogServer
type Protocol ¶
数据包通讯协议
func ProtocolInstance ¶
type ServerTcp ¶
type ServerTcp struct { Tcp Tcp Mutex sync.RWMutex ClientList map[string]map[string]int64 // 链接到服务器的客户端列表 WhiteList []string // 服务器端ip白名单 BlackList []string // 服务器端ip黑名单 }