websocket消息支持 (#188)
* Release (#162) * feat: ✨ websocket server demo * feat: ✨ ws server demo dev * feat: ✨ ws server and mobile page * feat: ✨ 手机端发送消息 * feat: ✨ 手机网页发送消息 * 添加了抽奖中和抽奖完成时的音效 * feat: ✨ 自定义设置弹幕服务器地址 * feat: ✨ ws not done * fix: 🐛 fix pr-185 #185 为播放音效添加控制 * feat: ✨ server worker demo not done * feat: ✨ websocket server * feat: ✨ 全局接收websocket消息并存储到indexdb中 --------- Co-authored-by: Silence@2024 <707261624@qq.com>
This commit is contained in:
57
src/store/serverConfig.ts
Normal file
57
src/store/serverConfig.ts
Normal file
@@ -0,0 +1,57 @@
|
||||
import type { ServerType } from '@/types/storeType'
|
||||
import { defineStore } from 'pinia'
|
||||
import { defaultServerHostList } from './data'
|
||||
|
||||
export const useServerConfig = defineStore('server', {
|
||||
state() {
|
||||
return {
|
||||
serverConfig: {
|
||||
serverList: defaultServerHostList,
|
||||
currentServer: defaultServerHostList[0],
|
||||
},
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
// 获取服务器列表
|
||||
getServerList(state) {
|
||||
return state.serverConfig.serverList
|
||||
},
|
||||
// 获取当前服务器
|
||||
getCurrentServer(state) {
|
||||
return state.serverConfig.currentServer
|
||||
},
|
||||
|
||||
},
|
||||
actions: {
|
||||
// 设置服务器列表地址
|
||||
updateServerList(userServer: ServerType) {
|
||||
this.serverConfig.serverList.map((item) => {
|
||||
if (item.id === userServer.id) {
|
||||
item.host = userServer.host
|
||||
}
|
||||
return item
|
||||
})
|
||||
},
|
||||
// 设置当前服务器
|
||||
setCurrentServer(userServer: ServerType) {
|
||||
this.serverConfig.currentServer = userServer
|
||||
},
|
||||
// 重置所有配置
|
||||
resetDefault() {
|
||||
this.serverConfig = {
|
||||
serverList: defaultServerHostList,
|
||||
currentServer: defaultServerHostList[0],
|
||||
}
|
||||
},
|
||||
},
|
||||
persist: {
|
||||
enabled: true,
|
||||
strategies: [
|
||||
{
|
||||
// 如果要存储在localStorage中
|
||||
storage: localStorage,
|
||||
key: 'serverConfig',
|
||||
},
|
||||
],
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user