Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xiaomai-cloud-class-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiaomai-cloud-class
xiaomai-cloud-class-web
Commits
e935b932
Commit
e935b932
authored
Jun 28, 2021
by
maolipeng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:获取版本信息提升到app.tsx
parent
c61b1b68
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
150 additions
and
106 deletions
+150
-106
src/modules/college-manage/LimitTip.tsx
+8
-8
src/modules/home/Home.jsx
+2
-61
src/modules/home/Home.less
+0
-30
src/modules/home/HomeTip.less
+31
-0
src/modules/home/HomeTip.tsx
+65
-0
src/modules/root/App.tsx
+29
-5
src/modules/root/Menu.tsx
+0
-0
src/store/context.ts
+15
-2
No files found.
src/modules/college-manage/LimitTip.tsx
View file @
e935b932
import
React
,
{
useEffect
,
useState
}
from
"react"
;
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
React
,
{
useContext
,
useEffect
,
useState
}
from
"react"
;
import
{
Tooltip
}
from
"antd"
import
{
VersionContext
}
from
"@/store/context"
;
import
ContactWidget
from
"@/components/ContactWidget"
;
import
"./LimitTip.less"
...
...
@@ -8,14 +8,14 @@ export default function LimitTip(props:{total:number,type:string,tip:() => React
const
[
isOver
,
setIsOver
]
=
useState
(
false
)
const
[
limitUser
,
setLimitUser
]
=
useState
(
"0"
)
const
versionInfo
=
useContext
(
VersionContext
)
useEffect
(()
=>
{
BaseService
.
getLesseeVersionMsg
()
.
then
(
res
=>
{
setIsOver
(
res
.
result
.
userNum
===
-
1
?
false
:
res
.
result
.
whetherReachUserNum
)
setLimitUser
(
res
.
result
.
userNum
===
-
1
?
"不限人数"
:
res
.
result
.
userNum
)
})
},[])
if
(
versionInfo
)
{
setIsOver
(
versionInfo
.
userNum
===
-
1
?
false
:
versionInfo
.
whetherReachUserNum
)
setLimitUser
(
versionInfo
.
userNum
===
-
1
?
"不限人数"
:
String
(
versionInfo
.
userNum
))
}
},[
versionInfo
])
return
(
<
div
className=
"limit-tip"
>
...
...
src/modules/home/Home.jsx
View file @
e935b932
...
...
@@ -19,72 +19,13 @@ import {
}
from
"bizcharts"
;
import
moment
from
'moment'
import
Service
from
"@/common/js/service"
;
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
User
from
'@/common/js/user'
;
import
ContactWidget
from
'@/components/ContactWidget'
;
import
HomeTip
from
'./HomeTip'
;
import
'./Home.less'
;
const
Option
=
Select
.
Option
;
function
HomeTip
()
{
const
[
isOverNum
,
setIsOverNum
]
=
useState
(
false
)
const
[
tipType
,
setTipType
]
=
useState
(
0
)
//0不显示1即将过期2已过期
const
[
expirationTime
,
setExpirationTime
]
=
useState
(
""
)
const
[
surplusDay
,
setSurplusDay
]
=
useState
(
0
)
useEffect
(()
=>
{
BaseService
.
getLesseeVersionMsg
()
.
then
(
res
=>
{
setIsOverNum
(
res
.
result
.
userNum
===
-
1
?
false
:
res
.
result
.
whetherReachUserNum
)
setSurplusDay
(
res
.
result
.
surplusDayTime
)
setExpirationTime
(
moment
(
res
.
result
.
validEndTime
).
format
(
"YYYY-MM-DD"
))
if
(
res
.
result
.
stateEnum
===
"NO"
)
{
setTipType
(
2
)
}
else
if
(
res
.
result
.
surplusDayTime
===
30
||
res
.
result
.
surplusDayTime
<=
7
)
{
setTipType
(
1
)
}
})
},[])
return
(
<
div
className=
"home-tip"
>
{
(
isOverNum
||
tipType
!==
0
)
&&
<
div
className=
"tip"
>
<
Carousel
dotPosition=
"left"
dots=
{
false
}
autoplay=
{
true
}
autoplaySpeed=
{
5000
}
>
{
isOverNum
&&
(
<
div
className=
"content"
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FF4F4F"
,
marginRight
:
"8px"
}
}
>

</
span
>
温馨提示:企业使用人数已达上限,将无法新增员工、学员,如需增加人数限制,请联系小麦企学院服务平台。
<
ContactWidget
placement=
"bottom"
trigger=
"hover"
><
div
className=
"renew-btn"
>
立即续费
</
div
></
ContactWidget
>
</
div
>
)
}
{
tipType
===
2
&&
(
<
div
className=
"content"
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FF4F4F"
,
marginRight
:
"8px"
}
}
>

</
span
>
版本到期提醒:当前企业购买的小麦企学院服务已于
{
expirationTime
}
到期,到期后仍可访问,但功能不可使用,建议尽快续费购买哦~
<
ContactWidget
placement=
"bottom"
trigger=
"hover"
><
div
className=
"renew-btn"
>
立即续费
</
div
></
ContactWidget
>
</
div
>
)
}
{
tipType
===
1
&&
(
<
div
className=
"content"
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FF4F4F"
,
marginRight
:
"8px"
}
}
>

