Documentation ¶
Index ¶
- Constants
- Variables
- func Base64(p string) string
- func Base64Raw(p string) string
- func EarthDistance(lat1, lng1, lat2, lng2 float64) float64
- func EmojiDecode(s string) string
- func EmojiEncode(s string) string
- func Exec(name string, arg ...string) (string, error)
- func Get(url string, param, header map[string]string) *https.CURL
- func InArray(s any, arr any) bool
- func IsEqualFloat32(f1, f2 float32) bool
- func IsEqualFloat64(f1, f2 float64) bool
- func Jwt(key []byte, payloadData any) (string, error)
- func MD5(text string) string
- func MD5Byte(data []byte) string
- func MD5File(file string) string
- func Post(url string, param, header map[string]string) *https.CURL
- func PostJson(url string, param map[string]any, header map[string]string) *https.CURL
- func SHA1(text string) string
- func SHA1Byte(data []byte) string
- func SHA1File(file string) string
- func SshExec(cliConf *ClientConfig, shell string) (string, error)
- func TimeDateAge(str1 string) (uint, error)
- func TimeDateDiff(str1, str2 string) (time.Duration, error)
- func TimeDiff(str1, str2 string) (time.Duration, error)
- func Ua2info(user_agent_string string) xstring.UaInfo
- func UnBase64(p string) string
- func UnBase64Raw(p string) string
- func UnJwt(key []byte, token string, stu any) error
- func UnJwtNoKey(token string, stu any) error
- func UploadFile(f *multipart.FileHeader, fc *FileConfig) error
- type ClientConfig
- type FileConfig
Constants ¶
View Source
const EARTH_RADIUS = xnum.EARTH_RADIUS
地球半径大小 用于计算两个经纬度间的距离
View Source
const FLOAT_EQUAL_MIN = xnum.FLOAT_EQUAL_MIN
浮点数比较相等时的最小值
因为浮点数的精度存在丢失问题,所以浮点数的相同不能比较绝对的相等,而应该是在某一范围内相同
所以此处的相同浮点数范围表示为 0.000,000,1
Variables ¶
View Source
var WeekList = xstring.WeekList
周uint定位
Functions ¶
func EarthDistance ¶ added in v0.0.7
计算经纬度之间的距离【返回单位:m】 计算公式:C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180)
lat1 坐标点1的纬度 lng1 坐标点1的经度 lat1 坐标点2的纬度 lng2 坐标点2的经度
func Exec ¶
Exec 执行Shell命令并等待结果输出【避免僵尸进程】
如果要使用管道进行输出,则需要使用bash进行嵌套,如:
xgotool.Exec("bash", "-c", "ps aux | grep go")
name 命令参数 arg... 参数列表
func InArray ¶
判断s是否在arr数组中
s 待判断的变量,支持类型:bool,string,float64,float32,int,uint,int8,uint8,int16,uint16,int32,uint32,int64,uint64 arr 待判断的数组,需要对应s的类型,即s为string时arr为[]string
func PostJson ¶ added in v0.0.4
Post请求[此请求会以json形式发送数据]
url 请求地址 param 请求参数 header 请求头,自动追加accept、Content-Type等属性
func SshExec ¶ added in v0.0.3
func SshExec(cliConf *ClientConfig, shell string) (string, error)
运行Shell并获取输出内容
shell 待运行的命令
func TimeDateDiff ¶ added in v0.0.2
计算两个时间的时间差【第一个日期比第二个日期大则为正数】 str1和str2均为yyyy-mm-dd格式的时间才行
str1 日期参数1 str2 日期参数2
func TimeDiff ¶ added in v0.0.2
计算两个时间的时间差 str1和str2均为yyyy-mm-dd hh:mm:ss格式的时间才行
str1 日期时间参数1 str2 日期时间参数2
func UploadFile ¶ added in v0.0.13
func UploadFile(f *multipart.FileHeader, fc *FileConfig) error
上传文件处理 此方法会根据上传文件的后缀来判断是什么类型的文档,具体判定格式见下方lists PS:此方法仅作为上传/保存文件的目录,并不会生成缩略图/低质图等,缩略图等信息请再安排后续操作进行处理
Types ¶
type ClientConfig ¶ added in v0.0.3
type ClientConfig struct { Host string //ip Port int // 端口 Username string //用户名 Password string //密码 IsPK bool // 是否是证书【如果是证书的话,password项填写证书位置】 Client *ssh.Client //ssh client }
连接的配置
type FileConfig ¶ added in v0.0.13
type FileConfig struct { SavePath string `json:"save_path"` // 保存目录,若结尾不为 `/` 会自动追加 `/` 进行间隔 SaveName string `json:"save_name"` // 保存文件名若无后缀则自动追加原后缀信息 UpImage bool `json:"up_image"` // 是否允许上传图片 UpDocument bool `json:"up_document"` // 是否允许上传文档 UpAudio bool `json:"up_audio"` // 是否允许上传音频 UpVideo bool `json:"up_video"` // 是否允许上传视频 UpConfig bool `json:"up_config"` // 是否允许上传配置文件 UpZip bool `json:"up_zip"` // 是否允许上传压缩包文件 UpOther bool `json:"up_other"` // 是否允许上传其他后缀文件 UpNone bool `json:"up_none"` // 是否允许无后缀文件上传 MaxSize int64 `json:"max_size"` // 上传文件的最大大小配置,单位:B,0表示不限制 IsImage bool `json:"is_image"` // 上传文件是图片 // 上传处理过程中会回写的变量 IsDocument bool `json:"is_document"` // 上传文件是文档 // 上传处理过程中会回写的变量 IsAudio bool `json:"is_audio"` // 上传文件是音频 // 上传处理过程中会回写的变量 IsVideo bool `json:"is_video"` // 上传文件是视频 // 上传处理过程中会回写的变量 IsConfig bool `json:"is_config"` // 上传文件是配置文件 // 上传处理过程中会回写的变量 IsZip bool `json:"is_zip"` // 上传文件是压缩包文件 // 上传处理过程中会回写的变量 IsOther bool `json:"is_other"` // 上传文件是其他后缀文件 // 上传处理过程中会回写的变量 MD5 string `json:"md5"` // 文件的MD5值 // 上传处理过程中会回写的变量 SHA1 string `json:"sha1"` // 文件的SHA1的值 // 上传过程中会回写的变量 Size int64 `json:"size"` // 文件的大小 // 上传处理过程中会回写的变量 }
文件上传结构
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
网络请求组件
|
网络请求组件 |
可选模块配置
|
可选模块配置 |
xarticle
文章模块
|
文章模块 |
xauth
权限表
|
权限表 |
xbank
银行卡号BIN列表
|
银行卡号BIN列表 |
xbanner
Banner模块
|
Banner模块 |
xbook
书籍模组
|
书籍模组 |
xcache
缓存模块
|
缓存模块 |
xcity
省市区模块,高德省市区
|
省市区模块,高德省市区 |
xcron
定时任务脚本
|
定时任务脚本 |
xfile
自建文件管理服务
|
自建文件管理服务 |
xintegral
用户积分模块
|
用户积分模块 |
xlink
短连接服务
|
短连接服务 |
xlog
日志记录模块
|
日志记录模块 |
xlogin
三方登录服务
|
三方登录服务 |
xnsq
NSQ队列消息 此模块依赖xlog模块,所以使用时请注意使用 `xlog.Regedit()` 来注册日志配置
|
NSQ队列消息 此模块依赖xlog模块,所以使用时请注意使用 `xlog.Regedit()` 来注册日志配置 |
xrate
中奖率支持模块
|
中奖率支持模块 |
xsource
溯源模块
|
溯源模块 |
xsql
SQL语句获取、SQL语句执行的方法
|
SQL语句获取、SQL语句执行的方法 |
xtag
标签模块
|
标签模块 |
xtype
分类模块,高德POI分类
|
分类模块,高德POI分类 |
命令行程序支持组件 此组件需要使用 xconsole.Listen() 来运行命令监听,即:
|
命令行程序支持组件 此组件需要使用 xconsole.Listen() 来运行命令监听,即: |
运行CMD命令
|
运行CMD命令 |
数据库操作相关服务
|
数据库操作相关服务 |
xgodbconfig
数据库配置的读写支持
|
数据库配置的读写支持 |
字符串处理方法【此包已迁移到xstring包,请尽快替换】
|
字符串处理方法【此包已迁移到xstring包,请尽快替换】 |
数值运算相关支持包
|
数值运算相关支持包 |
xstring包,用于替换掉xgostring包,以便引入时能更少的输入部分内容
|
xstring包,用于替换掉xgostring包,以便引入时能更少的输入部分内容 |
Click to show internal directories.
Click to hide internal directories.