feat: 服务器列表自动按名称升序排序
This commit is contained in:
@@ -81,6 +81,10 @@ export function useMqttStore() {
|
||||
|
||||
let totalMessages = computed(() => messages.value.length);
|
||||
|
||||
function sortServers() {
|
||||
servers.value.sort((a, b) => a.name.localeCompare(b.name, 'zh-CN'));
|
||||
}
|
||||
|
||||
// ==================== 初始化 ====================
|
||||
async function init() {
|
||||
|
||||
@@ -91,6 +95,7 @@ export function useMqttStore() {
|
||||
let data = await window.api.getServers();
|
||||
|
||||
servers.value = data;
|
||||
sortServers();
|
||||
setupListeners();
|
||||
|
||||
} catch (e) {
|
||||
@@ -117,6 +122,7 @@ export function useMqttStore() {
|
||||
let server = await window.api.addServer(config);
|
||||
|
||||
servers.value.push(server);
|
||||
sortServers();
|
||||
|
||||
if (!activeServerId.value) {
|
||||
activeServerId.value = server.id;
|
||||
@@ -135,6 +141,7 @@ export function useMqttStore() {
|
||||
if (idx !== -1) {
|
||||
servers.value[idx] = { ...servers.value[idx], ...result };
|
||||
}
|
||||
sortServers();
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -146,6 +153,7 @@ export function useMqttStore() {
|
||||
await window.api.deleteServer(id);
|
||||
|
||||
servers.value = servers.value.filter((s) => s.id !== id);
|
||||
sortServers();
|
||||
|
||||
if (activeServerId.value === id) {
|
||||
activeServerId.value = servers.value.length > 0 ? servers.value[0].id : null;
|
||||
|
||||
Reference in New Issue
Block a user