Documentation ¶
Overview ¶
定义一些常量和变量
Index ¶
- Constants
- Variables
- func BuildURL(prefix string, params ...interface{}) (urlstr string)
- func CacheGet(key string) (interface{}, error)
- func CacheSet(key string, value interface{}, t time.Duration) error
- func CalcInt(num1 interface{}, oper string, num2 interface{}) int
- func CompressByGzip(file string) (err error)
- func CompressBySVGO(input, output string) (err error)
- func CompressSVG(input, output string, level ...int) (err error)
- func ComputeFileMD5(file io.Reader) string
- func ConvertByCalibre(file string, ext ...string) (resFile string, err error)
- func ConvertPDF2SVG(pdfFile, svgFile string, pageNO int) (err error)
- func ConvertToJPEG(file string) (cover string, err error)
- func CountPDFPages(file string) (pageNum int, err error)
- func CropImage(file string, width, height int) (err error)
- func Default(val, defVal interface{}, preventZero ...bool) string
- func DelSlice(slice []interface{}, index int) []interface{}
- func DeleteSlice(slice []string, keys ...string) []string
- func DownFile(fileUrl, savePath string, cookies string) (md5str, localFile, filename string, err error)
- func Equal(itf1, itf2 interface{}) bool
- func ExtractTextFromPDF(file string, from, to int) (content string)
- func FileMd5(path string) (string, error)
- func FormatByte(size int) string
- func GenerateAppConf(host string, port int, username, password, database, prefix string, ...) (err error)
- func GetConfig(cate ConfigCate, key string, def ...string) string
- func GetConfigBool(cate ConfigCate, key string) (val bool)
- func GetConfigFloat64(cate ConfigCate, key string) (val float64)
- func GetConfigInt64(cate ConfigCate, key string) (val int64)
- func GetExtCate(ext string) (extCate string, extNum int)
- func GetExtCateByExtNum(num int) (extCate string)
- func GetSuffix(str, seg string) string
- func HandlePageNum(PageNum interface{}) string
- func HeaderDisposition(name string) map[string]string
- func HeightLight(title string, words []string) template.HTML
- func I18n(tag string, lang ...string) string
- func InitLogs()
- func Interface2Int(a interface{}) int
- func Interface2String(v interface{}) string
- func IsImage(path string) bool
- func MD5Crypt(str string) string
- func MySha1(str string) string
- func NumberRange(val, min, max int) int
- func OfficeToPDF(file string) (err error)
- func Paginations(rollPage, totalRows, listRows, currentPage int, urlPrefix string, ...) string
- func ParseSvgWidthAndHeight(file string) (width, height int)
- func RandStr(size int, kind int) string
- func ScanDir(dir string) (files []string)
- func SegWord(str interface{}) (wds string)
- func StarVal(score int, IsScore bool) string
- func StringSliceToInterfaceSlice(slice []string) (ret []interface{})
- func StringSliceToMap(slice []string) (maps map[string]string)
- func SubStr(str interface{}, start, length int) string
- func SvgTextWatermark(file, text string, x, y int) (err error)
- func TestValid()
- func TimestampFormat(timestamp int, format ...string) string
- func UpperFirst(str string) string
- func UrlEscape(str string) string
- func Valid(params url.Values, rules map[string][]string) (map[string]interface{}, map[string]string)
- type ConfigCate
- type Info
- type PdfRet
Constants ¶
const ( //DocHub Version VERSION = "v2.4" //Cache Config CACHE_CONF = `{"CachePath":"./cache/runtime","FileSuffix":".cache","DirectoryLevel":2,"EmbedExpiry":120}` DEFAULT_STATIC_EXT = ".txt,.html,.ico,.jpeg,.png,.gif,.xml" DEFAULT_COOKIE_SECRET = "dochub" // 扩展名 EXT_CATE_WORD = "word" EXT_NUM_WORD = 1 EXT_CATE_PPT = "ppt" EXT_NUM_PPT = 2 EXT_CATE_EXCEL = "excel" EXT_NUM_EXCEL = 3 EXT_CATE_PDF = "pdf" EXT_NUM_PDF = 4 EXT_CATE_TEXT = "text" EXT_NUM_TEXT = 5 EXT_CATE_OTHER = "other" EXT_NUM_OTHER = 6 EXT_CATE_OTHER_MOBI = "mobi" EXT_CATE_OTHER_EPUB = "epub" EXT_CATE_OTHER_CHM = "chm" EXT_CATE_OTHER_UMD = "umd" RootPath = "./virtualroot" // 虚拟根目录 )
const ( //word ExtDOC = ".doc" ExtDOCX = ".docx" ExtRTF = ".rtf" ExtWPS = ".wps" ExtODT = ".odt" // power point ExtPPT = ".ppt" ExtPPTX = ".pptx" ExtPPS = ".pps" ExtPPSX = ".ppsx" ExtDPS = ".dps" ExtODP = ".odp" ExtPOT = ".pot" // excel ExtXLS = ".xls" ExtXLSX = ".xlsx" ExtET = ".et" ExtODS = ".ods" // PDF ExtPDF = ".pdf" // text ExtTXT = ".txt" // other ExtEPUB = ".epub" ExtUMD = ".umd" ExtMOBI = ".mobi" ExtCHM = ".chm" )
Variables ¶
var ( //develop mode Debug = beego.AppConfig.String("runmode") == "dev" //允许直接访问的文件扩展名 StaticExt = make(map[string]bool) //分词器 Segmenter sego.Segmenter //配置文件的全局map ConfigMap sync.Map //程序是否已经安装 IsInstalled = false //允许上传的文档扩展名 //AllowedUploadExt = ",doc,docx,rtf,wps,odt,ppt,pptx,pps,ppsx,dps,odp,pot,xls,xlsx,et,ods,txt,pdf,chm,epub,umd,mobi," AllowedUploadDocsExt = map[string]bool{ ".doc": true, ".docx": true, ".rtf": true, ".wps": true, ".odt": true, ".ppt": true, ".pptx": true, ".pps": true, ".ppsx": true, ".dps": true, ".odp": true, ".pot": true, ".xls": true, ".xlsx": true, ".et": true, ".ods": true, ".pdf": true, ".epub": true, ".mobi": true, ".txt": true, ".umd": true, ".chm": true, } // 图片尺寸 CoverWidth = beego.AppConfig.DefaultInt("cover_width", 140) CoverHeight = beego.AppConfig.DefaultInt("cover_height", 200) BannerWidth = beego.AppConfig.DefaultInt("banner_width", 825) BannerHeight = beego.AppConfig.DefaultInt("banner_height", 316) AvatarWidth = beego.AppConfig.DefaultInt("avatar_width", 120) AvatarHeight = beego.AppConfig.DefaultInt("avatar_height", 120) )
var ( HeaderGzip = map[string]string{"Content-Encoding": "gzip"} HeaderSVG = map[string]string{"Content-Type": "image/svg+xml"} HeaderPNG = map[string]string{"Content-type": "image/png"} HeaderJPEG = map[string]string{"Content-type": "image/jpeg"} )
var Logger = logs.NewLogger()
日志变量
Functions ¶
func CompressBySVGO ¶
使用SVGO压缩svg文件 @param input 需要压缩的原文件 @param output 压缩后的文件路径 @param err 压缩错误
func CompressSVG ¶
func ComputeFileMD5 ¶
func ConvertByCalibre ¶
非office文档(.txt,.mobi,.epub)转pdf文档
func ConvertPDF2SVG ¶
将 PDF 转成 SVG
func ConvertToJPEG ¶
将PDF、SVG文件转成jpg图片格式。注意:如果pdf只有一页,则文件后缀不会出现"-0.jpg"这种情况,否则会出现"-0.jpg,-1.jpg"等
func CountPDFPages ¶
统计PDF的页数 @param file 文件路径 @return pagenum 页码,当返回错误时,页码为0 @return err 错误
func CropImage ¶
图片缩放居中裁剪 图片缩放居中裁剪 @param file 图片文件 @param width 图片宽度 @param height 图片高度 @return err 错误
func Default ¶
生成默认值 @param val interface{} 值 @param defVal interface{} 默认值 @param preventZero ...bool 是否保留0值
func DownFile ¶
func DownFile(fileUrl, savePath string, cookies string) (md5str, localFile, filename string, err error)
文件下载,这里只是简单的文档下载,复杂点的,需要根据Content-Type去做处理 @param fileUrl 文件下载URL连接 @param savePath 文件存放文件夹 @param cookies COOKIE @return md5str 文档的md5 @return localFile 本地存放文件,err为nil时才需要处理文件,否则不需要处理 @return filename 文件下载时的文件名 @return err 错误
func ExtractTextFromPDF ¶
获取PDF中指定页面的文本内容 @param file PDF文件 @param from 起始页 @param to 截止页
func GenerateAppConf ¶
func GenerateAppConf(host string, port int, username, password, database, prefix string, charset ...string) (err error)
生成app.conf配置文件
func GetConfig ¶
func GetConfig(cate ConfigCate, key string, def ...string) string
获取配置 @param cate 配置分类 @param key 键 @param def default,即默认值 @return val 值
func GetConfigBool ¶
func GetConfigBool(cate ConfigCate, key string) (val bool)
获取配置 @param cate 配置分类 @param key 键 @return val 值
func GetConfigFloat64 ¶
func GetConfigFloat64(cate ConfigCate, key string) (val float64)
获取配置 @param cate 配置分类 @param key 键 @return val 值
func GetConfigInt64 ¶
func GetConfigInt64(cate ConfigCate, key string) (val int64)
获取配置 @param cate 配置分类 @param key 键 @return val 值
func GetExtCate ¶
获取文档扩展名分类以及扩展名分类对应的catenum数字 @param ext 扩展名 @return extCate 文档类型(字符串) @return extNum 文档类型(整型)
func GetExtCateByExtNum ¶
获取文档扩展名分类以及扩展名分类对应的catenum数字 @param ext 扩展名 @return extCate 文档类型(字符串) @return extNum 文档类型(整型)
func HeaderDisposition ¶
func Interface2Int ¶
func Interface2Int(a interface{}) int
将字符串或者其他可转化数字的内容格式化成int数字类型返回 @param a interface{} 需要转化成数字的内容
func Interface2String ¶
func Interface2String(v interface{}) string
将interface{}转为字符串,适合bool,数字等 @v interface{} 需要转化为字符串的值
func NumberRange ¶
数字变化范围 @param val int 需要处理的参数数字 @param min int 最小值 @param max int 最大值 @return int 返回最大值与最小值之间的值
func Paginations ¶
func Paginations(rollPage, totalRows, listRows, currentPage int, urlPrefix string, urlParams ...interface{}) string
分页函数 rollPage:展示分页的个数 totalRows:总记录 currentPage:每页显示记录数 urlPrefix:url链接前缀 urlParams:url键值对参数
func ParseSvgWidthAndHeight ¶
解析svg的原始宽高 @param file svg文件
func RandStr ¶
获取指定个数的随机字符串 @param size int 指定的字符串个数 @param kind int 0,纯数字;1,小写字母;2,大写字母;3,数字+大小写字母 @return string 返回生成的随机字符串
func StringSliceToInterfaceSlice ¶
func StringSliceToInterfaceSlice(slice []string) (ret []interface{})
将字符串切片转成interface切片
func StringSliceToMap ¶
将字符串切片数组转成map
func SvgTextWatermark ¶
解析svg的原始宽高(TODO:水印效果不是很好,待优化) @param file svg文件 @param text 水印文字 @param x x轴线位置 @param y y轴位置 @return err 错误
func TimestampFormat ¶
时间戳格式化 @timestamp int 时间戳 @format string 时间格式,如:"2006-01-02 15:04:05"
func Valid ¶
func Valid(params url.Values, rules map[string][]string) (map[string]interface{}, map[string]string)
参数验证 规则中,required表示必传参数,有无值则是另外一回事 验证规则有以下(大小写不敏感): 1、required 参数必传,有无值则是另外一回事,使用示例:"required" 1、unempty 值不能为空,使用示例:"unempty" 2、min 最小值验证,使用示例:"min:1" 3、max 最大值验证,使用示例:"max:1000" 4、minlen、mincount 最小长度验证,使用示例:"minlen:2" 说明:count是字符个数校验,len是字节个数校验,如"地球",如果是len,则是6个字节,如果是count,则是2个字符 5、maxlen、maxcount 最大长度验证,使用示例:"maxcount:255" 说明:count是字符个数校验,len是字节个数校验,如"地球",如果是len,则是6个字节,如果是count,则是2个字符 6、len、count 字符串长度验证,使用示例:"len:40" 说明:count是字符个数校验,len是字节个数校验,如"地球",如果是len,则是6个字节,如果是count,则是2个字符 7、email 邮箱格式验证,使用示例:"email" 8、tel 座机号码格式验证,使用示例:"tel" 9、mobile 手机号码格式验证,使用示例:"mobile" 10、phone 电话号码格式验证,包括手机号码和座机号码,使用示例:"phone" 11、enum 参数值验证,参数值只能是其中指定的一个值,使用示例:"enum:男:女:保密" 12、range 参数区间,适用于数字变化范围,使用示例:"range:1:100" 13、int,int8,int32,int64,float32,float64,string 只要有这些数据类型的字段,则表示类型转换,使用示例:"int64" 14、zipcode 邮政编码验证,使用示例:"zipcode" 15、ip IP地址格式验证,使用示例:"ip" 16、alpha 字符验证,字符必须是大小写字母,使用示例:"alpha" 17、numeric 数字验证,必须是0-9中的数字,使用示例:"numeric" 18、alphanumeric 大小写字母和数字验证,值必须是大小写字母和数字,使用示例:"alphanumeric" 19、alphadash 大小写字母、数字、横杠(-_)验证,使用示例:"alphadash" 20、gt,lt,gte,lte 大于、小于、大于等于或者小于等于指定数值:使用示例:"gt:0" 说明:如果是等于指定数值,使用enum,如"enum:1",即等于1 21、regexp 正则校验,使用示例:"regexp:[a-zA-z0-9\.\-\_]{10}",第一个冒号后面的表示正则规则 ############################################ @param params url.Values参数 @param rules 验证规则 @return 返回验证后通过的数据 @return 返回错误的map
Types ¶
type ConfigCate ¶
type ConfigCate string