diff --git a/src/addon/aikefu/model/Conversation.php b/src/addon/aikefu/model/Conversation.php index 86132915e..9a1f61e8f 100644 --- a/src/addon/aikefu/model/Conversation.php +++ b/src/addon/aikefu/model/Conversation.php @@ -2,10 +2,84 @@ namespace addon\aikefu\model; -use app\model\BaseModel; +use think\Model; -class Conversation extends BaseModel +class Conversation extends Model { + /** + * 操作成功返回值函数 + * @param string $data + * @param string $code_var + * @return array + */ + public function success($data = '', $code_var = 'SUCCESS') + { + $lang_array = $this->getLang(); + $lang_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); + } + + /** + * 操作失败返回值函数 + * @param string $data + * @param string $code_var + * @return array + */ + 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); + } + + /** + * 获取语言包数组 + * @return Ambigous + */ + public function getLang() + { + $default_lang = config("lang.default_lang"); + $cache_common = \think\facade\Cache::get("lang_app/lang/" . $default_lang . '/model.php'); + if (empty($cache_common)) { + $cache_common = include 'app/lang/' . $default_lang . '/model.php'; + \think\facade\Cache::tag("lang")->set("lang_app/lang/" . $default_lang, $cache_common); + } + $lang_path = $this->lang ?? ''; + if (!empty($lang_path)) { + $cache_path = \think\facade\Cache::get("lang_" . $lang_path . "/" . $default_lang . '/model.php'); + if (empty($cache_path)) { + $cache_path = include $lang_path . "/" . $default_lang . '/model.php'; + \think\facade\Cache::tag("lang")->set("lang_" . $lang_path . "/" . $default_lang, $cache_path); + } + $lang = array_merge($cache_common, $cache_path); + } else { + $lang = $cache_common; + } + return $lang; + } + /** * 表名 * @var string @@ -48,6 +122,22 @@ class Conversation extends BaseModel return $this->pageFormat($list); } + /** + * 分页数据格式化 + * @param \think\Paginator $paginator + * @return array + */ + protected function pageFormat($paginator) + { + return [ + 'data' => $paginator->items(), + 'total' => $paginator->total(), + 'per_page' => $paginator->listRows(), + 'current_page' => $paginator->currentPage(), + 'last_page' => $paginator->lastPage() + ]; + } + /** * 添加会话 * @param array $data diff --git a/src/addon/aikefu/model/Message.php b/src/addon/aikefu/model/Message.php index 60368be02..d98e4650a 100644 --- a/src/addon/aikefu/model/Message.php +++ b/src/addon/aikefu/model/Message.php @@ -2,10 +2,84 @@ namespace addon\aikefu\model; -use app\model\BaseModel; +use think\Model; -class Message extends BaseModel +class Message extends Model { + /** + * 操作成功返回值函数 + * @param string $data + * @param string $code_var + * @return array + */ + public function success($data = '', $code_var = 'SUCCESS') + { + $lang_array = $this->getLang(); + $lang_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); + } + + /** + * 操作失败返回值函数 + * @param string $data + * @param string $code_var + * @return array + */ + 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); + } + + /** + * 获取语言包数组 + * @return Ambigous + */ + public function getLang() + { + $default_lang = config("lang.default_lang"); + $cache_common = \think\facade\Cache::get("lang_app/lang/" . $default_lang . '/model.php'); + if (empty($cache_common)) { + $cache_common = include 'app/lang/' . $default_lang . '/model.php'; + \think\facade\Cache::tag("lang")->set("lang_app/lang/" . $default_lang, $cache_common); + } + $lang_path = $this->lang ?? ''; + if (!empty($lang_path)) { + $cache_path = \think\facade\Cache::get("lang_" . $lang_path . "/" . $default_lang . '/model.php'); + if (empty($cache_path)) { + $cache_path = include $lang_path . "/" . $default_lang . '/model.php'; + \think\facade\Cache::tag("lang")->set("lang_" . $lang_path . "/" . $default_lang, $cache_path); + } + $lang = array_merge($cache_common, $cache_path); + } else { + $lang = $cache_common; + } + return $lang; + } + /** * 表名 * @var string @@ -48,6 +122,22 @@ class Message extends BaseModel return $this->pageFormat($list); } + /** + * 分页数据格式化 + * @param \think\Paginator $paginator + * @return array + */ + protected function pageFormat($paginator) + { + return [ + 'data' => $paginator->items(), + 'total' => $paginator->total(), + 'per_page' => $paginator->listRows(), + 'current_page' => $paginator->currentPage(), + 'last_page' => $paginator->lastPage() + ]; + } + /** * 添加消息 * @param array $data