You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

246 lines
6.3 KiB

import Vue from 'vue'
import Vuex from 'vuex'
import Setting from "@/api/setting";
import i18n from "@/i18n";
import Socket from '@/api/serve/market-socket'
import themeStyle from '@/plugins/theme-style'
import app from '@/app'
let socket = new Socket(app.socketUrl)
socket.on('message', (evt) => {
if (evt.type == 'ping') {
socket.send({cmd: 'pong'})
}
})
let socket1 = new Socket(app.socketUrl1)
socket1.on('message', (evt) => {
if (evt.cmd == 'ping') {
socket1.send({cmd: 'pong'})
}
})
Vue.use(Vuex)
if (uni.getStorageSync('language') == 'cn') {
uni.setStorageSync('language', 'zh-CN')
}
function defaultTheme() {
// return `dark`
// // 获取当前时间
// let timeNow = new Date();
// // 获取当前小时
// let hours = timeNow.getHours();
// // 设置默认文字
// let state = ``;
// // 判断当前时间段
// if (hours >= 19 || hours <= 7) {
// state = `dark`;
// } else {
// state = `light`;
// }
uni.setStorageSync('theme', 'dark');
// uni.setStorageSync('language','zh-CN');
let state = `dark`
return state;
}
// #ifdef APP-PLUS
plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) {
uni.setStorageSync('version', wgtinfo.version)
});
// #endif
let store = new Vuex.Store({
state: {
// 切换动画
fade: '',
// 区号列表
countryList: [],
token: uni.getStorageSync('token'),
user: (() => {
if (!uni.getStorageSync('user')) return {};
return JSON.parse(uni.getStorageSync('user'))
})(),
ws: socket,
ws1: socket1,
wsState: false,
hideMoney: uni.getStorageSync('hideMoney') == 'true',
// logo
logoMap: (() => {
if (!uni.getStorageSync('logoMap')) return {};
return JSON.parse(uni.getStorageSync('logoMap'))
})(),
lang: uni.getStorageSync('language') || 'en',
// lang:'en',
version: uni.getStorageSync('version'),
langList: [
{
value: 'en',
label: 'English'
},
// {
// value: 'zh-CN',
// label: '简体中文'
// },
{
value: 'kor',
label: '한국어'
},
{
value: 'de',
label: 'Deutsch'
},
{
value: 'fra',
label: 'Français'
},
{
value: 'spa',
label: 'Español'
},
{
value: 'it',
label: 'Italiano'
},
// {
// value: 'jp',
// label: '日本語'
// },
{
value: 'pt',
label: 'Português'
},
{
value: 'tr',
label: 'Türk'
},
// {
// value: 'ukr',
// label: 'УкраїнськаName'
// },
// {
// value: 'swe',
// label: 'Svenska'
// },
// {
// value: 'fin',
// label: 'Suomi'
// },
// {
// value: 'pl',
// label: 'Polski'
// },
{
value: 'zh-TW',
label: '繁體中文'
},
],
// 主题
theme: uni.getStorageSync('theme') || defaultTheme(),
// 自定义页面下标
pageIdx: 0
},
getters: {
themeStyle(state) {
return themeStyle[state.theme]
}
},
mutations: {
FADE(state, data) {
state.fade = data
},
COUNTRYLIST(state, data) {
state.countryList = data
},
TOKEN(state, data) {
uni.setStorageSync('token', data)
state.token = data
},
USER(state, data) {
uni.setStorageSync('user', JSON.stringify(data))
state.user = data
},
HIDEMONEY(state, data) {
uni.setStorageSync('hideMoney', data)
state.hideMoney = data
},
LOGOMAP(state, data) {
uni.setStorageSync('logoMap', JSON.stringify(data))
state.logoMap = data
},
LANG(state, data) {
uni.setStorageSync('language', data)
i18n.locale = data
state.lang = data
},
VANTLANG(state, data) {
let name = 'zh-CN'
},
THEME(state, data) {
state.theme = data
uni.setStorageSync('theme', data)
},
PAGEIDX(state, data) {
state.pageIdx++
}
},
actions: {
// 页面返回事件
fadeOut({commit}) {
commit('FADE', 'fade-out')
setTimeout(() => {
commit('FADE', 'fade-in')
}, 300);
},
// 设置区号
countryList({commit}, data) {
commit('COUNTRYLIST', data)
},
token({commit}, data) {
commit('TOKEN', data)
},
// 设置用户信息 (登录处)
user({commit}, data) {
commit('USER', data)
},
// 过滤资金显示
hideMoney({commit}, data) {
commit('HIDEMONEY', data)
},
// 设置用户信息
setUserInfo({commit}) {
Setting.getUserInfo().then(res => {
commit('USER', res.data)
}).catch(() => {
})
},
// 设置logo
logoMap({commit}, data) {
commit('LOGOMAP', data)
},
// 设置当前语言
setLang({commit}, data) {
commit('LANG', data)
commit('VANTLANG', data)
},
// 设置主题
setTheme({commit}, data) {
commit('THEME', data)
uni.setNavigationBarColor({
frontColor: data == 'dark' ? '#ffffff' : '#000000',
backgroundColor: '#666666',
})
},
// 页面栈++
setPageIdx({commit}, data) {
commit('PAGEIDX', data)
}
},
modules: {}
})
export default store