kindring 8 months ago
parent
commit
13388358ed

BIN
build/Release/better_sqlite3.node


+ 44 - 6
src/common/db/magnetDb.ts

@@ -1,20 +1,55 @@
 import {db} from "./db.ts"
 import {SavedMagnet} from "@/types/magnetType.ts";
-
-function initData() {
+import Logger from "@/util/logger.ts";
+import {handle} from "@/util/promiseHandle.ts";
+let logger = Logger.logger('magnet_db', 'info');
+async function initData() {
+    console.log('初始化数据库')
     // 1. 判断数据表是否存在
-    db?.schema.createTable('magnets', (table) => {
-        table.string('id').primary()
+    if(!db){
+        logger.error('数据库初始化失败')
+        throw new Error('数据库初始化失败')
+    }
+    let [err, hasTable] =  await handle(db.schema.hasTable('magnets'))
+    if (err) {
+        err = err as Error;
+        logger.error(`[数据库初始化失败] ${err.message}`)
+        throw new Error('数据库初始化失败')
+    }
+    if (hasTable) {
+        return false;
+    }
+    let [createErr, _res] =  await handle(db?.schema.createTable('magnets', (table) => {
+        logger.error(`[初始化磁贴表]`)
+        table.increments('id').primary()
         table.integer('x')
         table.integer('y')
         table.string('type')
         table.string('size')
-    })
+    }))
+    if (createErr) {
+        createErr = createErr as Error;
+        logger.error(`[初始化磁贴表失败] ${createErr.message}`)
+        throw new Error('数据库初始化失败')
+    }
+    logger.info('[初始化磁贴表成功]')
+    return true;
 }
-initData();
 
 
+
+export function findMagnetById(id: string) {
+    return db?.select(
+        'id',
+        'x',
+        'y',
+        'type',
+        'size'
+    ).from('magnets').where('id', id)
+}
+
 export async function getMagnetList(): Promise<SavedMagnet[]> {
+    initData()
     return db?.select(
         'id',
         'x',
@@ -35,6 +70,9 @@ export async function changeMagnets(magnetList: SavedMagnet[]) {
 
 // 新增数据
 export async function addMagnet(magnet: SavedMagnet) {
+    initData()
+    // id 字段移除
+
     await db?.insert(magnet).into('magnets')
 }
 

+ 16 - 1
src/components/window/macWindow.vue

@@ -56,6 +56,21 @@ onMounted(()=>{
       proxy?.$winHandle(windowAction.enableIgnoreMouse);
     }
   });
+
+  drag.addEventListener('mousedown', (evt: MouseEvent) => {
+    console.log("鼠标按下")
+    console.log(  evt)
+  }, {
+    capture: true,
+    passive: true
+  })
+
+  // body 添加鼠标监听事件
+  document.body.addEventListener('mousedown', (evt: MouseEvent) => {
+    console.log("body 鼠标按下")
+    console.log(  evt)
+  }, {
+  })
 })
 
 
@@ -63,7 +78,7 @@ onMounted(()=>{
 
 <template>
   <div :class="[isFull? 'max_window': 'min_window']" ref="mainWindow">
-    <div class="window">
+    <div class="window" >
       <div class="top-bar">
         <div class="drag top-title" ref="dragBar">
           <slot name="top">

+ 8 - 1
src/main/control/magnet/magnet.ts

@@ -43,7 +43,14 @@ export async function c_magnet_batch_update(requestData: RequestData){
     for (let i = 0; i < saveMagnets.length; i++) {
         let magnet = saveMagnets[i];
         if (magnet.isAdd) {
-            addMagnets.push(magnet);
+            let addMagnet: SavedMagnet = {
+                id: "",
+                size: magnet.size,
+                type: magnet.type,
+                x: magnet.x,
+                y: magnet.y,
+            }
+            addMagnets.push(addMagnet);
         }else{
             updateMagnets.push(magnet);
         }

File diff suppressed because it is too large
+ 402 - 402
yarn.lock


Some files were not shown because too many files changed in this diff