mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-24 16:13:54 +08:00
fix: 修复刷新页面菜单、页脚闪动的问题
This commit is contained in:
@@ -136,17 +136,22 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<el-footer>
|
||||
<version-footer />
|
||||
</el-footer>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import HeaderBar from "@/components/HeaderBar";
|
||||
import agentApi from "@/apis/module/agent";
|
||||
import VersionFooter from "@/components/VersionFooter.vue";
|
||||
|
||||
export default {
|
||||
name: "AgentTemplateManagement",
|
||||
components: {
|
||||
HeaderBar,
|
||||
VersionFooter
|
||||
},
|
||||
|
||||
data() {
|
||||
|
||||
@@ -131,9 +131,7 @@ export default {
|
||||
async created() {
|
||||
// 等待功能配置管理器初始化完成
|
||||
try {
|
||||
console.log('等待功能配置管理器初始化...')
|
||||
await featureManager.waitForInitialization()
|
||||
console.log('功能配置管理器初始化完成,开始加载功能配置')
|
||||
await this.loadFeatures()
|
||||
this.setupConfigChangeListener()
|
||||
} catch (error) {
|
||||
@@ -152,14 +150,8 @@ export default {
|
||||
async getFeaturesByIds(featureIds) {
|
||||
try {
|
||||
const featureConfig = await featureManager.getAllFeatures()
|
||||
console.log('获取到的功能配置:', JSON.stringify(featureConfig, null, 2))
|
||||
console.log('请求的功能ID列表:', featureIds)
|
||||
|
||||
const result = featureIds.map(id => {
|
||||
const feature = featureConfig[id]
|
||||
console.log(`功能 ${id} 的配置:`, feature)
|
||||
console.log(`功能 ${id} 的启用状态:`, feature?.enabled)
|
||||
|
||||
return {
|
||||
id: id,
|
||||
name: this.$t(`feature.${id}.name`),
|
||||
@@ -168,7 +160,6 @@ export default {
|
||||
}
|
||||
})
|
||||
|
||||
console.log('最终返回的功能列表:', JSON.stringify(result, null, 2))
|
||||
return result
|
||||
} catch (error) {
|
||||
console.error('获取功能配置失败:', error)
|
||||
@@ -245,7 +236,6 @@ export default {
|
||||
|
||||
setTimeout(() => {
|
||||
this.loadFeatures()
|
||||
this.$router.go(0)
|
||||
}, 1000)
|
||||
} catch (error) {
|
||||
console.error('保存配置失败:', error)
|
||||
@@ -261,7 +251,6 @@ export default {
|
||||
// 设置配置变化监听器
|
||||
setupConfigChangeListener() {
|
||||
this.configChangeHandler = () => {
|
||||
console.log('检测到配置变化,重新加载功能列表')
|
||||
this.loadFeatures()
|
||||
}
|
||||
window.addEventListener('featureConfigReloaded', this.configChangeHandler)
|
||||
|
||||
@@ -546,7 +546,6 @@ export default {
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.ctrl_btn {
|
||||
@@ -794,7 +793,7 @@ export default {
|
||||
}
|
||||
|
||||
.el-table {
|
||||
--table-max-height: calc(100vh - 40vh);
|
||||
// --table-max-height: calc(100vh - 40vh);
|
||||
max-height: var(--table-max-height);
|
||||
|
||||
.el-table__body-wrapper {
|
||||
|
||||
@@ -76,7 +76,6 @@
|
||||
margin-top: 20px;
|
||||
align-items: center;
|
||||
border-radius: 10px;
|
||||
background: #f6f8fb;
|
||||
border: 1px solid #e4e6ef;
|
||||
height: 40px;
|
||||
padding: 0 15px;
|
||||
|
||||
@@ -238,13 +238,6 @@ export default {
|
||||
this.$store.dispatch("fetchPubConfig").then(() => {
|
||||
// 根据配置决定默认登录方式
|
||||
this.isMobileLogin = this.enableMobileRegister;
|
||||
|
||||
// pub-config接口调用完成后,重新初始化featureManager以确保使用最新的配置
|
||||
featureManager.waitForInitialization().then(() => {
|
||||
console.log('featureManager重新初始化完成,使用pub-config配置');
|
||||
}).catch(error => {
|
||||
console.warn('featureManager重新初始化失败:', error);
|
||||
});
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
@@ -256,7 +249,9 @@ export default {
|
||||
window.open(url, '_blank');
|
||||
},
|
||||
fetchCaptcha() {
|
||||
if (this.$store.getters.getToken) {
|
||||
// 处理手动清空localstorage导致无法获取验证码的问题
|
||||
const token = localStorage.getItem('token')
|
||||
if (token) {
|
||||
if (this.$route.path !== "/home") {
|
||||
this.$router.push("/home");
|
||||
}
|
||||
@@ -308,6 +303,17 @@ export default {
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
getUserInfo() {
|
||||
Api.user.getUserInfo(({ data }) => {
|
||||
if (data.code === 0) {
|
||||
this.$store.commit("setUserInfo", data.data);
|
||||
goToPage("/home");
|
||||
} else {
|
||||
showDanger("用户信息获取失败");
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
async login() {
|
||||
if (this.isMobileLogin) {
|
||||
@@ -361,7 +367,7 @@ export default {
|
||||
({ data }) => {
|
||||
showSuccess(this.$t('login.loginSuccess'));
|
||||
this.$store.commit("setToken", JSON.stringify(data.data));
|
||||
goToPage("/home");
|
||||
this.getUserInfo();
|
||||
},
|
||||
(err) => {
|
||||
// 直接使用后端返回的国际化消息
|
||||
|
||||
Reference in New Issue
Block a user