update: bili-toy

This commit is contained in:
Vick Scarlet
2026-08-16 18:26:59 +08:00
parent 30b4791813
commit 6c803d4eef
17 changed files with 1212 additions and 201 deletions
+42
View File
@@ -0,0 +1,42 @@
const storage = {
get: async (keys: string[]) => {
var result = await toy.getCloudStorage(keys)
if (result && result.data && typeof result.data === 'object') {
return result.data
}
return result || {}
},
set: async (record: Record<string, string>) => {
await toy.setCloudStorage(record)
},
}
const cloudMap = new Map<string, ToyCloudSaveCoreSDK.IToyCloudSaveInstance>()
export async function init() {
try {
/* @ts-ignore @vite-ignore */
await import('//s1.hdslb.com/bfs/seed/toy/app/sdk/toy-sdk.js')
/* @ts-ignore */
const coreModule = await import('./lib/cloud-save-core.js')
window.ToyCloudSaveCore =
coreModule.ToyCloudSaveCore || coreModule.default || coreModule
} catch (error) {
console.error('Failed to load Bili Toy SDK:', error)
}
}
export async function get(key: string) {
if (!cloudMap.has(key)) {
const cloud = ToyCloudSaveCore.createCloudSave({ storage, prefix: key })
cloudMap.set(key, cloud)
}
return await cloudMap.get(key)!.load()
}
export async function set(key: string, value: string) {
if (!cloudMap.has(key)) {
const cloud = ToyCloudSaveCore.createCloudSave({ storage, prefix: key })
cloudMap.set(key, cloud)
}
await cloudMap.get(key)!.save(value)
return true
}