Authored by 陈峰

commit

@@ -17,7 +17,7 @@ const errHandle = (error) => { @@ -17,7 +17,7 @@ const errHandle = (error) => {
17 const request = (options, store) => { 17 const request = (options, store) => {
18 return axios(options).then((res) => { 18 return axios(options).then((res) => {
19 if (res.data.code === 401) { 19 if (res.data.code === 401) {
20 - store && store.commit('needLogin', {needLogin: true}); 20 + store && store.commit('SET_NEED_LOGIN', {needLogin: true});
21 return Promise.reject(res.data); 21 return Promise.reject(res.data);
22 } 22 }
23 return res.data; 23 return res.data;
@@ -41,7 +41,7 @@ export default context => { @@ -41,7 +41,7 @@ export default context => {
41 }).catch(e => { 41 }).catch(e => {
42 reportError(e); 42 reportError(e);
43 if (e.code === 401) { 43 if (e.code === 401) {
44 - store.commit('needLogin', {needLogin: true}); 44 + store.commit('SET_NEED_LOGIN', {needLogin: true});
45 } 45 }
46 context.state = store.state; 46 context.state = store.state;
47 return resolve(app); 47 return resolve(app);
1 <template> 1 <template>
2 <Layout> 2 <Layout>
3 <LayoutHeader slot='header' title="推荐" :share="shareData"></LayoutHeader> 3 <LayoutHeader slot='header' title="推荐" :share="shareData"></LayoutHeader>
4 - ArticlePage 4 + <div class="article-content">
  5 + page-content
  6 + </div>
5 </Layout> 7 </Layout>
6 </template> 8 </template>
7 9
1 -import storeList from './list';  
2 -  
3 -export default function() {  
4 - return {  
5 - namespaced: true,  
6 - modules: {  
7 - yoho: storeList()  
8 - }  
9 - };  
10 -}  
1 -import * as Types from './types';  
2 -  
3 -const TYPE = {notuse: 'notuse', use: 'use', overtime: 'overtime'};  
4 -  
5 -function _handleCoupon(item, type) {  
6 - if (type === TYPE.use) {  
7 - item.is_used = true;  
8 - }  
9 -  
10 - if (type === TYPE.use || item.is_overtime === 'Y' || item.is_invalid === 'Y') {  
11 - item.usedOvertimeOrInValid = true;  
12 - }  
13 -  
14 - item.useNowLink = true;  
15 -  
16 - // 线下店不可使用  
17 - if (!item.is_online_avail) {  
18 - item.useNowLink = '';  
19 - }  
20 -  
21 - return item;  
22 -}  
23 -  
24 -function _handleUfoCoupon(item) {  
25 - item.coupon_value_str = item.coupon_value;  
26 - item.catalog_name = 'UFO';  
27 - item.catalog = 'UFO';  
28 - return item;  
29 -}  
30 -  
31 -export default {  
32 - async fetchYohoList({commit, state}, {type, filter = 0, refresh = false}) {  
33 - commit(Types.FETCH_YOHO_COUPON_REQUEST);  
34 -  
35 - if (!refresh) {  
36 - if (state.yohoList[type].page > state.yohoList[type].pageNum) {  
37 - return false;  
38 - }  
39 - }  
40 -  
41 - const fetchPage = refresh ? 1 : state.yohoList[type].page + 1;  
42 -  
43 - // 下一页的数据  
44 - const result = await this.$api.get('/api/coupon/yoho/list', {  
45 - type,  
46 - filter,  
47 - limit: 10,  
48 - page: fetchPage  
49 - });  
50 -  
51 - if (result && result.code === 200) {  
52 - const data = {  
53 - type,  
54 - couponList: result.data.couponList ? result.data.couponList.map((i) => _handleCoupon(i, type)) : [],  
55 - pageNum: result.data.pageNum,  
56 - pageSize: result.data.pageSize,  
57 - total: result.data.total,  
58 - filterId: filter,  
59 - page: fetchPage,  
60 - refresh  
61 - };  
62 -  
63 - if (type === TYPE.notuse) {  
64 - data.filter = result.data.filters;  
65 - }  
66 -  
67 - commit(Types.FETCH_YOHO_COUPON_SUCCESS, data);  
68 - } else {  
69 - commit(Types.FETCH_YOHO_COUPON_FAILED);  
70 - }  
71 -  
72 - return result.data.couponList ? result.data.couponList.length !== 0 : false;  
73 - },  
74 -  
75 - async fetchYohoNum({commit}) {  
76 - commit(Types.FETCH_YOHO_COUPON_REQUEST);  
77 -  
78 - const result = await this.$api.get('/api/coupon/yoho/num', {});  
79 -  
80 - if (result && result.code === 200) {  
81 - commit(Types.FETCH_YOHO_COUPON_NUM_SUCCESS, result.data);  
82 - } else {  
83 - commit(Types.FETCH_YOHO_COUPON_FAILED);  
84 - }  
85 - },  
86 -  
87 - async fetchUfoList({commit}) {  
88 - commit(Types.FETCH_YOHO_COUPON_REQUEST);  
89 -  
90 - const result = await this.$api.get('/api/coupon/ufo/list');  
91 -  
92 - if (result && result.code === 200) {  
93 - commit(Types.FETCH_UFO_COUPON_SUCCESS, {  
94 - list: result.data.map(_handleUfoCoupon)  
95 - });  
96 - } else {  
97 - commit(Types.FETCH_YOHO_COUPON_FAILED);  
98 - }  
99 - },  
100 -  
101 - async getCouponCode({commit}, {code}) {  
102 - commit(Types.FETCH_YOHO_COUPON_REQUEST);  
103 -  
104 - const result = await this.$api.post('/api/coupon/yoho/getcoupon', {  
105 - coupon_code: code  
106 - });  
107 -  
108 - if (result && result.code === 200) {  
109 - commit(Types.FETCH_YOHO_COUPON_CODE_SUCCESS);  
110 - } else {  
111 - commit(Types.FETCH_YOHO_COUPON_FAILED);  
112 - }  
113 -  
114 - return result || {};  
115 - }  
116 -};  
1 -import actions from './actions';  
2 -import mutations from './mutations';  
3 -  
4 -function handleNum(n) {  
5 - return n > 99 ? '99+' : n;  
6 -}  
7 -  
8 -export default function() {  
9 - return {  
10 - namespaced: true,  
11 - state: {  
12 - fetching: false,  
13 - yohoList: {  
14 - notuse: {  
15 - couponList: [],  
16 - pageNum: 0,  
17 - pageSize: 10,  
18 - total: 0,  
19 - page: 0,  
20 - filterId: 0  
21 - },  
22 - use: {  
23 - couponList: [],  
24 - pageNum: 0,  
25 - pageSize: 10,  
26 - total: 0,  
27 - page: 0,  
28 - filterId: 0  
29 - },  
30 - overtime: {  
31 - couponList: [],  
32 - pageNum: 0,  
33 - pageSize: 10,  
34 - total: 0,  
35 - page: 0,  
36 - filterId: 0  
37 - }  
38 - },  
39 - num: {  
40 - notuse: 0,  
41 - use: 0,  
42 - overtime: 0  
43 - },  
44 - ufoList: [],  
45 - filterList: [],  
46 - },  
47 - actions,  
48 - mutations,  
49 - getters: {  
50 - getNum(state) {  
51 - return [handleNum(state.num.notuse), handleNum(state.num.use), handleNum(state.num.overtime)];  
52 - },  
53 - getNotUseList(state) {  
54 - return state.yohoList.notuse.couponList;  
55 - },  
56 - getUseList(state) {  
57 - return state.yohoList.use.couponList;  
58 - },  
59 - getOvertimeList(state) {  
60 - return state.yohoList.overtime.couponList;  
61 - },  
62 - }  
63 - };  
64 -}  
1 -import * as Types from './types';  
2 -  
3 -export default {  
4 - [Types.FETCH_YOHO_COUPON_REQUEST](state) {  
5 - state.fetching = true;  
6 - },  
7 - [Types.FETCH_YOHO_COUPON_SUCCESS](state, {couponList, filter, type, pageNum, pageSize, total, filterId, page, refresh}) {  
8 - state.fetching = false;  
9 -  
10 - const typeData = state.yohoList[type];  
11 - const list = typeData.couponList;  
12 - const newCouponList = refresh ? couponList : list.concat(couponList);  
13 -  
14 - typeData.couponList = newCouponList;  
15 - typeData.pageNum = pageNum;  
16 - typeData.pageSize = pageSize;  
17 - typeData.total = total;  
18 - typeData.filterId = filterId;  
19 - typeData.page = page;  
20 -  
21 - if (filter) {  
22 - state.filterList = filter;  
23 - }  
24 - },  
25 - [Types.FETCH_YOHO_COUPON_FAILED](state) {  
26 - state.fetching = false;  
27 - },  
28 -  
29 - [Types.FETCH_YOHO_COUPON_NUM_SUCCESS](state, data) {  
30 - state.num = data;  
31 - },  
32 - [Types.FETCH_UFO_COUPON_SUCCESS](state, {list = []}) {  
33 - state.fetching = false;  
34 - state.ufoList = list;  
35 - }  
36 -};  
1 -export const FETCH_YOHO_COUPON_REQUEST = 'FETCH_YOHO_COUPON_REQUEST';  
2 -export const FETCH_YOHO_COUPON_FAILED = 'FETCH_YOHO_COUPON_FAILED';  
3 -export const FETCH_YOHO_COUPON_SUCCESS = 'FETCH_YOHO_COUPON_SUCCESS';  
4 -export const FETCH_YOHO_COUPON_NUM_SUCCESS = 'FETCH_YOHO_COUPON_NUM_SUCCESS';  
5 -export const FETCH_YOHO_COUPON_CODE_SUCCESS = 'FETCH_YOHO_COUPON_CODE_SUCCESS';  
6 -export const FETCH_UFO_COUPON_SUCCESS = 'FETCH_UFO_COUPON_SUCCESS';  
7 -  
@@ -2,8 +2,7 @@ import Vue from 'vue'; @@ -2,8 +2,7 @@ import Vue from 'vue';
2 import Vuex from 'vuex'; 2 import Vuex from 'vuex';
3 import {createApi} from 'create-api'; 3 import {createApi} from 'create-api';
4 import storeYoho from './yoho'; 4 import storeYoho from './yoho';
5 -import storeUfo from './order';  
6 -import storeLicense from './license'; 5 +import plugin from './plugin';
7 6
8 Vue.use(Vuex); 7 Vue.use(Vuex);
9 8
@@ -12,10 +11,9 @@ export function createStore(context) { @@ -12,10 +11,9 @@ export function createStore(context) {
12 namespaced: true, 11 namespaced: true,
13 modules: { 12 modules: {
14 yoho: storeYoho(), 13 yoho: storeYoho(),
15 - ufo: storeUfo(),  
16 - license: storeLicense()  
17 }, 14 },
18 - strict: process.env.NODE_ENV !== 'production' 15 + strict: process.env.NODE_ENV !== 'production',
  16 + plugins: [plugin]
19 }); 17 });
20 18
21 const api = createApi(context, store); 19 const api = createApi(context, store);
1 -import * as Types from './types';  
2 -  
3 -function _url({ name }) {  
4 - return `//cdn.yoho.cn/${name}`;  
5 -}  
6 -  
7 -function _handleData(data) {  
8 - const result = {  
9 - business_type: data.businessType,  
10 - business_name: data.businessName,  
11 - social_credit_code: data.socialCreditCode,  
12 - cert_name: data.certName,  
13 - cert_no: data.certNo,  
14 - start_time: data.time.start_time,  
15 - expire_time: data.time.noLimit ? '0' : data.time.expire_time,  
16 - license_original_image: data.licenseOriginalImage.map(_url).join(''),  
17 - license_copy_image: data.licenseCopyImage.map(_url).join(''),  
18 - cert_face_image: data.certFaceImage.map(_url).join(''),  
19 - cert_reverse_image: data.certReverseImage.map(_url).join('')  
20 - };  
21 -  
22 - return result;  
23 -}  
24 -  
25 -export default {  
26 - async fetchToken({ commit }) {  
27 - const result = await this.$api.get('/getToken?type=yohocdn');  
28 -  
29 - commit(Types.FETCH_UFO_UPLOAD_TOKEN_SUCCESS, { token: result.uptoken });  
30 - },  
31 -  
32 - async saveLicense({ commit }, data) {  
33 - const result = await this.$api.post(  
34 - '/api/ufo/license/save',  
35 - _handleData(data)  
36 - );  
37 -  
38 - return result;  
39 - },  
40 -  
41 - async licenseStatus({ commit }) {  
42 - let result = await this.$api.get('/api/ufo/license/status');  
43 -  
44 - if (result.code === 200) {  
45 - commit(Types.FETCH_UFO_STATUS_SUCCESS, { status: result.data, message: result.message });  
46 - } else {  
47 - commit(Types.FETCH_UFO_STATUS_SUCCESS, { status: -1 });  
48 - }  
49 - },  
50 -  
51 - async getStoreStatus({ commit }) {  
52 - let result = {};  
53 -  
54 - try {  
55 - result = await this.$api.get('/api/ufo/store/status');  
56 - } catch (e) {  
57 - return result;  
58 - }  
59 -  
60 - return result;  
61 - }  
62 -};  
1 -import actions from './actions';  
2 -import mutations from './mutations';  
3 -  
4 -export default function() {  
5 - return {  
6 - namespaced: true,  
7 - state: {  
8 - fetching: false,  
9 - token: false,  
10 - status: -1,  
11 - message: ''  
12 - },  
13 - actions,  
14 - mutations  
15 - };  
16 -}  
1 -import * as Types from './types';  
2 -  
3 -export default {  
4 - [Types.FETCH_UFO_UPLOAD_TOKEN_SUCCESS](state, {token}) {  
5 - state.token = token;  
6 - },  
7 -  
8 - [Types.FETCH_UFO_STATUS_SUCCESS](state, {status, message}) {  
9 - state.status = status;  
10 - state.message = message;  
11 - },  
12 -  
13 - [Types.FETCH_UFO_NEED_LOGIN](state, data) {  
14 - state.needLogin = data;  
15 - }  
16 -};  
1 -export const FETCH_UFO_UPLOAD_TOKEN_SUCCESS = 'FETCH_UFO_UPLOAD_TOKEN_SUCCESS';  
2 -export const FETCH_UFO_SAVE_REQUEST = 'FETCH_UFO_SAVE_REQUEST';  
3 -export const FETCH_UFO_SAVE_SUCCESS = 'FETCH_UFO_SAVE_SUCCESS';  
4 -export const FETCH_UFO_SAVE_ERROR = 'FETCH_UFO_SAVE_ERROR';  
5 -  
6 -export const FETCH_UFO_STATUS_REQUEST = 'FETCH_UFO_STATUS_REQUEST';  
7 -export const FETCH_UFO_STATUS_SUCCESS = 'FETCH_UFO_STATUS_SUCCESS';  
8 -export const FETCH_UFO_STATUS_ERROR = 'FETCH_UFO_STATUS_ERROR';  
9 -  
10 -export const FETCH_UFO_NEED_LOGIN = 'FETCH_UFO_NEED_LOGIN';  
1 -import storeList from './form';  
2 -  
3 -export default function() {  
4 - return {  
5 - namespaced: true,  
6 - modules: {  
7 - form: storeList()  
8 - }  
9 - };  
10 -}  
1 -import storeChannel from './channel';  
2 -import storeUser from './user';  
3 -import storePush from './push';  
4 -  
5 -export default function() {  
6 - return {  
7 - namespaced: true,  
8 - modules: {  
9 - channel: storeChannel(),  
10 - user: storeUser(),  
11 - push: storePush(),  
12 - }  
13 - };  
14 -}  
1 -import storeOrder from './ufo';  
2 -  
3 -export default function() {  
4 - return {  
5 - namespaced: true,  
6 - modules: {  
7 - order: storeOrder()  
8 - }  
9 - };  
10 -}  
1 -import * as Types from './types';  
2 -import {first, get, flatten} from 'lodash';  
3 -  
4 -export default {  
5 - async fetchProduct({commit}, {productId, page = 1, refresh = false}) {  
6 - commit(Types.FETCH_ORDER_PRODUCT_REQUEST);  
7 -  
8 - let result;  
9 -  
10 - if (refresh) {  
11 - const results = await Promise.all(Array.from(new Array(page)).map((v, i) => {  
12 - return this.$api.get('/api/ufo/seller/entryGoodsSizeList', {  
13 - productId,  
14 - page: i + 1  
15 - });  
16 - }));  
17 -  
18 - result = {  
19 - code: 200,  
20 - data: {  
21 - productInfo: get(first(results), 'data.productInfo'),  
22 - data: flatten(results.map(r => get(r, 'data.data', [])))  
23 - }  
24 - };  
25 - } else {  
26 - result = await this.$api.get('/api/ufo/seller/entryGoodsSizeList', {  
27 - productId,  
28 - page  
29 - });  
30 - }  
31 -  
32 - if (result && result.code === 200) {  
33 - commit(Types.FETCH_ORDER_PRODUCT_SUCCESS, {  
34 - order: result.data,  
35 - refresh,  
36 - });  
37 - } else {  
38 - commit(Types.FETCH_ORDER_PRODUCT_FAILD);  
39 - }  
40 - return result;  
41 - },  
42 - async postNoSale({commit}, payload) {  
43 - commit(Types.POST_NOSALE_REQUEST);  
44 - const result = await this.$api.get('/api/ufo/sellerOrder/batchDownShelf', payload);  
45 -  
46 - if (result && result.code === 200) {  
47 - commit(Types.POST_NOSALE_SUCCESS, {  
48 - order: result.data  
49 - });  
50 - } else {  
51 - commit(Types.POST_NOSALE_FAILD);  
52 - }  
53 - return result || {};  
54 - },  
55 - async postCalcPrice({commit}, payload) {  
56 - commit(Types.POST_CALCPRICE_REQUEST);  
57 - const result = await this.$api.get('/api/ufo/sellerOrder/computeAdjustPrice', payload);  
58 -  
59 - if (result && result.code === 200) {  
60 - commit(Types.POST_CALCPRICE_SUCCESS, {  
61 - order: result.data  
62 - });  
63 - } else {  
64 - commit(Types.POST_CALCPRICE_FAILD);  
65 - }  
66 - return result || {};  
67 - },  
68 - async postChangePrice({commit}, payload) {  
69 - commit(Types.POST_CHANGEPRICE_REQUEST);  
70 - const result = await this.$api.get('/api/ufo/sellerOrder/batchAdjustPrice', payload);  
71 -  
72 - if (result && result.code === 200) {  
73 - commit(Types.POST_CHANGEPRICE_SUCCESS, {  
74 - order: result.data  
75 - });  
76 - } else {  
77 - commit(Types.POST_CHANGEPRICE_FAILD);  
78 - }  
79 - return result || {};  
80 - }  
81 -};  
1 -import actions from './actions';  
2 -import mutations from './mutations';  
3 -  
4 -export default function() {  
5 - return {  
6 - namespaced: true,  
7 - state: {  
8 - fetchingPro: false,  
9 - fetchingNoSale: false,  
10 - fetchingChangePrice: false,  
11 - fetchingCalcPrice: false,  
12 - productInfo: {},  
13 - skcs: []  
14 - },  
15 - actions,  
16 - mutations  
17 - };  
18 -}  
1 -import * as Types from './types';  
2 -  
3 -export default {  
4 - [Types.FETCH_ORDER_PRODUCT_REQUEST](state) {  
5 - state.orderInfo = {};  
6 - state.fetchingPro = true;  
7 - },  
8 - [Types.FETCH_ORDER_PRODUCT_FAILD](state) {  
9 - state.fetchingPro = false;  
10 - },  
11 - [Types.FETCH_ORDER_PRODUCT_SUCCESS](state, {order, refresh}) {  
12 - state.fetchingPro = false;  
13 -  
14 - if (order.productInfo && state.productInfo.productId !== order.productInfo.productId || refresh) {  
15 - state.productInfo = order.productInfo || state.productInfo;  
16 - }  
17 - if (refresh) {  
18 - state.skcs = order.data;  
19 - } else if (order.data) {  
20 - state.skcs = state.skcs.concat(order.data);  
21 - }  
22 - },  
23 - [Types.MERGE_CHANGEPRICE_DATA](state, {skc, mergeData}) {  
24 - Object.assign(skc, mergeData);  
25 - },  
26 - [Types.POST_NOSALE_REQUEST](state) {  
27 - state.fetchingNoSale = true;  
28 - },  
29 - [Types.POST_NOSALE_FAILD](state) {  
30 - state.fetchingNoSale = false;  
31 - },  
32 - [Types.POST_NOSALE_SUCCESS](state) {  
33 - state.fetchingNoSale = false;  
34 - },  
35 - [Types.POST_CHANGEPRICE_REQUEST](state) {  
36 - state.fetchingChangePrice = true;  
37 - },  
38 - [Types.POST_CHANGEPRICE_FAILD](state) {  
39 - state.fetchingChangePrice = false;  
40 - },  
41 - [Types.POST_CHANGEPRICE_SUCCESS](state) {  
42 - state.fetchingChangePrice = false;  
43 - },  
44 - [Types.POST_CALCPRICE_REQUEST](state) {  
45 - state.fetchingCalcPrice = true;  
46 - },  
47 - [Types.POST_CALCPRICE_FAILD](state) {  
48 - state.fetchingCalcPrice = false;  
49 - },  
50 - [Types.POST_CALCPRICE_SUCCESS](state) {  
51 - state.fetchingCalcPrice = false;  
52 - },  
53 -};  
1 -export const FETCH_ORDER_PRODUCT_REQUEST = 'FETCH_ORDER_PRODUCT_REQUEST';  
2 -export const FETCH_ORDER_PRODUCT_FAILD = 'FETCH_ORDER_PRODUCT_FAILD';  
3 -export const FETCH_ORDER_PRODUCT_SUCCESS = 'FETCH_ORDER_PRODUCT_SUCCESS';  
4 -  
5 -export const POST_NOSALE_REQUEST = 'POST_NOSALE_REQUEST';  
6 -export const POST_NOSALE_FAILD = 'POST_NOSALE_FAILD';  
7 -export const POST_NOSALE_SUCCESS = 'POST_NOSALE_SUCCESS';  
8 -  
9 -export const POST_CHANGEPRICE_REQUEST = 'POST_CHANGEPRICE_REQUEST';  
10 -export const POST_CHANGEPRICE_FAILD = 'POST_CHANGEPRICE_FAILD';  
11 -export const POST_CHANGEPRICE_SUCCESS = 'POST_CHANGEPRICE_SUCCESS';  
12 -export const MERGE_CHANGEPRICE_DATA = 'MERGE_CHANGEPRICE_DATA';  
13 -  
14 -export const POST_CALCPRICE_REQUEST = 'POST_CALCPRICE_REQUEST';  
15 -export const POST_CALCPRICE_FAILD = 'POST_CALCPRICE_FAILD';  
16 -export const POST_CALCPRICE_SUCCESS = 'POST_CALCPRICE_SUCCESS';  
17 -  
  1 +export default (store) => {
  2 + if (process.env.VUE_ENV !== 'server') {
  3 + window.onresize = () => {
  4 + const {clientWidth, clientHeight} = document.body;
  5 +
  6 + store.commit('SET_WINDOW_SIZE', {clientWidth, clientHeight});
  7 + };
  8 + setTimeout(() => {
  9 + const {clientWidth, clientHeight} = document.body;
  10 +
  11 + store.commit('SET_WINDOW_SIZE', {clientWidth, clientHeight});
  12 + }, 0);
  13 + }
  14 +};
@@ -18,9 +18,11 @@ export default function() { @@ -18,9 +18,11 @@ export default function() {
18 path: '', 18 path: '',
19 needLogin: false 19 needLogin: false
20 }, 20 },
  21 + window: {
  22 + clientHeight: 0,
  23 + clientWidth: 0
  24 + },
21 historys: [], 25 historys: [],
22 - visible: true,  
23 - pageVisible: false,  
24 direction: 'forword', 26 direction: 'forword',
25 }, 27 },
26 mutations: { 28 mutations: {
@@ -53,8 +55,11 @@ export default function() { @@ -53,8 +55,11 @@ export default function() {
53 state.direction = 'forword'; 55 state.direction = 'forword';
54 } 56 }
55 }, 57 },
56 - [Types.NEED_LOGIN](state, {needLogin}) { 58 + [Types.SET_NEED_LOGIN](state, {needLogin}) {
57 state.context.needLogin = needLogin; 59 state.context.needLogin = needLogin;
  60 + },
  61 + [Types.SET_WINDOW_SIZE](state, data) {
  62 + state.window = Object.assign(state.window, data);
58 } 63 }
59 }, 64 },
60 actions: { 65 actions: {
1 export const SET_ENV = 'SET_ENV'; 1 export const SET_ENV = 'SET_ENV';
2 export const SET_TITLE = 'SET_TITLE'; 2 export const SET_TITLE = 'SET_TITLE';
3 export const ROUTE_CHANGE = 'ROUTE_CHANGE'; 3 export const ROUTE_CHANGE = 'ROUTE_CHANGE';
4 -export const PAGE_INIT_VISIBLE = 'PAGE_INIT_VISIBLE';  
5 -export const YOHO_PAGE_VISIBLE = 'YOHO_PAGE_VISIBLE';  
6 export const REPORT_YAS = 'REPORT_YAS'; 4 export const REPORT_YAS = 'REPORT_YAS';
7 -export const NEED_LOGIN = 'needLogin'; 5 +export const SET_NEED_LOGIN = 'SET_NEED_LOGIN';
  6 +export const SET_WINDOW_SIZE = 'SET_WINDOW_SIZE';