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; } /** * Common: 获取单条信息 * Author: wu-hui * Time: 2022/10/14 15:41 * @param $id * @param array $fields * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function singleInfo($id,$fields = []):array{ //根据id获取数据信息 $info = $this->field($fields)->find($id); if(!$info) return []; //处理相关数据信息 $info = $info ? $info->toArray() : []; return $this->success($info); } /** * Common: 添加/编辑内容(公共) * Author: wu-hui * Time: 2022/10/14 11:25 * @param $info * @return array */ public function editInfo($info){ $this->startTrans(); try{ // 判断是添加还是修改 if((int)$info[$this->pk] > 0) self::update($info, [$this->pk => $info[$this->pk]]);// 修改内容 else self::create($info); $this->commit(); return $this->success(); }catch(\Exception $e){ $this->rollback(); return $this->error('',$e->getMessage()); } } /** * Common: 删除信息(公共) * Author: wu-hui * Time: 2022/10/14 12:01 * @param $id * @return array */ public function delInfo($id){ // id 不存在,返回 if((int)$id <= 0) return $this->error('','删除失败,参数错误!'); // 删除操作 $this->startTrans(); try{ $this->where($this->pk,$id) ->useSoftDelete('delete_time',time()) ->delete(); $this->commit(); return $this->success(); }catch(\Exception $e){ $this->rollback(); return $this->error('',$e->getMessage()); } } }