go web端公共类
go 公共类
golang.org/x/crypto 无法下载,可以在下面地中获取所需要的crypto包.并存放到对应的golang.org文件夹的x目录下
https://github.com/swgloomy/crypto.git
提供common基础类库
asyncThreadProcess.go 提供异步线程处理类,待完善
1.WithNanos 时间格式化字符串 2006-01-02 15:04:05
1. CreateFileProcess
文件夹创建方法 接收参数文件夹路径 返回错误对象
根据文件夹路径创建文件,如文件存在则不做任何操作
2. PathExists
判断文件或文件夹是否存在 接收参数文件或文件夹路径 返回是否存在及错误对象 true表示存在
3. FileCreateAndWrite
写文件
输入参数:文件内容 写入文件的路劲(包含文件名) 是否追加写入
输出参数:错误对象
4. ReadFileByLine
文件读取逐行进行读取
输入参数: 文件路劲
输出参数: 字符串数组(数组每一项对应文件的每一行) 错误对象
5. FileOpen
文件打开
输入参数:文件路径 是否追加
输出参数:文件对象 错误对象
6. RWFileByWhere
根据条件读写文件
输入参数:文件路径 文件写入对象 条件平判断方法
输出参数:错误对象
7. ReadFileLineNumber
读取文件行数
文件路径
输出行数与错误对象
8. GetMyFileName
获取文件名称及后缀名 未防止文件无后缀名,固这里返回值为数组对象
输入参数: 文件路劲或文件名称
输出参数: 文件名 文件后缀名 数组 第一项为文件名称 第二项为文件后缀名
9. GetMyAllFileByDir
根据文件夹路径获取文件夹下所有文件
输入参数: 文件夹路径
输出参数: 文件名列表 错误对象
10. GetMyAllDirByDir
根据文件夹路径获取文件夹下所有文件夹
输入参数:文件夹路径
输出参数:文件夹列表 错误对象
1. MySqlDBStruct
数据库连接对象
type MySqlDBStruct struct {
DbUser string //数据库用户名
DbHost string //数据库地址
DbPort int //数据库端口
DbPass string //数据库密码
DbName string //数据库库名
MaxOpenConns int // 用于设置最大打开的连接数,默认值为0表示不限制
MaxIdleConns int // 用于设置闲置的连接数
}
2. MySqlSQlConntion
数据库连接
输入参数:数据库对象
输出对象:数据库连接对象
3. MySqlClose
数据库关闭
输入参数:数据库连接对象
4. MySqlSelect
查询方法
输入参数: dbs数据库连接对象 model数据库对象 sqlStr 要执行的sql语句 param执行SQL的语句参数化传递
输出参数: 查询返回条数 错误对象输出
5. MySqlSqlExec
数据库运行方法
输入参数: dbs数据库连接对象 model数据库对象 sqlStr 要执行的sql语句 param执行SQL的语句参数化传递
输出参数: 执行结果对象 错误对象输出
6. MysqlSelectUnknowColumn
查询所有字段值
字段名称 字段值数组 错误对象
const ProgramServicePIDPath = "./programRunPID.pid" // PID文件生成路径
当下列方法接收到的传入参数为空时,将使用默认的PID文件路径
1. WritePid
写PID文件
输入参数:文件路径
2. CheckPid
检查pid文件是否存在,pid文件中的进程是否存在
输入参数:pid文件路径
输出参数:bool类型(true: 文件不存在或者进程不存在 false: 进程已存在)
3. RmPidFile
删除PID文件
输入参数:pid文件路径
1.DateFormat
时间格式化处理
输入参数:需要格式化的时间 格式化方式 示例yyyy-MM-dd hh:mm:ss.tttttt 2017-03-22 10:21:55.379415
1. OpenRedis
redis通道开启
addr IP地址+端口 idx 仓库数
2. CloseRedis
redis通道关闭
3. SetRedisCache
设置redis缓存
key 存储键名 value 存储值 cacheBssSeconds 存储时间(单位秒)
4. GetRedisCache
获取redis缓存
key 存储键名
1. AesEncrypt
字符串加密
输入参数: 需要加密的字符串
输出参数: 加密后字符串 错误对象
2. AesDecrypt
字符串解密
输入参数: 需要解密的字符串 解密后字符串长度
输出参数: 解密后字符串 错误对象
// GP数据库连接对象
// create by gloomy 2017-3-30 15:27:26
type GpDBStruct struct {
DbUser string //数据库用户名
DbHost string //数据库地址
DbPort int //数据库端口
DbPass string //数据库密码
DbName string //数据库库名
MaxOpenConns int // 用于设置最大打开的连接数,默认值为0表示不限制
MaxIdleConns int // 用于设置闲置的连接数
}
其余同mysql类
提供方法:
GpSqlConntion GP数据库连接
GpSqlClose GP数据库关闭
GpSqlSelect 查询方法
GpSqlExec 数据库运行方法
GPSelectUnknowColumn 查询所有字段值
1. Rounding
四舍五入取舍
2. RoundingByInt
四舍五入取舍
除数 被除数 取舍几位
3. RoundingPercentageByInt
四舍五入取舍 百分比
除数 被除数 取舍几位
4. MustCompileMatch
匹配字符串是否包含
输入参数:
matchStr 匹配字符串(例: match* 则匹配任何match开头的. *为全匹配)
str 被匹配字符串
FTP帮助类实体
type FtpHelpStruct struct {
IpAddr string // ip 地址
Port int // 端口
TimeOut time.Duration // 超时时间
UserName string // 用户名
PassWord string // 密码
FilePaths string // 目标服务器路径
}
1. FtpFileStor
FTP文件传输
FTP配置实体 文件内容 创建目标服务器的文件名
错误对象
2. FtpRemoveFile
FTP文件删除
文件名 ftp配置对象
错误对象
3. FtpRenameFile
ftp修正远程服务器文件名称
源文件 修正后的文件名称 ftp配置对象
错误对象
切块文件写入,防止文件过大 (编写缘由用于文件load进入数据库)
文件数据记录对象
type FileDataRecording struct {
sync.Mutex // 锁
F *os.File // 文件对象
FilePre string // 文件开头字符串
Fn string // 文件路径
Bytes int // 文件大小
Seq int // 第几个
FileProgram string // 文件存放路径
MaxFileDataRecordingBytes int // 文件大小
}
const maxFileDataRecordingBytes = 1000000 // 默认文件大小
1. OpenLoadFile
打开文件数据记录
文件存放目录地址 文件开头字符串 文件大小
文件数据对象
2. Exit
文件退出
3. Close
文件关闭
4. Rotate
文件切换
5. CreateNewFile
创建新文件
错误对象
6. WriteData
写入数据
需要写入的数据
错误对象
7. FileList
获取所有完成的文件列表
文件列表
8. RemoveOldFileList
删除过期文件
几天前
1. ReadExcel
excel数据获取
sheet名称 数据内容 错误对象
2. ExcelSave
excel保存
// sftp配置
type SftpConfigStruct struct {
Account string // 登录用户名
Password string // 登录密码
Port int // 服务器端口
ConntionSize int // MaxPacket sets the maximum size of the payload
Addr string // 连接地址
}
1. SftpClose
sftp 关闭
2. SftpReadDir
sftp读取文件夹内容
1.XmlContentReplace
生成xml文件修正xml节点内容
如文件上传完成,统一使用文件修改回调方法.watchFile方法会保证文件上传完毕进行回调
1.WatchFile
文件夹监控方法
监控文件夹路径
匹配字段(例: match* 则匹配任何match开头的. *为全匹配)
删除文件回调方法
文件修改回调方法
文件改名回调方法
文件创建回调方法
http文件上传
1.HttpSendFile
文件发送处理方法
发送http地址
文件路径
文件存放变量名
1. UnZip
压缩包解压 (方法暂时遗弃,解压会出现数据丢失)
输入参数:
zipPathStr 压缩包路径
dirPathStr 压缩包解压后路径
输出参数:
解压后存放文件的文件夹路径 错误对象
2. UnGzip
gz压缩包解压 (暂时可能不支持压缩包内有多个文件的情况.未做测试)
输入参数:
zipPathStr 压缩包地址
filePathStr 压缩包解压后文件路径
输出参数:
错误对象
1. HttpGetDownFile
文件下载
输入参数:
urlPathStr url请求路径
saveFilePath 下载文件保存路径
输出参数:
错误对象
1. UniqueSlice
字符串数组去重
输入参数:
数组指针
因gin更新,该方法暂停使用
1.GinInit
gin初始化
输入参数:
debug 是否为调试模式
serverListeningPort gin监听端口
setGinRouter 设置gin路由方法.传入参数*gin.Engine及服务运行所需要的二级目录名称(如:程序运行使用http://www.baidu.com/map 其中map为二级目录名称)
输出参数:
*gin.Engine
1. LogInit
日志初始化
当程序停止前需将glog进行关闭 调用glog.Close方法
输入参数:
debug 是否为调试模式,如果为调试模式,则在控制台进行日志输出,否则输出到日志文件中
logsDir 日志存放目录
增加golang验证码图片生成方法,修正自https://github.com/dchest/captcha
删除内部自验证.
New 方法返回验证码
WriteImage 输出验证码图片,通过http方式
WriteAudio 输出音频,通过http方式
增加邮件发送类
1.SendEmail
输入参数
用户邮箱地址
用户密码
smtp服务器地址
发送端口
邮件标题
邮件内容
收件人邮箱集合
邮件类型(默认为:text/plain) 可以采用text/html的方式,这样可以在邮件内容中画表格html页面等(ps:别画的太前卫^_^)
windows cmd命令
1. ExecCommand
输入参数: 需要执行的命令
输出参数:
命令行回馈字符串
错误对象
base64图片转图片文件
1.PictureBase64ToFile
输入参数:
图片base64字符串
路径(为空则默认在运行目录下创建文件)
输出参数:
图片路径
错误对象
设置CPU核心使用数
1.SetCPUUseNumber
输入参数:
CPU核心数量(如果超出当前CPU核心数量则使用当前CPU最大核心数.参数为0时则使用最大核心数量)