liveh5-nuxt/app/stores/auth/index.js
2025-02-28 17:38:00 +08:00

51 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/order/ws',{
payUid:payUid.value
})
ws.onMessage((data) => {
console.log('openRefreshResults',data)
router.push({
path:'/payment/result',
query:{
orderNo:payUid.value
}
})
})
}
return{
openRefreshResults,
payUid,
selectedZone,
payment,
checkoutSessionUrl,
userInfo,
RefreshToken,
token,
fingerprint
}
})