123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- <?php
- // +----------------------------------------------------------------------
- // | ThinkPHP [ WE CAN DO IT JUST THINK ]
- // +----------------------------------------------------------------------
- // | Copyright (c) 2006~2019 http://thinkphp.cn All rights reserved.
- // +----------------------------------------------------------------------
- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- // +----------------------------------------------------------------------
- // | Author: liu21st <liu21st@gmail.com>
- // +----------------------------------------------------------------------
- declare (strict_types = 1);
- namespace app\mainapp;
- use think\App;
- use think\exception\ValidateException;
- use think\Validate;
- // use Firebase\JWT\JWT;
- // define('ACCESS_TOKEN_KEY', '1gHuiop975cdashyex9Ud23ldsvm2Xq'); //密钥
- //
- // define('WECHATPAY_APPID', 'wxeac94e69d4e4da41');
- define('NOTIFY_WECHAT_URL', 'https://zp.vlinke.com/index.php/mainapp/notify/orderwechat');
- /**
- * 控制器基础类
- */
- abstract class BaseController
- {
-
- protected $wechatConfig = array(
- 'appid' => 'wxb97c1a98dd6f52c9',
- 'mch_id' => '1552581081',
- 'key' => 'xianchangaixiechunbingbrandy5211',
- 'sslcert_path' => '',
- 'sslkey_path' => ''
- );
-
-
- protected $provincelist = array(
- ['value'=>"", 'title'=>"全部"],
- ['value'=>"北京市", 'title'=>"北京市"],
- ['value'=>"天津市", 'title'=>"天津市"],
- ['value'=>"河北省", 'title'=>"河北省"],
- ['value'=>"山西省", 'title'=>"山西省"],
- ['value'=>"内蒙古自治区", 'title'=>"内蒙古自治区"],
- ['value'=>"辽宁省", 'title'=>"辽宁省"],
- ['value'=>"吉林省", 'title'=>"吉林省"],
- ['value'=>"黑龙江省", 'title'=>"黑龙江省"],
- ['value'=>"上海市", 'title'=>"上海市"],
- ['value'=>"江苏省", 'title'=>"江苏省"],
- ['value'=>"浙江省", 'title'=>"浙江省"],
- ['value'=>"安徽省", 'title'=>"安徽省"],
- ['value'=>"福建省", 'title'=>"福建省"],
- ['value'=>"江西省", 'title'=>"江西省"],
- ['value'=>"山东省", 'title'=>"山东省"],
- ['value'=>"河南省", 'title'=>"河南省"],
- ['value'=>"湖北省", 'title'=>"湖北省"],
- ['value'=>"湖南省", 'title'=>"湖南省"],
- ['value'=>"广东省", 'title'=>"广东省"],
- ['value'=>"广西壮族自治区", 'title'=>"广西壮族自治区"],
- ['value'=>"海南省", 'title'=>"海南省"],
- ['value'=>"重庆市", 'title'=>"重庆市"],
- ['value'=>"四川省", 'title'=>"四川省"],
- ['value'=>"贵州省", 'title'=>"贵州省"],
- ['value'=>"云南省", 'title'=>"云南省"],
- ['value'=>"西藏自治区", 'title'=>"西藏自治区"],
- ['value'=>"陕西省", 'title'=>"陕西省"],
- ['value'=>"甘肃省", 'title'=>"甘肃省"],
- ['value'=>"青海省", 'title'=>"青海省"],
- ['value'=>"宁夏回族自治区", 'title'=>"宁夏回族自治区"],
- ['value'=>"新疆维吾尔自治区", 'title'=>"新疆维吾尔自治区"],
- ['value'=>"台湾省", 'title'=>"台湾省"],
- ['value'=>"香港特别行政区", 'title'=>"香港特别行政区"],
- ['value'=>"澳门特别行政区", 'title'=>"澳门特别行政区"]
- );
- /**
- * Request实例
- * @var \think\Request
- */
- protected $request;
- /**
- * 应用实例
- * @var \think\App
- */
- protected $app;
- /**
- * 是否批量验证
- * @var bool
- */
- protected $batchValidate = false;
- /**
- * 控制器中间件
- * @var array
- */
- protected $middleware = [];
-
- /**
- * 控制器中间件
- * @var array
- */
- protected $access_administer = [];
- /**
- * 构造方法
- * @access public
- * @param App $app 应用对象
- */
- public function __construct(App $app)
- {
- $this->app = $app;
- $this->request = $this->app->request;
-
-
- // 控制器初始化
- // $this->initialize();
- }
- // 初始化
- protected function initialize()
- {
- // 验证登陆信息
- $access_token = input('access_token');
- if (empty($access_token)) {
- page_result(1001, "You do not have permission to access.");
- }else{
- try {
- JWT::$leeway = 60;
- $decoded = JWT::decode($access_token, ACCESS_TOKEN_KEY, ['HS256']);
- $arr = (array)$decoded;
- if ($arr['exp'] < time()) {
- page_result(1001, "请重新登录。");
- } else {
- $this->access_administer = $arr['data'];
- }
- } catch(\Exception $e) {
- page_result(1001, "Token验证失败,请重新登录。");
- }
- }
- }
- /**
- * 验证数据
- * @access protected
- * @param array $data 数据
- * @param string|array $validate 验证器名或者验证规则数组
- * @param array $message 提示信息
- * @param bool $batch 是否批量验证
- * @return array|string|true
- * @throws ValidateException
- */
- protected function validate(array $data, $validate, array $message = [], bool $batch = false)
- {
- if (is_array($validate)) {
- $v = new Validate();
- $v->rule($validate);
- } else {
- if (strpos($validate, '.')) {
- // 支持场景
- list($validate, $scene) = explode('.', $validate);
- }
- $class = false !== strpos($validate, '\\') ? $validate : $this->app->parseClass('validate', $validate);
- $v = new $class();
- if (!empty($scene)) {
- $v->scene($scene);
- }
- }
- $v->message($message);
- // 是否批量验证
- if ($batch || $this->batchValidate) {
- $v->batch(true);
- }
- return $v->failException(true)->check($data);
- }
- }
|