123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 |
- import { routerRedux } from 'dva/router';
- import { sldCommonService } from '@/utils/utils';
- import { reloadAuthorized } from '@/utils/Authorized';
- import { getPageQuery, failTip,sldComLanguage } from '@/utils/utils';
- export default {
- namespace: 'common',
- state: {
- notice: [],
- },
- effects: {
- //slodon_获取图形验证码
- * get_captcha({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/captcha/common/getCaptcha');
- if (callback) callback(response);
- },
- //slodon_获取短信验证码
- * get_sms_code({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'post', 'v3/msg/seller/commons/smsCode');
- if (callback) callback(response);
- },
- //slodon_获取店铺运费模板列表
- * get_transport_lists({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/goods/seller/goodsFreightTemplate/list');
- if (callback) callback(response);
- },
- //slodon_获取系统设置信息
- * getSetting({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, {...payload, isAll: true }, 'get', 'v3/system/seller/setting/getSettingList');
- if (callback) callback(response);
- },
- //slodon_批量保存设置信息
- * saveSetting({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'post', 'v3/system/seller/setting/updateSettingList');
- if (callback) callback(response);
- },
- //slodon_获取商品销售排行TOP10
- * get_goods_sales_rank({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/statistics/seller/trade/analysis/goodsSalesRank');
- if (callback) callback(response);
- },
- //slodon_获取支付/下单金额趋势数据
- * get_pay_order_trend({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/statistics/seller/overview/analysis/payOrderTrend');
- if (callback) callback(response);
- },
- //slodon_获取询盘趋势数据
- * get_enquiry_trend({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/statistics/seller/overview/analysis/enquiryTrend');
- if (callback) callback(response);
- },
- //slodon_获取流量趋势数据
- * get_flow_trend({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/statistics/seller/overview/analysis/flowTrend');
- if (callback) callback(response);
- },
- //slodon_获取会员偏好商品排行-TOP10数据
- * get_goods_prefer_rank({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/statistics/seller/member/analysis/preferGoodsRank');
- if (callback) callback(response);
- },
- //slodon_获取商品销售变化趋势-TOP10数据
- * get_goods_sales_trend_top({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/statistics/seller/goods/analysis/goodsSalesRank');
- if (callback) callback(response);
- },
- //slodon_获取所有秒杀活动列表
- * get_all_seckill_list({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', 'v3/promotion/seller/seckill/list');
- callback && callback(response);
- },
- //单点登录
- * sso_seller({ payload, callback }, { call, put }) {
- const response = yield call(sldCommonService, payload, 'post', 'v3/open/api/sso/login/seller');
- // Login successfully
- if (response.state == 267) {
- let cur_top_nav = ['apply'];//顶部菜单
- let cur_top_nav_info = [{
- top_nav: 'apply',
- name: `${sldComLanguage('商户入驻')}`,
- left_icon: require('../assets/nav/store.png'),
- path: '/apply/settled_protocol',
- }];//顶部菜单详细信息
- if (response.data.resourceList.length > 0) {
- localStorage.setItem('sld_menu_data', JSON.stringify(response.data.resourceList));
- let sld_all_routes = [];//所有页面的路由
- response.data.resourceList.map(item => {
- item.children.map(child => {
- sld_all_routes.push(child.frontPath);
- });
- });
- localStorage.setItem('sld_all_routes', JSON.stringify(sld_all_routes));
- }
- localStorage.setItem('cur_top_nav', JSON.stringify(cur_top_nav));
- localStorage.setItem('cur_top_nav_info', JSON.stringify(cur_top_nav_info));
- }
- if (callback) callback(response);
- let cur_top_nav = [];//顶部菜单
- let cur_top_nav_info = [];//顶部菜单详细信息
- if (response.state === 200) {
- localStorage.setItem('storeId', response.data.storeId);
- localStorage.setItem('vendorId', response.data.vendorId);
- localStorage.setItem('isStoreAdmin', response.data.isStoreAdmin);
- if (response.data.resourceList.length > 0) {
- localStorage.setItem('sld_menu_data', JSON.stringify(response.data.resourceList));
- let sld_all_routes = [];//所有页面的路由
- response.data.resourceList.map(item => {
- item.children.map(child => {
- sld_all_routes.push(child.frontPath);
- });
- });
- localStorage.setItem('sld_all_routes', JSON.stringify(sld_all_routes));
- let tmp_data = response.data.resourceList;
- for (let i in tmp_data) {
- let split_first = tmp_data[i].frontPath.split('/');
- let target = split_first[1];
- if (cur_top_nav.indexOf(target) == -1) {
- let target_data = {};
- target_data.top_nav = target;
- target_data.path = tmp_data[i].children[0].frontPath;
- if (target == 'basic') {
- target_data.name = '概况';
- target_data.left_icon = require('../assets/nav/basic.png');
- } else if (target == 'goods') {
- target_data.name = '商品';
- target_data.left_icon = require('../assets/nav/goods.png');
- } else if (target == 'order') {
- target_data.name = '询盘';
- target_data.left_icon = require('../assets/nav/order.png');
- } else if (target == 'store') {
- target_data.name = '店铺';
- target_data.left_icon = require('../assets/nav/store.png');
- }
- // else if (target == 'bill') {
- // target_data.name = '结算';
- // target_data.left_icon = require('../assets/nav/bill.png');
- // } else if (target == 'point') {
- // target_data.name = '积分商城';
- // target_data.left_icon = require('../assets/nav/point.png');
- // } else if (target == 'im') {
- // target_data.name = '客服';
- // target_data.left_icon = require('../assets/nav/point.png');
- // } else if (target == 'spreader') {
- // target_data.name = '推手';
- // target_data.left_icon = require('../assets/nav/spreader.png');
- // }
- else if (target == 'statistics') {
- target_data.name = '统计';
- target_data.left_icon = require('../assets/nav/statistics.png');
- }
- // else if (target == 'marketing') {
- // target_data.name = '应用';
- // target_data.left_icon = require('../assets/nav/marketing.png');
- // }
- cur_top_nav.push(target);
- cur_top_nav_info.push(target_data);
- }
- }
- localStorage.setItem('cur_top_nav', JSON.stringify(cur_top_nav));
- localStorage.setItem('cur_top_nav_info', JSON.stringify(cur_top_nav_info));
- } else {
- failTip(`${sldComLanguage('抱歉,该账号未授予权限,请先授予权限~')}`);
- return false;
- }
- if (callback) callback(response);
- reloadAuthorized();
- const urlParams = new URL(window.location.href);
- const params = getPageQuery();
- let { redirect } = params;
- let all_routes = JSON.parse(localStorage.sld_all_routes);
- //如果只有客服得权限,则直接跳转到客服页面
- if (cur_top_nav_info.length == 1 && cur_top_nav_info[0].top_nav == 'im') {
- window.location.href = apiUrl + 'im/';
- return false;
- }
- if (redirect) {
- //如果上次路由是入驻的话,需要进入已有路由的第一个页面
- if (redirect.indexOf('/apply') > -1) {
- window.location.href = JSON.parse(localStorage.sld_all_routes)[0];
- return false;
- }
- const redirectUrlParams = new URL(redirect);
- if (redirectUrlParams.origin === urlParams.origin) {
- redirect = redirect.substr(urlParams.origin.length);
- if (redirect.match(/^\/.*#/)) {
- redirect = redirect.substr(redirect.indexOf('#') + 1);
- }
- } else {
- window.location.href = redirect;
- return;
- }
- } else {
- yield put(routerRedux.replace(all_routes[0]));
- return;
- }
- //如果redirect在用户拥有的路由内,则跳转,否则跳转第一个页面
- let contain_redirect_flag = false;
- for (let i = 0; i < all_routes.length; i++) {
- if (redirect.indexOf(all_routes[i]) > -1) {
- contain_redirect_flag = true;
- break;
- }
- }
- if (!contain_redirect_flag) {
- redirect = all_routes[0];
- }
- yield put(routerRedux.replace(redirect));
- }
- },
- //slodon_帮助文档列表
- * get_help_article_list({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', `v3/cms/doc/seller/list`);
- if (callback) callback(response);
- },
- //slodon_帮助文档详情
- * get_help_article_detail({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', `v3/cms/doc/detail`);
- if (callback) callback(response);
- },
- //slodon_协议详情
- * get_agree_detail({ payload, callback }, { call }) {
- const response = yield call(sldCommonService, payload, 'get', `v3/system/front/agreement/detail`);
- if (callback) callback(response);
- },
- },
- reducers: {
- saveNotice(state, action) {
- return {
- ...state,
- notice: action.payload,
- };
- },
- },
- };
|