| | |
| | | import axios from 'axios' |
| | | import qs from 'qs' |
| | | import {notification } from 'antd' |
| | | |
| | | // axios.defaults.baseURL = 'http://qingqiumarket.cn' |
| | | axios.defaults.crossDomain = true |
| | |
| | | |
| | | axios.interceptors.request.use((config) => { |
| | | config.method = 'post' |
| | | if (config.url.includes('LoginAndRedirect')) { |
| | | if (config.url.includes('LoginAndRedirect') || config.url.includes('getjsonresult')) { |
| | | config.data = qs.stringify(config.data) |
| | | } else { |
| | | config.headers.token = sessionStorage.getItem('TOKEN') || '' |
| | |
| | | return Promise.reject(error) |
| | | }) |
| | | |
| | | const setCurrentUrl = () => { |
| | | if (!!(window.history && window.history.pushState)) { |
| | | window.history.replaceState(null, null, window.location.href.split('#')[0] + '#/login') |
| | | window.location.reload() |
| | | } |
| | | } |
| | | |
| | | let GlobMap = new Map() |
| | | |
| | | axios.interceptors.response.use((response) => { |
| | | return Promise.resolve(response.data) |
| | | if (response.data.ErrCode === 'LoginError') { |
| | | setCurrentUrl() |
| | | // return Promise.resolve(response.data) |
| | | } else { |
| | | return Promise.resolve(response.data) |
| | | } |
| | | }, (error) => { |
| | | notification.error({ |
| | | className: 'notification-custom-error', |
| | | bottom: 0, |
| | | message: '状态码-' + error.response.status + ',请联系管理员', |
| | | placement: 'bottomRight', |
| | | duration: 15 |
| | | }) |
| | | return Promise.reject(error) |
| | | }) |
| | | |
| | | class Api { |
| | | constructor() { |
| | | let service = window.GLOB.service ? (/\/$/.test(window.GLOB.service) ? window.GLOB.service : window.GLOB.service + '/') : '' |
| | | if (process.env.NODE_ENV === 'production') { |
| | | axios.defaults.baseURL = document.location.origin |
| | | axios.defaults.baseURL = document.location.origin + '/' + service |
| | | } else { |
| | | // axios.defaults.baseURL = 'http://127.0.0.1:8888' |
| | | } |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 登出系统 |
| | | * @description 登录系统, 获取用户信息 |
| | | */ |
| | | logoutsystem () { |
| | | getusermsg (username, password) { |
| | | return axios({ |
| | | url: '/local/dostar', |
| | | url: 'webapi/getjsonresult', |
| | | data: { |
| | | func: 'logout', |
| | | userid: sessionStorage.getItem('UserID') |
| | | DBT: 'proc', |
| | | DBS: 'webapi_login', |
| | | DBP: JSON.stringify({ 'UserName': username, 'Password': password }) |
| | | } |
| | | }) |
| | | } |
| | |
| | | return axios({ |
| | | url: '/local/dostar', |
| | | data: { |
| | | func: 'ResetPassword', |
| | | func: 's_PwdUpt', |
| | | userid: sessionStorage.getItem('UserID'), |
| | | OriginPwd: originpwd, |
| | | NewPwd: newpwd |
| | |
| | | } |
| | | |
| | | /** |
| | | * @description 获取主菜单数据 |
| | | * @description 获取或修改系统配置,增加appkey |
| | | */ |
| | | getMainMenuData () { |
| | | getSystemConfig (param) { |
| | | param.userid = sessionStorage.getItem('UserID') |
| | | param.lang = localStorage.getItem('lang') || '' |
| | | param.SessionUid = sessionStorage.getItem('SessionUid') || '' |
| | | param.LoginUID = sessionStorage.getItem('LoginUID') || '' |
| | | param.appkey = window.GLOB.appkey || '' |
| | | if (window.GLOB.mainSystemApi) { |
| | | param.rduri = window.GLOB.mainSystemApi |
| | | } |
| | | |
| | | return axios({ |
| | | url: '/webapi/dostar', |
| | | data: { |
| | | func: 'sPC_Get_MainMenu', |
| | | userid: sessionStorage.getItem('UserID'), |
| | | lang: localStorage.getItem('lang') || '', |
| | | SessionUid: sessionStorage.getItem('SessionUid') || '', |
| | | LoginUID: sessionStorage.getItem('LoginUID') || '' |
| | | } |
| | | data: param |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description 获取子菜单数据 |
| | | * @param {String} menuId 主菜单Id |
| | | * @description 获取或修改本地配置,增加appkey |
| | | */ |
| | | getSubMenuData (menuId) { |
| | | getLocalConfig (param) { |
| | | param.userid = sessionStorage.getItem('UserID') |
| | | param.lang = localStorage.getItem('lang') || '' |
| | | param.SessionUid = sessionStorage.getItem('SessionUid') || '' |
| | | param.LoginUID = sessionStorage.getItem('LoginUID') || '' |
| | | param.appkey = window.GLOB.appkey || '' |
| | | |
| | | return axios({ |
| | | url: '/webapi/dostar', |
| | | data: { |
| | | func: 'sPC_Get_FunMenu', |
| | | userid: sessionStorage.getItem('UserID'), |
| | | lang: localStorage.getItem('lang') || '', |
| | | SessionUid: sessionStorage.getItem('SessionUid') || '', |
| | | LoginUID: sessionStorage.getItem('LoginUID') || '', |
| | | ParentID: menuId |
| | | } |
| | | data: param |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description 获取系统配置,优先从缓存中取值,增加appkey |
| | | */ |
| | | getSystemCacheConfig (param) { |
| | | param.userid = sessionStorage.getItem('UserID') |
| | | param.lang = localStorage.getItem('lang') || '' |
| | | param.SessionUid = sessionStorage.getItem('SessionUid') || '' |
| | | param.LoginUID = sessionStorage.getItem('LoginUID') || '' |
| | | param.appkey = window.GLOB.appkey || '' |
| | | if (window.GLOB.mainSystemApi) { |
| | | param.rduri = window.GLOB.mainSystemApi |
| | | } |
| | | |
| | | let _param = JSON.parse(JSON.stringify(param)) // 缓存校验,去除时间和加密字符 |
| | | delete _param.timestamp |
| | | delete _param.secretkey |
| | | _param = JSON.stringify(_param) |
| | | |
| | | if (GlobMap.has(_param)) { |
| | | return Promise.resolve(GlobMap.get(_param)) |
| | | } else { |
| | | return new Promise(resolve => { |
| | | axios({ |
| | | url: '/webapi/dostar', |
| | | data: param |
| | | }).then(res => { |
| | | |
| | | GlobMap.set(_param, res) |
| | | resolve(res) |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 获取业务通用接口 |
| | | */ |
| | | genericInterface (param) { |
| | | param.userid = sessionStorage.getItem('UserID') |
| | | param.lang = localStorage.getItem('lang') || '' |
| | | param.SessionUid = sessionStorage.getItem('SessionUid') || '' |
| | | param.LoginUID = sessionStorage.getItem('LoginUID') || '' |
| | | // param.appkey = window.GLOB.appkey || '' |
| | | |
| | | return axios({ |
| | | url: '/webapi/dostar', |
| | | data: param |
| | | }) |
| | | } |
| | | |
| | |
| | | data: param |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description 通用接口(提交) |
| | | * @param {Object} param 查询及提交参数 |
| | | */ |
| | | submitInterface (param) { |
| | | param.userid = sessionStorage.getItem('UserID') |
| | | param.lang = localStorage.getItem('lang') || '' |
| | | param.SessionUid = sessionStorage.getItem('SessionUid') || '' |
| | | param.LoginUID = sessionStorage.getItem('LoginUID') || '' |
| | | return axios({ |
| | | url: '/webapi/dostar', |
| | | data: param |
| | | }) |
| | | } |
| | | |
| | | // /** |
| | | // * @description 登出系统 |
| | | // */ |
| | | // logoutsystem () { |
| | | // return axios({ |
| | | // url: '/local/dostar', |
| | | // data: { |
| | | // func: 'logout', |
| | | // userid: sessionStorage.getItem('UserID') |
| | | // } |
| | | // }) |
| | | // } |
| | | } |
| | | |
| | | export default new Api() |