mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
45 lines
1.3 KiB
TypeScript
45 lines
1.3 KiB
TypeScript
import { postTextWithCredentials } from '@/core/ajax'
|
|
import { Toast } from '@/core/toast'
|
|
import { getCsrf } from '@/core/utils'
|
|
import { registerAndGetData } from '@/plugins/data'
|
|
|
|
export interface CheckInItem {
|
|
name: string
|
|
displayName: string
|
|
icon: string
|
|
action: (button: HTMLDivElement, event: MouseEvent) => Promise<void>
|
|
disabled?: boolean
|
|
}
|
|
const builtInItems: CheckInItem[] = [
|
|
{
|
|
name: 'seeds-to-coins',
|
|
displayName: '瓜子换硬币',
|
|
icon: 'mdi-seed-outline',
|
|
action: async () => {
|
|
const seedsToCoinsApi = 'https://api.live.bilibili.com/xlive/revenue/v1/wallet/silver2coin'
|
|
const text = await postTextWithCredentials(
|
|
seedsToCoinsApi,
|
|
new URLSearchParams({
|
|
csrf: getCsrf(),
|
|
csrf_token: getCsrf(),
|
|
}),
|
|
)
|
|
const json = JSON.parse(text) as {
|
|
code: number
|
|
message: string
|
|
data: {
|
|
gold: string
|
|
silver: string
|
|
coin: number
|
|
}
|
|
}
|
|
if (json.code !== 0) {
|
|
Toast.info(json.message, '瓜子换硬币', 3000)
|
|
} else {
|
|
Toast.success(`${json.message}\n剩余银瓜子:${json.data.silver}`, '瓜子换硬币', 3000)
|
|
}
|
|
},
|
|
},
|
|
]
|
|
export const [checkInItems] = registerAndGetData('checkInCenter.items', builtInItems)
|