Files
Portal/store/modules/app.js
T
2026-01-17 17:39:51 +08:00

116 lines
2.6 KiB
JavaScript

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,
};