diff --git a/main/manager-web/babel.config.js b/main/manager-web/babel.config.js index 52fce6d4..b3469a75 100644 --- a/main/manager-web/babel.config.js +++ b/main/manager-web/babel.config.js @@ -1,13 +1,12 @@ module.exports = { - presets: [ - ['@vue/cli-plugin-babel/preset', { - useBuiltIns: 'usage', - corejs: 3 - }] - ], - plugins: [ - '@babel/plugin-syntax-dynamic-import', // 确保支持动态导入 (Lazy Loading) - '@babel/plugin-transform-runtime' - ] - } - \ No newline at end of file + presets: [ + ['@vue/cli-plugin-babel/preset', { + useBuiltIns: 'usage', + corejs: 3 + }] + ], + plugins: [ + '@babel/plugin-syntax-dynamic-import', // 确保支持动态导入 (Lazy Loading) + '@babel/plugin-transform-runtime' + ] +} diff --git a/main/manager-web/jsconfig.json b/main/manager-web/jsconfig.json index 4aafc5f6..587b2896 100644 --- a/main/manager-web/jsconfig.json +++ b/main/manager-web/jsconfig.json @@ -16,4 +16,4 @@ "scripthost" ] } -} +} \ No newline at end of file diff --git a/main/manager-web/package-lock.json b/main/manager-web/package-lock.json index 54610c6d..f84c4950 100644 --- a/main/manager-web/package-lock.json +++ b/main/manager-web/package-lock.json @@ -8847,4 +8847,4 @@ } } } -} +} \ No newline at end of file diff --git a/main/manager-web/package.json b/main/manager-web/package.json index 5a6e7de2..e49c09a8 100644 --- a/main/manager-web/package.json +++ b/main/manager-web/package.json @@ -43,4 +43,4 @@ "*.scss", "*.vue" ] -} +} \ No newline at end of file diff --git a/main/manager-web/src/App.vue b/main/manager-web/src/App.vue index e6ebe913..4e54377e 100644 --- a/main/manager-web/src/App.vue +++ b/main/manager-web/src/App.vue @@ -1,11 +1,10 @@ \ No newline at end of file diff --git a/main/manager-web/src/apis/httpRequest.js b/main/manager-web/src/apis/httpRequest.js index 44d939e7..182152f9 100755 --- a/main/manager-web/src/apis/httpRequest.js +++ b/main/manager-web/src/apis/httpRequest.js @@ -1,7 +1,7 @@ -import {goToPage, showDanger, showWarning, isNotNull} from '../utils/index' -import Constant from '../utils/constant' import Fly from 'flyio/dist/npm/fly'; -import store from '../store/index' +import store from '../store/index'; +import Constant from '../utils/constant'; +import { goToPage, isNotNull, showDanger, showWarning } from '../utils/index'; const fly = new Fly() // 设置超时 @@ -22,11 +22,11 @@ function sendRequest() { _failCallback: null, _method: 'GET', _data: {}, - _header: {'content-type': 'application/json; charset=utf-8'}, + _header: { 'content-type': 'application/json; charset=utf-8' }, _url: '', _responseType: undefined, // 新增响应类型字段 'send'() { - if(isNotNull(store.getters.getToken)){ + if (isNotNull(store.getters.getToken)) { this._header.Authorization = 'Bearer ' + (JSON.parse(store.getters.getToken)).token } @@ -40,7 +40,7 @@ function sendRequest() { if (error) { return } - + if (this._sucCallback) { this._sucCallback(res) } @@ -101,13 +101,13 @@ function sendRequest() { // 在错误处理函数中添加日志 function httpHandlerError(info, callBack) { console.log('httpHandlerError', info) - + /** 请求成功,退出该函数 可以根据项目需求来判断是否请求成功。这里判断的是status为200的时候是成功 */ let networkError = false if (info.status === 200) { if (info.data.code === 'success' || info.data.code === 0 || info.data.code === undefined) { return networkError - }else if (info.data.code === 401) { + } else if (info.data.code === 401) { console.log('触发 401,清除 Token 并跳转登录页'); store.commit('clearAuth'); goToPage(Constant.PAGE.LOGIN, true); diff --git a/main/manager-web/src/apis/module/admin.js b/main/manager-web/src/apis/module/admin.js index 83da3023..f00036cf 100644 --- a/main/manager-web/src/apis/module/admin.js +++ b/main/manager-web/src/apis/module/admin.js @@ -1,30 +1,30 @@ -import RequestService from '../httpRequest' -import {getServiceUrl} from '../api' +import { getServiceUrl } from '../api'; +import RequestService from '../httpRequest'; export default { // 用户列表 getUserList(params, callback) { - const queryParams = new URLSearchParams({ - page: params.page, - limit: params.limit, - mobile: params.mobile - }).toString(); + const queryParams = new URLSearchParams({ + page: params.page, + limit: params.limit, + mobile: params.mobile + }).toString(); - RequestService.sendRequest() - .url(`${getServiceUrl()}/api/v1/admin/users?${queryParams}`) - .method('GET') - .success((res) => { - RequestService.clearRequestTime() - callback(res) + RequestService.sendRequest() + .url(`${getServiceUrl()}/api/v1/admin/users?${queryParams}`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('请求失败:', err) + RequestService.reAjaxFun(() => { + this.getUserList(callback) }) - .fail((err) => { - console.error('请求失败:', err) - RequestService.reAjaxFun(() => { - this.getUserList(callback) - }) - }).send() - }, + }).send() + }, // 删除用户 deleteUser(id, callback) { RequestService.sendRequest() diff --git a/main/manager-web/src/apis/module/agent.js b/main/manager-web/src/apis/module/agent.js index 034cbf8a..d0cc15e5 100644 --- a/main/manager-web/src/apis/module/agent.js +++ b/main/manager-web/src/apis/module/agent.js @@ -1,5 +1,5 @@ -import RequestService from '../httpRequest' -import {getServiceUrl} from '../api' +import { getServiceUrl } from '../api'; +import RequestService from '../httpRequest'; export default { @@ -23,7 +23,7 @@ export default { RequestService.sendRequest() .url(`${getServiceUrl()}/api/v1/agent`) .method('POST') - .data({agentName: agentName}) + .data({ agentName: agentName }) .success((res) => { RequestService.clearRequestTime(); callback(res); diff --git a/main/manager-web/src/apis/module/device.js b/main/manager-web/src/apis/module/device.js index e8dc2c71..c6a9f0be 100644 --- a/main/manager-web/src/apis/module/device.js +++ b/main/manager-web/src/apis/module/device.js @@ -1,38 +1,38 @@ -import RequestService from '../httpRequest' -import {getServiceUrl} from '../api' +import { getServiceUrl } from '../api'; +import RequestService from '../httpRequest'; export default { // 已绑设备 - getAgentBindDevices(agentId, callback) { - RequestService.sendRequest() - .url(`${getServiceUrl()}/api/v1/device/bind/${agentId}`) - .method('GET') - .success((res) => { - RequestService.clearRequestTime(); - callback(res); - }) - .fail((err) => { - console.error('获取设备列表失败:', err); - RequestService.reAjaxFun(() => { - this.getAgentBindDevices(agentId, callback); - }); - }).send(); - }, + getAgentBindDevices(agentId, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/api/v1/device/bind/${agentId}`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .fail((err) => { + console.error('获取设备列表失败:', err); + RequestService.reAjaxFun(() => { + this.getAgentBindDevices(agentId, callback); + }); + }).send(); + }, // 解绑设备 unbindDevice(device_id, callback) { - RequestService.sendRequest() + RequestService.sendRequest() .url(`${getServiceUrl()}/api/v1/device/unbind`) .method('POST') .data({ deviceId: device_id }) .success((res) => { - RequestService.clearRequestTime(); - callback(res); + RequestService.clearRequestTime(); + callback(res); }) .fail((err) => { - console.error('解绑设备失败:', err); - RequestService.reAjaxFun(() => { - this.unbindDevice(device_id, callback); - }); + console.error('解绑设备失败:', err); + RequestService.reAjaxFun(() => { + this.unbindDevice(device_id, callback); + }); }).send(); }, // 绑定设备 diff --git a/main/manager-web/src/apis/module/model.js b/main/manager-web/src/apis/module/model.js index 2bf7dc00..f13e335b 100644 --- a/main/manager-web/src/apis/module/model.js +++ b/main/manager-web/src/apis/module/model.js @@ -1,96 +1,96 @@ -import RequestService from '../httpRequest' -import {getServiceUrl} from '../api' +import { getServiceUrl } from '../api'; +import RequestService from '../httpRequest'; export default { - // 获取模型配置列表 - getModelList(params, callback) { - const queryParams = new URLSearchParams({ - modelType: params.modelType, - modelName: params.modelName || '', - page: params.page || 0, - limit: params.limit || 10 - }).toString(); + // 获取模型配置列表 + getModelList(params, callback) { + const queryParams = new URLSearchParams({ + modelType: params.modelType, + modelName: params.modelName || '', + page: params.page || 0, + limit: params.limit || 10 + }).toString(); - RequestService.sendRequest() - .url(`${getServiceUrl()}/api/v1/models/models/list?${queryParams}`) - .method('GET') - .success((res) => { - RequestService.clearRequestTime() - callback(res) + RequestService.sendRequest() + .url(`${getServiceUrl()}/api/v1/models/models/list?${queryParams}`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('获取模型列表失败:', err) + RequestService.reAjaxFun(() => { + this.getModelList(params, callback) }) - .fail((err) => { - console.error('获取模型列表失败:', err) - RequestService.reAjaxFun(() => { - this.getModelList(params, callback) - }) - }).send() - }, - // 获取模型供应器列表 - getModelProviders(modelType, callback) { - RequestService.sendRequest() - .url(`${getServiceUrl()}/api/v1/models/${modelType}/provideTypes`) - .method('GET') - .success((res) => { - RequestService.clearRequestTime() - callback(res.data?.data || []) + }).send() + }, + // 获取模型供应器列表 + getModelProviders(modelType, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/api/v1/models/${modelType}/provideTypes`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime() + callback(res.data?.data || []) + }) + .fail((err) => { + console.error('获取供应器列表失败:', err) + this.$message.error('获取供应器列表失败') + RequestService.reAjaxFun(() => { + this.getModelProviders(modelType, callback) }) - .fail((err) => { - console.error('获取供应器列表失败:', err) - this.$message.error('获取供应器列表失败') - RequestService.reAjaxFun(() => { - this.getModelProviders(modelType, callback) - }) - }).send() - }, + }).send() + }, - // 新增模型配置 - addModel(params, callback) { - const { modelType, provideCode, formData } = params; - const postData = { - modelCode: formData.modelCode, - modelName: formData.modelName, - isDefault: formData.isDefault ? 1 : 0, - isEnabled: formData.isEnabled ? 1 : 0, - configJson: JSON.stringify(formData.configJson), - docLink: formData.docLink, - remark: formData.remark, - sort: formData.sort || 0 - }; + // 新增模型配置 + addModel(params, callback) { + const { modelType, provideCode, formData } = params; + const postData = { + modelCode: formData.modelCode, + modelName: formData.modelName, + isDefault: formData.isDefault ? 1 : 0, + isEnabled: formData.isEnabled ? 1 : 0, + configJson: JSON.stringify(formData.configJson), + docLink: formData.docLink, + remark: formData.remark, + sort: formData.sort || 0 + }; - RequestService.sendRequest() - .url(`${getServiceUrl()}/api/v1/models/models/${modelType}/${provideCode}`) - .method('POST') - .data(postData) - .success((res) => { - RequestService.clearRequestTime() - callback(res) + RequestService.sendRequest() + .url(`${getServiceUrl()}/api/v1/models/models/${modelType}/${provideCode}`) + .method('POST') + .data(postData) + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('新增模型失败:', err) + this.$message.error(err.msg || '新增模型失败') + RequestService.reAjaxFun(() => { + this.addModel(params, callback) }) - .fail((err) => { - console.error('新增模型失败:', err) - this.$message.error(err.msg || '新增模型失败') - RequestService.reAjaxFun(() => { - this.addModel(params, callback) - }) - }).send() - }, - // 删除模型配置 - deleteModel(modelType, provideCode, id, callback) { - RequestService.sendRequest() - .url(`${getServiceUrl()}/api/v1/models/models/${modelType}/${provideCode}/${id}`) - .method('DELETE') - .success((res) => { - RequestService.clearRequestTime() - callback(res) + }).send() + }, + // 删除模型配置 + deleteModel(modelType, provideCode, id, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/api/v1/models/models/${modelType}/${provideCode}/${id}`) + .method('DELETE') + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('删除模型失败:', err) + this.$message.error(err.msg || '删除模型失败') + RequestService.reAjaxFun(() => { + this.deleteModel(modelType, provideCode, id, callback) }) - .fail((err) => { - console.error('删除模型失败:', err) - this.$message.error(err.msg || '删除模型失败') - RequestService.reAjaxFun(() => { - this.deleteModel(modelType, provideCode, id, callback) - }) - }).send() - }, + }).send() + }, } diff --git a/main/manager-web/src/apis/module/ota.js b/main/manager-web/src/apis/module/ota.js index fbc76421..127efb41 100644 --- a/main/manager-web/src/apis/module/ota.js +++ b/main/manager-web/src/apis/module/ota.js @@ -1,5 +1,5 @@ +import { getServiceUrl } from '../api' import RequestService from '../httpRequest' -import {getServiceUrl} from '../api' export default { /** @@ -11,7 +11,7 @@ export default { RequestService.sendRequest() .url(`${getServiceUrl()}/api/v1/ota/activation`) .method('GET') - .query({code}) + .query({ code }) .success((res) => { RequestService.clearRequestTime() callback(res) diff --git a/main/manager-web/src/apis/module/user.js b/main/manager-web/src/apis/module/user.js index 8464794c..01dc0492 100755 --- a/main/manager-web/src/apis/module/user.js +++ b/main/manager-web/src/apis/module/user.js @@ -1,5 +1,5 @@ +import { getServiceUrl } from '../api' import RequestService from '../httpRequest' -import {getServiceUrl} from '../api' export default { diff --git a/main/manager-web/src/main.js b/main/manager-web/src/main.js index 12d672ca..e082f682 100644 --- a/main/manager-web/src/main.js +++ b/main/manager-web/src/main.js @@ -1,11 +1,11 @@ -import Vue from 'vue' -import App from './App.vue' -import router from './router' -import store from './store' -import 'normalize.css/normalize.css' // A modern alternative to CSS resets import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; -import './styles/global.scss' +import 'normalize.css/normalize.css'; // A modern alternative to CSS resets +import Vue from 'vue'; +import App from './App.vue'; +import router from './router'; +import store from './store'; +import './styles/global.scss'; Vue.use(ElementUI); diff --git a/main/manager-web/src/router/index.js b/main/manager-web/src/router/index.js index a6f2f2a6..75456641 100644 --- a/main/manager-web/src/router/index.js +++ b/main/manager-web/src/router/index.js @@ -56,11 +56,11 @@ const routes = [ } }, { - path: '/model-config', - name: 'ModelConfig', - component: function () { - return import('../views/ModelConfig.vue') - } + path: '/model-config', + name: 'ModelConfig', + component: function () { + return import('../views/ModelConfig.vue') + } }, { path: '/test', diff --git a/main/manager-web/src/store/index.js b/main/manager-web/src/store/index.js index 15377c71..e359c479 100644 --- a/main/manager-web/src/store/index.js +++ b/main/manager-web/src/store/index.js @@ -1,7 +1,7 @@ -import Vue from 'vue' -import Vuex from 'vuex' -import Constant from '../utils/constant' -import {goToPage} from "@/utils"; +import { goToPage } from "@/utils"; +import Vue from 'vue'; +import Vuex from 'vuex'; +import Constant from '../utils/constant'; Vue.use(Vuex) @@ -52,7 +52,7 @@ export default new Vuex.Store({ logout({ commit }) { return new Promise((resolve) => { commit('clearAuth') - goToPage(Constant.PAGE.LOGIN,true); + goToPage(Constant.PAGE.LOGIN, true); window.location.reload(); // 彻底重置状态 }) } diff --git a/main/manager-web/src/styles/global.scss b/main/manager-web/src/styles/global.scss index dfc8e51b..b83180f2 100644 --- a/main/manager-web/src/styles/global.scss +++ b/main/manager-web/src/styles/global.scss @@ -1,6 +1,6 @@ // 覆盖 autofill 样式 input:-webkit-autofill, -input:-webkit-autofill:hover, +input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, diff --git a/main/manager-web/src/utils/index.js b/main/manager-web/src/utils/index.js index aeb728b4..8a5a960e 100755 --- a/main/manager-web/src/utils/index.js +++ b/main/manager-web/src/utils/index.js @@ -1,6 +1,6 @@ +import { Message } from 'element-ui' import router from '../router' import Constant from '../utils/constant' -import { Message } from 'element-ui' /** * 判断用户是否登录 diff --git a/main/manager-web/src/views/ModelConfig.vue b/main/manager-web/src/views/ModelConfig.vue index cdb9e3ef..e0f4afb9 100644 --- a/main/manager-web/src/views/ModelConfig.vue +++ b/main/manager-web/src/views/ModelConfig.vue @@ -2,26 +2,26 @@
-
-

模型配置

-
- - - 导入配置 - - - - 导出配置 - -
+
+

模型配置

+
+ + + 导入配置 + + + + 导出配置 +
+
+ style="background-size: cover; background-position: center;"> 语言活动检测 @@ -46,14 +46,14 @@
-

{{ modelTypeText }}

- - 添加 - +

{{ modelTypeText }}

+ + 添加 +
- + 查询 @@ -61,7 +61,9 @@
- + @@ -72,9 +74,8 @@ @@ -98,7 +99,9 @@ - + - +
+ ©2025 xiaozhi-esp32-server
+
- diff --git a/main/manager-web/src/views/UserManagement.vue b/main/manager-web/src/views/UserManagement.vue index b6c4308e..af5982db 100644 --- a/main/manager-web/src/views/UserManagement.vue +++ b/main/manager-web/src/views/UserManagement.vue @@ -5,7 +5,8 @@

用户管理

- + 搜索
@@ -14,7 +15,8 @@
- + @@ -22,14 +24,14 @@ @@ -38,14 +40,16 @@
全选 启用 - 禁用 + 禁用 删除
- @@ -61,14 +65,14 @@ - +
+@import './auth.scss'; // 添加这行引用 diff --git a/main/manager-web/src/views/register.vue b/main/manager-web/src/views/register.vue index 5d0ce0c8..d30db354 100644 --- a/main/manager-web/src/views/register.vue +++ b/main/manager-web/src/views/register.vue @@ -4,8 +4,8 @@
- - + +
@@ -13,7 +13,7 @@