|
@@ -1,7 +1,7 @@
|
|
|
import React, { Component, Suspense } from 'react';
|
|
|
import ReactDOM from 'react-dom';
|
|
|
import './App.css';
|
|
|
-import { Menu, Button,Result } from 'antd';
|
|
|
+import { Menu, Button, Result,notification,message } from 'antd';
|
|
|
import { $Axios } from './common/publish';
|
|
|
import { SettingOutlined, DollarCircleOutlined, } from '@ant-design/icons';
|
|
|
import * as Icons from "@ant-design/icons";
|
|
@@ -27,7 +27,7 @@ export default class App extends React.Component {
|
|
|
{ txt: '退款查询', icon: '', assembly: 'Refund-inquiry' }, //ok 2-2
|
|
|
{ txt: '发起提现', icon: '', assembly: 'Cash-initiated' }, //ok 2-3
|
|
|
{ txt: '提现记录', icon: '', assembly: 'Withdrawal-record' }, //ok 2-4
|
|
|
- { txt: '分账收益记录', icon: '', assembly: 'Income-record' }, //ok 2-5
|
|
|
+ { txt: '分账结算记录', icon: '', assembly: 'Income-record' }, //ok 2-5
|
|
|
// { txt : 'demo' , icon : '', assembly:'homePage'},
|
|
|
],
|
|
|
assembly: 'Layout',
|
|
@@ -35,86 +35,67 @@ export default class App extends React.Component {
|
|
|
assembly_cw: 'Account-overview',
|
|
|
user_txt: {},
|
|
|
signout: false,
|
|
|
- isSignout : 'no'
|
|
|
+ isSignout: 'no'
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ //初始化执行
|
|
|
componentDidMount() {
|
|
|
- let isSignout = localStorage.getItem('isSignout');
|
|
|
- let userData = cookie.load('userInformation')
|
|
|
- // console.log(userData)
|
|
|
+ let isSignout = localStorage.getItem('isSignout'); //获取退出时存储的数据,用于判断用户退出后是否刷新页面
|
|
|
+ let userData = cookie.load('userInformation');// 获取上游跳转时带给的信息
|
|
|
+ // userData = JSON.parse(unescape(userData));
|
|
|
+ let obj = { //默认信息
|
|
|
+ userName: '泱泱华夏',
|
|
|
+ mallId: '', //多商户所属商城id
|
|
|
+ merchantNo: 'com.smrongshengtianxia',//入网的appname、社群name、商户号等(香香或者嘉旺提供)
|
|
|
+ merchantType: 2,//入网来源,2:app或社群3:商户或店铺(香香或者嘉旺提供)
|
|
|
+ Jur: 1,//用户权限
|
|
|
+ pages: '1-0'
|
|
|
+ }
|
|
|
+ this.autoLogin(obj) //跳转查询用户信息,验证用户是否入网
|
|
|
// if(isSignout == 'yes' && userData == undefined){ //拦截是否为刷新页面
|
|
|
// this.setState({
|
|
|
// signout : true
|
|
|
// })
|
|
|
// }
|
|
|
- this.initJurisdiction();
|
|
|
- // console.log(userData)
|
|
|
+
|
|
|
}
|
|
|
initJurisdiction() {//初始化用户权限
|
|
|
- console.log('----------初始化用户权限---------');
|
|
|
- console.log(process.env.NODE_ENV == 'development' ? '----------开发测试环境----------' : '----------线上生产环境----------')
|
|
|
- // this.autoLogin() //登录查询用户信息
|
|
|
- let userData = cookie.load('userInformation');
|
|
|
- // let userData = '%7B%22userName%22%3A%22limx001%22%2C%22merchantNo%22%3A%22com.chuangyetong%22%2C%22mallId%22%3A%22com.chuangyetong%22%2C%22Jur%22%3A1%2C%22pages%22%3A%221-0%22%2C%22merchantType%22%3A2%7D'
|
|
|
- // let s1 = '%7B%22userName%22%3A%22%u4E2D%u641C%u670D%u52A1%u53F7%28%u5DF2%u8BA4%u8BC1%29%22%2C%22mallId%22%3A%221%22%2C%22merchantNo%22%3A1154%2C%22Jur%22%3A2%2C%22pages%22%3A%221-0%22%2C%22merchantType%22%3A3%7D'
|
|
|
- // console.log(JSON.parse(unescape(s)))
|
|
|
- // console.log(unescape(s))
|
|
|
- // console.log(unescape(s1))
|
|
|
- let obj = { //默认信息
|
|
|
- userName: '测试用户',
|
|
|
- mallId : '', //多商户所属商城id
|
|
|
- merchantNo : 'com.smrongshengtianxia',//入网的appname、社群name、商户号等(香香或者嘉旺提供)
|
|
|
- merchantType : 2 ,//入网来源,2:app或社群3:商户或店铺(香香或者嘉旺提供)
|
|
|
- Jur : 1,//用户权限
|
|
|
- pages : '2-0'
|
|
|
- }
|
|
|
- if (userData !== undefined) { //能获取用户信息 改变存储信息
|
|
|
- userData = JSON.parse(unescape(userData));
|
|
|
- obj = {
|
|
|
- userName: userData.userName, //用户名
|
|
|
- mallId : userData.mallId, //多商户所属商城id
|
|
|
- merchantNo : userData.merchantNo,//入网的appname、社群name、商户号等(香香或者嘉旺提供)
|
|
|
- merchantType :userData.merchantType,//入网来源,2:app或社群3:商户或店铺(香香或者嘉旺提供)
|
|
|
- Jur : userData.Jur, //用户权限 1为云悦平台权限最高权限 //2为商城权限二级权限 // 3为商户权限属于个人权限;
|
|
|
- pages : userData.pages //支持页面跳转
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- let page = obj.pages.split('-');
|
|
|
- if(page[0] == 1){
|
|
|
+ let e = JSON.parse(localStorage.getItem('userData'));
|
|
|
+ let page = e.pages.split('-'); //切割拿到的跳转菜单字符串,分割跳转
|
|
|
+ if (page[0] == 1) {
|
|
|
let arr = this.state.arr1;
|
|
|
this.setState({
|
|
|
- user_txt: obj,
|
|
|
- current : page[0],
|
|
|
- assembly : arr.find((item,index) => { return index == page[1]}).assembly
|
|
|
+ user_txt: e,
|
|
|
+ current: page[0],
|
|
|
+ assembly: arr.find((item, index) => { return index == page[1] }).assembly
|
|
|
})
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
let arr = this.state.arr2;
|
|
|
this.setState({
|
|
|
- user_txt: obj,
|
|
|
- current : page[0],
|
|
|
- assembly_cw : arr.find((item,index) => { return index == page[1]}).assembly
|
|
|
+ user_txt: e,
|
|
|
+ current: page[0],
|
|
|
+ assembly_cw: arr.find((item, index) => { return index == page[1] }).assembly
|
|
|
})
|
|
|
}
|
|
|
- localStorage.setItem('userData', JSON.stringify(obj))
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
- handleClick(e) {
|
|
|
+ handleClick(e) { //上方导航菜单点击
|
|
|
this.setState({
|
|
|
current: e.key,
|
|
|
});
|
|
|
this.initassembly()
|
|
|
}
|
|
|
|
|
|
- toggleCollapsed(e) {
|
|
|
+ toggleCollapsed(e) { //收缩左侧菜单
|
|
|
this.setState({
|
|
|
collapsed: !this.state.collapsed,
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- toggleNavs(e) {
|
|
|
+ toggleNavs(e) { //左侧菜单点击
|
|
|
let current = this.state.current;
|
|
|
if (current == 1) {
|
|
|
this.setState({
|
|
@@ -127,7 +108,8 @@ export default class App extends React.Component {
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- initassembly() {
|
|
|
+
|
|
|
+ initassembly() { //按需引入插件进行加载
|
|
|
let current = this.state.current;
|
|
|
let Assembly = null;
|
|
|
if (current == 1) {
|
|
@@ -135,25 +117,87 @@ export default class App extends React.Component {
|
|
|
} else {
|
|
|
Assembly = React.lazy(() => import(`./component/${this.state.assembly_cw}/${this.state.assembly_cw}.jsx`));
|
|
|
}
|
|
|
-
|
|
|
return <Suspense fallback="" key="dialog"><Assembly refModal={this.state.current} /></Suspense>
|
|
|
}
|
|
|
- initIcon(item) {
|
|
|
+
|
|
|
+ initIcon(item) { //用于遍历渲染左侧菜单ICON
|
|
|
let Icon = item.icon;
|
|
|
return React.createElement(Icons[Icon])
|
|
|
}
|
|
|
-
|
|
|
- // autoLogin = () => {
|
|
|
- // let url = '/payment/merchant.query.groovy'
|
|
|
- // let param = {
|
|
|
- // appName : '吕卓',
|
|
|
- // action : "queryInfo"
|
|
|
-
|
|
|
- // }
|
|
|
- // $Axios('post',url,param,(res) => {
|
|
|
- // // console.log(res)
|
|
|
- // })
|
|
|
- // }
|
|
|
+ /**
|
|
|
+ * 逻辑更改:如果商户已入网则不会跳转到入网页面并且隐藏入网菜单
|
|
|
+ * 逻辑更改:如果商户未入网无论指定跳转到任何页面全部跳转为入网页面
|
|
|
+ */
|
|
|
+ autoLogin = (e) => { //初始化进入页面请求查询用户是否入网以及其他信息
|
|
|
+ localStorage.removeItem('userData') //退出清除用户本地数据
|
|
|
+ let that_ = this;
|
|
|
+ let url = '/payment/merchant.query.groovy'
|
|
|
+ let param = {
|
|
|
+ action: "queryInfo",
|
|
|
+ // merchantNo: 'com.depushuyuan',
|
|
|
+ // merchantType: 2,
|
|
|
+ merchantNo: e.merchantNo,
|
|
|
+ merchantType: e.merchantType,
|
|
|
+ }
|
|
|
+ $Axios('get', url, param, (res) => {
|
|
|
+ let status = res.data.head.status;
|
|
|
+ if (status == 200) {
|
|
|
+
|
|
|
+ let data = res.data.body;
|
|
|
+ let type = data.status
|
|
|
+ if(type !== undefined){
|
|
|
+ // that_.setState({
|
|
|
+ // arr1 : [],
|
|
|
+ // arr2 : [],
|
|
|
+ // assembly : '',
|
|
|
+ // assembly_cw : ''
|
|
|
+ // })
|
|
|
+ notification.open({
|
|
|
+ message: '提示:',
|
|
|
+ style: {
|
|
|
+ color: 'red',
|
|
|
+ },
|
|
|
+ description:
|
|
|
+ '当前账户存在异常情况,请联系管理员!',
|
|
|
+ onClick: () => {},
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ let s = data.status;
|
|
|
+ if (s == undefined) { //商户已入网
|
|
|
+ that_.setState({
|
|
|
+ arr1: [{ txt: '商户入网列表', icon: 'SlidersOutlined', assembly: 'center-tab' }],
|
|
|
+ assembly : 'center-tab'
|
|
|
+ });
|
|
|
+ if (e.pages == '1-0') {
|
|
|
+ notification.open({
|
|
|
+ message: '提示:',
|
|
|
+ description:
|
|
|
+ '当前用户已入网,自动跳转为账户概览',
|
|
|
+ onClick: () => {},
|
|
|
+ });
|
|
|
+ e.pages = '2-0'
|
|
|
+ }
|
|
|
+ }else if (s == 1) { //未入网
|
|
|
+ notification.open({
|
|
|
+ message: '提示:',
|
|
|
+ description:
|
|
|
+ '当前用户未入网,请您入网后在进行其他操作',
|
|
|
+ onClick: () => {},
|
|
|
+ });
|
|
|
+ e.pages = '1-0'
|
|
|
+ that_.setState({
|
|
|
+ assembly : 'Layout'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ localStorage.setItem('userData', JSON.stringify(e)) //存储上游信息 到本地储存
|
|
|
+ that_.initJurisdiction(); //初始化用户权限以及各种信息
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ return e
|
|
|
+ }
|
|
|
|
|
|
signout() {
|
|
|
localStorage.setItem('isSignout', 'yes')
|
|
@@ -162,11 +206,11 @@ export default class App extends React.Component {
|
|
|
this.setState({
|
|
|
signout: true
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
render() {
|
|
|
- const { current, arr1, arr2, user_txt, signout,assembly,assembly_cw } = this.state;
|
|
|
+ const { current, arr1, arr2, user_txt, signout, assembly, assembly_cw } = this.state;
|
|
|
const { SubMenu } = Menu;
|
|
|
return (
|
|
|
<React.Fragment>
|
|
@@ -176,7 +220,7 @@ export default class App extends React.Component {
|
|
|
status="success"
|
|
|
title="您已退出登录!"
|
|
|
subTitle="You have logged out."
|
|
|
- // extra={}
|
|
|
+ // extra={}
|
|
|
/>
|
|
|
</div>
|
|
|
}
|
|
@@ -191,7 +235,7 @@ export default class App extends React.Component {
|
|
|
{React.createElement(this.state.collapsed ? MenuUnfoldOutlined : MenuFoldOutlined)}
|
|
|
</Button>
|
|
|
</div>
|
|
|
- <Menu onClick={this.handleClick.bind(this)} selectedKeys={[current]} mode="horizontal" className='header_navs'>
|
|
|
+ <Menu onClick={this.handleClick.bind(this)} selectedKeys={[current]} mode="horizontal" className='header_navs'>
|
|
|
<Menu.Item key={1} icon={<SettingOutlined />}>
|
|
|
高级设置
|
|
|
</Menu.Item>
|