Initial commit: XDL Twitter/X video downloader

This commit is contained in:
mini
2026-02-18 17:15:12 +08:00
commit 7fdd181728
32 changed files with 1230 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
import axios from 'axios'
export const useAuthStore = defineStore('auth', () => {
const token = ref(localStorage.getItem('token') || '')
const isLoggedIn = computed(() => !!token.value)
async function login(username, password) {
const res = await axios.post('/api/auth/login', { username, password })
token.value = res.data.access_token
localStorage.setItem('token', token.value)
}
function logout() {
token.value = ''
localStorage.removeItem('token')
}
function getHeaders() {
return token.value ? { Authorization: `Bearer ${token.value}` } : {}
}
return { token, isLoggedIn, login, logout, getHeaders }
})