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';
 | 
						|
    }
 | 
						|
}
 |