[feat] add parsing fallback
This commit is contained in:
@@ -31,6 +31,7 @@
|
|||||||
<option value="new" class="bg-darkbg appearance-none">Reqwest</option>
|
<option value="new" class="bg-darkbg appearance-none">Reqwest</option>
|
||||||
<option value="old" class="bg-darkbg appearance-none">Tauri</option>
|
<option value="old" class="bg-darkbg appearance-none">Tauri</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<div class="flex items-center mt-4">
|
<div class="flex items-center mt-4">
|
||||||
<Check bind:check={$DataBase.useSayNothing} name={language.sayNothing}/>
|
<Check bind:check={$DataBase.useSayNothing} name={language.sayNothing}/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -16,16 +16,17 @@ export function decodeRisuSave(data:Uint8Array){
|
|||||||
const risuSaveHeader = new Uint8Array(Buffer.from("\u0000\u0000RISU",'utf-8'))
|
const risuSaveHeader = new Uint8Array(Buffer.from("\u0000\u0000RISU",'utf-8'))
|
||||||
const sub = data.subarray(0, risuSaveHeader.length)
|
const sub = data.subarray(0, risuSaveHeader.length)
|
||||||
if(isEqual(sub, risuSaveHeader)){
|
if(isEqual(sub, risuSaveHeader)){
|
||||||
try {
|
|
||||||
const realData = data.subarray(risuSaveHeader.length)
|
const realData = data.subarray(risuSaveHeader.length)
|
||||||
const dec = decode(realData)
|
const dec = decode(realData)
|
||||||
return dec
|
return dec
|
||||||
} catch (error) {
|
|
||||||
console.error(error)
|
|
||||||
throw error
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
try {
|
||||||
return JSON.parse(Buffer.from(pako.inflate(Buffer.from(data))).toString('utf-8'))
|
return JSON.parse(Buffer.from(pako.inflate(Buffer.from(data))).toString('utf-8'))
|
||||||
|
} catch (error) {
|
||||||
|
const realData = data.subarray(risuSaveHeader.length)
|
||||||
|
const dec = decode(realData)
|
||||||
|
return dec
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user