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.
245 lines
6.2 KiB
245 lines
6.2 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');
|
|
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
|
|
|
|
|