Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
app-manage-console
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
ReactNative
app-manage-console
Commits
3f4bd2a7
提交
3f4bd2a7
authored
7月 28, 2017
作者:
vipcxj
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 刷新浏览器会丢失路由信息
上级
014eddf5
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
51 行增加
和
18 行删除
+51
-18
yaohx_169.xml
.idea/dictionaries/yaohx_169.xml
+1
-0
modules.js
src/data/modules.js
+11
-1
index.js
src/models/main/index.js
+6
-4
router.js
src/router.js
+30
-10
index.js
src/routes/main/index.js
+3
-3
没有找到文件。
.idea/dictionaries/yaohx_169.xml
浏览文件 @
3f4bd2a7
...
...
@@ -5,6 +5,7 @@
<w>
arcfour
</w>
<w>
dropdown
</w>
<w>
infos
</w>
<w>
inited
</w>
<w>
lodash
</w>
<w>
parsedkey
</w>
<w>
publics
</w>
...
...
src/data/modules.js
浏览文件 @
3f4bd2a7
const
data
=
{
init
:
false
,
modules
:
[],
};
export
default
data
;
export
const
setModule
=
(
modules
)
=>
{
export
const
setModules
=
(
modules
)
=>
{
data
.
init
=
true
;
data
.
modules
=
modules
;
};
export
const
getModules
=
()
=>
{
return
data
.
modules
;
};
export
const
isInited
=
()
=>
{
return
data
.
init
;
};
// noinspection EqualityComparisonWithCoercionJS
export
const
getModule
=
id
=>
data
.
modules
.
filter
(
m
=>
m
.
id
==
id
).
pop
();
// eslint-disable-line eqeqeq, max-len
...
...
src/models/main/index.js
浏览文件 @
3f4bd2a7
...
...
@@ -2,7 +2,7 @@ import { routerRedux } from 'dva/router';
import
{
logout
,
fetchModuleInfos
}
from
'../../services/main'
;
import
{
fetchDomains
,
switchDomain
,
currentDomain
}
from
'../../services/domain'
;
import
{
cookie
,
storage
}
from
'../../utils/config'
;
import
{
setModule
,
getModule
,
getPath
,
foreachModule
}
from
'../../data/modules'
;
import
{
setModule
s
,
getModules
,
getModule
,
getPath
,
foreachModule
,
isInited
}
from
'../../data/modules'
;
import
{
setCookie
,
delCookie
,
getLocalStorge
,
setLocalStorge
,
delLocalStorge
,
fullPath
}
from
'../../utils/helper'
;
const
createMenus
=
()
=>
{
...
...
@@ -101,9 +101,11 @@ export default {
yield
put
({
type
:
'queryUserSuccess'
,
payload
:
user
});
},
*
fetchModules
(
action
,
{
put
,
call
})
{
const
modules
=
yield
call
(
fetchModuleInfos
);
setModule
(
modules
);
yield
put
({
type
:
'queryMenusSuccess'
,
payload
:
createMenus
(
modules
)
});
if
(
!
isInited
())
{
const
modules
=
yield
call
(
fetchModuleInfos
);
setModules
(
modules
);
}
yield
put
({
type
:
'queryMenusSuccess'
,
payload
:
createMenus
(
getModules
())
});
},
*
logout
(
action
,
{
put
,
call
})
{
yield
call
(
logout
);
...
...
src/router.js
浏览文件 @
3f4bd2a7
...
...
@@ -4,8 +4,9 @@ import { Router } from 'dva/router';
import
config
from
'./utils/config'
;
import
{
isAuthed
,
hasDomain
}
from
'./utils/auth'
;
import
{
fullPath
,
makePromise0
}
from
'./utils/helper'
;
import
{
fetchModuleInfos
}
from
'./services/main'
;
import
App
from
'./routes/app'
;
import
{
foreachModule
,
getChildren
}
from
'./data/modules'
;
import
{
isInited
,
setModules
,
foreachModule
,
getChildren
}
from
'./data/modules'
;
import
Monk
from
'./routes/main/monk'
;
const
{
contextPath
}
=
config
;
...
...
@@ -70,6 +71,19 @@ const createRoute = async (app, module) => {
return
route
;
};
const
fetchModules
=
async
()
=>
{
if
(
!
isInited
())
{
setModules
(
await
fetchModuleInfos
());
}
const
modules
=
[];
foreachModule
((
module
)
=>
{
if
(
!
module
.
parent
)
{
modules
.
push
(
module
);
}
});
return
modules
;
};
const
createModuleRoutes
=
async
(
app
,
modules
)
=>
{
const
routes
=
[];
for
(
const
module
of
modules
)
{
...
...
@@ -122,15 +136,21 @@ function RouterConfig({ history, app }) {
},
'main'
);
},
getChildRoutes
:
(
nextState
,
cb
)
=>
{
const
lvl0
=
[];
foreachModule
((
module
)
=>
{
if
(
!
module
.
parent
)
{
lvl0
.
push
(
module
);
}
});
createModuleRoutes
(
app
,
lvl0
)
.
then
((
result
)
=>
{
cb
(
null
,
result
);
fetchModules
()
.
then
(()
=>
{
const
lvl0
=
[];
foreachModule
((
module
)
=>
{
if
(
!
module
.
parent
)
{
lvl0
.
push
(
module
);
}
});
createModuleRoutes
(
app
,
lvl0
)
.
then
((
result
)
=>
{
cb
(
null
,
result
);
})
.
catch
((
err
)
=>
{
cb
(
err
,
null
);
});
})
.
catch
((
err
)
=>
{
cb
(
err
,
null
);
...
...
src/routes/main/index.js
浏览文件 @
3f4bd2a7
...
...
@@ -36,8 +36,8 @@ class Main extends React.Component {
});
}
render
()
{
const
children
=
this
.
props
.
children
;
const
{
menus
}
=
this
.
props
.
main
;
const
{
main
,
children
}
=
this
.
props
;
const
{
menus
}
=
main
;
const
mode
=
this
.
state
.
mode
;
const
menuProps
=
{
mode
,
...
...
@@ -74,7 +74,7 @@ class Main extends React.Component {
}
Main
.
propTypes
=
{
children
:
PropTypes
.
element
.
isRequired
,
children
:
PropTypes
.
element
,
main
:
PropTypes
.
object
.
isRequired
,
};
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论