</
span
>
当前企业购买的小麦企学院服务仅剩
{
surplusDay
}
天(于
{
expirationTime
}
到期),为了不影响使用,建议尽快续费购买哦~
<
ContactWidget
placement=
"bottom"
trigger=
"hover"
><
div
className=
"renew-btn"
>
立即续费
</
div
></
ContactWidget
>
</
div
>
)
}
</
Carousel
>
</
div
>
}
</
div
>
)
}
class
Home
extends
React
.
Component
{
constructor
(
props
)
{
super
(
props
);
...
...
src/modules/home/Home.less
View file @
e935b932
...
...
@@ -29,36 +29,6 @@
src: url('https://image.xiaomaiketang.com/xm/n2sADd2jY6.TTF');
}
.home-tip {
.tip {
height: 40px;
background: #FFE7E7;
margin-bottom: 16px;
.content {
font-size: 14px;
color: #666666;
font-weight: 400;
line-height: 40px;
padding-left: 16px;
.renew-btn {
display: inline-block;
width: 80px;
height: 28px;
background: #FF4F4F;
border-radius: 2px;
color: #ffffff;
font-size: 14px;
font-weight: 400;
line-height: 28px;
text-align: center;
cursor: pointer;
margin-left: 8px;
}
}
}
}
.data-wrap{
background: #FFF;
.data-box {
...
...
src/modules/home/HomeTip.less
0 → 100644
View file @
e935b932
.home-tip {
.tip {
height: 40px;
background: #FFE7E7;
margin-bottom: 16px;
.content {
font-size: 14px;
color: #666666;
font-weight: 400;
line-height: 40px;
padding-left: 16px;
.renew-btn {
display: inline-block;
width: 80px;
height: 28px;
background: #FF4F4F;
border-radius: 2px;
color: #ffffff;
font-size: 14px;
font-weight: 400;
line-height: 28px;
text-align: center;
cursor: pointer;
margin-left: 8px;
}
}
}
}
\ No newline at end of file
src/modules/home/HomeTip.tsx
0 → 100644
View file @
e935b932
import
React
,
{
useContext
,
useEffect
,
useState
,
version
}
from
"react"
;
import
"./HomeTip.less"
import
{
VersionContext
}
from
"@/store/context"
;
import
ContactWidget
from
'@/components/ContactWidget'
;
import
{
Carousel
}
from
"antd"
;
export
default
function
HomeTip
()
{
const
[
isOverNum
,
setIsOverNum
]
=
useState
<
boolean
>
(
false
)
const
[
tipType
,
setTipType
]
=
useState
(
0
)
//0不显示1即将过期2已过期
const
[
expirationTime
,
setExpirationTime
]
=
useState
(
""
)
const
[
surplusDay
,
setSurplusDay
]
=
useState
(
0
)
const
versionInfo
=
useContext
(
VersionContext
)
useEffect
(()
=>
{
if
(
versionInfo
)
{
setIsOverNum
(
versionInfo
.
userNum
===
-
1
?
false
:
versionInfo
.
whetherReachUserNum
)
setSurplusDay
(
versionInfo
.
surplusDayTime
)
setExpirationTime
(
versionInfo
.
validEndTime
)
if
(
versionInfo
.
stateEnum
===
"NO"
)
{
setTipType
(
2
)
}
else
if
(
versionInfo
.
surplusDayTime
===
30
||
versionInfo
.
surplusDayTime
<=
7
)
{
setTipType
(
1
)
}
}
},[
versionInfo
])
return
(
<
div
className=
"home-tip"
>
{
(
isOverNum
||
tipType
!==
0
)
&&
<
div
className=
"tip"
>
<
Carousel
dotPosition=
"left"
dots=
{
false
}
autoplay=
{
true
}
autoplaySpeed=
{
5000
}
>
{
isOverNum
&&
(
<
div
className=
"content"
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FF4F4F"
,
marginRight
:
"8px"
}
}
>

</
span
>
温馨提示:企业使用人数已达上限,将无法新增员工、学员,如需增加人数限制,请联系小麦企学院服务平台。
<
ContactWidget
placement=
"bottom"
trigger=
"hover"
><
div
className=
"renew-btn"
>
立即续费
</
div
></
ContactWidget
>
</
div
>
)
}
{
tipType
===
2
&&
(
<
div
className=
"content"
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FF4F4F"
,
marginRight
:
"8px"
}
}
>

</
span
>
版本到期提醒:当前企业购买的小麦企学院服务已于
{
expirationTime
}
到期,到期后仍可访问,但功能不可使用,建议尽快续费购买哦~
<
ContactWidget
placement=
"bottom"
trigger=
"hover"
><
div
className=
"renew-btn"
>
立即续费
</
div
></
ContactWidget
>
</
div
>
)
}
{
tipType
===
1
&&
(
<
div
className=
"content"
>
<
span
className=
"icon iconfont"
style=
{
{
color
:
"#FF4F4F"
,
marginRight
:
"8px"
}
}
>

</
span
>
当前企业购买的小麦企学院服务仅剩
{
surplusDay
}
天(于
{
expirationTime
}
到期),为了不影响使用,建议尽快续费购买哦~
<
ContactWidget
placement=
"bottom"
trigger=
"hover"
><
div
className=
"renew-btn"
>
立即续费
</
div
></
ContactWidget
>
</
div
>
)
}
</
Carousel
>
</
div
>
}
</
div
>
)
}
\ No newline at end of file
src/modules/root/App.tsx
View file @
e935b932
...
...
@@ -14,7 +14,8 @@ import Main from './Main'
import
zhCN
from
'antd/es/locale/zh_CN'
import
User
from
'@/common/js/user'
;
import
BaseService
from
"@/domains/basic-domain/baseService"
;
import
{
XMContext
}
from
'@/store/context'
;
import
moment
from
'moment'
;
import
{
VersionContext
,
VersionInfo
,
XMContext
}
from
'@/store/context'
;
import
{
setStoreGroupPermission
,
setStorePermission
,
setStoreGroupList
,
setStoreList
}
from
'@/store/actions/index'
;
import
Service
from
"@/common/js/service"
;
import
Bus
from
'@/core/tbus'
;
...
...
@@ -27,6 +28,7 @@ declare var window: any;
const
App
:
React
.
FC
=
(
props
:
any
)
=>
{
const
[
storeUserId
,
setStoreUserId
]
=
useState
(
''
)
const
ctx
:
any
=
useContext
(
XMContext
);
const
[
versionInfo
,
setVersionInfo
]
=
useState
<
VersionInfo
|
null
>
(
null
)
const
userId
=
User
.
getUserId
();
const
[
menuType
,
setMenuType
]
=
useState
(
true
);
const
enterpriseId
=
User
.
getEnterpriseId
();
...
...
@@ -35,6 +37,7 @@ const App: React.FC = (props: any) => {
useEffect
(()
=>
{
getStoreAndUserInfo
();
getVersion
();
if
(
window
.
location
.
hash
===
"#/"
)
{
window
.
RCHistory
.
replace
({
pathname
:
'/home'
,
...
...
@@ -58,6 +61,24 @@ const App: React.FC = (props: any) => {
}
});
}
function
getVersion
()
{
BaseService
.
getLesseeVersionMsg
().
then
((
res
)
=>
{
let
version
=
res
.
result
;
User
.
setVersion
(
version
);
User
.
setExpirationTime
(
res
.
result
.
validEndTime
)
let
versioninfo
:
VersionInfo
=
{
dayTime
:
version
.
dayTime
,
stateEnum
:
version
.
stateEnum
,
userNum
:
version
.
userNum
===
-
1
?
'不限人数'
:
version
.
userNum
,
surplusUserNum
:
version
.
userNum
===
-
1
?
'不限人数'
:
version
.
surplusUserNum
,
surplusDayTime
:
version
.
surplusDayTime
,
validEndTime
:
moment
(
version
.
validEndTime
).
format
(
'YYYY-MM-DD'
),
validStartTime
:
moment
(
version
.
validStartTime
).
format
(
'YYYY-MM-DD'
),
whetherReachUserNum
:
version
.
whetherReachUserNum
,
};
setVersionInfo
(
versioninfo
)
});
}
async
function
getStoreAndUserInfo
()
{
await
(
enterpriseId
?
getStoreInfo
()
:
getStoreGroupAndStoreList
());
...
...
@@ -147,10 +168,13 @@ const App: React.FC = (props: any) => {
</Layout>
</Layout> */
}
<
Header
id=
"app"
handleMenuType=
{
handleMenuType
}
menuType=
{
menuType
}
/>
<
ConfigProvider
locale=
{
zhCN
}
autoInsertSpaceInButton=
{
false
}
>
<
Main
menuType=
{
menuType
}
/>
</
ConfigProvider
>
<
Menu
menuType=
{
menuType
}
handleMenuType=
{
handleMenuType
}
/>
<
VersionContext
.
Provider
value=
{
versionInfo
}
>
<
ConfigProvider
locale=
{
zhCN
}
autoInsertSpaceInButton=
{
false
}
>
<
Main
menuType=
{
menuType
}
/>
</
ConfigProvider
>
<
Menu
menuType=
{
menuType
}
handleMenuType=
{
handleMenuType
}
/>
</
VersionContext
.
Provider
>
</
div
>
)
}
...
...
src/modules/root/Menu.tsx
View file @
e935b932
This diff is collapsed.
Click to expand it.
src/store/context.ts
View file @
e935b932
...
...
@@ -7,4 +7,17 @@
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
import
React
from
'react'
;
export
const
XMContext
:
any
=
React
.
createContext
(
null
);
\ No newline at end of file
export
interface
VersionInfo
{
dayTime
:
number
;
//有效时长
stateEnum
:
string
;
//"NO"已过期,"YES"未过期
surplusDayTime
:
number
;
//剩余有效天数
surplusUserNum
:
number
;
//剩余限制人数
userNum
:
number
;
//限制人数
validEndTime
:
string
;
validStartTime
:
string
;
whetherReachUserNum
:
boolean
;
}
export
const
XMContext
:
any
=
React
.
createContext
(
null
);
export
const
VersionContext
=
React
.
createContext
<
VersionInfo
|
null
>
(
null
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment