From 2d4959aa7db6933b7e48265bfd5f3559f42c4722 Mon Sep 17 00:00:00 2001 From: RockYang Date: Thu, 8 Aug 2024 14:37:33 +0800 Subject: [PATCH] add cache for getting user info and system configs --- CHANGELOG.md | 2 + api/core/types/config.go | 7 +- web/src/action/session.js | 21 ------ web/src/components/FooterBar.vue | 5 +- web/src/components/LoginDialog.vue | 7 +- web/src/components/UserProfile.vue | 2 +- web/src/components/Welcome.vue | 4 +- web/src/components/admin/AdminTags.vue | 2 +- web/src/store/cache.js | 90 ++++++++++++++++++++++++ web/src/store/chat.js | 11 --- web/src/store/session.js | 3 + web/src/utils/http.js | 1 - web/src/views/ChatApps.vue | 2 +- web/src/views/ChatPlus.vue | 11 ++- web/src/views/Dalle.vue | 4 +- web/src/views/Home.vue | 6 +- web/src/views/ImageMj.vue | 4 +- web/src/views/ImageSd.vue | 4 +- web/src/views/Index.vue | 6 +- web/src/views/Invitation.vue | 4 +- web/src/views/Login.vue | 6 +- web/src/views/MarkMap.vue | 41 +++++------ web/src/views/Member.vue | 4 +- web/src/views/PowerLog.vue | 2 +- web/src/views/Register.vue | 5 +- web/src/views/Suno.vue | 2 +- web/src/views/admin/Home.vue | 2 +- web/src/views/admin/Login.vue | 4 +- web/src/views/admin/SysConfig.vue | 9 ++- web/src/views/mobile/ChatList.vue | 2 +- web/src/views/mobile/ChatSession.vue | 2 +- web/src/views/mobile/Index.vue | 4 +- web/src/views/mobile/Profile.vue | 4 +- web/src/views/mobile/pages/ImageDall.vue | 4 +- web/src/views/mobile/pages/ImageMj.vue | 4 +- web/src/views/mobile/pages/ImageSd.vue | 4 +- 36 files changed, 185 insertions(+), 110 deletions(-) delete mode 100644 web/src/action/session.js create mode 100644 web/src/store/cache.js delete mode 100644 web/src/store/chat.js diff --git a/CHANGELOG.md b/CHANGELOG.md index d0cad4cf..ace0acb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ * 功能优化:更新数据库失败时候显示具体的的报错信息 * Bug修复:修复管理后台对话详情页内容显示异常问题 * 功能优化:管理后台新增清空所有未支付订单的功能 +* 功能优化:给会话信息和系统配置数据加上缓存功能,减少 http 请求 +* 功能新增:移除微信机器人收款功能,增加卡密功能,支持用户使用卡密兑换算力 ## v4.1.1 * Bug修复:修复 GPT 模型 function call 调用后没有输出的问题 diff --git a/api/core/types/config.go b/api/core/types/config.go index a9d8ea4c..2085dc9c 100644 --- a/api/core/types/config.go +++ b/api/core/types/config.go @@ -166,7 +166,8 @@ type SystemConfig struct { SdNegPrompt string `json:"sd_neg_prompt"` // SD 默认反向提示词 MjMode string `json:"mj_mode"` // midjourney 默认的API模式,relax, fast, turbo - IndexBgURL string `json:"index_bg_url"` // 前端首页背景图片 - IndexNavs []int `json:"index_navs"` // 首页显示的导航菜单 - Copyright string `json:"copyright"` // 版权信息 + IndexBgURL string `json:"index_bg_url"` // 前端首页背景图片 + IndexNavs []int `json:"index_navs"` // 首页显示的导航菜单 + Copyright string `json:"copyright"` // 版权信息 + MarkMapText string `json:"mark_map_text"` // 思维导入的默认文本 } diff --git a/web/src/action/session.js b/web/src/action/session.js deleted file mode 100644 index ea1314c2..00000000 --- a/web/src/action/session.js +++ /dev/null @@ -1,21 +0,0 @@ -import {httpGet} from "@/utils/http"; - -export function checkSession() { - return new Promise((resolve, reject) => { - httpGet('/api/user/session').then(res => { - resolve(res.data) - }).catch(err => { - reject(err) - }) - }) -} - -export function checkAdminSession() { - return new Promise((resolve, reject) => { - httpGet('/api/admin/session').then(res => { - resolve(res) - }).catch(err => { - reject(err) - }) - }) -} \ No newline at end of file diff --git a/web/src/components/FooterBar.vue b/web/src/components/FooterBar.vue index 578f27e9..45624acd 100644 --- a/web/src/components/FooterBar.vue +++ b/web/src/components/FooterBar.vue @@ -16,6 +16,7 @@ import {ref} from "vue"; import {httpGet} from "@/utils/http"; import {showMessageError} from "@/utils/dialog"; +import {getLicenseInfo, getSystemInfo} from "@/store/cache"; const title = ref("") const version = ref(process.env.VUE_APP_VERSION) @@ -30,14 +31,14 @@ const props = defineProps({ }); // 获取系统配置 -httpGet("/api/config/get?key=system").then(res => { +getSystemInfo().then(res => { title.value = res.data.title??process.env.VUE_APP_TITLE copyRight.value = res.data.copyright.length>1?res.data.copyright:'极客学长 © 2023 - '+new Date().getFullYear()+' All rights reserved.' }).catch(e => { showMessageError("获取系统配置失败:" + e.message) }) -httpGet("/api/config/license").then(res => { +getLicenseInfo().then(res => { license.value = res.data }).catch(e => { showMessageError("获取 License 失败:" + e.message) diff --git a/web/src/components/LoginDialog.vue b/web/src/components/LoginDialog.vue index 9efe98e2..430ae4a2 100644 --- a/web/src/components/LoginDialog.vue +++ b/web/src/components/LoginDialog.vue @@ -221,14 +221,15 @@