mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-23 23:53:55 +08:00
Merge branch 'main' into web-vue-modify-device
This commit is contained in:
@@ -106,7 +106,7 @@ export default {
|
||||
},
|
||||
// 修改用户状态
|
||||
changeUserStatus(status, userIds, successCallback) {
|
||||
console.log(555,userIds)
|
||||
console.log(555, userIds)
|
||||
RequestService.sendRequest()
|
||||
.url(`${getServiceUrl()}/admin/users/changeStatus/${status}`)
|
||||
.method('put')
|
||||
@@ -122,4 +122,20 @@ export default {
|
||||
})
|
||||
}).send()
|
||||
},
|
||||
// 获取公共配置
|
||||
getPubConfig(callback) {
|
||||
RequestService.sendRequest()
|
||||
.url(`${getServiceUrl()}/user/pub-config`)
|
||||
.method('GET')
|
||||
.success((res) => {
|
||||
RequestService.clearRequestTime();
|
||||
callback(res);
|
||||
})
|
||||
.fail((err) => {
|
||||
console.error('获取公共配置失败:', err);
|
||||
RequestService.reAjaxFun(() => {
|
||||
this.getPubConfig(callback);
|
||||
});
|
||||
}).send();
|
||||
},
|
||||
}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<div class="copyright">
|
||||
©2025 xiaozhi-esp32-server v{{ version }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Api from '@/apis/api';
|
||||
|
||||
export default {
|
||||
name: 'VersionFooter',
|
||||
data() {
|
||||
return {
|
||||
version: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getSystemVersion();
|
||||
},
|
||||
methods: {
|
||||
getSystemVersion() {
|
||||
const storedVersion = sessionStorage.getItem('systemVersion');
|
||||
if (storedVersion) {
|
||||
this.version = storedVersion;
|
||||
return;
|
||||
}
|
||||
|
||||
Api.user.getPubConfig(({ data }) => {
|
||||
if (data.code === 0 && data.data.version) {
|
||||
this.version = data.data.version;
|
||||
sessionStorage.setItem('systemVersion', data.data.version);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
@@ -88,6 +88,7 @@
|
||||
|
||||
<AddDeviceDialog :visible.sync="addDeviceDialogVisible" :agent-id="currentAgentId"
|
||||
@refresh="fetchBindDevices(currentAgentId)" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -131,6 +132,7 @@ export default {
|
||||
},
|
||||
pageCount() {
|
||||
return Math.ceil(this.filteredDeviceList.length / this.pageSize);
|
||||
|
||||
},
|
||||
visiblePages() {
|
||||
const pages = [];
|
||||
@@ -523,4 +525,5 @@ export default {
|
||||
color: #5a64b5;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
@@ -3,21 +3,15 @@
|
||||
<HeaderBar />
|
||||
|
||||
<div class="operation-bar">
|
||||
<h2 class="page-title">{{ modelTypeText }}</h2>
|
||||
<h2 class="page-title">{{ modelTypeText }}</h2>
|
||||
<div class="action-group">
|
||||
<div class="search-group">
|
||||
<el-input
|
||||
placeholder="请输入模型名称查询"
|
||||
v-model="search"
|
||||
class="search-input"
|
||||
clearable
|
||||
@keyup.enter.native="handleSearch"
|
||||
style="width: 240px"
|
||||
/>
|
||||
<el-button class="btn-search" @click="handleSearch">
|
||||
搜索
|
||||
</el-button>
|
||||
</div>
|
||||
<div class="search-group">
|
||||
<el-input placeholder="请输入模型名称查询" v-model="search" class="search-input" clearable
|
||||
@keyup.enter.native="handleSearch" style="width: 240px" />
|
||||
<el-button class="btn-search" @click="handleSearch">
|
||||
搜索
|
||||
</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -93,9 +87,9 @@
|
||||
|
||||
<div class="table-footer">
|
||||
<div class="batch-actions">
|
||||
<el-button size="mini" type="primary" @click="selectAll" >
|
||||
<el-button size="mini" type="primary" @click="selectAll">
|
||||
{{ isAllSelected ?
|
||||
'取消全选' : '全选' }}
|
||||
'取消全选' : '全选' }}
|
||||
</el-button>
|
||||
<el-button type="success" size="mini" @click="addModel" class="add-btn">
|
||||
新增
|
||||
@@ -125,10 +119,6 @@
|
||||
<TtsModel :visible.sync="ttsDialogVisible" :ttsModelId="selectedTtsModelId" />
|
||||
<AddModelDialog :modelType="activeTab" :visible.sync="addDialogVisible" @confirm="handleAddConfirm" />
|
||||
</div>
|
||||
|
||||
<!-- <div class="copyright">-->
|
||||
<!-- ©2025 xiaozhi-esp32-server-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -639,7 +629,6 @@ export default {
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
|
||||
.title-wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
<div class="table_bottom">
|
||||
<div class="ctrl_btn">
|
||||
<el-button size="mini" type="primary" class="select-all-btn" @click="handleSelectAll">
|
||||
{{ isAllSelected ? '取消全选' : '全选' }}
|
||||
{{ isAllSelected ? '取消全选' : '全选' }}
|
||||
</el-button>
|
||||
<el-button size="mini" type="success" icon="el-icon-circle-check" @click="batchEnable">启用</el-button>
|
||||
<el-button size="mini" type="warning" @click="batchDisable"><i
|
||||
@@ -70,7 +70,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="copyright">©2025 xiaozhi-esp32-server</div> -->
|
||||
<view-password-dialog :visible.sync="showViewPassword" :password="currentPassword" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -35,11 +35,11 @@
|
||||
@deviceManage="handleDeviceManage" @delete="handleDeleteAgent" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="copyright">
|
||||
©2025 xiaozhi-esp32-server
|
||||
</div>
|
||||
<AddWisdomBodyDialog :visible.sync="addDeviceDialogVisible" @confirm="handleWisdomBodyAdded" />
|
||||
</el-main>
|
||||
<el-footer>
|
||||
<version-footer />
|
||||
</el-footer>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
@@ -49,10 +49,11 @@ import Api from '@/apis/api';
|
||||
import AddWisdomBodyDialog from '@/components/AddWisdomBodyDialog.vue';
|
||||
import DeviceItem from '@/components/DeviceItem.vue';
|
||||
import HeaderBar from '@/components/HeaderBar.vue';
|
||||
import VersionFooter from '@/components/VersionFooter.vue';
|
||||
|
||||
export default {
|
||||
name: 'HomePage',
|
||||
components: { DeviceItem, AddWisdomBodyDialog, HeaderBar },
|
||||
components: { DeviceItem, AddWisdomBodyDialog, HeaderBar, VersionFooter },
|
||||
data() {
|
||||
return {
|
||||
addDeviceDialogVisible: false,
|
||||
|
||||
@@ -51,9 +51,7 @@
|
||||
</div>
|
||||
</el-main>
|
||||
<el-footer>
|
||||
<div class="copyright">
|
||||
©2025 xiaozhi-esp32-server
|
||||
</div>
|
||||
<version-footer />
|
||||
</el-footer>
|
||||
</el-container>
|
||||
</div>
|
||||
@@ -61,11 +59,14 @@
|
||||
|
||||
<script>
|
||||
import Api from '@/apis/api';
|
||||
import VersionFooter from '@/components/VersionFooter.vue';
|
||||
import { getUUID, goToPage, showDanger, showSuccess } from '@/utils';
|
||||
|
||||
|
||||
export default {
|
||||
name: 'login',
|
||||
components: {
|
||||
VersionFooter
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: "username",
|
||||
@@ -76,11 +77,13 @@ export default {
|
||||
captchaId: ''
|
||||
},
|
||||
captchaUuid: '',
|
||||
captchaUrl: ''
|
||||
captchaUrl: '',
|
||||
version: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.fetchCaptcha();
|
||||
this.getSystemVersion();
|
||||
},
|
||||
methods: {
|
||||
fetchCaptcha() {
|
||||
@@ -144,6 +147,21 @@ export default {
|
||||
|
||||
goToRegister() {
|
||||
goToPage('/register')
|
||||
},
|
||||
|
||||
getSystemVersion() {
|
||||
const storedVersion = sessionStorage.getItem('systemVersion');
|
||||
if (storedVersion) {
|
||||
this.version = storedVersion;
|
||||
return;
|
||||
}
|
||||
|
||||
Api.user.getPubConfig(({ data }) => {
|
||||
if (data.code === 0 && data.data.version) {
|
||||
this.version = data.data.version;
|
||||
sessionStorage.setItem('systemVersion', data.data.version);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,9 +72,7 @@
|
||||
|
||||
<!-- 保持相同的页脚 -->
|
||||
<el-footer>
|
||||
<div class="copyright">
|
||||
©2025 xiaozhi-esp32-server
|
||||
</div>
|
||||
<version-footer />
|
||||
</el-footer>
|
||||
</el-container>
|
||||
</div>
|
||||
@@ -82,10 +80,14 @@
|
||||
|
||||
<script>
|
||||
import Api from '@/apis/api';
|
||||
import VersionFooter from '@/components/VersionFooter.vue';
|
||||
import { getUUID, goToPage, showDanger, showSuccess } from '@/utils';
|
||||
|
||||
export default {
|
||||
name: 'register',
|
||||
components: {
|
||||
VersionFooter
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
|
||||
@@ -81,9 +81,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="copyright">-->
|
||||
<!-- ©2025 xiaozhi-esp32-server-->
|
||||
<!-- </div>-->
|
||||
|
||||
</el-main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
Reference in New Issue
Block a user