128 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  *	前台系统-基础控制器
 | |
|  */
 | |
| namespace app\index\controller;
 | |
| use app\AppApi;
 | |
| use think\facade\Db;
 | |
| use think\facade\View;
 | |
| use think\facade\Cookie;
 | |
| use think\facade\Config;
 | |
| 
 | |
| use think\exception\HttpResponseException;
 | |
| use think\facade\Request;
 | |
| use app\index\model\User;
 | |
| 
 | |
| class Base
 | |
| {
 | |
|     public $config = [];
 | |
|     public $userId = null;
 | |
|     public $user = [];
 | |
| 
 | |
|     public function __construct()
 | |
|     {
 | |
|         date_default_timezone_set('PRC');
 | |
|         # 获取配置
 | |
|         $this->config = Db::table('yz_admin_config')->select()->toArray();
 | |
|         // 将配置数据转换为键值对形式
 | |
|         $configData = [];
 | |
|         foreach ($this->config as $item) {
 | |
|             // 使用正确的字段名 config_name 和 config_value
 | |
|             if (isset($item['config_name']) && isset($item['config_value'])) {
 | |
|                 $configData[$item['config_name']] = $item['config_value'];
 | |
|             }
 | |
|         }
 | |
|         $this->config = $configData;
 | |
| 
 | |
|         # 获取用户信息
 | |
|         $this->userId = Cookie::get('user_id');
 | |
|         if (!empty($this->userId)) {
 | |
|             $this->user = User::where('uid', $this->userId)->find();
 | |
|         }
 | |
| 
 | |
|         View::assign([
 | |
|             'user' => $this->user,
 | |
|             'config' => $this->config
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 返回json对象
 | |
|      */
 | |
|     protected function returnCode($code, $data = [], $count = 10)
 | |
|     {
 | |
|         header('Content-type:application/json');
 | |
|         if ($code == 0) {
 | |
|             $arr = array(
 | |
|                 'code' => $code,
 | |
|                 'msg' => '成功',
 | |
|                 'count' => $count,
 | |
|                 'data' => $data
 | |
|             );
 | |
|         } else if ($code >= 1 && $code <= 100) {
 | |
|             $arr = array(
 | |
|                 'code' => $code,
 | |
|                 'msg' => $data
 | |
|             );
 | |
|         } else {
 | |
|             $appapi = new AppApi();
 | |
|             $arr = array(
 | |
|                 'code' => $code,
 | |
|                 'msg' => $appapi::errorTip($code)
 | |
|             );
 | |
|         }
 | |
|         echo json_encode($arr);
 | |
|         if ($code != 0) {
 | |
|             exit;
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 操作成功跳转的快捷方法
 | |
|      * @access protected
 | |
|      * @param  mixed     $msg 提示信息
 | |
|      * @return void
 | |
|      */
 | |
|     protected function success($msg = '')
 | |
|     {
 | |
|         $result = [
 | |
|             'code' => 1,
 | |
|             'msg' => $msg
 | |
|         ];
 | |
| 
 | |
|         $type = $this->getResponseType();
 | |
|         if ($type == 'html') {
 | |
|             $response = view(Config::get('app.dispatch_success_tmpl'), $result);
 | |
|         } else if ($type == 'json') {
 | |
|             $response = json($result);
 | |
|         }
 | |
|         throw new HttpResponseException($response);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 操作错误跳转的快捷方法
 | |
|      * @access protected
 | |
|      * @param  mixed     $msg 提示信息
 | |
|      * @return void
 | |
|      */
 | |
|     protected function error($msg = '')
 | |
|     {
 | |
|         $result = [
 | |
|             'code' => 0,
 | |
|             'msg' => $msg
 | |
|         ];
 | |
|         $response = view(Config::get('app.dispatch_error_tmpl'), $result);
 | |
|         throw new HttpResponseException($response);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 获取当前的response 输出类型
 | |
|      * @access protected
 | |
|      * @return string
 | |
|      */
 | |
|     protected function getResponseType()
 | |
|     {
 | |
|         return Request::isJson() || Request::isAjax() ? 'json' : 'html';
 | |
|     }
 | |
| }
 |