# 公共函數庫
* * * * *
### 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數據
* 注解 本方法主要用于微信公眾號的二次開發