diff --git a/ui/src/stores/modules/device.ts b/ui/src/stores/modules/device.ts
index 8ff4b16..f598123 100644
--- a/ui/src/stores/modules/device.ts
+++ b/ui/src/stores/modules/device.ts
@@ -2,7 +2,7 @@
* @Author: shufei.han
* @Date: 2025-06-10 16:46:00
* @LastEditors: LPY
- * @LastEditTime: 2026-01-30 17:41:49
+ * @LastEditTime: 2026-02-28 09:21:41
* @FilePath: \glkvm-cloud\ui\src\stores\modules\device.ts
* @Description: 设备有关的状态管理
*/
@@ -77,7 +77,9 @@ export const useDeviceStore = defineStore('device', () => {
}
pageLink.value.setTotal(res.data.items.length)
state.deviceList = res.data.items.filter(d => {
- return (d?.id?.toString().toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1
+ return (d?.ddns?.toString().toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1
+ || d?.mac?.toString().toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1
+ || d?.ip?.toString().toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1
|| d?.description?.toLowerCase()?.indexOf(computedDeviceQuery.value.searchText) > -1) &&
(computedDeviceQuery.value.deviceGroupId ? d.deviceGroupId === computedDeviceQuery.value.deviceGroupId : true) &&
(!computedDeviceQuery.value.onlyShowUnassigned || (computedDeviceQuery.value.onlyShowUnassigned && !d.deviceGroupId))
diff --git a/ui/src/stores/modules/deviceGroup.ts b/ui/src/stores/modules/deviceGroup.ts
index de45088..7a76a48 100644
--- a/ui/src/stores/modules/deviceGroup.ts
+++ b/ui/src/stores/modules/deviceGroup.ts
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2026-01-30 10:19:24
* @LastEditors: LPY
- * @LastEditTime: 2026-02-04 10:58:29
+ * @LastEditTime: 2026-02-28 09:28:39
* @FilePath: \glkvm-cloud\ui\src\stores\modules\deviceGroup.ts
* @Description: 设备组有关的状态管理
*/
@@ -63,8 +63,7 @@ export const useDeviceGroupStore = defineStore('deviceGroup', () => {
const res = await reqDeviceGroupList()
pageLink.value.setTotal(res.data.items.length)
state.deviceGroupList = res.data.items.filter(d => {
- return (d?.id?.toString()?.indexOf(computedDeviceGroupQuery.value.searchText) > -1
- || d?.description?.indexOf(computedDeviceGroupQuery.value.searchText) > -1
+ return (d?.description?.indexOf(computedDeviceGroupQuery.value.searchText) > -1
|| d?.name?.indexOf(computedDeviceGroupQuery.value.searchText) > -1)
}) || []
state.completeDeviceGroupList = res.data.items || []
diff --git a/ui/src/stores/modules/userGroupManage.ts b/ui/src/stores/modules/userGroupManage.ts
index d63c1d7..aba7723 100644
--- a/ui/src/stores/modules/userGroupManage.ts
+++ b/ui/src/stores/modules/userGroupManage.ts
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2026-02-03 12:07:45
* @LastEditors: LPY
- * @LastEditTime: 2026-02-04 10:56:54
+ * @LastEditTime: 2026-02-28 09:27:05
* @FilePath: \glkvm-cloud\ui\src\stores\modules\userGroupManage.ts
* @Description: 用户组管理相关状态管理
*/
@@ -65,7 +65,7 @@ export const useUserGroupManageStore = defineStore('userGroupManage', () => {
const res = await reqUserGroupList()
pageLink.value.setTotal(res.data.items.length)
state.userGroupList = res.data.items.filter(d => {
- return (d?.id?.toString()?.indexOf(computedUserGroupManageQuery.value.searchText) > -1
+ return (d?.description?.toString()?.toLowerCase()?.indexOf(computedUserGroupManageQuery.value.searchText) > -1
|| d?.userGroup?.indexOf(computedUserGroupManageQuery.value.searchText) > -1) &&
(computedUserGroupManageQuery.value.deviceGroupId ?
d.deviceGroupList.some(u => u.deviceGroupId === computedUserGroupManageQuery.value.deviceGroupId) : true)
diff --git a/ui/src/stores/modules/userManage.ts b/ui/src/stores/modules/userManage.ts
index 79de196..e7e7fe7 100644
--- a/ui/src/stores/modules/userManage.ts
+++ b/ui/src/stores/modules/userManage.ts
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2026-02-02 15:00:13
* @LastEditors: LPY
- * @LastEditTime: 2026-02-03 12:08:51
+ * @LastEditTime: 2026-02-28 09:26:50
* @FilePath: \glkvm-cloud\ui\src\stores\modules\userManage.ts
* @Description: 用户管理相关状态管理
*/
@@ -69,7 +69,7 @@ export const useUserManageStore = defineStore('userManage', () => {
const res = await reqUserList()
pageLink.value.setTotal(res.data.items.length)
state.userList = res.data.items.filter(d => {
- return (d?.id?.toString().toLowerCase()?.indexOf(computedUserManageQuery.value.searchText) > -1
+ return (d?.description?.toString().toLowerCase()?.indexOf(computedUserManageQuery.value.searchText) > -1
|| d?.username?.toLowerCase()?.indexOf(computedUserManageQuery.value.searchText) > -1) &&
(computedUserManageQuery.value.userGroupId ? d.userGroupList.some(u => u.userGroupId === computedUserManageQuery.value.userGroupId) : true)
}) || []
diff --git a/ui/src/views/login/loginPage.vue b/ui/src/views/login/loginPage.vue
index e2886ab..f8e5093 100644
--- a/ui/src/views/login/loginPage.vue
+++ b/ui/src/views/login/loginPage.vue
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2025-05-30 10:48:43
* @LastEditors: LPY
- * @LastEditTime: 2026-02-05 17:34:48
+ * @LastEditTime: 2026-02-28 09:32:36
* @FilePath: \glkvm-cloud\ui\src\views\login\loginPage.vue
* @Description: 登录页面
-->
@@ -137,6 +137,11 @@ onMounted(async () => {
// 提取配置数据 (Extract config data)
authConfig.value = response.data
useAppStore().setVersion(authConfig.value.kvmCloudVersion)
+
+ // 若支持LDAP且当前登录方式为legacy,则切换到ldap (If LDAP is supported and current auth method is legacy, switch to ldap)
+ if (authConfig.value.ldapEnabled && state.formModel.authMethod === 'legacy') {
+ state.formModel.authMethod = 'ldap'
+ }
} catch (error) {
console.error('Failed to load auth config:', error)
// 回退 - 无LDAP可用 (Fallback - no LDAP available)
diff --git a/ui/src/views/userManage/components/editUserDialog.vue b/ui/src/views/userManage/components/editUserDialog.vue
index f300795..0cfd90b 100644
--- a/ui/src/views/userManage/components/editUserDialog.vue
+++ b/ui/src/views/userManage/components/editUserDialog.vue
@@ -2,7 +2,7 @@
* @Author: LPY
* @Date: 2026-02-03 11:24:20
* @LastEditors: LPY
- * @LastEditTime: 2026-02-09 09:14:59
+ * @LastEditTime: 2026-02-28 09:51:05
* @FilePath: \glkvm-cloud\ui\src\views\userManage\components\editUserDialog.vue
* @Description: 编辑用户弹窗
-->
@@ -44,7 +44,12 @@