# 內置工具函數Utils
框架中內置了很多常用的工具函數,方便項目中使用。
在控制器或者模型中可以通過 ``this.Utils`` 屬性去調用工具函數。
目前已有的函數有:
<br>
```
this.Utils.moment() // 時間處理函數
```
文檔地址:http://momentjs.cn/docs
<br>
```
this.Utils.firstToUpper() // 手寫字母大寫,需傳入一個字符串
```
<br>
```
this.Utils.orderCode() // 生成訂單號
```
<br>
```
this.Utils.getNonceStr() // 生成指定長度的隨機數,需傳入一個長度
```
<br>
```
this.Utils.sha1() // sha1加密,需傳入一個字符串
```
<br>
```
// RSA加密,需傳入三個參數,第一個是字符串,第二個是私鑰,第三個默認 SHA256withRSA
this.Utils.rsaSign()
```
<br>
```
this.Utils.raw() // 對參數對象進行字典排序,傳入一個對象
```
<br>
```
this.Utils.getIP() // 獲取真實IP,需傳入一個ctx
```
<br>
```
this.Utils.getValidateCode() // 生成手機驗證碼,需傳入一個長度,默認為6
```
<br>
```
this.Utils.AlipayFormData() // 支付寶支付Form表單
```
<br>
```
this.Utils.MD5() // MD5加密,需傳入一個字符串
```
<br>
```
// 數組轉樹結構,需傳入三個參數,第一個是數組,第二個是主鍵ID,默認為id,第三個是關聯ID,默認為pid
this.Utils.arrayToTree()
```
# 擴展工具函數
如果這些函數不夠用,還可以在根目錄下 ``utils/index.js`` 文件中編寫擴展函數
```
// 如果this.Utils滿足不了你的需求,可以在這里擴展
module.exports = {
sayHello(){
return 'hello'
}
}
```
```
// 調用
this.Utils.sayHello()
```
- 序言
- 新手指南
- 安裝
- 開發規范
- 目錄結構
- 配置
- 路由
- 路由定義
- 路由中間件
- 控制器
- 控制器定義
- 內置showSuccess方法
- 內置ApiException方法
- 參數獲取器getParams
- 網絡請求器Fetch
- 內置工具函數
- JWT的使用
- 驗證
- 驗證器
- 驗證規則
- 自定義驗證規則
- 混合驗證規則
- 分場景驗證
- 數據庫
- 連接數據庫
- 查詢數據
- 鏈式操作
- where
- whereOr
- whereBetweenTime
- limit
- page
- count
- order
- field
- alias
- group
- distinct
- 添加數據
- 更新數據
- 刪除數據
- 聯表查詢
- SQL調試
- 模型
- 視圖
- 模板渲染(廢棄)
- 模板變量(廢棄)
- 錯誤和日志
- 異常處理
- 日志處理
- 命令行
- 擴展庫
- 使用Redis
- get
- set
- del
- hget
- hset
- hdel
- decrby
- incrby
- rpush
- rpop
- 使用MongoDB
- 模型
- 新增
- 刪除
- 修改
- 查詢
- 使用ElasticSearch
- 使用阿里云OSS
- 阿里短信服務
- 微信支付
- 支付寶支付
- 部署
- 更新日志