Commit c644c507 by MichaelJier

fix

1. 修复因为store经典模式造成的页面404问题
parent 875e989e
......@@ -75,7 +75,7 @@ export default {
await this.get_userInfo({ refererId: this.$route.query.refererId });
this.set_nowDate();
if (!process.env.private) {
this.timer = websocketHeartbeat()
this.timer = websocketHeartbeat.call(this)
this.set_uuid(this.timer.uuid)
// bus注册ws暂停和开始事件
this.$Bus.$on('ws-start', () => {
......
......@@ -9,16 +9,16 @@
import qs from 'qs';
import axios from 'axios';
import Layer from '@/plugins/Layer/index';
// import md5 from 'js-md5';
// import LRU from 'lru-cache'
import md5 from 'js-md5';
import LRU from 'lru-cache'
const Cookie = process.client ? require('js-cookie') : {};
const Sentry = process.client ? require('@sentry/browser') : require('@sentry/node');
// 给api加200ms缓存
// const CACHED = new LRU({
// max: 1000,
// maxAge: 200
// })
const CACHED = new LRU({
max: 1000,
maxAge: 200
})
const DEF_DOMAIM = process.client
? process.env.DEF_DOMAIM + (window.location.protocol.split(':')[0] === 'https' ? process.env.HTTPS_PORT : process.env.HTTP_PORT)
......@@ -41,17 +41,13 @@ service.interceptors.request.use(
config.headers['token'] =
Cookie.get('token') || Cookie.get('BCC_PROGRAM_USER_LOGIN_TOKEN') || '';
} else {
const { params = {}, headers = {} } = config
Sentry.captureException(
new Error(`${config.url} ; ${JSON.stringify(params)} ; ${JSON.stringify(headers)}`)
)
// 服务端api缓存
// const { params = {}, headers = {} } = config
// const key = md5(config.url + JSON.stringify(params) + JSON.stringify(headers))
// // 缓存命中
// if (CACHED.has(key)) {
// return Promise.resolve(CACHED.get(key))
// }
const { params = {}, headers = {} } = config
const key = md5(config.url + JSON.stringify(params) + JSON.stringify(headers))
// 缓存命中
if (CACHED.has(key)) {
return Promise.resolve(CACHED.get(key))
}
}
const noMsg = config.headers['noMsg'] || '';
if (config.headers.hasOwnProperty('noMsg')) {
......@@ -71,12 +67,9 @@ service.interceptors.response.use(
if (status === 200) {
const { code, errorCode, errorMessage } = data;
if (!process.client) {
// const { params = {}, headers = {} } = config
// const key = md5(config.url + JSON.stringify(params) + JSON.stringify(headers))
// CACHED.set(key, data)
Sentry.captureException(
new Error(`${status};${JSON.stringify(data)};${JSON.stringify(config)}`)
);
const { params = {}, headers = {} } = config
const key = md5(config.url + JSON.stringify(params) + JSON.stringify(headers))
CACHED.set(key, data)
}
if ((code !== 200 || errorCode !== 0) && code !== 0) {
Sentry.captureException(
......
......@@ -9,7 +9,7 @@
import Cookie from 'js-cookie'
import { getQueryVariable } from '../Utils/index'
export const login = async ({token} = {token: ''}) => {
export const login = async function({token} = {token: ''}) {
Cookie.set('token', token, { expires: 10 });
const { id, uin, liveNowStatus } = store().getters['channelInfo']
const res = await getWatchLoginInfo({
......
import store from '@/store/index'
import { watchTime } from './API/apiWS';
export default () => {
const userInfo = store().getters['userInfo']
const channelInfo = store().getters['channelInfo']
export default function() {
const store = this.$store
const userInfo = store.getters['userInfo']
const channelInfo = store.getters['channelInfo']
const websocketHeartbeat = require('./timer').default;
const info = {
"userId": userInfo.id || 0,
......
import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'
import actions from './actions'
import mutations from './mutations'
import getters from './getters'
Vue.use(Vuex)
let store
const initStore = () => {
return store || (store = new Vuex.Store({
// 存放公用数据
state,
// 异步操作要通过actions,否则通过cimmit直接操作mutations
actions,
// 同步放数据
mutations,
getters,
modules: {
// store 模块....
}
}))
}
export default initStore
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment