閑話不說,我想懶點(diǎn)。
這是一個(gè)返回消息狀態(tài)的組件!
composer require mofeier/messages
use Mofeier\Messages;
/* 實(shí)現(xiàn)的方向
* 1、狀態(tài)碼可追加,可使用默認(rèn)和自定義。
* 2、返回?cái)?shù)據(jù)多格式:json,array,默認(rèn)array
* 3、參數(shù)命名可指定,可追加參數(shù)
* 4、返回參數(shù)自定義
*/
// ……其他代碼
// 使用默認(rèn)返回狀態(tài)值,也可以寫自己的返回狀態(tài)碼,適合PHP7以上。
// 亂碼問題:根據(jù)自使用框架調(diào)整。
/* 默認(rèn)狀態(tài)碼,在StatusCode
20000 => 'OK',
// 賬號(hào)操作相關(guān)
20001 => '賬號(hào)有誤',
20002 => '密碼錯(cuò)誤',
20003 => '驗(yàn)證碼錯(cuò)誤',
20004 => '驗(yàn)證未通過',
20005 => '短信驗(yàn)證碼錯(cuò)誤',
20006 => '登錄超時(shí)',
20007 => '賬號(hào)已登陸',
20008 => '賬號(hào)在其他地方登陸',
20009 => '鎖屏密碼錯(cuò)誤',
20010 => '賬號(hào)已退出',
20011 => '賬號(hào)退出失敗',
// 路由操作相關(guān)
40001 => '操作失敗',
40004 => '無此方法',
40005 => '無此權(quán)限',
*/
/*
* 默認(rèn)返回參數(shù)
* code : 狀態(tài)碼
* msg : 消息
* 其他有數(shù)據(jù)自行設(shè)置
*/
$result = new Messages;
// 默認(rèn)返回 array
$result->result();
// 返回json,json($cn=false),默認(rèn)原json格式,中文會(huì)轉(zhuǎn)義;cn=true時(shí),轉(zhuǎn)義中文,如框架自帶json,可能會(huì)出現(xiàn)亂碼,請(qǐng)使用result。
$result->json();
// 可設(shè)置默認(rèn)消息文字,默認(rèn)為:請(qǐng)?jiān)O(shè)置消息語
$result->defMsg('默認(rèn)消息');
// 默認(rèn)屬性為 code,msg。自定義代碼號(hào)和消息語,其他根據(jù)自設(shè)置字段增加。
$result->code(2022)->result();
$result->code(2022)->msg('錯(cuò)誤')->result();
// 例子1
$result->code(2022)->msg('錯(cuò)誤')->count(20)->page(1)->limit(5)->data($array)->result();
// 例子2
$result->code(2022)->msg('錯(cuò)誤')->counts(20)->page_no(1)->limits(5)->datas($array)->result();
$result->code(2022)->msg('錯(cuò)誤')->replace($array)->result();
// 也可提前設(shè)置
$result->replace($array);
$result->code(2022)->msg('錯(cuò)誤')->result();
// 1. 獲取狀態(tài)映射
(new StatusCode)->getCode();
// 2. 默認(rèn)code
(new StatusCode)->getDefCode();
// 3. 自定義code映射
(new StatusCode)->setCode($array);
// 3. 自定義code 和默認(rèn)合并
(new StatusCode)->merge(true)->setCode($array);
// 映射碼
$codes = [
200 => 'Success',
201 => 'Error',
202 => 'Action',
];
// 替換字段名
$datas = [
'code' => 'codes',
'msg' => 'mesg',
'limit' => 'page_num',
];
// 設(shè)置自定義狀態(tài)碼
// $status = $this->statusCode->setCode($codes);
// 替換數(shù)據(jù),也可以鏈?zhǔn)秸{(diào)用替換。
// 例子1
$this->messages->replace($datas);
$this->messages->code(2022)->msg('我是好人')->limit(15)->page(1)->count(100)->result();
// 例子2
$this->messages->code(2022)->msg('我是好人')->limit(15)->page(1)->count(100)->replace($datas)->result();
好東西