diff --git a/src/layout/components/Setting/src/Setting.vue b/src/layout/components/Setting/src/Setting.vue
index a036e090b..cc128e0c4 100644
--- a/src/layout/components/Setting/src/Setting.vue
+++ b/src/layout/components/Setting/src/Setting.vue
@@ -123,6 +123,8 @@ const copyConfig = async () => {
locale: ${appStore.getLocale},
// 消息图标
message: ${appStore.getMessage},
+ // IM 即时通讯图标
+ im: ${appStore.getIm},
// 标签页
tagsView: ${appStore.getTagsView},
// 标签页
diff --git a/src/layout/components/Setting/src/components/InterfaceDisplay.vue b/src/layout/components/Setting/src/components/InterfaceDisplay.vue
index 53ff387f4..d95ae7c2b 100644
--- a/src/layout/components/Setting/src/components/InterfaceDisplay.vue
+++ b/src/layout/components/Setting/src/components/InterfaceDisplay.vue
@@ -65,6 +65,13 @@ const messageChange = (show: boolean) => {
appStore.setMessage(show)
}
+// IM 即时通讯图标
+const im = ref(appStore.getIm)
+
+const imChange = (show: boolean) => {
+ appStore.setIm(show)
+}
+
// 标签页
const tagsView = ref(appStore.getTagsView)
@@ -184,6 +191,11 @@ watch(
+
+ {{ t('setting.imIcon') }}
+
+
+
{{ t('setting.tagsView') }}
diff --git a/src/layout/components/ToolHeader.vue b/src/layout/components/ToolHeader.vue
index 63d6ef546..0a6ed3d54 100644
--- a/src/layout/components/ToolHeader.vue
+++ b/src/layout/components/ToolHeader.vue
@@ -47,6 +47,9 @@ const locale = computed(() => appStore.getLocale)
// 消息图标
const message = computed(() => appStore.getMessage)
+// IM即时通讯图标
+const im = computed(() => appStore.getIm)
+
// 租户切换权限
const hasTenantVisitPermission = computed(
() => import.meta.env.VITE_APP_TENANT_ENABLE === 'true' && checkPermi(['system:tenant:visit'])
@@ -113,9 +116,11 @@ export default defineComponent({
) : undefined}
{/* IM 聊天入口 */}
-
-
-
+ {im.value ? (
+
+
+
+ ) : undefined}
diff --git a/src/locales/en.ts b/src/locales/en.ts
index 00fc37680..413127138 100644
--- a/src/locales/en.ts
+++ b/src/locales/en.ts
@@ -91,6 +91,7 @@ export default {
sizeIcon: 'Size icon',
localeIcon: 'Locale icon',
messageIcon: 'Message icon',
+ imIcon: 'IM icon',
tagsView: 'Tags view',
logo: 'Logo',
greyMode: 'Grey mode',
@@ -147,9 +148,9 @@ export default {
qrcode: 'Scan the QR code to log in',
btnRegister: 'Sign up',
SmsSendMsg: 'code has been sent',
- resetPassword: "Reset Password",
- resetPasswordSuccess: "Reset Password Success",
- invalidTenantName:"Invalid Tenant Name"
+ resetPassword: 'Reset Password',
+ resetPasswordSuccess: 'Reset Password Success',
+ invalidTenantName: 'Invalid Tenant Name'
},
captcha: {
verify: 'Verify',
diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts
index 3e2861054..13065de49 100644
--- a/src/locales/zh-CN.ts
+++ b/src/locales/zh-CN.ts
@@ -91,6 +91,7 @@ export default {
sizeIcon: '尺寸图标',
localeIcon: '多语言图标',
messageIcon: '消息图标',
+ imIcon: '即时通讯图标',
tagsView: '标签页',
tagsViewImmerse: '标签页沉浸',
logo: '标志',
diff --git a/src/store/modules/app.ts b/src/store/modules/app.ts
index f4433bc19..f010ba4d1 100644
--- a/src/store/modules/app.ts
+++ b/src/store/modules/app.ts
@@ -22,6 +22,7 @@ interface AppState {
size: boolean
locale: boolean
message: boolean
+ im: boolean
tagsView: boolean
tagsViewImmerse: boolean
tagsViewIcon: boolean
@@ -60,6 +61,7 @@ export const useAppStore = defineStore('app', {
size: true, // 尺寸图标
locale: true, // 多语言图标
message: true, // 消息图标
+ im: true, //IM即时通讯图标
tagsView: true, // 标签页
tagsViewImmerse: false, // 标签页沉浸
tagsViewIcon: true, // 是否显示标签图标
@@ -132,6 +134,9 @@ export const useAppStore = defineStore('app', {
getMessage(): boolean {
return this.message
},
+ getIm(): boolean {
+ return this.im
+ },
getTagsView(): boolean {
return this.tagsView
},
@@ -246,6 +251,9 @@ export const useAppStore = defineStore('app', {
setMessage(message: boolean) {
this.message = message
},
+ setIm(im: boolean) {
+ this.im = im
+ },
setTagsView(tagsView: boolean) {
this.tagsView = tagsView
},