<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # Event控制器 Event為該應用的主要控制器,實現RESTful的API,對應丟失/撿到信息的發布、查詢、刪除、狀態的更新 文件位置:src/controller/event.js ## 重載getAction 實現如下的請求: | Method | 調用實例 | 說明 | | --- | --- | --- | | GET | http://localhost:8360/event/1 | 獲取ID=1的事件內容 | | GET | http://localhost:8360/event?type=lost | 檢索類型為lost的所喲記錄 | | GET | http://localhost:8360/event?page=1&pageSize=10 | 分頁檢索 | | GET | http://localhost:8360/event?key=鋼筆&page=1&pageSize=10 | 分頁檢索關鍵字包含鋼筆的記錄 | > 關鍵字支持模糊匹配,支持多字段檢索 ```js const BaseRest = require('./rest.js'); module.exports = class extends BaseRest { async getAction() { let data; if (this.id) { const pk = this.modelInstance.pk; data = await this.modelInstance.where({ [pk]: this.id }).find(); return this.success(data); } let map = {}; let type = this.get('type'); //丟失還是撿到 if (type) { map['type'] = type; //支持lost,found兩種類型 } let key = this.get('key'); if (key) { map['title|address|mobile|linkman|description'] = ['LIKE', '%' + key + '%']; //支持關鍵字查找,模糊匹配 } const page = this.get('page'); if (page) { const pageSize = this.get('pageSize') || 10; data = await this.modelInstance.page(page, pageSize).where(map).countSelect(); this.success(data); } else { data = await this.modelInstance.where(map).select(); return this.success(data); } } }; ``` ## 增加/修改/刪除記錄 實現以下功能調用 | Method | 調用實例 | 說明 | | --- | --- | --- | | PUT |http://localhost:8360/event/1 | 更新ID=1的記錄, 更新數據為JSON格式 | | POST|http://localhost:8360/event/1 | POST JSON格式的數據 | | DELETE|http://localhost:8360/event/1 | 刪除ID=1的記錄 | # 數據校驗邏輯 文件 src/logic/event.js ```js module.exports = class extends think.Logic { async getAction() { // 驗證邏輯錯誤 this.allowMethods = 'get'; // 允許 GET、POST 請求類型 const rules = { type: { // 處理事件類型 string: true, // 字段類型為 String 類型 required: false, // 字段必填 in: ['lost', 'found'], // 需要是 lost,found 其中一個 trim: true, // 字段需要trim處理 method: 'GET' // 指定獲取數據的方式 }, key: { // 處理關鍵字檢索 string: true, // 字段類型為 String 類型 required: false, // 字段必填 trim: true, // 字段需要trim處理 method: 'GET' // 指定獲取數據的方式 } }; const flag = this.validate(rules); if (!flag) { return this.fail('validate error', this.validateErrors); // 如果校驗失敗,返回 // {"errno":1000,"errmsg":"validate error","data":{"username":"username can not be blank"}} } } async postAction() { this.allowMethods = 'post'; // 允許 GET、POST 請求類型 const rules = { address: { // 事件發生的地址 string: true, // 字段類型為 String 類型 required: true, // 字段必填 trim: true, // 字段需要trim處理 method: 'POST' // 指定獲取數據的方式 }, title: { // 標題 string: true, // 字段類型為 String 類型 required: true, // 字段必填 trim: true, // 字段需要trim處理 method: 'POST' // 指定獲取數據的方式 }, type: { // 處理事件類型 string: true, // 字段類型為 String 類型 required: true, // 字段必填 in: ['lost', 'found'], // 需要是 lost,found 其中一個 trim: true, // 字段需要trim處理 method: 'POST' // 指定獲取數據的方式 }, mobile: { // 聯系人手機號碼 string: true, // 字段類型為 String 類型 required: true, // 字段必填 trim: true, // 字段需要trim處理 regexp: /^1[38][1-9]\d{8}/g, // 正則表達式驗證手機號碼 method: 'POST' // 指定獲取數據的方式 } }; const flag = this.validate(rules); if (!flag) { return this.fail('validate error', this.validateErrors); // 如果校驗失敗,返回 // {"errno":1000,"errmsg":"validate error","data":{"username":"username can not be blank"}} } } }; ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看