fixed alipay mobile payment

This commit is contained in:
RockYang
2024-10-05 10:23:00 +08:00
parent 471017657f
commit 495f86e7fc
7 changed files with 48 additions and 23 deletions

View File

@@ -1,5 +1,5 @@
VUE_APP_API_HOST=http://localhost:5678
VUE_APP_WS_HOST=ws://localhost:5678
VUE_APP_API_HOST=http://www.geekai.me:6004
VUE_APP_WS_HOST=ws://www.geekai.me:6004
VUE_APP_USER=18888888888
VUE_APP_PASS=12345678
VUE_APP_ADMIN_USER=admin

View File

@@ -13,6 +13,7 @@ import {showMessageInfo} from "@/utils/dialog";
import {useSharedStore} from "@/store/sharedata";
import {getUserToken} from "@/store/session";
import {router} from "@/router";
import {onBeforeRouteLeave, onBeforeRouteUpdate} from "vue-router";
const debounce = (fn, delay) => {
let timer
@@ -49,17 +50,11 @@ onMounted(() => {
checkSession().then(() => {
store.setIsLogin(true)
connect()
}).catch(()=>{})
// 自动跳转到手机端
if (isMobile() && !router.currentRoute.value.path.startsWith("/mobile")) {
router.push("/mobile/index")
}
})
watch(() => store.isLogin, (val) => {
if (val) {
if (val && store.socket.readyState !== WebSocket.OPEN) {
connect()
}
})
@@ -80,16 +75,25 @@ const connect = () => {
_socket.addEventListener('open', () => {
console.log('WebSocket 已连接')
handler.value = setInterval(() => {
_socket.send(JSON.stringify({"type":"ping"}))
if (_socket.readyState === WebSocket.OPEN) {
_socket.send(JSON.stringify({"type":"ping"}))
}
},5000)
// 绑定事件监听
for (const key in store.messageHandlers) {
console.log(key, store.messageHandlers[key])
console.log(store.messageHandlers[key])
store.setMessageHandler(store.messageHandlers[key])
}
})
_socket.addEventListener('close', () => {
// 移除事件监听
for (const key in store.messageHandlers) {
if (store.socket) {
store.socket.removeEventListener('message', this.messageHandlers[key])
}
}
store.setSocket(null)
clearInterval(handler.value)
connect()

View File

@@ -56,6 +56,9 @@ export const useSharedStore = defineStore('shared', {
}
},
removeMessageHandler(key) {
if (this.socket) {
this.socket.removeEventListener('message', this.messageHandlers[key])
}
delete this.messageHandlers[key]
},
setMobileTheme(theme) {

View File

@@ -219,6 +219,7 @@ import ChatReply from "@/components/ChatReply.vue";
import {Delete, Edit, InfoFilled, More, Plus, Promotion, Search, Share, VideoPause} from '@element-plus/icons-vue'
import 'highlight.js/styles/a11y-dark.css'
import {
isMobile,
randString,
removeArrayItem,
UUID
@@ -274,6 +275,9 @@ watch(() => store.chatStream, (newValue) => {
stream.value = newValue
});
if (isMobile()) {
router.push('/mobile/chat')
}
// 初始化角色ID参数
if (router.currentRoute.value.query.role_id) {

View File

@@ -62,9 +62,14 @@ import FooterBar from "@/components/FooterBar.vue";
import {httpGet} from "@/utils/http";
import {ElMessage} from "element-plus";
import {checkSession, getLicenseInfo, getSystemInfo} from "@/store/cache";
import {isMobile} from "@/utils/libs";
const router = useRouter()
if (isMobile()) {
router.push("/mobile/index")
}
const title = ref("")
const logo = ref("")
const slogan = ref("")