# 公共函数库
* * * * *
### 1. root_path( ) 获取根目录
* 参数 无
* 返回 系统根目录
* 注解 获取系统根目录方法,效果同`__ROOT__`
### 2. create_salt( $length = -6 ) 创建盐
* 参数 [必填] **[int]** $length 长度,默认为-6
* 返回 **[string]** $salt 盐
* 注解 系统创建盐方法,用于md5加密
### 3. create_uuid( ) 创建uuid
* 参数 无
* 返回 **[string]** $uuid 系统唯一标识
* 注解 系统创建uuid方法
### 4. get_uuid( $model , $map ) 获取uuid
* 参数 [必填] **[model]** $model 实例化的表
* 参数 [必填] **[string/array]** $map 筛选条件,可以是字符串或数组
* 返回 **[string]** $uuid 系统唯一标识
* 注解 系统获取uuid方法
### 5. minishop_md5( $string , $salt ) MD5加密方法
* 参数 [必填] **[string]** $string 需要加密的字符串
* 参数 [必填] **[string]** $salt 盐
* 返回 **[string]** 加密后产生的字符串
* 注解 系统MD5方法
### 6. get_userinfo( $uid , $field ) 获取用户信息
* 参数 [必填] **[int]** $uid 用户的uid(users表)
* 参数 **[string]** $field 要获取的user表中字段名,默认为空,不传值时获取整条数据
* 返回 **[string/array]** 用户信息
* 注解 用于获取系统用户表中的用户信息,可获取指定字段或整条数据
### 7. get_termsinfo( $id , $field = "name" ) 获取分类信息
* 参数 [必填] **[int]** $id 分类id(terms表)
* 参数 **[string]** $field 数据表中要获取的字段名,默认为“name”
* 返回 **[string]** 分类信息
* 注解 用于获取系统分类表中的分类信息,可获取指定字段,默认字段为name
### 8. get_posts_terms( $postid , $type = "category" ) 获取文章所属分类或tags
* 参数 [必填] **[int]** $postid 文章id(posts表)
* 参数 **[string]** $type 想要获取的类型,传入“category”时返回所属分类,传入“tags”返回所属标签
* 返回 **[string]** 文章所属分类或表情,当属于多个时,用“,”分隔
* 注解 用于获取文章所属分类或标签的信息,其中$type默认为“category”
### 9. msubstr( $str , $start , $length , $charset="utf-8" , $suffix=true ) 字符串截取,支持中文和其他编码
* 参数 [必填] **[string]** $str 需要转换的字符串
* 参数 [必填] **[string]** $start 字符串截取开始位置
* 参数 [必填] **[int]** $length 截取长度
* 参数 **[string]** $charset 编码格式,默认为"utf-8"
* 参数 **[bool]** $suffix 是否显示截断字符位置,用“...”代替截断字符,默认为“true”
* 返回 **[string]** 截取完成的字符串
* 注解 用于截取字符串
### 10. get_menusinfo( $id , $field = "title" ) 获取菜单分类信息
* 参数 [必填] **[int]** $id 菜单id(menu表)
* 参数 **[string]** $field 数据表中要获取的字段名,默认为“title”
* 返回 **[string]** 菜单分类信息
* 注解 用于获取菜单表中的信息,可获取指定字段,默认字段为title
### 11. get_posts_status( $postStatus ) 转换文章状态为中文
* 参数 [必填] **[string]** $postStatus 数据表中的文章状态值(英文)
* 返回 **[string]** $result 中文的文章状态
* 注解 将文章状态转换为中文,方便前台显示
### 12. get_user_status( $userStatus ) 转换用户状态为中文
* 参数 [必填] **[int]** $userStatus 数据表中的用户状态(-1,0,1,2)
* 返回 **[string]** $result 中文的用户状态
* 注解 将用户状态转换为中文,方便前台显示
### 13. get_user_status( $menuid ) 获取后台菜单选中状态
* 参数 [必填] **[int]** $menuid 菜单id(meun表)
* 返回 **[string]** “active” 如果菜单被选中,返回“active”,否则不返回
* 注解 获取后台菜单选中状态
### 14. get_group_status( $status ) 获取用户组的状态
* 参数 [必填] **[int]** $status 用户组状态(1:正常,-1:禁用)
* 返回 **[string]** 如果是传入$status为1,返回“`<span class="label label-success">正常</span>`”,如果是-1,返回“`<span class="label label-success">禁用</span>`”,如果为其他值,不返回
* 注解 用于获取用户组的状态
### 15. get_posts_cover( $uuid ) 获取文章单一封面
* 参数 [必填] **[string]** $uuid 文章的uuid
* 返回 **[string]** 文章的封面图路径,如果没有封面图则放回系统默认图路径
* 注解 获取文章封面图
### 16.resizeImage( $im , $maxwidth , $maxheight , $name , $filetype ) 图片裁剪方法
* 参数 [必填] **[object]** $im 要裁剪的图片对象
* 参数 [必填] **[int]** $maxwidth 裁剪后的图片最大宽度
* 参数 [必填] **[int]** $maxheight 裁剪后的图片最大高度
* 参数 [必填] **[string]** $name 生成的新图片的文件名
* 参数 [必填] **[string]** $filetype 文件的后缀名,如“.png”
* 返回 **[string]** 截取完成的字符串
* 注解 用于处理用户上传的图片,一般和下面的get_thumb()方法一起使用
### 17.get_thumb( $uuid , $width="600" , $height="400" ) 获取文章封面图片缩略图
* 参数 [必填] **[string]** $uuid 文章的uuid
* 参数 [必填] **[string]** $width 缩略图的宽度,默认为600px
* 参数 [必填] **[string]** $height 缩略图的高度,默认为400px
* 返回 **[string]** $path 文章封面的缩略图的路径(如果不存在,会生成此图)
* 注解 获取文章封面的缩略图,方便前台显示
### 18.check_menu_auth( $ruleId , $rules ) 权限判断,设置菜单对某个用户是否可见
* 参数 [必填] **[string]** $ruleId 当前菜单id
* 参数 [必填] **[string]** $rules 权限id组
* 返回 **[bool]** 如果用户组权限中包含此菜单id,则返回true,否则返回false
* 注解 获取用户组是否有此菜单权限
### 19.get_menu_auth( ) 获取当前用户权限,控制菜单对某个用户是否显示
* 参数 无
* 返回 **[array]** 当前用户组可见的所有菜单
* 注解 获取用户的权限,用来控制菜单显示
### 20.wap_list_adapter( $data , $showType = "one_cover" ) 手机列表页面适配器,格式化时间戳,获取用户名,获取文章封面
* 参数 [必填] **[array]** $data 文章数据列表
* 参数 **[string]** $showType 文章封面显示类型,如果传入"one_cover",只显示一个封面;如果传入任意其他值(包括空)时,文章有几个封面就显示几个。
* 返回 **[array]** 返回处理完的文章数据列表
* 注解 $data必须是多条文章数据组成的列表,且内容必须完整
### 21.wap_detail_adapter( $data ) 手机详情页适配器,格式化时间戳,将内容中的图片变成适应手机查看的图片
* 参数 [必填] **[array]** $data 文章详细数据
* 返回 **[array]** 返回处理完的文章数据列表
* 注解 $data必须是一条文章数据组成的二维数组,其中必须包含[createtime]和[content]字段
### 22.create_thumb( $image_path , $thumb_path , $width , $height , $thumb_type = 1 ) 生成缩略图
* 参数 [必填] **[string]** $image_path 图片的路径
* 参数 **[string]** $thumb_path 生成的缩略图的保存路径和名称,如果不传入,则在图片原路径生成以`thumb_`+原图片名命名的缩略图
* 参数 [必填] **[int]** $width 裁剪后的图片宽度
* 参数 [必填] **[int]** $height 裁剪后的图片高度
* 参数 **[string]** $thumb_type 图片裁剪生成缩略图的方式,默认为“1”具体如下:
1 => 缩略图等比例缩放,
2 => 缩略图缩放后填充,
3 => 缩略图居中裁剪,
4 => 缩略图左上角裁剪,
5 => 缩略图右下角裁剪,
6 => 缩略图固定尺寸缩放
* 返回 **[string]** 生成的缩略图路径
* 注解 生成缩略图的方法
### 23.create_mobile_thumb( $content , $width , $height ) 将文章内容中的图片生成适应手机查看的图片
* 参数 [必填] **[string]** $content 文章的内容(需包含图片)
* 参数 [必填] **[string]** $width 缩略图的宽度
* 参数 [必填] **[string]** $height 缩略图的高度
* 返回 **[string]** $content 处理后的文章内容
* 注解 将文章内容里的图片替换成缩略图,方便前台显示
### 24.replace_image_url( $content , $strUrl ) 给文章内容中的远程图片生成路径
* 参数 [必填] **[string]** $content 文章的内容(需包含图片)
* 参数 [必填] **[string]** $strUrl 内容中图片要加的域名
* 返回 **[string]** $content 处理后的文章内容
* 注解 为文章内容里的远程图片添加域名,以便前台能够正常显示该图片
### 25.get_order_status( $order_id ) 获取订单的全部状态
* 参数 必填] **[int]** $order_id 订单编号
* 返回 **[string]** 订单的状态(英文)
* 说明,下面给出订单状态的中英文对照:
'nopaid' => '待付款' ,
'paid' => '已付款' ,
'shipped' => '已发货' ,
'completed' => '已完成' ,
'cancel' => '已取消'
* 注解 获取一个订单状态
### 26.get_pay_type( ) 获取全部支付类型
* 参数 无
* 返回 **[array]** 订单的全部状态,具体为:
'alipay' => '支付宝',
'wxpay' => '微信',
* 注解 所有支付方式
### 27. load_config( ) 加载接口配置数据
* 参数 无
* 返回 无
* 注解 以常量方式加载后台阿里大于、支付宝、微信等相关参数,以便后台调用
### 28. format_bytes( $size , $delimiter =" " ) 格式化字节大小
* 参数 [必填] **[int]** $size 字节数
* 参数 **[string]** $delimiter 数字和单位之间的分隔符,默认为空格
* 返回 **[string]** 格式化后的大小+单位
* 注解 将字节格式化,以便更加直观的感受它的大小
### 29. get_self_category( $pid ) 根据自己的分类pid,获取所有同级分类
* 参数 [必填] **[int]** $pid 文章分类的pid
* 返回 **[array]** 所有同级分类列表,包含它自己
* 注解 获取自己同级分类列表
### 30. get_parent_category( $pid , $item ) 根据自己的分类pid,获取上级分类信息
* 参数 [必填] **[int]** $pid 字节数
* 参数 **[string]** $item 要获取的数据库字段,如不填则获取整条信息
* 返回 **[string/array]** 某个字段的值或一条数据组成的数组
* 注解 根据自己的分类pid,获取上级分类信息
### 31. get_pre( $id , $cid ) 获取上一篇文章
* 参数 [必填] **[int]** $id 文章id
* 参数 [必填] **[int]** $cid 对应分类方法ID
* 返回 **[array]** 上一篇文章数据组成的数组
* 注解 根据自己的文章pid,获取上一篇文章信息
### 32. get_next( $id , $cid ) 获取下一篇文章
* 参数 [必填] **[int]** $id 文章id
* 参数 [必填] **[int]** $cid 对应分类方法ID
* 返回 **[array]** 下一篇文章数据组成的数组
* 注解 根据自己的文章pid,获取下一篇文章信息
### 33. get_self_page( $pid ) 根据自身父id ,获取同级所有page单页
* 参数 [必填] **[int]** $pid 文章单页pid
* 返回 **[array]** 所有同级单页文章数据组成的列表数组
* 注解 返回的列表中包含它本身
### 34. get_collection_count( $id ) 获取商品收藏总数
* 参数 [必填] **[int]** $id 商品id
* 返回 **[int]** 商品收藏总数
* 注解 当商品id不存在时,返回的商品收藏总数也为0
### 35. get_collection_ico( $id ) 获取当前用户是否收藏了该商品,返回图标
* 参数 [必填] **[int]** $id 商品id
* 返回 **[string]** 商品收藏的图标名称,收藏与未收藏图标不同
* 注解 当商品id不存在时,返回的图标也是未收藏图标
### 36. get_key_value( $uuid , $name ) 获取key_value表中的扩展字段的值
* 参数 [必填] **[string]** $uuid uuid
* 参数 [必填] **[string]** $name 要获取的字段值
* 返回 **[string]** 目标字段的值
* 注解 获取key_value表中的扩展字段的值
### 37. getFormatTime( $time ) 将时间转换为时间戳
* 参数 [必填] **[date/datetime]** $time 时间或者日期
* 返回 **[int]** 时间戳或时间段总秒数
* 注解 带日期时转换完是标准的时间戳,不带日期的时间段转换完是秒数
### 38. time_format( $time , $format='Y-m-d H:i' ) 将时间戳格式化为标准时间
* 参数 [必填] **[date/datetime]** $time 时间或者日期
* 参数 **[string]** $format 日期的格式
* 返回 **[string/date]** 标准的日期时间
* 注解 同TP3.2一样的时间戳格式化方法,方便前台使用
### 39. get_goods_cate_info( $id , $field = "name" ) 获取商品分类信息
* 参数 [必填] **[int]** $id 商品分类id(goods_cate表)
* 参数 **[string]** $field 要获取的字段名
* 返回 **[string]** 相应字段的值,类型随字段类型变化
* 注解 根据id获取信息的标准方法
### 40. get_goods_info( $id , $field = "name" ) 获取商品信息
* 参数 [必填] **[int]** $id 商品id(goods表)
* 参数 **[string]** $field 要获取的字段名
* 返回 **[string]** 相应字段的值,类型随字段类型变化
* 注解 根据id获取信息的标准方法
### 41. getAccessToken( $appid , $appsecret ) 获取通用accessToken,并写入文件保存
* 参数 [必填] **[string]** $appid 微信服务号的appid
* 参数 [必填] **[string]** $appsecret 微信服务号的appsecret
* 返回 **[string]** token的值
* 注解 本方法会将产生的token以“access_token.json”为名生成一个文件,保存在系统根目录
### 42. https_request($url,$data = null) 模拟http请求提交数据,获得返回值
* 参数 [必填] **[string]** $url 数据提交的目标url
* 参数 **[array]** $data 字符串或json类型的数据
* 返回 **[json]** 微信服务器返回的json数据
* 注解 本方法主要用于微信公众号的二次开发