From 75967f3095d8e52d357bafeae7f8e0d2f6b34bb9 Mon Sep 17 00:00:00 2001 From: hrx <18603305412@163.com> Date: Fri, 10 Oct 2025 14:21:53 +0800 Subject: [PATCH] uptada --- f/web-kboss/src/App.vue | 7 +- f/web-kboss/src/utils/language.js | 56 +- .../src/views/homePage/about/index.vue | 236 +++++---- f/web-kboss/src/views/homePage/bak12_25.vue | 497 ++++++------------ .../homePage/components/topBox/index.vue | 94 +++- f/web-kboss/src/views/homePage/indexLast.vue | 126 ++++- .../src/views/homePage/mainPage/index.vue | 35 +- 7 files changed, 542 insertions(+), 509 deletions(-) diff --git a/f/web-kboss/src/App.vue b/f/web-kboss/src/App.vue index 0c63085..33b5b57 100644 --- a/f/web-kboss/src/App.vue +++ b/f/web-kboss/src/App.vue @@ -112,7 +112,7 @@ export default { }, mounted() { this.audioElement = new Audio('https://www.kaiyuancloud.cn/dev/idfile?path=/batch_upload/phone-ring.mp3'); - + // 设置音频循环播放 this.audioElement.loop = true; if (sessionStorage.getItem('juese') === '销售' && !window.location.href.includes('login')) { @@ -271,11 +271,6 @@ export default { padding: 5px 20px; } -.el-message--success { - /* border:1px dashed blue; - height: 45px; */ -} - .el-table { z-index: 0 !important; } diff --git a/f/web-kboss/src/utils/language.js b/f/web-kboss/src/utils/language.js index 659f073..5f03113 100644 --- a/f/web-kboss/src/utils/language.js +++ b/f/web-kboss/src/utils/language.js @@ -1,7 +1,6 @@ -// src/utils/language.js import Vue from 'vue' -// 创建一个事件总线用于组件通信 +// 创建一个全局的事件总线用于组件通信 export const languageBus = new Vue() // 语言状态管理 @@ -12,10 +11,16 @@ export const languageStore = { setLanguage(lang) { if (lang === 'zh' || lang === 'en') { + console.log('languageStore: 设置语言为', lang) this.state.language = lang localStorage.setItem('language', lang) - // 触发语言改变事件 + // 触发全局语言改变事件 languageBus.$emit('language-changed', lang) + + // 确保所有组件都能收到变化,即使有些组件监听器设置较晚 + setTimeout(() => { + languageBus.$emit('language-changed', lang) + }, 100) } }, @@ -27,10 +32,53 @@ export const languageStore = { const savedLanguage = localStorage.getItem('language') if (savedLanguage && (savedLanguage === 'zh' || savedLanguage === 'en')) { this.state.language = savedLanguage + } else { + // 如果没有保存的语言设置,使用默认值 + this.state.language = 'zh' + localStorage.setItem('language', 'zh') } + console.log('languageStore: 初始化完成,当前语言:', this.state.language) return this.state.language + }, + + // 调试方法 + debug() { + console.log('languageStore 调试信息:') + console.log('- 当前语言:', this.state.language) + console.log('- localStorage:', localStorage.getItem('language')) + console.log('- 事件监听器数量:', languageBus._events['language-changed'] ? languageBus._events['language-changed'].length : 0) } } -// 初始化 +// 在应用启动时初始化 languageStore.init() + +// 添加一个全局状态检查方法 +export const checkLanguageState = () => { + console.log('=== 全局语言状态检查 ==='); + console.log('languageStore:', languageStore.getLanguage()); + console.log('localStorage:', localStorage.getItem('language')); + + // 检查所有可能存储语言状态的地方 + const stores = [ + { name: 'languageStore', value: languageStore.getLanguage() }, + { name: 'localStorage', value: localStorage.getItem('language') } + ]; + + // 找出不一致的状态 + const uniqueValues = [...new Set(stores.map(store => store.value))]; + if (uniqueValues.length > 1) { + console.warn('语言状态不一致!', stores); + // 自动修复:以 languageStore 为准 + const correctLang = languageStore.getLanguage(); + localStorage.setItem('language', correctLang); + console.log('已自动修复语言状态不一致问题'); + } else { + console.log('语言状态一致:', uniqueValues[0]); + } +} + +// 在应用启动时检查状态一致性 +setTimeout(() => { + checkLanguageState(); +}, 1000); diff --git a/f/web-kboss/src/views/homePage/about/index.vue b/f/web-kboss/src/views/homePage/about/index.vue index 2ecfe32..2bbacae 100644 --- a/f/web-kboss/src/views/homePage/about/index.vue +++ b/f/web-kboss/src/views/homePage/about/index.vue @@ -2,13 +2,11 @@
- +
-
-

{{ i }}

-
+
-
- 公司资质 +
+ {{ translations[language].qualifications }}
+
- - -
  • - -
    使命
    + +
    {{ translations[language].mission }}
    - 让AI无处不在,让智能如此简单 - - + + {{ translations[language].missionContent }} +
  • - -
    愿景
    + +
    {{ translations[language].vision }}
    - 全球领先的AI服务运营商 - - + + {{ translations[language].visionContent }} +
  • - -
    价值观
    + +
    {{ translations[language].values }}
    - 卓越、开放、创新 - - - + + {{ translations[language].valuesContent }} +
+
-
- 平台优势 +
+ {{ translations[language].platformAdvantages }}
  • - +
    - 精准定位 - 专注于为各行业提供专业、高效的人工智能解决方案,助力企业智能化转型。 + {{ translations[language].advantage1Title }} + {{ translations[language].advantage1Desc }}
  • - +
    - 技术服务 - 提供人工智能相关的技术服务,为企业解决复杂的技术难题。 + {{ translations[language].advantage2Title }} + {{ translations[language].advantage2Desc }}
  • - +
    - 产品定制 - 根据企业的特定需求,定制开发人工智能产品,满足不同场景的应用需求。 -
    -
  • - -
  • -
    - -
    -
    - 产业赋能 - 通过人工智能技术,为传统产业赋能,提升产业的竞争力和创新能力。 + {{ translations[language].advantage3Title }} + {{ translations[language].advantage3Desc }}
  • - +
    - 一站式、本地化服务 - 从售前、售中到售后提供一站式全方位服务 + {{ translations[language].advantage4Title }} + {{ translations[language].advantage4Desc }}
  • - +
    - 提供AI基础设施与模型服务 - 提供整体底层技术架构和系统支持及模型服务 + {{ translations[language].advantage5Title }} + {{ translations[language].advantage5Desc }} +
    +
  • +
  • +
    + +
    +
    + {{ translations[language].advantage6Title }} + {{ translations[language].advantage6Desc }}
  • -
@@ -166,10 +130,76 @@ import Vue from 'vue' import LogoTwo from "@/views/homePage/mainPage/logoG/logoTwo.vue"; import {mapGetters, mapState} from "vuex"; +// 导入语言管理 +import { languageStore, languageBus } from '@/utils/language' export default Vue.extend({ - name: "aboubt", + name: "about", components: {LogoTwo}, + data() { + return { + language: 'zh', + languageChangedHandler: null, + translations: { + zh: { + slogan: '全球领先的AI服务运营商', + qualifications: '公司资质', + mission: '使命', + missionContent: '让AI无处不在,让智能如此简单', + vision: '愿景', + visionContent: '全球领先的AI服务运营商', + values: '价值观', + valuesContent: '卓越、开放、创新', + platformAdvantages: '平台优势', + advantage1Title: '精准定位', + advantage1Desc: '专注于为各行业提供专业、高效的人工智能解决方案,助力企业智能化转型。', + advantage2Title: '技术服务', + advantage2Desc: '提供人工智能相关的技术服务,为企业解决复杂的技术难题。', + advantage3Title: '产品定制', + advantage3Desc: '根据企业的特定需求,定制开发人工智能产品,满足不同场景的应用需求。', + advantage4Title: '产业赋能', + advantage4Desc: '通过人工智能技术,为传统产业赋能,提升产业的竞争力和创新能力。', + advantage5Title: '一站式、本地化服务', + advantage5Desc: '从售前、售中到售后提供一站式全方位服务', + advantage6Title: '提供AI基础设施与模型服务', + advantage6Desc: '提供整体底层技术架构和系统支持及模型服务' + }, + en: { + slogan: 'Leading AI Service Operator Worldwide', + qualifications: 'Company Qualifications', + mission: 'Mission', + missionContent: 'Make AI ubiquitous and intelligence so simple', + vision: 'Vision', + visionContent: 'Global Leading AI Service Operator', + values: 'Values', + valuesContent: 'Excellence, Openness, Innovation', + platformAdvantages: 'Platform Advantages', + advantage1Title: 'Precise Positioning', + advantage1Desc: 'Focus on providing professional and efficient AI solutions for various industries to help enterprises achieve intelligent transformation.', + advantage2Title: 'Technical Services', + advantage2Desc: 'Provide AI-related technical services to help enterprises solve complex technical problems.', + advantage3Title: 'Product Customization', + advantage3Desc: 'Customize AI products according to specific enterprise needs to meet application requirements in different scenarios.', + advantage4Title: 'Industry Empowerment', + advantage4Desc: 'Empower traditional industries through AI technology, enhancing industry competitiveness and innovation capability.', + advantage5Title: 'One-stop, Localized Service', + advantage5Desc: 'Provide comprehensive one-stop services from pre-sales to after-sales', + advantage6Title: 'AI Infrastructure & Model Services', + advantage6Desc: 'Provide overall underlying technical architecture, system support, and model services' + } + } + } + }, + created() { + // 修复:确保从共享状态获取当前语言 + this.initLanguage() + }, + beforeDestroy() { + // 移除事件监听 + if (this.languageChangedHandler) { + languageBus.$off('language-changed', this.languageChangedHandler) + } + }, computed: { ...mapGetters(["sidebar", "avatar", "device"]), ...mapState({ @@ -180,8 +210,6 @@ export default Vue.extend({ logoutUrl: state => state.login.logoutUrl, loginState: state => state.login.loginState, logoInfoNew: state => state.product.logoInfoNew, - - }), showRegisterButton() { const orgType = window.sessionStorage.getItem('org_type'); @@ -192,12 +220,27 @@ export default Vue.extend({ username() { return sessionStorage.getItem('username') || ''; }, - }, + methods: { + // 初始化语言状态 + initLanguage() { + // 直接从store获取当前语言,确保一致性 + this.language = languageStore.getLanguage() + console.log('about页面初始化语言:', this.language) + + // 保存事件处理函数的引用,以便正确移除 + this.languageChangedHandler = (lang) => { + console.log('about页面接收到语言变化:', lang) + this.language = lang + } + + // 监听语言变化事件 + languageBus.$on('language-changed', this.languageChangedHandler) + } + } }) -