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
9fc06fe3
You need to sign in or sign up before continuing.
Commit
9fc06fe3
authored
Aug 12, 2021
by
maolipeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/zhujian/0726/qwLiving' into 'master'
Feature/zhujian/0726/qw living See merge request
!90
parents
b0003835
1dd069c1
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
16 additions
and
130 deletions
+16
-130
src/domains/brand/constants.ts
+6
-2
src/modules/course-manage/components/CerateQWCourse.tsx
+0
-121
src/modules/course-manage/components/CreateWorkWXCourse.jsx
+2
-2
src/modules/course-manage/components/LiveCourseFilter.jsx
+2
-1
src/modules/course-manage/components/LiveCourseList.jsx
+3
-2
src/modules/course-manage/components/LiveModeSelect.tsx
+3
-2
No files found.
src/domains/brand/constants.ts
View file @
9fc06fe3
...
...
@@ -3,7 +3,7 @@ export const BRAND: any = process.env.BRAND;
const
BrandNameMap
:
any
=
{
xiaomai
:
'小麦企学院'
,
syoo
:
'云课堂'
syoo
:
'
商有
云课堂'
}
const
BrandIconMap
:
any
=
{
...
...
@@ -43,7 +43,10 @@ const XF_RWM_MAP: any = {
syoo
:
'https://image.xiaomaiketang.com/xm/Z2X2GTmKdj.png'
}
const
LiveNameMap
:
any
=
{
xiaomai
:
'小麦直播'
,
syoo
:
'商有直播'
}
export
const
brandName
:
string
=
BrandNameMap
[
BRAND
];
...
...
@@ -54,5 +57,6 @@ export const path: string = PATH_MAP[BRAND];
export
const
live
:
string
=
LIVE_SHARE_MAP
[
BRAND
];
export
const
corpType
:
string
=
CorpType_MAP
[
BRAND
];
export
const
xfrwm
:
string
=
XF_RWM_MAP
[
BRAND
]
export
const
brandLiveName
:
string
=
LiveNameMap
[
BRAND
]
window
.
brandName
=
BrandNameMap
[
BRAND
];
src/modules/course-manage/components/CerateQWCourse.tsx
deleted
100644 → 0
View file @
b0003835
import
React
,
{
useState
,
useRef
,
useEffect
,
useContext
}
from
'react'
import
{
Route
,
withRouter
}
from
'react-router-dom'
;
import
Breadcrumbs
from
"@/components/Breadcrumbs"
;
import
moment
from
'moment'
import
{
Form
,
Alert
,
Input
,
Button
,
InputNumber
,
DatePicker
,
Select
,
Radio
,
message
,
Modal
}
from
'antd'
;
import
Service
from
"@/common/js/service"
;
import
User
from
"@/common/js/user"
;
declare
var
wx
:
any
;
const
{
Option
}
=
Select
;
const
courseType
=
{
0
:
'通用直播'
,
1
:
'小班课'
,
2
:
'大班课'
,
3
:
'企业培训'
,
4
:
'活动直播'
}
function
CerateQWCourse
(
props
:
any
)
{
const
[
courseName
,
setCourseName
]
=
useState
(
''
);
const
[
liveDuration
,
setLiveDuration
]
=
useState
(
60
);
const
[
liveStart
,
setLiveStart
]
=
useState
(
0
);
const
[
type
,
setType
]
=
useState
(
'0'
);
function
handleSave
()
{
const
param
=
{
courseName
,
description
:
'直播的简介,最多支持300个字节直播的简介,最多支持300个字节直播的简介,最多支持300个字节直播的简介,最多支持300个字节直播的简介,最多支持300个字节直播的简介,最多支持300个字节'
,
liveDuration
:
liveDuration
*
60
*
100
,
liveStart
,
remindTime
:
1000
*
60
*
10
,
storeId
:
User
.
getStoreId
(),
storeUserId
:
User
.
getStoreUserId
(),
type
:
parseInt
(
type
)
}
Service
.
Hades
(
'anon/hades/wxWorkCreateLiveDemo'
,
param
).
then
((
res
)
=>
{
wx
.
invoke
(
'startLiving'
,
{
"livingId"
:
res
.
result
,
},
function
(
res
:
any
)
{
if
(
res
.
err_msg
==
"startLiving:ok"
)
{
// livingId = res.livingId;
}
});
})
}
return
<
div
className=
"page createQWCourse "
>
<
Breadcrumbs
navList=
{
props
.
type
===
'edit'
?
"编辑考试"
:
"新建直播课"
}
goBack=
{
props
.
history
.
goBack
}
/>
<
div
className=
"box"
>
<
div
className=
"form"
>
<
div
className=
"title"
>
直播信息
</
div
>
<
Form
labelCol=
{
{
span
:
3
}
}
wrapperCol=
{
{
span
:
14
}
}
layout=
"horizontal"
>
<
Form
.
Item
label=
"课程名称"
required
>
<
Input
value=
{
courseName
}
onChange=
{
(
e
)
=>
{
setCourseName
(
e
.
target
.
value
)
}
}
style=
{
{
width
:
200
}
}
></
Input
>
</
Form
.
Item
>
<
Form
.
Item
label=
"持续时长"
required
>
<
InputNumber
value=
{
liveDuration
}
max=
{
1440
}
min=
{
1
}
onChange=
{
(
value
:
any
)
=>
{
setLiveDuration
(
parseInt
(
value
)
as
any
)
}
}
style=
{
{
width
:
100
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
"开始时间"
required
>
<
DatePicker
format=
"YYYY/MM/DD HH:mm"
value=
{
liveStart
?
moment
(
Number
(
liveStart
))
:
null
}
style=
{
{
width
:
200
}
}
placeholder=
"开始时间"
showTime
onChange=
{
(
date
:
any
)
=>
{
setLiveStart
(
date
?
date
.
valueOf
()
:
0
)
}
}
/>
</
Form
.
Item
>
<
Form
.
Item
label=
"直播的类型"
required
>
<
Select
value=
{
type
}
placeholder=
"请选直播的类型"
style=
{
{
width
:
200
}
}
onChange=
{
(
val
)
=>
{
setType
(
val
)
}
}
>
{
Object
.
keys
(
courseType
).
map
((
key
:
any
)
=>
{
return
<
Option
value=
{
key
}
>
{
(
courseType
as
any
)[
key
]
}
</
Option
>
})
}
</
Select
>
</
Form
.
Item
>
</
Form
>
</
div
>
</
div
>
<
div
className=
"footer"
>
<
Button
onClick=
{
props
.
history
.
goBack
}
>
取消
</
Button
>
<
Button
type=
"primary"
onClick=
{
handleSave
}
>
保存
</
Button
>
</
div
>
</
div
>
}
export
default
withRouter
(
CerateQWCourse
);
\ No newline at end of file
src/modules/course-manage/components/CreateWorkWXCourse.jsx
View file @
9fc06fe3
...
...
@@ -214,7 +214,7 @@ function CreateWorkWXCourse() {
if
(
User
.
getExpirationTime
()
&&
moment
().
valueOf
()
>
Number
(
User
.
getExpirationTime
()))
{
Modal
.
warning
({
title
:
'服务已到期'
,
content
:
'当前企业购买的小麦企学院服务已到期,如需继续使用学院功能,请尽快续费购买'
,
content
:
`当前企业购买的
${
window
.
brandName
}
服务已到期,如需继续使用学院功能,请尽快续费购买`
,
okText
:
'我知道了'
,
});
return
;
...
...
@@ -441,7 +441,7 @@ function CreateWorkWXCourse() {
<
Breadcrumbs
navList=
{
type
===
'add'
?
'新建直播课'
:
'编辑直播课'
}
goBack=
{
handleGoBack
}
/>
<
div
className=
'box'
>
<
div
className=
'show-tips'
>
<
ShowTips
message=
'请遵守国家相关规定,切勿上传低俗色情、暴力恐怖、谣言诈骗、侵权盗版等相关内容,小麦企学院保有依据国家规定及平台规则进行处理的权利'
/>
<
ShowTips
message=
{
`请遵守国家相关规定,切勿上传低俗色情、暴力恐怖、谣言诈骗、侵权盗版等相关内容,${window.brandName}保有依据国家规定及平台规则进行处理的权利`
}
/>
</
div
>
<
div
className=
'add-live-page__form'
>
<
div
className=
'basic-info__wrap'
>
...
...
src/modules/course-manage/components/LiveCourseFilter.jsx
View file @
9fc06fe3
...
...
@@ -14,6 +14,7 @@ import moment from 'moment'
import
StoreService
from
'@/domains/store-domain/storeService'
import
User
from
'@/common/js/user'
import
'./LiveCourseFilter.less'
import
{
brandLiveName
}
from
'@/domains/brand/constants'
const
{
Search
}
=
Input
const
{
Option
}
=
Select
...
...
@@ -325,7 +326,7 @@ class LiveCourseFilter extends React.Component {
</
span
>
}
>
<
Option
value=
'WECHAT'
>
企微直播
</
Option
>
<
Option
value=
'TENCENT'
>
小麦直播
</
Option
>
<
Option
value=
'TENCENT'
>
{
brandLiveName
}
</
Option
>
</
Select
>
</
div
>
)
}
...
...
src/modules/course-manage/components/LiveCourseList.jsx
View file @
9fc06fe3
...
...
@@ -26,6 +26,7 @@ import RelatedPlanModal from '../modal/RelatedPlanModal';
import
ShareLiveModal
from
'../modal/ShareLiveModal'
;
import
Bus
from
'@/core/bus'
;
import
'./LiveCourseList.less'
;
import
{
brandLiveName
}
from
'@/domains/brand/constants'
;
const
{
confirm
}
=
Modal
const
courseStateShow
=
{
...
...
@@ -234,7 +235,7 @@ class LiveCourseList extends React.Component {
key
:
'couseCatalog'
,
dataIndex
:
'couseCatalog'
,
render
:
(
val
,
item
)
=>
{
return
<
div
>
{
item
.
thirdPartType
===
"WECHAT"
?
"企微直播"
:
"小麦直播"
}
</
div
>;
return
<
div
>
{
item
.
thirdPartType
===
"WECHAT"
?
"企微直播"
:
`${brandLiveName}`
}
</
div
>;
},
},
{
...
...
@@ -367,7 +368,7 @@ class LiveCourseList extends React.Component {
(
item
.
teacherId
===
User
.
getUserId
()
||
_
.
pluck
(
item
.
admins
,
'adminId'
).
includes
(
User
.
getUserId
()))
&&
(
<>
{
isMac
()
?
(
isMac
()
&&
item
.
thirdPartType
===
"WECHAT"
?
(
<
Tooltip
title=
"请使用windows电脑进入直播间"
placement=
"left"
>
<
div
style=
{
{
fontSize
:
"14px"
,
color
:
"#999999"
}
}
>
进入直播间
...
...
src/modules/course-manage/components/LiveModeSelect.tsx
View file @
9fc06fe3
import
React
,
{
useState
}
from
"react"
;
import
"./LiveModeSelect.less"
import
{
createPortal
}
from
"react-dom"
;
import
{
brandLiveName
}
from
"@/domains/brand/constants"
;
interface
LiveModeSelectProps
{
isShow
:
boolean
;
...
...
@@ -32,8 +33,8 @@ export default function LiveModeSelect(props: LiveModeSelectProps) {
<
div
className=
"content"
>
<
div
className=
"item xiaomai-logo"
>
<
div
className=
"logo"
></
div
>
<
div
className=
"item-title"
>
小麦直播
</
div
>
<
div
className=
"des"
>
通过
小麦企学院
“PC客户
<
br
/>
端”进行直播
</
div
>
<
div
className=
"item-title"
>
{
brandLiveName
}
</
div
>
<
div
className=
"des"
>
通过
{
window
.
brandName
}
“PC客户
<
br
/>
端”进行直播
</
div
>
<
div
className=
"button"
onClick=
{
handleSelect0
}
>
立即创建
</
div
>
</
div
>
<
div
className=
"item qiwei-logo"
>
...
...
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