<?php
namespace App\Http\Controllers;

use Illuminate\Support\Facades\Log;
use Laravel\Lumen\Routing\Controller as BaseController;

class Controller extends BaseController
{
    
    static public $errCode = 0;
    static public $level = 1;

    public function apiReturn($dataArr = '') {
        //生成错误码
        self::$errCode = $this->Errcode(self::$errCode , self::$level);

        //获取错误描述
        $ErrMsg = config('errmsg.cn.'.self::$errCode);

        //上报错误
        $data=['errcode'=>self::$errCode, 'errmsg'=>$ErrMsg];

        //非正常返回码,上报
        if(($data['errcode'] < 10000 || $data['errcode'] >= 50000) && $data['errcode'] !==0 ){
            try{
                ErrorLog(self::$errCode,$ErrMsg);
            }catch (\Exception $e){
                Log::info($e);
            }
        }

        if(!empty($dataArr) && is_array($dataArr)){
            foreach ($dataArr as $k=>$v){
                $data['data'][$k]=$v;
            }
        }else{
            $data['data'] = $dataArr;
        }
        return response()->json($data);
    }

    /**
     * @param int $code 错误码
     * @param int $level 错误级别 1普通错误 5需关注错误 9致命错误,急需解决
     * @return int
     */
    protected function Errcode( $code = 0,$level=1){
        if($code === 0) return 0;
        $SystemCode=config('website.SystemCode');
        return errCode($code,$level,$SystemCode);
    }
}