50 lines
1.5 KiB
JavaScript
50 lines
1.5 KiB
JavaScript
import { createGlobalState,useLocalStorage } from '@vueuse/core'
|
|
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',{})
|
|
const fingerprint=useLocalStorage('fingerprint','')
|
|
const checkoutSessionUrl=useLocalStorage('checkoutSessionUrl','')
|
|
const selectedZone=useLocalStorage('selectedZone','')
|
|
const payment=useLocalStorage('payment',{
|
|
leftPrice:'',
|
|
leftCurrency:'',
|
|
buyUid:'',
|
|
auctionArtworkUuid:''
|
|
})
|
|
const router=useRouter()
|
|
const config = useRuntimeConfig()
|
|
const payUid=useLocalStorage('payUid','')
|
|
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{
|
|
openRefreshResults,
|
|
payUid,
|
|
selectedZone,
|
|
payment,
|
|
checkoutSessionUrl,
|
|
userInfo,
|
|
RefreshToken,
|
|
token,
|
|
fingerprint
|
|
}
|
|
}) |