فهرست منبع

Search Optimized

AXCWG 2 ماه پیش
والد
کامیت
307c8308b8
1فایلهای تغییر یافته به همراه104 افزوده شده و 79 حذف شده
  1. 104 79
      main.js

+ 104 - 79
main.js

@@ -302,79 +302,87 @@ async function SubmitWrapper(req, res) {
         res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
         res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
         return
         return
     }
     }
-    db.execute(("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = ? and artist = ? and kind = ?"), [await converters2t.convertPromise(req.body.name), await converters2t.convertPromise(req.body.artist), req.body.kind], async (err, rowsT) => {
-        db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = ? and artist = ? and kind = ?", [await convertert2s.convertPromise(req.body.name), await convertert2s.convertPromise(req.body.artist), req.body.kind], (err, rowsS) => {
-            // Feb 1 2025 I give up.
-            let dedupe = [];
-            rowsT.forEach(row => {
-                dedupe = dedupe.concat(row);
-            })
-            rowsS.forEach(row => {
-                if (JSON.stringify(dedupe).indexOf(JSON.stringify(row)) === -1) {
+    db.execute(("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = ? and artist = ? and kind = ?"), [req.body.name, req.body.artist, req.body.kind], async (err, rowsO) => {
+        db.execute(("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = ? and artist = ? and kind = ?"), [await converters2t.convertPromise(req.body.name), await converters2t.convertPromise(req.body.artist), req.body.kind], async (err, rowsT) => {
+            db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name = ? and artist = ? and kind = ?", [await convertert2s.convertPromise(req.body.name), await convertert2s.convertPromise(req.body.artist), req.body.kind], (err, rowsS) => {
+                // Feb 1 2025 I give up.
+                let dedupe = [];
+                rowsT.forEach(row => {
                     dedupe = dedupe.concat(row);
                     dedupe = dedupe.concat(row);
-                }
-            })
-            if (dedupe.length === 0) {
-                // Verify
-                if (req.body.file.substring(0, 5) !== "data:") {
-                    res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
-                    return
-                }
-                for (const item of currentTask) {
-                    if (req.body.name === item.name) {
-                        if (req.body.albumName === item.albumName) {
-                            if (req.body.kind === item.kind) {
+                })
+                rowsS.forEach(row => {
+                    if (JSON.stringify(dedupe).indexOf(JSON.stringify(row)) === -1) {
+                        dedupe = dedupe.concat(row);
+                    }
+                })
+                rowsO.forEach(row => {
+                    if(JSON.stringify(dedupe).indexOf(JSON.stringify(row)) === -1) {
+                        dedupe = dedupe.concat(row);
+                    }
+                })
+                if (dedupe.length === 0) {
+                    // Verify
+                    if (req.body.file.substring(0, 5) !== "data:") {
+                        res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
+                        return
+                    }
+                    for (const item of currentTask) {
+                        if (req.body.name === item.name) {
+                            if (req.body.albumName === item.albumName) {
+                                if (req.body.kind === item.kind) {
 
 
-                                res.header("Access-Control-Allow-Origin", "*");
-                                res.statusCode = 500
-                                res.end("和数据库中条目重复")
-                                return
+                                    res.header("Access-Control-Allow-Origin", "*");
+                                    res.statusCode = 500
+                                    res.end("和数据库中条目重复")
+                                    return
 
 
+                                }
                             }
                             }
                         }
                         }
                     }
                     }
-                }
-                for (let prop of [req.body.name, req.body.albumName, req.body.artist]) {
-                    if (prop === undefined || prop === "" || prop === null) {
-                        res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
-                        return
+                    for (let prop of [req.body.name, req.body.albumName, req.body.artist]) {
+                        if (prop === undefined || prop === "" || prop === null) {
+                            res.status(500).header("Access-Control-Allow-Origin", "*").end("想都别想");
+                            return
+                        }
                     }
                     }
-                }
-
 
 
-                if (req.body.link === undefined) {
-                    req.body.link = ""
-                }
 
 
+                    if (req.body.link === undefined) {
+                        req.body.link = ""
+                    }
 
 
-                queue.add(() => {
-                    Submit(req)
-                })
-                currentTask.push({
-                    name: req.body.name,
-                    albumName: req.body.albumName,
-                    kind: req.body.kind,
-                    artist: req.body.artist,
-                    email: req.body.email !== undefined ? req.body.email : null,
-                })
 
 
-                console.log(queue.contents)
-                console.log(currentTask)
-                if (currentTask.length === 1) {
-                    queue.next()
+                    queue.add(() => {
+                        Submit(req)
+                    })
+                    currentTask.push({
+                        name: req.body.name,
+                        albumName: req.body.albumName,
+                        kind: req.body.kind,
+                        artist: req.body.artist,
+                        email: req.body.email !== undefined ? req.body.email : null,
+                    })
+
+                    console.log(queue.contents)
+                    console.log(currentTask)
+                    if (currentTask.length === 1) {
+                        queue.next()
+                    }
+                    res.header("Access-Control-Allow-Origin", "*");
+                    res.end("api_success")
+                } else {
+                    res.header("Access-Control-Allow-Origin", "*");
+                    res.statusCode = 500
+                    res.end("和数据库中条目重复")
                 }
                 }
-                res.header("Access-Control-Allow-Origin", "*");
-                res.end("api_success")
-            } else {
-                res.header("Access-Control-Allow-Origin", "*");
-                res.statusCode = 500
-                res.end("和数据库中条目重复")
-            }
 
 
+            })
         })
         })
     })
     })
 
 
 
 
