chushih
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
const getters = {
|
||||
|
||||
}
|
||||
export default getters
|
||||
@@ -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
|
||||
@@ -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,
|
||||
};
|
||||
Reference in New Issue
Block a user