This commit is contained in:
li
2026-01-17 17:39:51 +08:00
commit 7073975960
353 changed files with 8837 additions and 0 deletions
+4
View File
@@ -0,0 +1,4 @@
const getters = {
}
export default getters
+42
View File
@@ -0,0 +1,42 @@
import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
Vue.use(Vuex)
const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
const value = modulesFiles(modulePath)
modules[moduleName] = value.default
return modules
}, {})
const store = new Vuex.Store({
modules,
getters,
})
// Vue.prototype.$state = store.state
/**
* 原vuex
* 取值 this.$store.state.xxx
* 设值 this.$store.commit('beichen/setState', { state, value })
*
* 下面则
* 取值 this.$state.xxx
* 设值 this.$state.xxx = xxx
* */
Vue.prototype.$state = new Proxy(
{},
{
get(target, state) {
return store.state[state]
},
set(target, state, value) {
store.commit('app/setState', { state, value })
return true
}
}
)
export default store
+115
View File
@@ -0,0 +1,115 @@
import Vue from "vue";
import $api from "@/request/api";
// 语言配置
import { cn } from "@/language/cn";
import { tw } from "@/language/tw";
import { en } from "@/language/en";
import { yn } from "@/language/yn";
import { kr } from "@/language/kr";
import { tl } from "@/language/tl";
import { In } from "@/language/in";
let userData = {};
try {
userData = localStorage.getItem("userInfo");
userData = userData ? JSON.parse(userData) : {};
} catch (err) {
console.log(err);
}
const state = {
language: localStorage.getItem("language") || "cn", // 语言
lang: { cn, tw, en, yn, kr, tl, in: In },
// 用户信息
userInfo: userData || {},
apiUrl: "",
sockUrl: "",
gapi: "",
h5: "",
loginLogo: "",
titlePng: "",
title: "",
customServiceUrl:"",
telegramUrl:"",
lineUrl:"",
gameUrl:"",
tripleUrl:"",
loginType:''
};
const mutations = {
// 更改 state 值 用于下面的 $state
setState(state, payload) {
if (payload.state) state[payload.state] = payload.value;
},
// 设置配置
setConfig: (state, data) => {
console.log(localStorage.getItem("loginType"))
if (data.title) {
Vue.prototype.$baseApi = {
base: data.apiUrl,
gapi: data.gapi,
h5: data.h5,
gameUrl: data.gameUrl,
tripleUrl: data.tripleUrl
};
document.title = data.title;
Object.keys(data).forEach((v) => {
if (v != "language") {
state[v] = data[v];
}
});
}
// 设置默认语言
const language = localStorage.getItem("language");
if (!language) {
state.language = data.language || "cn";
}
state.loginType = localStorage.getItem("loginType") || ''
},
updateLanguage: (state, data) => {
state.language = data;
localStorage.setItem("language", data);
},
updateLoginType: (state, data) => {
state.loginType = data;
localStorage.setItem("loginType", data);
},
updateUserInfo: (state, data) => {
try {
let userInfo = Object.assign(state.userInfo, {
...data,
});
userInfo = JSON.stringify(userInfo);
localStorage.setItem("userInfo", userInfo);
state.userInfo = JSON.parse(userInfo);
} catch (err) {
console.log(err);
}
},
};
const actions = {
// 更新用户信息
getUserInfo({ commit, state }) {
$api
.getUserInfo({ api_token: state.userInfo.api_token })
.then((res) => {
if (res.Success == 1) {
commit("updateUserInfo", res.Data);
}
})
.catch((err) => {
console.log(err);
});
},
// 退出登陆
logOut() {},
};
export default {
namespaced: true,
state,
mutations,
actions,
};