## 命名規范
> 請盡量遵循以下命名規范,可以減少在開發過程中出現不必要的錯誤。
<br>
### 目錄和文件
* 項目中所有的目錄名稱都不可以自行修改
* ``controller`` 控制器目錄下支持分級
* ``middleware`` 目錄下的文件名可隨意命名,也支持分級
* ``config`` 目錄下的所有文件名稱都不可自行修改,但可以新增文件
* ``validate`` 目錄下的驗證器名稱需要和控制器名稱對應一致,分級一致
* ``route`` 目錄下的路由配置文件名可以隨意命名,但不支持分級
* ``cert`` 目錄下的文件可以隨意命名,但在config中要引用正確
* ``logs`` 日志的輸出目錄,給予寫權限
* ``utils`` 目錄下除了index.js文件均可隨意命名
<br>
### 類與函數
* 開發過程中最好使用 ``think-js-cli create`` 命令創建模版代碼,這樣對照著修改會減少出錯
* 控制器方法需要根據實際情況來變為同步 ``async await``,如: 數據庫查詢動作就必須要用 ``await``
* 驗證器中 ``rule`` ``message`` ``scene`` 三個屬性名稱為固定格式,不可修改
<br>
### 錯誤碼
* ``10000`` 代碼規范類錯誤,如:控制器return的不是一個對象類型
* ``20000`` 配置類錯誤,如:沒有正確配置路由
* ``30000`` 一般為業務邏輯主動拋出的錯誤,如:驗證參數的錯誤
* ``30001`` TOKEN校驗錯誤
* ``40000`` mysql數據庫錯誤
* ``50000`` redis錯誤
* ``60000`` elasticsearch錯誤
* ``70000`` MongoDB錯誤
<br>
### think-js-lib 共導出如下模塊
* ``start`` 啟動器
* ``Contoller`` 基控制器
* ``Model`` 模型
- 序言
- 新手指南
- 安裝
- 開發規范
- 目錄結構
- 配置
- 路由
- 路由定義
- 路由中間件
- 控制器
- 控制器定義
- 內置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
- 阿里短信服務
- 微信支付
- 支付寶支付
- 部署
- 更新日志