101 lines
3.3 KiB
PHP
101 lines
3.3 KiB
PHP
<?php
|
|
/**
|
|
* ThinkShop商城系统 - 团队十年电商经验汇集巨献!
|
|
* =========================================================
|
|
* Copy right 2019-2029 成都云之牛科技有限公司, 保留所有权利。
|
|
* ----------------------------------------------
|
|
* 官方网址: https://www.cdcloudshop.com
|
|
|
|
* =========================================================
|
|
*/
|
|
|
|
namespace app\model;
|
|
use think\facade\Cache;
|
|
|
|
error_reporting(E_ALL ^ E_NOTICE);
|
|
|
|
|
|
class NewBaseModel extends \think\Model{
|
|
|
|
protected $table = false;
|
|
protected $name = false;
|
|
protected $autoWriteTimestamp = false; // 开启自动时间戳
|
|
protected $deleteTime = false; // 软删除字段
|
|
protected $site_id;
|
|
|
|
public function __construct(array $data = []){
|
|
parent::__construct($data);
|
|
|
|
$data['table_name'] = $this->name ?? $data['table_name'];
|
|
|
|
if($data['table_name']) {
|
|
cache('new_model_table_name',$data['table_name']);
|
|
$tableName = $data['table_name'];
|
|
}else{
|
|
$tableName = cache('new_model_table_name');
|
|
}
|
|
|
|
$this->name = $tableName;
|
|
$this->site_id = (int)request()->siteid();
|
|
}
|
|
|
|
// 操作成功返回值函数
|
|
public function success($data = '',$code_var = 'SUCCESS'){
|
|
$lang_array = $this->getLang();
|
|
$lang_var = isset($lang_array[$code_var]) ? $lang_array[$code_var] : $code_var;
|
|
if($code_var == 'SUCCESS'){
|
|
$code_var = 0;
|
|
}
|
|
else{
|
|
$code_array = array_keys($lang_array);
|
|
$code_index = array_search($code_var,$code_array);
|
|
if($code_index != FALSE){
|
|
$code_var = 10000 + $code_index;
|
|
}
|
|
}
|
|
return success($code_var,$lang_var,$data);
|
|
}
|
|
// 操作失败返回值函数
|
|
public function error($data = '',$code_var = 'FAIL'){
|
|
|
|
$lang_array = $this->getLang();
|
|
if(isset($lang_array[$code_var])){
|
|
$lang_var = $lang_array[$code_var];
|
|
}
|
|
else{
|
|
$lang_var = $code_var;
|
|
$code_var = 'FAIL';
|
|
}
|
|
$code_array = array_keys($lang_array);
|
|
$code_index = array_search($code_var,$code_array);
|
|
if($code_index != FALSE){
|
|
$code_var = -10000 - $code_index;
|
|
}
|
|
return error($code_var,$lang_var,$data);
|
|
}
|
|
// 获取语言包数组
|
|
public function getLang(){
|
|
$default_lang = config("lang.default_lang");
|
|
$cache_common = Cache::get("lang_app/lang/".$default_lang.'/model.php');
|
|
if(empty($cache_common)){
|
|
$cache_common = include 'app/lang/'.$default_lang.'/model.php';
|
|
Cache::tag("lang")
|
|
->set("lang_app/lang/".$default_lang,$cache_common);
|
|
}
|
|
$lang_path = isset($this->lang) ? $this->lang : '';
|
|
if(!empty($lang_path)){
|
|
$cache_path = Cache::get("lang_".$lang_path."/".$default_lang.'/model.php');
|
|
if(empty($cache_path)){
|
|
$cache_path = include $lang_path."/".$default_lang.'/model.php';
|
|
Cache::tag("lang")
|
|
->set("lang_".$lang_path."/".$default_lang,$cache_path);
|
|
}
|
|
$lang = array_merge($cache_common,$cache_path);
|
|
}
|
|
else{
|
|
$lang = $cache_common;
|
|
}
|
|
return $lang;
|
|
}
|
|
|
|
} |