基类之错误码

Author Avatar
云璃 2017年11月17日

基于 thinkphp5 的基类方法封装,用于返回应答包体。

Base.php

<?php
// +----------------------------------------------------------------------
// | YLCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016-2017 http://www.masterzc.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 云璃 <diaolingzc@sina.com>
// +----------------------------------------------------------------------
namespace app\base\controller;
use think\Controller;

class Base extends Controller {
    
    /**
     * 应答包体
     * @param  string $code 错误码
     * @param  array  $data 返回值
     * @param  string $msg  原因
     * @return [array] 应答包体
     */
    static public function showReturnCode($code = '', $data = [], $msg = ''){
        $return_data = [
            'code' => '500',
            'msg'  => '未定义消息',
            'data' => $code == 1000 ? $data : [],
        ];

        if (empty($code)) {
            return $return_data;
        }

        $return_data['code'] = $code;

        if (!empty($msg)) {
            $return_data['msg'] = $msg;
        } elseif (isset(ReturnCode::$return_code[$code])) {
            $return_data['msg'] = ReturnCode::$return_code[$code];
        }

        return $return_data;
    }

    /**
     * 应答包体别名函数
     * 不返回值
     * @param  string $code 错误码
     * @param  string $msg  原因
     * @return [array]      应答包体
     */
    static public function showReturnCodeWithOutData($code = '', $msg = ''){
        return self::showReturnCode($code,[],$msg);
    }

ReturnCode.php

<?php
// +----------------------------------------------------------------------
// | YLCMF [ WE CAN DO IT MORE SIMPLE ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016-2017 http://www.masterzc.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: 云璃 <diaolingzc@sina.com>
// +----------------------------------------------------------------------
namespace app\base\controller;

class ReturnCode {

    /**
     * 返回码
     * 初期设定,项目越大越复杂
     * 大项目或多语言项目可以结合Lang语言包使用
     * 此处为简单示例
     */
    static public $return_code = [
        '1000' => 'success',//
        '1001' => 'sig校验失败',//请核对API的sig格式说明
        '1002' => '请求包体没有sig字段或sig为空', //请遵守API接口说明规范
        '1003' => '请求包解析失败,通常情况下是由于没有遵守API接口说明规范导致的', //可参考1003错误详解
        '1006' => '请求没有权限', //请查看错误提示语说明
        '1007' => '    其他错误', //请查看错误提示语说明
        '1008' => '接口超时', //出现概率很低,可重试解决
        '1009' => '请求ip不在白名单中', //配置了校验请求来源ip,但是检测到当前请求ip不在配置列表中
        '1011' => '不存在该REST API接口', //请核查REST API接口说明
        '1013' => '命中了接口频率限制策略', //可自行到控制台调整频率限制策略
        '1019' => 'appid不存在', //
        '1020' => 'appid已禁用', //
        '1021' => '请求发起时间不正常,通常是由于您的服务器时间与云服务器时间差异超过10分钟导致的', //请核对服务器时间及API接口中的时间字段是否正常
        '1030' => '不支持该请求', //
    ];
}

本文链接:https://www.masterzc.cn/archives/41.html
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处

Title - Artist
0:00