// models/TabsModel.js import db from '../lib/db.js'; class TabsModel { static async getAllTabs() { await db.read(); return db.data.tabs; } static async getTabById(id){ await db.read(); return db.data.tabs.find(tab => tab.id === id); } static async addTab(tab) { await db.read(); db.data.tabs.push(tab); await db.write(); } static async findTabByTitle(title) { await db.read(); return db.data.tabs.find(tab => tab.title === title); } static async updateTab(tabKey, updatedTab) { await db.read(); const tab = db.data.tabs.find(tab => tab.id === tabKey); if (tab) { console.log(tab,updatedTab) // 仅更新传入的字段 Object.keys(updatedTab).forEach(key => { // 确保只更新存在的字段,防止意外修改 if (tab.hasOwnProperty(key)) { console.log(key) tab[key] = updatedTab[key]; } }); await db.write(); } } static async deleteTab(tabKey) { await db.read(); db.data.tabs = db.data.tabs.filter(tab => tab.id !== tabKey); await db.write(); } } export default TabsModel;