From 6ea1a605c9c3bcd7c3e26b3514fee255ecd445d3 Mon Sep 17 00:00:00 2001 From: txz Date: Mon, 11 Jul 2016 10:37:56 +0800 Subject: [PATCH 01/37] =?UTF-8?q?flex=E5=B8=83=E5=B1=80=E5=85=BC=E5=AE=B9c?= =?UTF-8?q?ss=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/weui/weixin.css | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index 1f758d296..3288f64ba 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -82,15 +82,15 @@ a.underline {text-decoration:underline;} .btn2 {width:145px; height:35px; color:#fff; font-size:15px; line-height:35px; text-align:center; vertical-align:middle; margin:18px auto 20px auto; border-radius:50px; display:block;} /*tab*/ -.tab-wrap {position:relative; line-height:38px; display:flex; font-size:13px; background-color:#fff;} -.tab-wrap a {position:relative; display:block; flex:1;} +.tab-wrap {position:relative; line-height:38px; display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex; font-size:13px; background-color:#fff;} +.tab-wrap a {position:relative; display:block; -webkit-box-flex:1; -moz-box-flex:1; -ms-flex:1; flex:1;} .tab-wrap a:first-child:after {display:none;} .tab-wrap a:after {content:" "; position:absolute; left:0; top:0; width:1px; height:100%; border-left:1px solid #ccc; color:#707070;} .weixin-tab {text-align:center; border-bottom:1px solid #ccc;} /*bottom-tab*/ -.bottom-tab-wrap {position:fixed; width:100%; bottom:0; line-height:38px; display:flex; font-size:13px; background-color:#fff;} -.bottom-tab-wrap a {display:block; flex:1; position:relative;} +.bottom-tab-wrap {position:fixed; width:100%; bottom:0; line-height:38px; display:-webkit-box; display:-moz-box; display:-ms-flexbox; display:-webkit-flex; display:flex; font-size:13px; background-color:#fff;} +.bottom-tab-wrap a {display:block; -webkit-box-flex:1; -moz-box-flex:1; -ms-flex:1; flex:1; position:relative;} .bottom-tab-wrap a:after {content:" "; position:absolute; left:0; top:0; width:1px; height:100%; border-left:1px solid #ccc; color:#707070;} /*动态样式*/ From 2e75fa4b236e3143f1fdfe8e46e58bf880c56b67 Mon Sep 17 00:00:00 2001 From: txz Date: Mon, 11 Jul 2016 10:42:07 +0800 Subject: [PATCH 02/37] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E4=B8=AD=E6=96=B0=E5=BB=BA=E8=AF=BE=E7=A8=8B=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E6=96=B0=E5=BB=BA=E7=8F=AD=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/activities.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/assets/wechat/activities.html b/public/assets/wechat/activities.html index 60075ad2e..2da072cd8 100644 --- a/public/assets/wechat/activities.html +++ b/public/assets/wechat/activities.html @@ -436,7 +436,7 @@
- +
From 114512d3d9ccc134011ff166b0bb03e32c018ed7 Mon Sep 17 00:00:00 2001 From: txz Date: Mon, 11 Jul 2016 11:05:49 +0800 Subject: [PATCH 03/37] =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=AE=BD=E5=BA=A6?= =?UTF-8?q?=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/myresource.html | 6 +++--- public/stylesheets/weui/weixin.css | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/public/assets/wechat/myresource.html b/public/assets/wechat/myresource.html index de21b7136..6d93d026f 100644 --- a/public/assets/wechat/myresource.html +++ b/public/assets/wechat/myresource.html @@ -11,17 +11,17 @@
-
{{r.filename}}发送
+
发送

暂无课件,
请登录Trustie网站,在PC浏览器中上传课件。

-
{{r.homework_name}}
+

暂无作业,
请登录Trustie网站,在PC浏览器中创建作业。

-
{{r.exercise_name}}
+

暂无测验,
请登录Trustie网站,在PC浏览器中创建测验。

diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index 3288f64ba..7fea4bc67 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -188,6 +188,7 @@ a.underline {text-decoration:underline;} .class-test-tip {text-align:center; font-size:13px; color:#444; padding-top:40px;} .img-circle {border-radius:50%;} .member-banner {height:24px; line-height:24px; text-align:center; vertical-align:middle; background-color:#dfdfdf;} +.resource-width {width:80%;} /*20160614班级列表*/ .course-list-row {width:100%; height:38px; line-height:38px; vertical-align:middle; border-top:1px solid #ccc; border-bottom:1px solid #ccc; background-color:#fff;} From 0093a0a50957965ff39f862f7d0e9e15f0740271 Mon Sep 17 00:00:00 2001 From: txz Date: Mon, 11 Jul 2016 14:23:53 +0800 Subject: [PATCH 04/37] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E6=96=87=E5=AD=97=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/invite_code.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/assets/wechat/invite_code.html b/public/assets/wechat/invite_code.html index 1aa0c8830..abf588909 100644 --- a/public/assets/wechat/invite_code.html +++ b/public/assets/wechat/invite_code.html @@ -10,7 +10,7 @@

+ 2.长按二维码,通过“识别图中二维码”功能加入班级
+ 3.通过“加入班级”菜单输入邀请码加入班级(长按邀请码可以复制哦~) \ No newline at end of file From bd29859a28ffcf000861b42787868b5ad19b171c Mon Sep 17 00:00:00 2001 From: txz Date: Mon, 11 Jul 2016 14:46:35 +0800 Subject: [PATCH 05/37] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E5=92=8C=E5=8F=82=E4=B8=8E=E8=AF=BE=E7=A8=8B=E5=8C=BA=E5=88=86?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/class_list.html | 16 +++++++++++++++- public/stylesheets/weui/weixin.css | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/public/assets/wechat/class_list.html b/public/assets/wechat/class_list.html index b215db763..69a3db43c 100644 --- a/public/assets/wechat/class_list.html +++ b/public/assets/wechat/class_list.html @@ -3,7 +3,21 @@
课程列表
-
{{syllabus.title}}
+
我创建的课程
+
{{syllabus.title}}
+
    +
  • + + + > + {{course.member_count}}人 +
  • +
+
+ +
+
我参与的课程
+
{{syllabus.title}}
  • diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index 7fea4bc67..2f9ad7e88 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -191,6 +191,7 @@ a.underline {text-decoration:underline;} .resource-width {width:80%;} /*20160614班级列表*/ +.course-diff-row {width:100%; height:28px; line-height:28px; vertical-align:middle; background-color:#fff;} .course-list-row {width:100%; height:38px; line-height:38px; vertical-align:middle; border-top:1px solid #ccc; border-bottom:1px solid #ccc; background-color:#fff;} .class-list {width:100%; border-bottom:1px solid #ccc;} .class-list li {height:40px; line-height:40px; vertical-align:middle; margin:0 25px; border-left:1px solid #ccc; border-bottom:1px solid #ccc; position:relative;} From 374aa9918c27167466ef7dc60699cf3b078fc61f Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Mon, 11 Jul 2016 14:49:59 +0800 Subject: [PATCH 06/37] =?UTF-8?q?=E6=88=91=E7=9A=84=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E9=87=8C=E9=9D=A2=E9=83=BD=E6=98=BE=E7=A4=BA=E6=9C=AA=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E7=9A=84=EF=BC=8C=E6=96=B0=E5=BB=BA=E8=AF=BE=E7=A8=8B?= =?UTF-8?q?=E5=90=8E=E8=BF=94=E5=9B=9E=E4=BC=9A=E5=88=B7=E6=96=B0=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/resources.rb | 10 ++++-- app/services/resources_service.rb | 36 +++++++++++++++++++ .../wechat/controllers/new_class.js | 6 ++-- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/app/api/mobile/apis/resources.rb b/app/api/mobile/apis/resources.rb index 6dfe8e599..9bd07a0d5 100644 --- a/app/api/mobile/apis/resources.rb +++ b/app/api/mobile/apis/resources.rb @@ -11,7 +11,9 @@ module Mobile end get do authenticate! - data = current_user.course_attachments + rs = ResourcesService.new + # data = current_user.course_attachments + data = rs.all_course_attachments current_user present :data, data, with: Mobile::Entities::Attachment present :status, 0 @@ -26,7 +28,8 @@ module Mobile get 'homeworks' do authenticate! - homeworks = current_user.homework_commons + rs = ResourcesService.new + homeworks = rs.all_homework_commons current_user present :data, homeworks, with: Mobile::Entities::Homework present :status, 0 @@ -40,7 +43,8 @@ module Mobile get 'exercies' do authenticate! - exercises = current_user.exercises + rs = ResourcesService.new + exercises = rs.all_exercises current_user present :data, exercises, with: Mobile::Entities::Exercise present :status, 0 end diff --git a/app/services/resources_service.rb b/app/services/resources_service.rb index a0fec585a..96034b4ce 100644 --- a/app/services/resources_service.rb +++ b/app/services/resources_service.rb @@ -50,4 +50,40 @@ class ResourcesService [@ori, @flag, @save_message] end + # 我的资源-课件 已发布的 + def all_course_attachments user + + courses = user.courses.not_deleted + + courses_ids = courses.empty? ? '(-1)' :"(" + courses.map(&:id).join(",") + ")" + + attchments = Attachment.where("(author_id = #{user.id} and is_publish = 1 and container_id in #{courses_ids} and container_type = 'Course') or (container_type = 'Course' and is_publish = 1 and container_id in #{courses_ids})" ).order("created_on desc") + + attchments + end + + # 我的资源-作业 已发布的 + def all_homework_commons user + + courses = user.courses.not_deleted + + courses_ids = courses.empty? ? '(-1)' :"(" + courses.map(&:id).join(",") + ")" + + homeworks = HomeworkCommon.where("course_id in #{courses_ids} and publish_time <= ?",Time.now.strftime("%Y-%m-%d")).order("created_at desc") + + homeworks + end + + # 我的资源-测验 已发布的 + def all_exercises user + + courses = user.courses.not_deleted + + courses_ids = courses.empty? ? '(-1)' :"(" + courses.map(&:id).join(",") + ")" + + exercises = Exercise.where("exercise_status <> 1 and course_id in #{courses_ids}").order("created_at desc") + + exercises + end + end \ No newline at end of file diff --git a/public/javascripts/wechat/controllers/new_class.js b/public/javascripts/wechat/controllers/new_class.js index ef46fc4ba..5e9f339a1 100644 --- a/public/javascripts/wechat/controllers/new_class.js +++ b/public/javascripts/wechat/controllers/new_class.js @@ -1,6 +1,6 @@ -app.controller('NewClassController', ['$scope', '$http', 'auth', 'config', 'alertService','$location', function($scope, $http, auth, config, alertService, $location){ +app.controller('NewClassController', ['$scope', '$http', 'auth', 'config', 'alertService','$location','rms', function($scope, $http, auth, config, alertService, $location,rms){ var vm = $scope; vm.alertService = alertService.create(); @@ -40,7 +40,9 @@ app.controller('NewClassController', ['$scope', '$http', 'auth', 'config', 'aler vm.alertService.showMessage('出错了', response.data.message); } else { vm.alertService.showMessage('提示', '新建课程成功', function(){ - window.history.back(); +// window.history.back(); + rms.save('syllabuses',[]); + $location.path("/class_list"); }); } console.log(response.data.data); From cf304c2b683202dee98c135f872fd07a3df4909a Mon Sep 17 00:00:00 2001 From: txz Date: Mon, 11 Jul 2016 15:10:52 +0800 Subject: [PATCH 07/37] =?UTF-8?q?dot.png=E5=9B=BE=E7=89=87=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/images/wechat/dot.png | Bin 27646 -> 29770 bytes public/images/wechat/dot2.png | Bin 0 -> 27646 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/wechat/dot2.png diff --git a/public/images/wechat/dot.png b/public/images/wechat/dot.png index bf1c0104e6d8c36a867507e927431299c758b9f8..e45863e9f42f422b9ce45f938a23c18ce880f724 100644 GIT binary patch delta 9787 zcma)CbyQT*w;sBCKwuD12|;1Y3kpKb zxkZqceB5TDR>D@I{K5jl{6a~;9*7YC&-vAlQc_^lXHY-F{Qphq|K6W8N;#bLhc@Wh z|7Uaw9``p|R>-6TO1dN_dc34ox<@RQP(dppb1MOE0Y2ovi2=_iDj+JrEh;QxAt+>N z$uBA@RDVyGAc(yJK|M@LR)3CSaZ{3$*72U-%kg&sTebg1ElN%bWDM-GummwT!zdL~ zVfhXQ`4#wGx{vBOnYlbp7?ywT`tBfRBr9H5s4Z5Bc~sSxRL|7LecqLp-on`%N@sO2^P*|SsUYT!rWK;XgL+SM zv^gI=Kyl}>hZ8<~)#oor?<7dBY_i(^8&=Gg=)1s1+piN0(&lWhnF)`i4@wQ7X8o#8 z-~#XLiliA|g_wgok}>C!yZ-7{j6Us`?`b&^Bs{pV7j%hNHZsqGF()w><8!J|1f*&O z8md~!^cYj|nMPxu(g=1)KG$6k8in-+Rblh}L1iNHrmvhD0}M#U5qW7{RSJ#rL|Z2~ zbS16O6~QV@CsvQyOt2k}0X9hb=s0+9iHKigT_XwXI~?o?*<^mk;mlx8@0tTAcVb;Y zvmI(<)!t;seTnN!v;_~gjYSxIAwSjpDApt~di;Wy4A*58+N_6Oo%_F!(H z-hwwaAD5KD(WCaQCv5R7sOdEdd9WakKx z<<;g)lmz#~^WY`|k-G>qt_+SG3#f`3$IqEB+9Ld>APAZ`TA0#nd^XIkGx zRW4<^+$A4x#|yoOSEPxS4;~>0o5rD-h*#bQtCVrj%{`VG!O)(E;9T0*d|@kIh#79s zwxJug+sA=Ry4npXwreHMHtc2h-jGs`!wK>;<;d|Gj1!7xy??ZvSbG!C9iFqDE(X&; zD0iQI$DF54*BoFVHHG8yhk(-G?33m>3PH3D4MlyfPPQi{7}Z^oNMyp~HW%vS!oH~I zXUS-@bgs;!Vl)pOIR>d33N6G@A^=lS--q|c_5Nwdo%{9tl= zM#lCRyu8c1fBv+;`SY`-{=swOtIk2{Pl=<*J3c;MJYV!O83CUA@1eKEG}jPKab3aV1Vwcdlcfw4@FbHj;~5=W zJa%Wuam@uIn8ni;sDm_)sH7JwI|?^mZRd|8xWl!A+3~bVxehb?R$X}v>nv9my_Wn< z)YQ~SR3{x;{gUgrj0}v8+uE9&y)T1th#m)gy&s;g(2w6+`g(5(4D=pbgA{{zCle~V z#^T7uJcVF3c;8SSJcpVfM`nNPD631PT(D#w8go2fLZN(ARYy=9PoFmDnx)6Q;TfKU zj%=*2PyhRkW(hlAY>Z^RL?94%tNjU2mU@@hEO`YI-PI;OXf^v}+=8%|5nPcX34wY< z0@ZGv%o03=rjU)ykrfw_o!#BPJUl%2MMLYE1Qt-6%+aSPPEN#G|C4yGx646z^Ivbz z7UJpY>ElAXS9mcuyv1D;?UPk5yMHQ3jEv@7l zX;`c@7J5^yyRK^+dnPV1(Vy^gj7!f zW76{S-)c+(F4wOnOVqz!ZDfzttYj3Q9P*PVMP0Y4z&CJX|0&^!H>pQ?oq0EWj8Up82i+Pok zq;%eq6!ji(oED8<K3gceq9_G<3%KNOvSUq*>X9Q8E$*9lv$Yz^Y95wI zWNM9J{e}rAC+FRM2-yppm_{FPKkAuBVW-mQG>l{*a3Pf?eY%pllQp0@)ERqicv$7U zHx`on41kCoy8H!g_&~a_^Dm-r-@Zxt11@#XDK#U6y1nxy8~&EM}VO zYx#1|6r)4)_3PJ1T|_)LqrswwPXQzUIjL@IYm=M*RNMXhS|^!I3xzJ8=X5*`ygpGg z%4_W4x{V4E{gYt$PE34fXNPm9#^fIL)9IXxNZEhI^Rso8$=AEn*49=+f+&kNwZ zV&1zfIBq`@LCT3?h17X^T#Ea;#ce%*et!O5da~h(F8Ldre3w&C+SVJ23o~ZI#Sn%Q zGIw(P!)3BV@)h}I927a)0e${5kpWb=Nu%#|vgxQS6H$+VX>C{PiXPKH&Mv>pqz zXFps0>b0)!sf4_y5(=}k^9+=|M;jc{4#F-7E=ED{AfP-iRAl#E_K;flZ^IuST{0mw zV}okG)Rrq>{{zP7BSAZq`dW9dqw=?W zjyG<-J}>_HiTdQYz#jQRw>~8U8fuwx({)3+P=>S)RH5y7 zFy+~9d3pHgcMz$si%oZbSjPNn~R`jX=*o+iqj)0xRRk zi=t&X^8NBs+UH)f#dngQTF4_Tdc-s`#ZRD!pMas3?(4-jo&bcA(RF?X!SdS@-xYO} zMTVsHPmbJ8rbd8OV{w8HEwkB%wP5-0jg5^wSGRX}-4SHDcsDavpsia4o6y|iVMX%T zP`Q!bNa9X`g|!`H1VYSbAd!_PLpO5)bza59=(G8mkEkAccQUQ&y_WOWbg3y|vYd%b z@?=~Y2!}~lxp}28E_;!WOk!qOuSDY48L?+&A%Uo3Y1Mf3F2-CY}|o>l@uASEV-I1SsbB^QYTNsiGA z|9ID<1*fLRXHN2~Cm}x;5OVr?vGmiaX~q7w-G-_s$Z8oY&Un_WGW38-G_|ceW48K@^ZV$Y*BYOK4)wlQ{g2ehpvra$Ww4k zwfHLAZoIb*fb!Cs8r1i#%VCtrFD%rHX(B4YJHPS=ccup;!zf;r-g4cF*9{B%q#d(` zMgH7X%1OnAJ6g6+@bsqGg69UVc4w+8#s&vD1?pCo#AX}^`~Db2?^`?3-4Udur09Nf zT5R=&)i8G%k_i%+4<^Y761{S*-`NA1<_cJ=DH$66Kopn--0!~l_*=?7vMJ63awR@A zI5-2ZjCeQ>xkZiB?wU34=TU_|0Ns~DK_|u}Q;FpXiDOaJ&x9Z?dDFpk4*}1!emVtJ z71yscsHGe4ULnSG;DEpxGzUP4DlzTA8u9qLheN<_`#vpA-?7m8lPR05V`0hY&``ze zcE3x^ly{F*m*tz_lLQ?V3OP!XvM;4a>M9F9eL6ENK+&HAh;ERmhpRiT;oCYo?$>h- ziGg0lD>xddWT7V%;=qZFN#PX^b07SU1|o9QHo*nSn_mcwN5<*@=In%#wexKx4R60u z^Enz|XTtSU&BR#8<7G8o!X0NxVUt!Z$O}06{&F`)V{_~)>NtM)ox(s=IMMCFrPo!-hdQpT`>lfb z=Up8t6@j8=9y8kO9jw8HEn@|N)s>Y{xt#m;$n~sP!h-oaAlSJEizRI+PWpBhQ-SC} z_rzeq3hi|HXqprNb)Qd#ex`1`#t-$5mJ4}I{@YBs{*E(YVZZ(D_k4M)K%Rw_Vue7| z>jg78Eya0fEYXO9;$q~xUkXGDINnX$#q#LRL#IjAk?YvJe4v42dGif#p5w&VZ6$PS zUsY_Yth>AWqP)C(^odZquCowNjLkxRe!hH5ON$e1to4bc`m3~DH664o)g^Uq^ic;E z+0P-~m}*hT9k~>no^|~6+>D#@ISq<{xLf1_&+9hWBMv!|y7vwdwz{O*i+T7zxUfLO z!x;h|74?D*jsdjad;hUK>@EJBWC}v!Y&g6E`vE@VOWXOa$cVwAA@{cuAAEcvJ3KVw z#Ss*a*#Ht#($Y3@Pv~U@Clv*a$Rs^%ezrsA`e!8H_+Lq|J_ku* zSNjA+P!Luj%@avL>A}Ilm%j9yz%Kaa>IsdlQq<@jes&AR)TuZjA>jr_E2Apr{F^Y` zl))JB62JkY7)T?k(SK0ALSN+#6J?#V#2Mmlj*gDZgGcgoI2(btAV>ykeNs?WS(#nc z?eNl8!r^jSD(Q-={yTeAueW?1Bq-+ z3Y+*ItqrW_-Ehe@?x@h&in?r;VqQKC8yy+>Vx(RGaDlolI7&0St+;02!e1TB#}WNV zeRu*9fg2`H=+nnX+}&(kO(_}c*74wDKU{Om@on0WZWnJ%?7_S0o)o)}v9ugI*<*Zf z&-TnEjeh?+cxgJ9*^ygE8%O9O`_kiGv27o~o}&YeBW7N$C^ihDH)v18|F-T{m-*5+ z6fAL07m0~E?V@%=Y$uCVagLayGP`;6QZ{6hkV@Yf<4ZKuE&P}w5pqQ$?M&mdcs@Qp zVZ2ufL!cd89TjaG)^*(M{eB=Qj^i~HjdS23teJXfH7tbR$mgeGdBpazgfDx3_P|(_ z>@Wl@oSX##8Hb!{xK?M{HlZrQ^98)oQOGFuL+=49f-6t^q3?BvQsCc>&;d0I93GKg3cP=Is3AB ze<0hw40B5Tq@n2AymxgKxOw@JqN5norjTUDBSIs!zeLOi;l;%AO?YA;Fm2Q46%__U z49=T!S!X6wTJlK@8wz*To}27`*PnT)55gI%mR$K-48GUQy@8QtiYzWE&@h_myNCou zOPIRF8qxq(A_lxcTwJ+v^iKsNQVI{b#|e-8cTDRe;jWguI$J<~9=iJEp+tk?g>PRL zF>Xlfr+Tizxqwk<+h}$YDfu^yFD)&hH)Ee?|M>*?23Pife2Az2Mqogeo!BcsRd&01 z_4(e;j@{(s(`aj?(d3yHIT*w>Q#StU)vFi7B~7J=ypkL`4JgRrE-+C?Ux=5LRkgf9 zqJ>r1oshGm<853IF0RugS462+S&+-@;fvfFb_UY(ZQJw+Wp}QwL8Dj?Gij@#+Nzy*9I&jfz4zE1FY0; zc@zherJ*woad>uga|Gtd+%AR1${`s>#(y|1VxCLJ?DY#Hl*ci!V|}gDnb%1_ zt=3radEs|)utI~~);y6j0g5j3u=&kQNQwk4V+M7&=FZKs|C_w@o}iBn5$+{kDV!sFC-gC+qsK+B^rO+zTR9_ ze#?bO1EwLz60p+;jZ@}BWRy%&q8ww=_qZFgk&%)1&d$zVU&wyV128PL8{urDV<}2| zv5Rvx?PF@X?Cb7cug+#!I{2VQm;j1tgPPc4hNIUB9+QE7{;0P;r~6L8bC=)$_##2v$0TgNQ~GON zb^N#5L|rQf`~KHwg6K-*UgOLfdB<8^PN}K5hWwkdh~J>Vc!h%R(GPfp=)cot*`e5j zCJ~_bE+YF-hjKwSrWWr*a|i5C?CEw{b?EB!=gezmUi zSv0$mB^zxG*9T(8w7Znk6_@5EAR+B3tv~7TFHhPF=dcnlQc{|*e|pdL#iC_pWo7*G zc=NtHQq2&NN%Hlzj?MQnz7Hlk_$X!NSVNLGcQ=<`y1Tm{`AAXuL7jHwx;U%6Oh`2j zCRj=f_)_lpX^A}{-}81Wj!DYUYRTRkzc3e%1%Fcz<9`0~`fu7qyKW%eW)9US2teQj z-#r?&i_zLqWTAW!aC4znAZF{n&th+5ygu@^Wu{r|?r^owOW|<>uS|yPj4aAgCjF#P zgTRSvxK>=$cex|TIVQaU9B;zI8CtUWmdlRs@Wd}3eO3ve_p~DjYpLg28^cae_E#}` z7|X|LHI3hVFn197V!id4=NEU0!b2|)d73HO^!w`3=6T7n;}yxbXAWs+tesNqm>v^> zxGDprg8ed~bfEnG{e7v1PpD76v3n9kJKt-o#g;VEF+f1B_vK$x{}dfwBWzhtc-Xg` zp|tf;d1%QNx~MOLDWG}j@3{#dz1@)Z{Z>Y#fqkc&XOIxROF0 zQ5bpjUz$1&64}O3$LLp|J#WSPTpxiV zO>gQGz1Va`6Op1*0JV z#x{3lP9I?+e=4HUI}XV*Njmhp@f*Av@lXX>+3woW(NQX--`<_4;Xo)Yo7cSU#eN;7 z_MV=#^(H~h>{}G^EDHZ~P*$>KsaO^U6y(!I8D9&@UV9!7f>{owaxdWG;#Siw(kUy~ zoArffggfLVR@c@&e&FelZaasc2mROV_@mA$tD$C%;KlN$OP&K>A=Y?QR(5yJae-*q z(PC+QH2}Yr{e`BlRp*ynr3cLp2S>jL4#<>CVk$0CQ--9tcV^pQ?;m+BbVreLkAwd8 zl$4N=i1|oY==KnA>vGIaNJ{;kOo0QQQvj5MFInc{pRKK}%f0%sUo_Z{%yB^g{WSes z%rE9X{81!Gx1&Z@gEW&tkH=`J@H{fvA5r ze(nV%S2Z1l))Ai#=|5ciJgUsfB}1VuuV@^cTdZ!hACbhEOs{pfUS19WBETH5v}wJ) zy_5J$3@JV~qzNa-uwQ3GkY3O~Fqz`#1|mmN9Z`{5pHW%$y= z<5U|dO>(e$eDQA(iSuI_Zy@`;xVUlLI(a#P`MXS%tMbbBHUCSgZ>g!ND6)Sy8kh@c zXehtLyTqoFmIVoGq1Sg}%6)sJH`hDNVT>MoKUGLpLjE;v9uOxVpa5A~%gE?+Tz+XGIJrXESmV|2;4~Wba6l%@ZWF@B^TVKx%e2_d z@uW{39t;ng{MjlDQJ)gXmGE)Pn%$M;#1P@qw$-}LXb=la#*f+tK}nqwPhpp~EsHQ| zG7yM_gd`#YAV7?M2c6b*;YvGqt(3K_lwU}%GIOmS7|xTK(LVq7-?2aROgkl$S5Dg#I}U&e}E3`yUR z&C7nYY{Xp~>i%vL|9t_r2iql5c9w(<%O)EhqEeEw3JN5x&3 zxORkC{9#H4e*XUc_cte#>i3SGo@cL2<+~{Gv8%t{-(BB(0NY;{DZ1oP!7D+M469C8sFL_?IqNeV8 zsMIBrva;Sbg>k*Oy1uUY^XtpCWbWAcm!8*h7$){?DO)aCylf+O=>*WSouK2%!$G{X zz!bX1+Sswp&xgGb=eB<)xH5p^K*2zDa14fST(%VIt{#Z1`|L1QfmV*zhlGE5uf{h0gIYNt zQtLW3y_Ip&6@x;j{P*T+|L=y0GKlz`ULAtm2`Md`ZNdMN9mKsRB?gXkW zw?H9HWD5nXRHzKvtfPiBu{&DZ^5^?ci1Z{OoZeK-_tP?}7GMO+Q(>kiNaC!JQpubw zn!L$x!c^|-IiD^xUE!%O!W9Ao6vxy z%%qCiMX3p^aP0VS>oZH{5*fpv<77q$y*Lu1M7@&(DnxJn{{H%+3Lr;-hRfjKxJjzYIVS>V3n!Fj{=E{zajwUE3 zN#B#Kpr9b;W&J7l&{+||nX9Mo8UjUsz}N{J18X0aDzNUCStl`MgSRd&J32rQwD)V= z+}&Rh(QuWfi@I;@{WGgpBEX(P9wGAxrLI0!bar;83=q)=0GLApUl$Bi1k#lB9N|>K z<1Lh*rE6ond91Oj0Fi$;7AGu(dZL7_bS(cT(9mrZ1X^5LVzPB`xGAr#t)&B{(+MC| zG6k$hV>q;nZ+cb_f2L$)7}}&t0yJApL}YGpcGl}lMaAx5k#gE|fFCV|ik}O2?t64m zf%=g2cgNc!(7_}#~7~-gaeE_&QwHWVK zK^?rrviEE3QW;Rk`3Cd&zNFlooPF2Ni!Ev;la5Ubi(EskHkqF^!B!Tuy^MIeV0kri z?B|s4unWF#X*>l3WkdQMGHgsBEcrK8zxsUEo$^fI=}3YH4-PW`k@jEX{r0T23+xf&5rKZQH10${`yX3;c-CM=3mdbJC`EJv4Q~m(O}3bQEwh$jYS)Nj zvMM1*JSZ(G$UZ6XnPds;SEF|R9NZI5NYsH>!Om`}7VThPKFV}WkU=CqM$3wu=1CE6 z3D&q7v)7{nxZXFrFnP8kjaYt-c?%u{SX(zRnm&osyttzjq_mE{<^v4lx8 zH?g9+jLNX2K_9q~T&Vc0Fgzs_lNuubcr?YYeu9SBj_p+fh()qMZkt2ORt7e-Za zTM0Hwh!qRrOG-;5O`(%9@g84`^F?b44aTz{C$>DAf%lz2wLbEKNxGc=XDZlUI9QWVipp2-2&V7ipGeT}A}X zxKWj7TojzyRv>DOVDZw^dRk7D%L+1;cutz#OJaX8K19Oo8(9ngz9S^p#$9}42h#*o z-F(0~!PatS?N4dvVcV8O93Wu3xRG!^7)>*0Fr|D&P9?3Bw2`Xm|N1wOo=w!f6v&g5 V@AtuQ6e$S!D9NkIRm+$L{}(8flUV=& delta 7648 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 Z9P;I|Pw|=i_!D0HD`U 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 literal 0 HcmV?d00001 From 70ed5790b8b8ffdcb031471e4fab70043c123a40 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Mon, 11 Jul 2016 16:46:07 +0800 Subject: [PATCH 08/37] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9C=A8=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E8=AF=A6=E6=83=85=E7=82=B9=E8=B5=9E=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=92=8C=E7=82=B9=E8=B5=9E=E7=8A=B6=E6=80=81=E4=B8=8D=E4=B8=80?= =?UTF-8?q?=E8=87=B4=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/class_list.html | 47 ++++++------- .../wechat/controllers/activity.js | 3 + public/javascripts/wechat/others/factory.js | 69 ++++++++++++++++++- 3 files changed, 93 insertions(+), 26 deletions(-) diff --git a/public/assets/wechat/class_list.html b/public/assets/wechat/class_list.html index 69a3db43c..dafce2cfc 100644 --- a/public/assets/wechat/class_list.html +++ b/public/assets/wechat/class_list.html @@ -1,34 +1,35 @@
    课程列表
    - -
    +
    我创建的课程
    -
    {{syllabus.title}}
    -
      -
    • - - - > - {{course.member_count}}人 -
    • -
    +
    +
    {{syllabus.title}}
    +
      +
    • + + + > + {{course.member_count}}人 +
    • +
    +
    - -
    +
    我参与的课程
    -
    {{syllabus.title}}
    -
      -
    • - - - > - {{course.member_count}}人 -
    • -
    +
    +
    {{syllabus.title}}
    +
      +
    • + + + > + {{course.member_count}}人 +
    • +
    +
    -
    新建课程 加入班级 diff --git a/public/javascripts/wechat/controllers/activity.js b/public/javascripts/wechat/controllers/activity.js index b89c46300..16a8e71d0 100644 --- a/public/javascripts/wechat/controllers/activity.js +++ b/public/javascripts/wechat/controllers/activity.js @@ -137,6 +137,9 @@ app.controller('ActivityController', //跳到详情页 $scope.goDetail = function(type, act_id,id){ rms.save("yoffset", window.document.body.scrollTop); + rms.save("activities",$scope.activities); + rms.save("course_activities",$scope.course_activities); + rms.save("project_activities",$scope.project_activities); $location.path('/'+type+'/'+act_id); } diff --git a/public/javascripts/wechat/others/factory.js b/public/javascripts/wechat/others/factory.js index 6acf25c59..64204dfca 100644 --- a/public/javascripts/wechat/others/factory.js +++ b/public/javascripts/wechat/others/factory.js @@ -86,7 +86,7 @@ app.factory('rms', function(){ return {save: save, get: get}; }); -app.factory('common', ['$http', 'auth', '$routeParams', function($http, auth, $routeParams){ +app.factory('common', ['$http', 'auth', '$routeParams','rms', function($http, auth, $routeParams,rms){ var addCommonReply = function(id, type, data, cb){ if(!data.comment || data.comment.length<=0){ @@ -174,8 +174,71 @@ app.factory('common', ['$http', 'auth', '$routeParams', function($http, auth, $r } }); }; - args.scope.addPraise = addCommonPraise; - args.scope.decreasePraise = decreaseCommonPraise; + +// 动态详情界面点赞与动态界面的数据要同步 保证进入详情点赞后出来显示一致 + args.scope.addPraise = function(act){ + activities = rms.get("activities") || []; + course_activities = rms.get("course_activities") || []; + project_activities = rms.get("project_activities") || []; + for(var i in activities){ + if(activities[i].act_id == act.act_id){ + activities[i].praise_count += 1; + activities[i].has_praise = true; + break; + } + } + for(var i in course_activities){ + if(course_activities[i].act_id == act.act_id){ + course_activities[i].praise_count += 1; + course_activities[i].has_praise = true; + break; + } + } + for(var i in project_activities){ + if(project_activities[i].act_id == act.act_id){ + project_activities[i].praise_count += 1; + project_activities[i].has_praise = true; + break; + } + } + rms.save("activities",activities); + rms.save("course_activities",course_activities); + rms.save("project_activities",project_activities); + + addCommonPraise(act); + }; + + args.scope.decreasePraise = function(act){ + activities = rms.get("activities") || []; + course_activities = rms.get("course_activities") || []; + project_activities = rms.get("project_activities") || []; + for(var i in activities){ + if(activities[i].act_id == act.act_id){ + activities[i].praise_count -= 1; + activities[i].has_praise = false; + break; + } + } + for(var i in course_activities){ + if(course_activities[i].act_id == act.act_id){ + course_activities[i].praise_count -= 1; + course_activities[i].has_praise = false; + break; + } + } + for(var i in project_activities){ + if(project_activities[i].act_id == act.act_id){ + project_activities[i].praise_count -= 1; + project_activities[i].has_praise = false; + break; + } + } + rms.save("activities",activities); + rms.save("course_activities",course_activities); + rms.save("project_activities",project_activities); + + decreaseCommonPraise(act); + }; } return {init: init, addCommonReply: addCommonReply, loadCommonData: loadCommonData, addCommonPraise: addCommonPraise, decreaseCommonPraise: decreaseCommonPraise}; From dc6127eb788d36f58851924196d84b84ae10fd3c Mon Sep 17 00:00:00 2001 From: txz Date: Mon, 11 Jul 2016 16:54:58 +0800 Subject: [PATCH 09/37] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=88=91=E7=9A=84?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E6=A0=B7=E5=BC=8F=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/schema.rb | 2 +- public/assets/wechat/myresource.html | 13 ++++++++++--- public/images/wechat/courseware.png | Bin 0 -> 23930 bytes public/images/wechat/homework.png | Bin 0 -> 23635 bytes public/images/wechat/test.png | Bin 0 -> 25698 bytes public/stylesheets/weui/weixin.css | 5 +++-- 6 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 public/images/wechat/courseware.png create mode 100644 public/images/wechat/homework.png create mode 100644 public/images/wechat/test.png diff --git a/db/schema.rb b/db/schema.rb index 32d29d31a..694d4df43 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -562,9 +562,9 @@ ActiveRecord::Schema.define(:version => 20160709015740) do t.integer "excellent_option", :default => 0 t.integer "is_copy", :default => 0 t.integer "visits", :default => 0 + t.integer "syllabus_id" t.string "invite_code" t.string "qrcode" - t.integer "syllabus_id" end add_index "courses", ["invite_code"], :name => "index_courses_on_invite_code", :unique => true diff --git a/public/assets/wechat/myresource.html b/public/assets/wechat/myresource.html index 6d93d026f..4a28b2d3e 100644 --- a/public/assets/wechat/myresource.html +++ b/public/assets/wechat/myresource.html @@ -11,17 +11,24 @@
    -
    发送
    +
    + {{r.filename}}发送
    + 课件来源:大小: +

    暂无课件,
    请登录Trustie网站,在PC浏览器中上传课件。

    -
    +
    {{r.homework_name}}发送
    + 作业来源: +

    暂无作业,
    请登录Trustie网站,在PC浏览器中创建作业。

    -
    +
    {{r.exercise_name}}发送
    + 题目来源: +

    暂无测验,
    请登录Trustie网站,在PC浏览器中创建测验。

    diff --git a/public/images/wechat/courseware.png b/public/images/wechat/courseware.png new file mode 100644 index 0000000000000000000000000000000000000000..77d6401fd16282871ee75f98333135f3c8f94784 GIT binary patch literal 23930 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 literal 0 HcmV?d00001 diff --git a/public/images/wechat/test.png b/public/images/wechat/test.png new file mode 100644 index 0000000000000000000000000000000000000000..e67567b6911ebd925c9cdd349c41b190ceebea77 GIT binary patch literal 25698 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 literal 0 HcmV?d00001 diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index 2f9ad7e88..9493fc800 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -33,6 +33,7 @@ blockquote {border:1px solid #d4d4d4; padding: 0.6em; margin-left: 1.4em; margin .mr5 {margin-right:5px;} .mr10 {margin-right:10px;} .ml15 {margin-left:15px;} +.ml35 {margin-left:35px;} .mr15 {margin-right:15px;} .mr20 {margin-right:20px;} .ml25 {margin-left:25px;} @@ -184,11 +185,11 @@ a.underline {text-decoration:underline;} .class-search-icon {position:absolute; top:16px; left:16px;} .class-detail-search {width:100%; height:33px; color:#999; background-color:#fff; border:none; outline:none;} .border-top {border-top:1px solid #ccc;} -.class-detail-row {width:100%; height:38px; line-height:38px; vertical-align:middle; border-bottom:1px solid #ccc; background-color:#fff;} +.class-detail-row {width:100%; line-height:18px; padding:10px 0; border-bottom:1px solid #ccc; background-color:#fff;} .class-test-tip {text-align:center; font-size:13px; color:#444; padding-top:40px;} .img-circle {border-radius:50%;} .member-banner {height:24px; line-height:24px; text-align:center; vertical-align:middle; background-color:#dfdfdf;} -.resource-width {width:80%;} +.resource-width {width:76%;} /*20160614班级列表*/ .course-diff-row {width:100%; height:28px; line-height:28px; vertical-align:middle; background-color:#fff;} From e3fe95213fbbb429dfa4b1566e60bdf23e67d25f Mon Sep 17 00:00:00 2001 From: txz Date: Tue, 12 Jul 2016 09:34:06 +0800 Subject: [PATCH 10/37] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=8C=E7=BA=A7?= =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E4=B8=8E=E6=96=87=E5=AD=97=E9=97=B4=E8=B7=9D?= =?UTF-8?q?=E7=A6=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/stylesheets/weui/weixin.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index 9493fc800..657cbc65f 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -7,7 +7,7 @@ body, ul, h1,h2,h3,h4,h5,p,pre,input {padding:0px; margin:0px;} body{background-color: #efeff4;} ul li {list-style:none;} img {max-width:100%;} -blockquote {border:1px solid #d4d4d4; padding: 0.6em; margin-left: 1.4em; margin-right: 0.4em; border-radius: 4px; font-family: "Microsoft YaHei"; background-size: 100% 100%; margin-top:5px;} +blockquote {border:1px solid #d4d4d4; padding: 0.6em; margin: 5px 0.4em 5px 1.4em; border-radius: 4px; font-family: "Microsoft YaHei"; background-size: 100% 100%;} .text-control {word-break:normal; word-wrap:break-word;} .f12 {font-size:12px;} .f13 {font-size:13px;} From d4681eea00f5f7ddad3d2e02467468b907027986 Mon Sep 17 00:00:00 2001 From: yuanke <249218296@qq.com> Date: Tue, 12 Jul 2016 10:25:18 +0800 Subject: [PATCH 11/37] =?UTF-8?q?=E6=88=91=E7=9A=84=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E9=87=8C=E9=9D=A2=E6=98=BE=E7=A4=BA=E6=9D=A5=E6=BA=90=20?= =?UTF-8?q?=E5=92=8C=E5=A4=A7=E5=B0=8F=20=E5=B9=B6=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E8=AF=BE=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/entities/attachment.rb | 2 ++ app/api/mobile/entities/exercise.rb | 1 + app/api/mobile/entities/homework.rb | 2 ++ app/services/resources_service.rb | 18 +++++++++++++++++- public/assets/wechat/myresource.html | 8 ++++---- 5 files changed, 26 insertions(+), 5 deletions(-) diff --git a/app/api/mobile/entities/attachment.rb b/app/api/mobile/entities/attachment.rb index bb67b6d28..ab6f6fd71 100644 --- a/app/api/mobile/entities/attachment.rb +++ b/app/api/mobile/entities/attachment.rb @@ -29,6 +29,8 @@ module Mobile attachment_expose :quotes attachment_expose :created_on attachment_expose :file_dir + attachment_expose :attafile_size + attachment_expose :coursename #所属班级名 end end end \ No newline at end of file diff --git a/app/api/mobile/entities/exercise.rb b/app/api/mobile/entities/exercise.rb index 3218264fb..14c530a9b 100644 --- a/app/api/mobile/entities/exercise.rb +++ b/app/api/mobile/entities/exercise.rb @@ -3,6 +3,7 @@ module Mobile class Exercise < Grape::Entity expose :exercise_name expose :exercise_description + expose :coursename #所属班级名 end end end diff --git a/app/api/mobile/entities/homework.rb b/app/api/mobile/entities/homework.rb index db3e44119..17127f0f2 100644 --- a/app/api/mobile/entities/homework.rb +++ b/app/api/mobile/entities/homework.rb @@ -94,6 +94,8 @@ module Mobile homework_expose :homework_anony_type #是否是匿评作业 + homework_expose :coursename #所属班级名 + end end end \ No newline at end of file diff --git a/app/services/resources_service.rb b/app/services/resources_service.rb index 96034b4ce..41f57429e 100644 --- a/app/services/resources_service.rb +++ b/app/services/resources_service.rb @@ -1,7 +1,7 @@ #coding=utf-8 class ResourcesService - + include ActionView::Helpers::NumberHelper #发送资源到课程 def send_resource_to_course user,params send_id = params[:send_id] @@ -59,6 +59,12 @@ class ResourcesService attchments = Attachment.where("(author_id = #{user.id} and is_publish = 1 and container_id in #{courses_ids} and container_type = 'Course') or (container_type = 'Course' and is_publish = 1 and container_id in #{courses_ids})" ).order("created_on desc") + attchments.each do |v| + course = Course.where("id=?",v.container_id).first + v[:coursename] = course.nil? ? "未知" : course.name + v[:attafile_size] = (number_to_human_size(v[:filesize])).gsub("ytes", "").to_s + end + attchments end @@ -71,6 +77,11 @@ class ResourcesService homeworks = HomeworkCommon.where("course_id in #{courses_ids} and publish_time <= ?",Time.now.strftime("%Y-%m-%d")).order("created_at desc") + homeworks.each do |v| + course = Course.where("id=?",v.course_id).first + v[:coursename] = course.nil? ? "未知" : course.name + end + homeworks end @@ -83,6 +94,11 @@ class ResourcesService exercises = Exercise.where("exercise_status <> 1 and course_id in #{courses_ids}").order("created_at desc") + exercises.each do |v| + course = Course.where("id=?",v.course_id).first + v[:coursename] = course.nil? ? "未知" : course.name + end + exercises end diff --git a/public/assets/wechat/myresource.html b/public/assets/wechat/myresource.html index 4a28b2d3e..070ee5bef 100644 --- a/public/assets/wechat/myresource.html +++ b/public/assets/wechat/myresource.html @@ -12,22 +12,22 @@
    - {{r.filename}}发送
    - 课件来源:大小: + {{r.filename}}发送
    + 课件来源:{{r.coursename}}大小:{{r.attafile_size}}

    暂无课件,
    请登录Trustie网站,在PC浏览器中上传课件。

    {{r.homework_name}}发送
    - 作业来源: + 作业来源:{{r.coursename}}

    暂无作业,
    请登录Trustie网站,在PC浏览器中创建作业。

    {{r.exercise_name}}发送
    - 题目来源: + 题目来源:{{r.coursename}}

    暂无测验,
    请登录Trustie网站,在PC浏览器中创建测验。

    From 243f0bbe7dc1e586a24f1c9dcc776b153e4b7ee6 Mon Sep 17 00:00:00 2001 From: txz Date: Tue, 12 Jul 2016 10:43:21 +0800 Subject: [PATCH 12/37] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E4=B8=8E=E5=9B=9E=E5=A4=8D=E4=B8=AD=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=E6=B7=BB=E5=8A=A0=E8=93=9D=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/blog_detail.html | 2 +- public/assets/wechat/jour_message_detail.html | 2 +- public/stylesheets/weui/weixin.css | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/public/assets/wechat/blog_detail.html b/public/assets/wechat/blog_detail.html index c77842e4b..05f7d965a 100644 --- a/public/assets/wechat/blog_detail.html +++ b/public/assets/wechat/blog_detail.html @@ -16,7 +16,7 @@
    {{blog.title}}
    博客{{blog.created_at}}
    -
    +
    diff --git a/public/assets/wechat/jour_message_detail.html b/public/assets/wechat/jour_message_detail.html index 0724e98b7..e7a48e9ab 100644 --- a/public/assets/wechat/jour_message_detail.html +++ b/public/assets/wechat/jour_message_detail.html @@ -14,7 +14,7 @@
    留言{{message.created_on}}
    -
    +
    diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index 657cbc65f..5deb0ac99 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -122,6 +122,7 @@ a.underline {text-decoration:underline;} .post-reply-user {font-size:13px; text-align:left; margin-bottom:10px;} .post-reply-content {font-size:13px; text-align:left; word-break:break-all; word-wrap:break-word; overflow:hidden; padding-bottom:15px; border-bottom:1px solid #ccc;} .post-reply-content img {max-width:100%;} +.post-reply-content a {color:#136ec2;} .post-reply-date, .post-reply-trigger {font-size:13px;} .post-input-container {position:relative; padding-right:70px;} .copy-input {width:100%; height:28px; line-height:28px; padding:0 5px; vertical-align: middle; font-size:12px; border-radius:3px; position:absolute; left:-9999em;} From 9d91e9397b08d508d78ec04c04a6c63cc111ce72 Mon Sep 17 00:00:00 2001 From: txz Date: Tue, 12 Jul 2016 11:01:01 +0800 Subject: [PATCH 13/37] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E9=82=80=E8=AF=B7?= =?UTF-8?q?=E7=A0=81=E6=8F=90=E7=A4=BA=E6=96=87=E5=AD=97=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/invite_code.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/assets/wechat/invite_code.html b/public/assets/wechat/invite_code.html index abf588909..a1b225fc9 100644 --- a/public/assets/wechat/invite_code.html +++ b/public/assets/wechat/invite_code.html @@ -9,7 +9,7 @@ -
    +
    diff --git a/public/assets/wechat/course_discussion.html b/public/assets/wechat/course_discussion.html index 5bfb462a3..4c2d2ff03 100644 --- a/public/assets/wechat/course_discussion.html +++ b/public/assets/wechat/course_discussion.html @@ -46,7 +46,7 @@
    -
    +
    diff --git a/public/assets/wechat/course_notice.html b/public/assets/wechat/course_notice.html index d48dbd136..e1d131297 100644 --- a/public/assets/wechat/course_notice.html +++ b/public/assets/wechat/course_notice.html @@ -45,7 +45,7 @@
    -
    +
    diff --git a/public/assets/wechat/homework_detail.html b/public/assets/wechat/homework_detail.html index b156a0e32..bee40bfdf 100644 --- a/public/assets/wechat/homework_detail.html +++ b/public/assets/wechat/homework_detail.html @@ -51,7 +51,7 @@
    -
    +
    diff --git a/public/assets/wechat/issue_detail.html b/public/assets/wechat/issue_detail.html index 998cb58a6..dd9503a5b 100644 --- a/public/assets/wechat/issue_detail.html +++ b/public/assets/wechat/issue_detail.html @@ -51,7 +51,7 @@
    -
    +
    diff --git a/public/assets/wechat/jour_message_detail.html b/public/assets/wechat/jour_message_detail.html index e7a48e9ab..cf5e1d2c9 100644 --- a/public/assets/wechat/jour_message_detail.html +++ b/public/assets/wechat/jour_message_detail.html @@ -47,7 +47,7 @@
    -
    +
    diff --git a/public/assets/wechat/project_discussion.html b/public/assets/wechat/project_discussion.html index 1757822ab..b90d35b91 100644 --- a/public/assets/wechat/project_discussion.html +++ b/public/assets/wechat/project_discussion.html @@ -46,7 +46,7 @@
    -
    +
    From 717bbe2ffa24f34b7086caf3caadba6df66d2c3c Mon Sep 17 00:00:00 2001 From: txz Date: Tue, 12 Jul 2016 14:33:52 +0800 Subject: [PATCH 15/37] =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E6=A1=86=E5=A4=9A?= =?UTF-8?q?=E8=A1=8C=E6=8F=90=E4=BA=A4=E5=90=8E=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/assets/wechat/blog_detail.html | 2 +- public/assets/wechat/course_discussion.html | 2 +- public/assets/wechat/course_notice.html | 2 +- public/assets/wechat/homework_detail.html | 2 +- public/assets/wechat/issue_detail.html | 2 +- public/assets/wechat/jour_message_detail.html | 2 +- public/assets/wechat/project_discussion.html | 2 +- public/javascripts/wechat/build/app.min.js | 2 +- public/stylesheets/weui/weixin.css | 1 + 9 files changed, 9 insertions(+), 8 deletions(-) diff --git a/public/assets/wechat/blog_detail.html b/public/assets/wechat/blog_detail.html index ceac87d03..dded5d644 100644 --- a/public/assets/wechat/blog_detail.html +++ b/public/assets/wechat/blog_detail.html @@ -33,7 +33,7 @@
    -
    +