* send fail data
(errno, errmsg = '', data = '')
| 114 | * send fail data |
| 115 | */ |
| 116 | fail(errno, errmsg = '', data = '') { |
| 117 | let obj; |
| 118 | if (helper.isObject(errno)) { |
| 119 | obj = errno; |
| 120 | } else { |
| 121 | if (/^[A-Z_]+$/.test(errno)) { |
| 122 | const messages = think.app.validators.messages || {}; |
| 123 | const msg = messages[errno]; |
| 124 | if (think.isArray(msg)) { |
| 125 | [errno, errmsg] = msg; |
| 126 | } |
| 127 | } |
| 128 | if (!think.isNumber(errno)) { |
| 129 | [data, errmsg, errno] = [errmsg, errno, this.config('defaultErrno')]; |
| 130 | } |
| 131 | obj = { |
| 132 | [this.config('errnoField')]: errno, |
| 133 | [this.config('errmsgField')]: errmsg |
| 134 | }; |
| 135 | if (data) { |
| 136 | obj.data = data; |
| 137 | } |
| 138 | } |
| 139 | this.type = this.config('jsonContentType'); |
| 140 | this.body = obj; |
| 141 | return false; |
| 142 | }, |
| 143 | /** |
| 144 | * set expires header |
| 145 | */ |