+
 }
 }
 
 
 app.post('/lyric', async (req, res) => {
 app.post('/lyric', async (req, res) => {
@@ -414,39 +422,56 @@ app.options('/submit', function (req, res) {
 
 
 app.post('/search_api', async function (req, res) {
 app.post('/search_api', async function (req, res) {
 
 
+    db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name like ? or album_name like ? or artist like ?", [`%${req.body.searchStr}%`, `%${req.body.searchStr}%`, `%${req.body.searchStr}%`], async(err, rowsO)=>{
+        if(err){
+            console.log(err)
+        }
+        db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name like ? or album_name like ? or artist like ?", [`%${await converters2t.convertPromise(req.body.searchStr)}%`, `%${await converters2t.convertPromise(req.body.searchStr)}%`, `%${await converters2t.convertPromise(req.body.searchStr)}%`], async (err, rowsT) => {
+            if(err){
+                console.log(err)
+            }
+            db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name like ? or album_name like ? or artist like ?", [`%${await convertert2s.convertPromise(req.body.searchStr)}%`, `%${await convertert2s.convertPromise(req.body.searchStr)}%`, `%${await convertert2s.convertPromise(req.body.searchStr)}%`], (err, rowsS) => {
+                if(err){
+                    console.log(err)
+                }
+                try {
+                    let prepare = [];
 
 
-    db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name like ? or album_name like ? or artist like ?", [`%${await converters2t.convertPromise(req.body.searchStr)}%`, `%${await converters2t.convertPromise(req.body.searchStr)}%`, `%${await converters2t.convertPromise(req.body.searchStr)}%`], async (err, rowsT) => {
-        db.execute("SELECT uuid, song_name, album_name, artist, kind FROM instrunet_entry WHERE song_name like ? or album_name like ? or artist like ?", [`%${await convertert2s.convertPromise(req.body.searchStr)}%`, `%${await convertert2s.convertPromise(req.body.searchStr)}%`, `%${await convertert2s.convertPromise(req.body.searchStr)}%`], (err, rowsS) => {
-            try {
-                let prepare = [];
-                rowsT.forEach(row => {
-                    prepare = prepare.concat(row);
-                })
-                rowsS.forEach(row => {
-                    if (JSON.stringify(prepare).indexOf(JSON.stringify(row)) === -1) {
+                    rowsT.forEach(row => {
                         prepare = prepare.concat(row);
                         prepare = prepare.concat(row);
+                    })
+                    rowsS.forEach(row => {
+                        if (JSON.stringify(prepare).indexOf(JSON.stringify(row)) === -1) {
+                            prepare = prepare.concat(row);
+                        }
+                    })
+                    rowsO.forEach((row) => {
+                        if(JSON.stringify(prepare).indexOf(JSON.stringify(row)) === -1) {
+                            prepare = prepare.concat(row);
+                        }
+                    })
+                    for (let obj of prepare) {
+                        obj.stroke = obj.song_name[0].stroke() // Problematic as shit. Do not use.
+                        obj.spell = obj.song_name.spell()
                     }
                     }
-                })
-                for (let obj of prepare) {
-                    obj.stroke = obj.song_name[0].stroke() // Problematic as shit. Do not use.
-                    obj.spell = obj.song_name.spell()
-                }
-                sortArray(prepare, {
-                    by: 'spell'
-                })
+                    sortArray(prepare, {
+                        by: 'spell'
+                    })
 
 
-                res.header("Access-Control-Allow-Origin", "*");
+                    res.header("Access-Control-Allow-Origin", "*");
 
 
-                res.end(JSON.stringify(prepare));
+                    res.end(JSON.stringify(prepare));
 
 
 
 
-            } catch (e) {
-                console.log(e)
-            }
-        });
+                } catch (e) {
+                    console.log(e)
+                }
+            });
+        })
     })
     })
 
 
 
 
+
 })
 })
 app.options('/search_api', function (req, res) {
 app.options('/search_api', function (req, res) {
     res.header("Access-Control-Allow-Origin", "*");
     res.header("Access-Control-Allow-Origin", "*");