liveh5-nuxt/app/stores/auth/index.js

50 lines
1.5 KiB
JavaScript
Raw Normal View History

import { createGlobalState,useLocalStorage } from '@vueuse/core'
2025-02-28 09:32:38 +00:00
import { WebSocketClient } from '@/utils/websocket'
import {message} from "~/components/x-message/useMessage.js";
export const authStore = createGlobalState(() => {
const token=useLocalStorage('token','')
const RefreshToken=useLocalStorage('RefreshToken','')
const userInfo=useLocalStorage('userInfo',{})
2025-01-23 06:11:20 +00:00
const fingerprint=useLocalStorage('fingerprint','')
const checkoutSessionUrl=useLocalStorage('checkoutSessionUrl','')
const selectedZone=useLocalStorage('selectedZone','')
const payment=useLocalStorage('payment',{
leftPrice:'',
leftCurrency:'',
2025-02-20 10:53:53 +00:00
buyUid:'',
auctionArtworkUuid:''
})
2025-02-28 09:32:38 +00:00
const router=useRouter()
const config = useRuntimeConfig()
const payUid=useLocalStorage('payUid','')
2025-02-28 09:32:38 +00:00
const openRefreshResults=()=>{
const wsClient = new WebSocketClient(
config.public.NUXT_PUBLIC_SOCKET_URL,
token.value
)
const ws = wsClient.connect('/api/v1/m/auction/live',{
payUid:payUid.value
})
ws.onMessage((data) => {
router.push({
path:'/payment/result',
query:{
orderNo:payUid.value
}
})
})
}
return{
2025-02-28 09:32:38 +00:00
openRefreshResults,
payUid,
selectedZone,
payment,
checkoutSessionUrl,
userInfo,
RefreshToken,
2025-01-23 06:11:20 +00:00
token,
fingerprint
}
})