| 
					
				 | 
			
			
				@@ -8,7 +8,23 @@ import 'cnchar' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import 'sort-array' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import nodemailer from 'nodemailer' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import Queue from 'js-queue' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import process from 'node:process' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fs.renameSync("log/latest.log", `log/${new Date().toISOString().replaceAll(":", ".")}.log`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+let original = console.log; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+console.log = (str) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if (!fs.existsSync("log")) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fs.mkdirSync("log") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fs.appendFileSync("log/latest.log",  "["+new Date().toISOString() + "] " + str.toString()+"\n"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    original(str); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import webp from 'webp-converter' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -238,10 +254,10 @@ async function Submit(req) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             onData: callback, onError: errcb 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }).then(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 db.execute(("INSERT INTO instrunet_entry (uuid, song_name, album_name, link_to, databinary, artist,kind, albumcover, email) VALUES (?,?,?,?,?,?,?,?,?)"), [uuid, req.body.name, req.body.albumName, req.body.link, fs.readFileSync(kind_of[1]), req.body.artist, req.body.kind, albumCover === null ? new Buffer.from([]) : albumCover, (req.body.email === null || req.body.email === undefined || req.body.email === "") ? "" : req.body.email]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }catch(err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } catch (err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 GC(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 currentTask.shift(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 console.log(queue.contents) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -324,7 +340,7 @@ async function SubmitWrapper(req, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 rowsO.forEach(row => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if(JSON.stringify(dedupe).indexOf(JSON.stringify(row)) === -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (JSON.stringify(dedupe).indexOf(JSON.stringify(row)) === -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         dedupe = dedupe.concat(row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -390,7 +406,6 @@ async function SubmitWrapper(req, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 app.post('/lyric', async (req, res) => { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -430,16 +445,16 @@ app.options('/submit', 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){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    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){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            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){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (err) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     console.log(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 try { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -454,7 +469,7 @@ app.post('/search_api', async function (req, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     rowsO.forEach((row) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if(JSON.stringify(prepare).indexOf(JSON.stringify(row)) === -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (JSON.stringify(prepare).indexOf(JSON.stringify(row)) === -1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             prepare = prepare.concat(row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -479,7 +494,6 @@ app.post('/search_api', async function (req, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 app.options('/search_api', function (req, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     res.header("Access-Control-Allow-Origin", "*"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -549,9 +563,9 @@ app.post("/ncm/url", function (req, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }).then(async result => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (result.status === 200 || result.status === 304) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     let result_json = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    try{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                       result_json =  await result.json() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }catch (e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        result_json = await result.json() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } catch (e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         res.status(500).header("Access-Control-Allow-Origin", "*").end("格式错误"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -638,7 +652,6 @@ app.get('/:uuid', async function (req, res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |