From b7ed6f0128c901bfe1a1fe5031aea3e8dea90393 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Wed, 25 Mar 2020 15:22:22 +0800
Subject: [PATCH 01/13] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8F=91=E5=B8=83?=
 =?UTF-8?q?=E6=97=B6=E9=97=B4=E3=80=81=E8=AF=BE=E5=A0=82=E7=A7=BB=E5=8A=A8?=
 =?UTF-8?q?=E8=87=B3=E3=80=81=E6=99=AE=E9=80=9A=E3=80=81=E5=88=86=E7=BB=84?=
 =?UTF-8?q?=E6=90=9C=E7=B4=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/modules/courses/Resource/index.js      |  2 +-
 .../react/src/modules/courses/boards/index.js  |  2 +-
 .../modules/courses/busyWork/CommonWorkList.js | 18 ++++++++++--------
 .../src/modules/courses/busyWork/commonWork.js |  2 +-
 .../courses/coursesPublic/OneSelfOrderModal.js | 15 +++++++++++++--
 .../modules/courses/members/studentsList.js    |  2 +-
 .../courses/shixunHomework/shixunHomework.js   |  2 +-
 7 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/public/react/src/modules/courses/Resource/index.js b/public/react/src/modules/courses/Resource/index.js
index 4f12bce66..c96ba7abd 100644
--- a/public/react/src/modules/courses/Resource/index.js
+++ b/public/react/src/modules/courses/Resource/index.js
@@ -1011,7 +1011,7 @@ class Fileslists extends Component{
                     :"":""}
 
                   {this.props.isAdmin()?<li className="li_line drop_down">
-                    移动到...<i className="iconfont icon-xiajiantou font-12 ml2"></i>
+                    移动到目录<i className="iconfont icon-xiajiantou font-12 ml2"></i>
 
                     <style>
                       { `
diff --git a/public/react/src/modules/courses/boards/index.js b/public/react/src/modules/courses/boards/index.js
index 421faf93b..d30cf6223 100644
--- a/public/react/src/modules/courses/boards/index.js
+++ b/public/react/src/modules/courses/boards/index.js
@@ -387,7 +387,7 @@ class Boards extends Component{
                 { coursedata && !!coursedata.course_public && <li className="li_line"><a href="javascript:void(0)" className="color-grey-9" onClick={this.onSetToOpen}>设为公开</a></li> }
 
                 <li className="li_line drop_down">
-                  移动到...<i className="iconfont icon-xiajiantou font-12 ml2"></i>
+                  移动到目录<i className="iconfont icon-xiajiantou font-12 ml2"></i>
                   <ul className="drop_down_menu"
                       style={{"right":"0px","left":"unset", maxHeight: '318px', overflowY: 'auto',  minWidth: '200px'}}>
                     { boards && boards.length > 10 && <p className="drop_down_search">
diff --git a/public/react/src/modules/courses/busyWork/CommonWorkList.js b/public/react/src/modules/courses/busyWork/CommonWorkList.js
index e45d016bb..1b3812724 100644
--- a/public/react/src/modules/courses/busyWork/CommonWorkList.js
+++ b/public/react/src/modules/courses/busyWork/CommonWorkList.js
@@ -442,16 +442,17 @@ class CommonWorkList extends Component{
     if (val === ""||val===undefined) {
       this.setState({
         search: undefined,
-        searchtypes:false
+        searchtypes:false,
+        page:1
       })
     }else{
       this.setState({
         searchtypes:true,
-        loadingstate:true
+        loadingstate:true,
+        page:1
       })
     }
-
-    this.fetchList()
+    this.fetchList(1)
   }
   onSearchValueInput = (e) => {
     if (e.target.value === ""||e.target.value===undefined) {
@@ -482,8 +483,9 @@ class CommonWorkList extends Component{
     this.fetchList()
   }
 
-	_getRequestParams() {
-		const {search, arg_work_status, arg_teacher_comment, arg_course_group, order, page, arg_member_work, b_order} = this.state
+	_getRequestParams(pages) {
+		let {search, arg_work_status, arg_teacher_comment, arg_course_group, order, page, arg_member_work, b_order} = this.state
+    page=pages?pages:page
     return {
       page,
       search,
@@ -500,7 +502,7 @@ class CommonWorkList extends Component{
   fetchData = () => {
     this.fetchList()
   }
-  fetchList = () => {
+  fetchList = (page) => {
 			if(this.state.comwbool===true){
 				console.log('arg_course_group2');
 				console.log(this.state.arg_course_group);
@@ -515,7 +517,7 @@ class CommonWorkList extends Component{
     let courseId=this.props.match.params.coursesId;
 
     const url = `/homework_commons/${workId}/works_list.json`
-    let params = this._getRequestParams()
+    let params = this._getRequestParams(page)
     axios.post(url, params).then((response)=> {
       if (response.data) {
         this.setState({
diff --git a/public/react/src/modules/courses/busyWork/commonWork.js b/public/react/src/modules/courses/busyWork/commonWork.js
index aa3ab2310..b76d76b95 100644
--- a/public/react/src/modules/courses/busyWork/commonWork.js
+++ b/public/react/src/modules/courses/busyWork/commonWork.js
@@ -582,7 +582,7 @@ class commonWork extends Component{
                   onClick={this.addToBank}
                 >加入题库</a></li>:""}
                 <li className="li_line drop_down">
-                  移动到...<i className="iconfont icon-xiajiantou font-12 ml2"></i>
+                  移动到目录<i className="iconfont icon-xiajiantou font-12 ml2"></i>
                   <ul className="drop_down_menu"
                       style={{"right":"0px","left":"unset", maxHeight: '318px', overflowY: 'auto',  minWidth: '200px'}}>
                     { course_module && course_module.length > 10 && <p className="drop_down_search">
diff --git a/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js b/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
index c51b9a813..56eaab65a 100644
--- a/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
+++ b/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
@@ -49,6 +49,7 @@ class OneSelfOrderModal extends Component{
 						let arr = this.props.course_groups.map(item => item.id);
 						let newarr = [];
 						let course_groups = this.props.course_groups;
+
 						course_groups.map((item, key) => {
 							if (item.end_time === null) {
 								// if(this.props.starttimesend===undefined){
@@ -56,7 +57,12 @@ class OneSelfOrderModal extends Component{
 								// }else{
 								// 	item.end_time = moment(handleDateString(this.props.starttimesend)).format("YYYY-MM-DD HH:mm");
 								// }
-								item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
+								if(this.props.starttimesend){
+									item.end_time = moment(moment(handleDateString(this.props.starttimesend))).format("YYYY-MM-DD HH:mm");
+								}else{
+									item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
+								}
+
 								newarr.push(item)
 							} else {
 								newarr.push(item)
@@ -101,7 +107,12 @@ class OneSelfOrderModal extends Component{
 						let course_groups=this.props.course_groups;
 						course_groups.map((item,key)=>{
 							if(item.end_time===null){
-								item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
+								// item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
+								if(this.props.starttimesend){
+									item.end_time = moment(moment(handleDateString(this.props.starttimesend))).format("YYYY-MM-DD HH:mm");
+								}else{
+									item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
+								}
 								newarr.push(item)
 							}else{
 								newarr.push(item)
diff --git a/public/react/src/modules/courses/members/studentsList.js b/public/react/src/modules/courses/members/studentsList.js
index 76c113891..6c1877926 100644
--- a/public/react/src/modules/courses/members/studentsList.js
+++ b/public/react/src/modules/courses/members/studentsList.js
@@ -860,7 +860,7 @@ class studentsList extends Component{
               <div className="studentList_operation_ul">
                 {/* {isAdmin && <li className="li_line"><a href="javascript:void(0)" className="color-grey-9" onClick={this.onDelete}>删除</a></li>} */}
                 {isAdmin && !isStudentPage && <li className="drop_down">
-                  移动到...<i className="iconfont icon-xiajiantou font-12 ml2"></i>
+                  移动到目录<i className="iconfont icon-xiajiantou font-12 ml2"></i>
                   <ul className="drop_down_menu" style={{"right":"0px","left":"unset", width: '200px', maxHeight: '324px', overflowY: 'auto'}}>
                     {
                       course_groups && course_groups.length > 9 ?
diff --git a/public/react/src/modules/courses/shixunHomework/shixunHomework.js b/public/react/src/modules/courses/shixunHomework/shixunHomework.js
index f9d059669..f58cdfee8 100644
--- a/public/react/src/modules/courses/shixunHomework/shixunHomework.js
+++ b/public/react/src/modules/courses/shixunHomework/shixunHomework.js
@@ -1256,7 +1256,7 @@ class ShixunHomework extends Component{
                 </li>
                 <li className="li_line drop_down"  onMouseEnter={this.updadatalist}>
                   {/*onClick={()=>this.selectBlank(4)}*/}
-                  移动到...<i className="iconfont icon-xiajiantou font-12 ml2"></i>
+                  移动到目录<i className="iconfont icon-xiajiantou font-12 ml2"></i>
                 <ul className="drop_down_menu"  style={{"right":"0px","left":"unset", maxHeight: '318px', overflowY: 'auto',  minWidth: '200px'}}>
                   { course_modules&&course_modules.homework_category.length > 10 && <p className="drop_down_search">
                     <Input placeholder="搜索" value={this.state.dirSearchValue} onChange={(e) => {this.setState({dirSearchValue: e.target.value})}}/>

From 95f2eb26ee8e40b359d475c2fa6b4820e2c15318 Mon Sep 17 00:00:00 2001
From: daiao <358551898@qq.com>
Date: Wed, 25 Mar 2020 15:44:17 +0800
Subject: [PATCH 02/13] =?UTF-8?q?play=5Furl=E4=B8=8Efile=5Furl=E5=8A=A0?=
 =?UTF-8?q?=E5=AF=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/helpers/application_helper.rb           | 5 +++++
 app/views/users/videos/_video.json.jbuilder | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 88ed373d9..4fac8cc72 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -27,6 +27,11 @@ module ApplicationHelper
     sanitize content, tags: tags, attributes: attributes
   end
 
+  # MD5加密
+  def md5_encode(content)
+    Digest::MD5.hexdigest(content)
+  end
+
   def graduation_navigation graduation
     graduation.class.to_s == "GraduationTopic" ? "毕设选题" : "毕设任务"
   end
diff --git a/app/views/users/videos/_video.json.jbuilder b/app/views/users/videos/_video.json.jbuilder
index 5b0bc7a6e..eb5fafec5 100644
--- a/app/views/users/videos/_video.json.jbuilder
+++ b/app/views/users/videos/_video.json.jbuilder
@@ -1,4 +1,6 @@
 json.extract! video, :id, :title, :cover_url, :file_url, :play_url, :vv, :user_id, :transcoded
+json.play_url md5_encode(video.play_url)
+json.file_url md5_encode(video.file_url)
 json.play_duration video.video_play_duration
 json.published_at video.display_published_at
 json.created_at video.display_created_at

From f293a2eb26f9f8db537387815d42f2fadbd767c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Wed, 25 Mar 2020 15:52:26 +0800
Subject: [PATCH 03/13] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../courses/coursesPublic/OneSelfOrderModal.js   | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js b/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
index 56eaab65a..3ef957042 100644
--- a/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
+++ b/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
@@ -51,20 +51,21 @@ class OneSelfOrderModal extends Component{
 						let course_groups = this.props.course_groups;
 
 						course_groups.map((item, key) => {
+							console.log(item)
 							if (item.end_time === null) {
 								// if(this.props.starttimesend===undefined){
 								// 	item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
 								// }else{
 								// 	item.end_time = moment(handleDateString(this.props.starttimesend)).format("YYYY-MM-DD HH:mm");
 								// }
+								item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
+								newarr.push(item)
+							} else {
 								if(this.props.starttimesend){
 									item.end_time = moment(moment(handleDateString(this.props.starttimesend))).format("YYYY-MM-DD HH:mm");
 								}else{
 									item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
 								}
-
-								newarr.push(item)
-							} else {
 								newarr.push(item)
 							}
 						})
@@ -108,14 +109,15 @@ class OneSelfOrderModal extends Component{
 						course_groups.map((item,key)=>{
 							if(item.end_time===null){
 								// item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
+								item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
+								newarr.push(item)
+							}else{
 								if(this.props.starttimesend){
 									item.end_time = moment(moment(handleDateString(this.props.starttimesend))).format("YYYY-MM-DD HH:mm");
 								}else{
 									item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
 								}
 								newarr.push(item)
-							}else{
-								newarr.push(item)
 							}
 						})
 						this.setState({
@@ -399,7 +401,7 @@ class OneSelfOrderModal extends Component{
 										{/*{this.props.starttime}</span>*/}
 									{this.props.modaltype===undefined||this.props.modaltype===2?	<span className={"font-14 color979797"}>
 									{/*{this.props.endtime}*/}
-								  <span className={"mr10"}>截止时间</span>
+								  <span className={"mr10"}>截止时间1</span>
 									<DatePicker
 										dropdownClassName="hideDisable"
 										showTime={{ format: 'HH:mm' }}
@@ -444,7 +446,7 @@ class OneSelfOrderModal extends Component{
 							|| this.props.usingCheckBeforePost ?"":<div className="clearfix edu-txt-center lineh-40 F4FAFF">
 								<li style={{ width: '100%',padding: "0px 10px"}} className={"mb10"}>
 									<span style={{"float":"left","color":"#05101A"}} className="task-hide color-grey-name color-grey-9">分班名称</span>
-									<span style={{"float":"right","color":"#05101A","margin-right": "145px"}} className="task-hide color-grey-name color-grey-9">截止时间</span>
+									<span style={{"float":"right","color":"#05101A","margin-right": "145px"}} className="task-hide color-grey-name color-grey-9">截止时间2</span>
 								</li>
 							</div>}
 							{this.props.modaltype===undefined||this.props.modaltype===2

From e1d92b014fb38958b41bbcd9aa2cd82ba76c8567 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Wed, 25 Mar 2020 15:57:00 +0800
Subject: [PATCH 04/13] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../react/src/modules/courses/poll/PollDetailTabFirst.js   | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/public/react/src/modules/courses/poll/PollDetailTabFirst.js b/public/react/src/modules/courses/poll/PollDetailTabFirst.js
index 2da0924ed..4f625b856 100644
--- a/public/react/src/modules/courses/poll/PollDetailTabFirst.js
+++ b/public/react/src/modules/courses/poll/PollDetailTabFirst.js
@@ -60,8 +60,11 @@ class PollDetailTabFirst extends Component{
     })
   }
   searchInfo=()=>{
-		let {order, search, commit_status, poll_group_id, page, order_type} = this.state
-		this.getTableList(order, search, commit_status, poll_group_id, page, order_type);
+		let {order, search, commit_status, poll_group_id, page, order_type} = this.state;
+		this.setState({
+      page:1
+    })
+		this.getTableList(order, search, commit_status, poll_group_id, 1, order_type);
   }
 
   // 获取接口数据

From d270fa7ffdc87cf38c3263725c732915d5eb085b Mon Sep 17 00:00:00 2001
From: daiao <358551898@qq.com>
Date: Wed, 25 Mar 2020 16:09:19 +0800
Subject: [PATCH 05/13] =?UTF-8?q?=E5=8A=A0=E5=AF=86=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/helpers/application_helper.rb           | 5 +++--
 app/views/users/videos/_video.json.jbuilder | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 4fac8cc72..49458f533 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -28,8 +28,9 @@ module ApplicationHelper
   end
 
   # MD5加密
-  def md5_encode(content)
-    Digest::MD5.hexdigest(content)
+  def edu_md5_encode(content)
+    return nil if content.blank?
+    "https://www.educoder.net/#{Digest::MD5.hexdigest(content)}"
   end
 
   def graduation_navigation graduation
diff --git a/app/views/users/videos/_video.json.jbuilder b/app/views/users/videos/_video.json.jbuilder
index eb5fafec5..f43b415da 100644
--- a/app/views/users/videos/_video.json.jbuilder
+++ b/app/views/users/videos/_video.json.jbuilder
@@ -1,6 +1,6 @@
 json.extract! video, :id, :title, :cover_url, :file_url, :play_url, :vv, :user_id, :transcoded
-json.play_url md5_encode(video.play_url)
-json.file_url md5_encode(video.file_url)
+json.play_url edu_md5_encode(video.play_url)
+json.file_url edu_md5_encode(video.file_url)
 json.play_duration video.video_play_duration
 json.published_at video.display_published_at
 json.created_at video.display_created_at

From 8b5b0e9c54f335590c0e8608be263ddd5bad5346 Mon Sep 17 00:00:00 2001
From: daiao <358551898@qq.com>
Date: Wed, 25 Mar 2020 16:10:57 +0800
Subject: [PATCH 06/13] =?UTF-8?q?=E8=A7=86=E9=A2=91=E5=9C=B0=E5=9D=80?=
 =?UTF-8?q?=E5=8A=A0=E5=AF=86=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/views/users/videos/_video.json.jbuilder | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/app/views/users/videos/_video.json.jbuilder b/app/views/users/videos/_video.json.jbuilder
index f43b415da..7c1cf287d 100644
--- a/app/views/users/videos/_video.json.jbuilder
+++ b/app/views/users/videos/_video.json.jbuilder
@@ -1,6 +1,8 @@
 json.extract! video, :id, :title, :cover_url, :file_url, :play_url, :vv, :user_id, :transcoded
 json.play_url edu_md5_encode(video.play_url)
 json.file_url edu_md5_encode(video.file_url)
+json.real_play_url video.play_url
+json.real_file_url video.file_url
 json.play_duration video.video_play_duration
 json.published_at video.display_published_at
 json.created_at video.display_created_at

From 771546b90a5e082317b32a2fba1329f359316784 Mon Sep 17 00:00:00 2001
From: daiao <358551898@qq.com>
Date: Wed, 25 Mar 2020 16:16:34 +0800
Subject: [PATCH 07/13] =?UTF-8?q?base64=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/helpers/application_helper.rb           | 4 ++--
 app/views/users/videos/_video.json.jbuilder | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 49458f533..4cd0a4f27 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -28,9 +28,9 @@ module ApplicationHelper
   end
 
   # MD5加密
-  def edu_md5_encode(content)
+  def edu_base64_encode(content)
     return nil if content.blank?
-    "https://www.educoder.net/#{Digest::MD5.hexdigest(content)}"
+    "https://www.educoder.net/#{Base64.encode64(content)}.mp4"
   end
 
   def graduation_navigation graduation
diff --git a/app/views/users/videos/_video.json.jbuilder b/app/views/users/videos/_video.json.jbuilder
index 7c1cf287d..6d007b0af 100644
--- a/app/views/users/videos/_video.json.jbuilder
+++ b/app/views/users/videos/_video.json.jbuilder
@@ -1,6 +1,6 @@
 json.extract! video, :id, :title, :cover_url, :file_url, :play_url, :vv, :user_id, :transcoded
-json.play_url edu_md5_encode(video.play_url)
-json.file_url edu_md5_encode(video.file_url)
+json.play_url edu_base64_encode(video.play_url)
+json.file_url edu_base64_encode(video.file_url)
 json.real_play_url video.play_url
 json.real_file_url video.file_url
 json.play_duration video.video_play_duration

From 3a18132df86ca2cdcb33e32bebef24f5e070e0df Mon Sep 17 00:00:00 2001
From: daiao <358551898@qq.com>
Date: Wed, 25 Mar 2020 16:18:27 +0800
Subject: [PATCH 08/13] =?UTF-8?q?base64=E5=8A=A0=E5=AF=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/helpers/application_helper.rb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 4cd0a4f27..bc7c55df2 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -30,7 +30,7 @@ module ApplicationHelper
   # MD5加密
   def edu_base64_encode(content)
     return nil if content.blank?
-    "https://www.educoder.net/#{Base64.encode64(content)}.mp4"
+    Base64.encode64(content)
   end
 
   def graduation_navigation graduation

From 9fc9bb717deda5a5857c7e676bb94a0bbc3b937c Mon Sep 17 00:00:00 2001
From: daiao <358551898@qq.com>
Date: Wed, 25 Mar 2020 16:26:23 +0800
Subject: [PATCH 09/13] =?UTF-8?q?base64=E8=B0=83=E8=AF=95=E5=88=A0?=
 =?UTF-8?q?=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/helpers/application_helper.rb           | 2 +-
 app/views/users/videos/_video.json.jbuilder | 6 ++----
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index bc7c55df2..1039a648a 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -28,7 +28,7 @@ module ApplicationHelper
   end
 
   # MD5加密
-  def edu_base64_encode(content)
+  def base64_encode(content)
     return nil if content.blank?
     Base64.encode64(content)
   end
diff --git a/app/views/users/videos/_video.json.jbuilder b/app/views/users/videos/_video.json.jbuilder
index 6d007b0af..ac030ce12 100644
--- a/app/views/users/videos/_video.json.jbuilder
+++ b/app/views/users/videos/_video.json.jbuilder
@@ -1,8 +1,6 @@
 json.extract! video, :id, :title, :cover_url, :file_url, :play_url, :vv, :user_id, :transcoded
-json.play_url edu_base64_encode(video.play_url)
-json.file_url edu_base64_encode(video.file_url)
-json.real_play_url video.play_url
-json.real_file_url video.file_url
+json.play_url base64_encode(video.play_url)
+json.file_url base64_encode(video.file_url)
 json.play_duration video.video_play_duration
 json.published_at video.display_published_at
 json.created_at video.display_created_at

From c936577394e6f75a3a0c97b342a8cb260d37a4aa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Wed, 25 Mar 2020 16:33:39 +0800
Subject: [PATCH 10/13] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../courses/coursesPublic/OneSelfOrderModal.js       | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js b/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
index 3ef957042..9f9cae4e1 100644
--- a/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
+++ b/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
@@ -51,22 +51,21 @@ class OneSelfOrderModal extends Component{
 						let course_groups = this.props.course_groups;
 
 						course_groups.map((item, key) => {
-							console.log(item)
+
 							if (item.end_time === null) {
 								// if(this.props.starttimesend===undefined){
 								// 	item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
 								// }else{
 								// 	item.end_time = moment(handleDateString(this.props.starttimesend)).format("YYYY-MM-DD HH:mm");
 								// }
-								item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
-								newarr.push(item)
-							} else {
 								if(this.props.starttimesend){
 									item.end_time = moment(moment(handleDateString(this.props.starttimesend))).format("YYYY-MM-DD HH:mm");
 								}else{
 									item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
 								}
 								newarr.push(item)
+							} else {
+								newarr.push(item)
 							}
 						})
 						this.setState({
@@ -109,15 +108,14 @@ class OneSelfOrderModal extends Component{
 						course_groups.map((item,key)=>{
 							if(item.end_time===null){
 								// item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
-								item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
-								newarr.push(item)
-							}else{
 								if(this.props.starttimesend){
 									item.end_time = moment(moment(handleDateString(this.props.starttimesend))).format("YYYY-MM-DD HH:mm");
 								}else{
 									item.end_time = moment(moment(handleDateString(this.props.staytime)).add(1, 'week')).format("YYYY-MM-DD HH:mm");
 								}
 								newarr.push(item)
+							}else{
+								newarr.push(item)
 							}
 						})
 						this.setState({

From a00c68e44f9a0647e732fe4c73a3575511fd7342 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Wed, 25 Mar 2020 16:46:30 +0800
Subject: [PATCH 11/13] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/modules/courses/coursesPublic/OneSelfOrderModal.js    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js b/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
index 9f9cae4e1..9c57cc88c 100644
--- a/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
+++ b/public/react/src/modules/courses/coursesPublic/OneSelfOrderModal.js
@@ -399,7 +399,7 @@ class OneSelfOrderModal extends Component{
 										{/*{this.props.starttime}</span>*/}
 									{this.props.modaltype===undefined||this.props.modaltype===2?	<span className={"font-14 color979797"}>
 									{/*{this.props.endtime}*/}
-								  <span className={"mr10"}>截止时间1</span>
+								  <span className={"mr10"}>截止时间</span>
 									<DatePicker
 										dropdownClassName="hideDisable"
 										showTime={{ format: 'HH:mm' }}
@@ -444,7 +444,7 @@ class OneSelfOrderModal extends Component{
 							|| this.props.usingCheckBeforePost ?"":<div className="clearfix edu-txt-center lineh-40 F4FAFF">
 								<li style={{ width: '100%',padding: "0px 10px"}} className={"mb10"}>
 									<span style={{"float":"left","color":"#05101A"}} className="task-hide color-grey-name color-grey-9">分班名称</span>
-									<span style={{"float":"right","color":"#05101A","margin-right": "145px"}} className="task-hide color-grey-name color-grey-9">截止时间2</span>
+									<span style={{"float":"right","color":"#05101A","margin-right": "145px"}} className="task-hide color-grey-name color-grey-9">截止时间</span>
 								</li>
 							</div>}
 							{this.props.modaltype===undefined||this.props.modaltype===2

From fd6f4f93cf4723416e482fe8ab331e546c2e8ec3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Wed, 25 Mar 2020 17:30:44 +0800
Subject: [PATCH 12/13] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/modules/courses/coursesDetail/CoursesBanner.js | 10 ++++++----
 public/react/src/modules/paths/ShixunPathCard.js       |  4 ++--
 public/react/src/modules/paths/statics/index.js        | 10 +++++-----
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
index 2bf7fb988..afd62118e 100644
--- a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
+++ b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
@@ -601,7 +601,7 @@ class CoursesBanner extends Component {
 
 
                   </div>
-               
+
 
                   <div className="clearfix ">
                     <div className="fl fl mr40 mb20" >
@@ -665,6 +665,10 @@ class CoursesBanner extends Component {
 
                     {/*}*/}
                     <div>
+                      {this.props.isStudent()?this.props.current_user&&this.props.current_user.course_is_end===true?"":<a className="fr user_default_btn user_blue_btn mr20 font-18"
+                                                                                                                          onClick={() => this.exitclass()}
+                      > 永久退出课堂 </a>:""}
+
                       {coursedata.switch_to_student === true ?
                         <Tooltip placement="bottom" title={
 													<pre>由教师/助教身份切换至学生<br/>可进行提交作品、答题等操作</pre>
@@ -723,9 +727,7 @@ class CoursesBanner extends Component {
                         )
                         : ""}
 
-                      {this.props.isStudent()?this.props.current_user&&this.props.current_user.course_is_end===true?"":<a className="fr user_default_btn user_blue_btn mr20 font-18"
-                                                 onClick={() => this.exitclass()}
-                      > 永久退出课堂 </a>:""}
+
 
                     </div>
 
diff --git a/public/react/src/modules/paths/ShixunPathCard.js b/public/react/src/modules/paths/ShixunPathCard.js
index 66f236692..5afceaf30 100644
--- a/public/react/src/modules/paths/ShixunPathCard.js
+++ b/public/react/src/modules/paths/ShixunPathCard.js
@@ -43,7 +43,7 @@ class ShixunPathCard extends Component{
                         <p className="font-14 color-white">非试用内容,需要授权</p>
                       </div> */}
 
-                      <Link to={"/paths/"+item.id} className="squareImg" >
+                      <Link to={"/paths/"+item.id} className="squareImg"  target="_blank">
 												{/*target="_blank"*/}
                         <img alt="详情图片" src={setImagesUrl(item.image_url)}/>
                       </Link>
@@ -80,7 +80,7 @@ class ShixunPathCard extends Component{
             </div>
           )
         }
-        
+
       </div>
     )
   }
diff --git a/public/react/src/modules/paths/statics/index.js b/public/react/src/modules/paths/statics/index.js
index 5988f113d..55e391478 100644
--- a/public/react/src/modules/paths/statics/index.js
+++ b/public/react/src/modules/paths/statics/index.js
@@ -212,8 +212,8 @@ const App = (props) => {
       sorter: (a, b) => a.cost_time - b.cost_time
     }
   ];
-  
- 
+
+
   useEffect(() => {
     changeParams({
       page: 1,
@@ -307,7 +307,7 @@ const App = (props) => {
                   fetchData={handleFetchData}
                 />
               </TabPane>
-              <TabPane tab="实际使用情况" key="2">
+              <TabPane tab="实训使用情况" key="2">
                 <DisplayTableData
                   columns={sxColumns}
                   datas={other_info}
@@ -315,7 +315,7 @@ const App = (props) => {
                   fetchData={handleFetchData}
                 />
               </TabPane>
-              <TabPane tab="学习情况" key="3">
+              <TabPane tab="学员学习情况" key="3">
                 <DisplayTableData
                   columns={stColumns}
                   datas={other_info}
@@ -339,7 +339,7 @@ const mapStateToProps = (state) => {
     other_info,
     total,
   }
-  
+
 };
 
 const mapDispatchToProps = (dispatch) => ({

From 0d8ac4e98a1c578d4f09a17b3c5ae4acce931a9c Mon Sep 17 00:00:00 2001
From: cxt <853663049@qq.com>
Date: Wed, 25 Mar 2020 18:10:18 +0800
Subject: [PATCH 13/13] =?UTF-8?q?=E4=BD=9C=E4=B8=9A=E5=8F=91=E5=B8=83?=
 =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/views/homework_commons/publish_groups.json.jbuilder | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/views/homework_commons/publish_groups.json.jbuilder b/app/views/homework_commons/publish_groups.json.jbuilder
index b77d14fe7..b0ba5b2d3 100644
--- a/app/views/homework_commons/publish_groups.json.jbuilder
+++ b/app/views/homework_commons/publish_groups.json.jbuilder
@@ -1,7 +1,7 @@
 json.course_groups @course_groups do |group|
   json.id group.id
   json.name group.name
-  json.end_time @group_settings.select{|group_setting| group_setting.course_group_id == group.id}.first&.end_time
+  json.end_time @homework.unified_setting ? @homework.end_time : @group_settings.select{|group_setting| group_setting.course_group_id == group.id}.first&.end_time
 end
 json.end_time @homework.end_time
 json.late_time @homework.late_time
\ No newline at end of file