From 98c6548e3933cc92302182f7f079d9a9b1497ebb Mon Sep 17 00:00:00 2001 From: guange <8863824@gmail.com> Date: Fri, 17 Jun 2016 18:18:03 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E5=86=99=E7=99=BB=E5=BD=95=E5=92=8C?= =?UTF-8?q?=E6=B3=A8=E5=86=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/mobile/apis/users.rb | 11 +++ app/controllers/wechats_controller.rb | 4 +- app/models/course.rb | 5 - public/assets/wechat/app.html | 8 +- public/assets/wechat/login.html | 25 +++++ public/assets/wechat/reg.html | 43 +++++++++ public/assets/wechat/templates/alert.html | 12 +++ public/images/wechat/QR-code.jpg | Bin 0 -> 29738 bytes public/images/wechat/arrow.png | Bin 0 -> 21159 bytes public/images/wechat/checked.png | Bin 0 -> 1092 bytes public/images/wechat/dot.png | Bin 0 -> 27646 bytes public/images/wechat/female.jpg | Bin 0 -> 3783 bytes public/images/wechat/female.png | Bin 0 -> 22752 bytes public/images/wechat/male.jpg | Bin 0 -> 4136 bytes public/images/wechat/male.png | Bin 0 -> 23849 bytes public/images/wechat/minus.png | Bin 0 -> 23318 bytes public/images/wechat/plus.png | Bin 0 -> 23367 bytes public/images/wechat/post-avatar.jpg | Bin 0 -> 2756 bytes public/images/wechat/search.png | Bin 0 -> 1550 bytes public/images/wechat/setting.png | Bin 0 -> 23839 bytes public/images/wechat/tr-like.png | Bin 0 -> 2027 bytes public/images/wechat/tr-reply.png | Bin 0 -> 1908 bytes public/javascripts/wechat/app.js | 7 ++ .../javascripts/wechat/controllers/login.js | 54 +++++++++++ public/javascripts/wechat/controllers/reg.js | 42 +++++++++ public/javascripts/wechat/directives/alert.js | 16 ++++ .../wechat/directives/form_validate.js | 10 ++ public/javascripts/wechat/others/factory.js | 57 ++++++++++- public/javascripts/wechat/others/routes.js | 12 ++- public/stylesheets/weui/weixin.css | 89 +++++++++++++++++- 30 files changed, 378 insertions(+), 17 deletions(-) create mode 100644 public/assets/wechat/login.html create mode 100644 public/assets/wechat/reg.html create mode 100644 public/assets/wechat/templates/alert.html create mode 100644 public/images/wechat/QR-code.jpg create mode 100644 public/images/wechat/arrow.png create mode 100644 public/images/wechat/checked.png create mode 100644 public/images/wechat/dot.png create mode 100644 public/images/wechat/female.jpg create mode 100644 public/images/wechat/female.png create mode 100644 public/images/wechat/male.jpg create mode 100644 public/images/wechat/male.png create mode 100644 public/images/wechat/minus.png create mode 100644 public/images/wechat/plus.png create mode 100644 public/images/wechat/post-avatar.jpg create mode 100644 public/images/wechat/search.png create mode 100644 public/images/wechat/setting.png create mode 100644 public/images/wechat/tr-like.png create mode 100644 public/images/wechat/tr-reply.png create mode 100644 public/javascripts/wechat/controllers/login.js create mode 100644 public/javascripts/wechat/controllers/reg.js create mode 100644 public/javascripts/wechat/directives/alert.js create mode 100644 public/javascripts/wechat/directives/form_validate.js diff --git a/app/api/mobile/apis/users.rb b/app/api/mobile/apis/users.rb index 6ce3cacbb..7800382ad 100644 --- a/app/api/mobile/apis/users.rb +++ b/app/api/mobile/apis/users.rb @@ -4,6 +4,17 @@ module Mobile class Users < Grape::API resource :users do + + desc "绑定微信用户" + params do + requires :login, type: String, desc: 'username' + requires :mail, type: String, desc: 'mail' + requires :password, type: String, desc: 'password' + end + post '/bindwx' do + + end + desc "注册用户" params do requires :login, type: String, desc: 'username' diff --git a/app/controllers/wechats_controller.rb b/app/controllers/wechats_controller.rb index 169a33fce..887587a5f 100644 --- a/app/controllers/wechats_controller.rb +++ b/app/controllers/wechats_controller.rb @@ -145,7 +145,7 @@ class WechatsController < ActionController::Base 您还未绑定确实的用户,请先绑定,谢谢!" } } request.reply.news(news) do |article, n, index| # article is return object - url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{login_wechat_url}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect" + url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=#{Wechat.config.appid}&redirect_uri=#{root_url+'/assets/wechat/app.html#login'}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect" pic_url = "#{Setting.protocol}://#{Setting.host_name}/images/weixin_pic.jpg" article.item title: "#{n[:title]}", description: n[:content], @@ -175,7 +175,7 @@ class WechatsController < ActionController::Base code = params[:code] || session[:wechat_code] openid = get_openid_from_code(code) - raise "无法获取到openid" unless openid + raise "无法获取到openid,请在微信中打开本页面" unless openid raise "此微信号已绑定用户, 不能重复绑定" if user_binded?(openid) user, last_login_on = User.try_to_login(params[:username], params[:password]) diff --git a/app/models/course.rb b/app/models/course.rb index d379b24d3..c9ef010e6 100644 --- a/app/models/course.rb +++ b/app/models/course.rb @@ -465,11 +465,6 @@ class Course < ActiveRecord::Base code end - def - - end - - end diff --git a/public/assets/wechat/app.html b/public/assets/wechat/app.html index cabd224c4..6965d24f3 100644 --- a/public/assets/wechat/app.html +++ b/public/assets/wechat/app.html @@ -10,6 +10,7 @@ + @@ -17,8 +18,9 @@
+ @@ -30,8 +32,12 @@ + + + + diff --git a/public/assets/wechat/login.html b/public/assets/wechat/login.html new file mode 100644 index 000000000..d34d0054c --- /dev/null +++ b/public/assets/wechat/login.html @@ -0,0 +1,25 @@ +
+
+ +
+
绑定注册
+ + + + + +
+
+ + \ No newline at end of file diff --git a/public/assets/wechat/reg.html b/public/assets/wechat/reg.html new file mode 100644 index 000000000..9184fd0ed --- /dev/null +++ b/public/assets/wechat/reg.html @@ -0,0 +1,43 @@ +
+
+
注册登录
+ + + + + + + + + +
+
+ + \ No newline at end of file diff --git a/public/assets/wechat/templates/alert.html b/public/assets/wechat/templates/alert.html new file mode 100644 index 000000000..b59a1b87f --- /dev/null +++ b/public/assets/wechat/templates/alert.html @@ -0,0 +1,12 @@ + +
+
+
+
{{title}}
+
{{message}}
+
+ 确定 +
+
+
+ \ No newline at end of file diff --git a/public/images/wechat/QR-code.jpg b/public/images/wechat/QR-code.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba2a9e6a3ed11d223342f0093c71b845735700d3 GIT binary patch literal 29738 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 T6OyWr!$CfJ)GO$>f9C!db}~`> literal 0 HcmV?d00001 diff --git a/public/images/wechat/arrow.png b/public/images/wechat/arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f9b18c5bf500b5b1d95f33e0c4404217148aad GIT binary patch literal 21159 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 literal 0 HcmV?d00001 diff --git a/public/images/wechat/dot.png b/public/images/wechat/dot.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1c0104e6d8c36a867507e927431299c758b9f8 GIT binary patch literal 27646 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 literal 0 HcmV?d00001 diff --git a/public/images/wechat/female.jpg b/public/images/wechat/female.jpg new file mode 100644 index 0000000000000000000000000000000000000000..219865572d134fd727a6192ff01f539322e3a780 GIT binary patch literal 3783 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 X#=BIQwe5HrP^?{gp7sR$-?#riPNQ%> literal 0 HcmV?d00001 diff --git a/public/images/wechat/male.png b/public/images/wechat/male.png new file mode 100644 index 0000000000000000000000000000000000000000..9f1214a4c8258b5015485c899ecee3caed81f48f GIT binary patch literal 23849 zcmeI42UJr_*RT&w>8Kz`Z{kII5^4mb6BGpLh?J0onh=Cgr7DPkG#esCniK(%A|Qf9 z>C%gUfCxxassbVc`UkP(-s^pNzwiD2|6ku)WUVASGkfoud1hvxJtu3OFuhZnbkuCr z007Ww!PN8#-z8gb$~}Znh1NY_!WWeb%*+h{Xc)KNB*5*&LjXXnOB( z_vnDxWi3Stpg-r@5DU#+~ef zFqPlvVDtR2I5NgN_6%L90%tk8&z5SOFEK8GpAj}irrkyh0BmcWPrt|>kC~brADy(F zLN6@WrG0T)#PTWfzJL9t@(L+AukIEU?c`670PS0N1M5 zqLqY6fY!K-HvmvMeduiVbr$V?M@@qE)U4pm;FB3Evt zWQ6lVFYmXB>gQ{tWQmU==Yzu}uLfrDyuHkHny;?WHG?!q#WB_b#{WUol}Rr0tkUP0 z!A2f%_(pi8Cg^%l(P^?CQg@|C+1za5^(k(hI7tSJz?*4Koopps3W23*S)C`R-En|l zcoZVA6GU%&n@LJQ>7i&&$xczgcR!d1o_=NV3qikd#77-l6xrcU54H{qlHQF&=WTZ z&0&;uzb(+3z^vMwA)5Z8YabTU-UztBYLfaUF48PSbnePQAUj>`6;^iSA+p z%tnyaiS;~d)}b<1@p$b_itf1hMnj1{Fnhe+ErwfIBU7P|LcRxMpC7mZy>II<}BGVw$kZyR0Pc~LUac*cOZN2Vv+qR;!q#M`L(kL>N*Pquk8zuK5(J2}JpxKF-tvrdv?#9+(-CFfsdGv?VK$f2RM6=;g0#b z;@n$2&@PoT8KaUlIkh=8Z%ypj?NZ&6mZVrRPsTJKi1UbJF~DSnXF1>TX}&SRHeb>8 zuzMvv;c>!H{!2{Hs}_Yizua{lu>|%eiyDOm<>kdy)3I|cZ<4YSvYsu)Oo>~1SejX` zS8?eUCmu=emB2I()|!u0HJ`VJDk`8px4k7(tXCwx<8vqUN#+y2*9uSg{d@i6{r7Gp zuOIu|yczweder*^^ZQd2)+A3!CP=D+*n*15oXEJz1~mQu>gBbw;T z<=hUe@hoe8Oh<*l_r%_vE-}EJ!>x++=8c=J+f_xqkIuRB=-8lRsjG)wo+DZxjhIa+ z4=le|9^@7JN&S7?0UYCDs=2W7+WuOFus3d`Q|Q}}#PQpPH*tvj6GLf_SSH`LH79$@ zn@O3)_{xUdIuKWMeBvUHik|o(-H9w`9Ztp%!3iO{>QB-l(@qzbm7kEmI+^NwTiDC|khxbmtO|Cf2lCqX z%eysxnhVUnRWT3r${!T>mwTDLAK|N3f6UAuVZh=k2C~qvKzcbWcKJ2iHy7R9)EhI^ zH~Qe{J@g?;|6 z7p~7%J{0ycajH`HTXF81zwj!W&4#_AdeZ+@xu&OXU2^pKyXW_QR9~2J#9`4x1=ZC> zR2Y5fNG=%EWg;OEJCHDU+w-Bz86o;-$`eojc%A8c{*B&rYFo`vP3!CUfU*_J8JM?l z7qr?vPc$8qqL5m(FnuLGiPMr(^GVrP{{_$+gnNTjv`KPGlAyx-webtr-ee)Ol9Nsy zSLlf!@?O>6hX+Maxz1vjriZk6YH6Io7$*9q`!^|H7^BQ=gc{9q+1z`dRie=OeE;$^|M`K6!kc zWAUV(*B-L)iS{bkcrvj0ZtrJ?cL60|3Q>5>$R}&Ob$g8&!vZ~3X!4iqU%Nv`yEI!g zU+`=2M@A=cbFh`pI_Fjs8WNwTSlW``$TA zt_!(21<(fm2JXr>Z-w`n8~JU6ehcLb6|WnrxZ?#kl)mUKb$&)PWOeASDo*)+*$`h1 zURoFEx&r|K6&?peQ=F-eHWY!yh{2Iq8j5a z-#5Qdg1l8M&d2jj1?Qx|r@Yl5kExCxk1Ey`#UmvqEsBtkmf?|+69Y-f$VkeF@PH*i zQsNR2afpN{7y^})fJ%aSzQ6bssR@$2E7BIKucq<6Il?amK6@O_1u8D?>FFuv2@%7( z+KGeY%1FIAN33F zzu}6Y{#!>bKMpd#@7K@jf5eD$u>FUQY}Ndu8OqDyAI!FDw#~k+sqLwjCs2o~x}xAX ztg9gwi&orTuD_09gj3ko^5hXTad1XrJ>8DVi~rT+*TVVb4W$Ohp%e+0(xMX5q9BMN zND>N`g@VAs60%SU2_h%knt$=3L)b(}I1c_BFA!;{lr*uIKk5F}4;JZQ>-}$e`K3wZ z1BrmzVqGzCoT38;ZifaAyQcOHGkbAm-qJgvuc$Y`_v= zDN&S+El3mvl0=ExAZ#T?A(9Xoq$FHYLRLcN8x9>EV)MVbR>LCPw>A*L^>(a5Vi5%Q zKNk`dY>NUz~w(r|<%N)`@*Lw+ADiqac4N1 zNM~y-NJ3+>GIFxANQjN74GJP93YL_V5w(F3#v%ifm4V2B!E&;aQa_sbjhnwU1#@sC ztUGU_^+;Hi--4Y1>fE18e^j6yz6C88xT_m#Yfmfi{n*q$qukFRwq^4zHbCKst#GG^ z*jnf)q`df_N`H0hr{#AuhrdtfzlUJkKau%Ax8Z4za{gBvW!u#^t$%jnhPB0c!d+3y zc7zr3@9g1iuYWfCt9yCzt;+-2;s3%!xWPUCvuUsaN!vn@(hyNOTM%4SQd$x&3YP$Z zMWx_!HnI>|hzwzm{g~$e?leHaP$|%lNb~=18h))}ggxBZ4uw<{|1q*31^=674kRgO zOPDG`n39nu%$yA&9?Hqt+KAdpA;D6T5TqO&h4?YP|MtugUn6#B?tAdVI(wj8|105- z5M<$mbQb06rfBPm#qhvgT+j{(_*N(t_i#pj&j){Afp~CO9-_Qvr{r57J?P=ZJncKO-_BHa)*~*U$=RFk~ykl=#OCbGxfV z&VJVx_CHNBw_Ev*n_sQ{mQsjEtZo>~6Oa zVj4TjySR2lM69rji?rTz+7S`4!Y(di z8av9nxOPNDtgwrVn8uFsF0LIB5i9KCBBrsUyo+l`M8pcaxQJ=&DDUFh5fQP%E-qpk zJIcGbc0@$1u#1bB#*XqXt{o8(E9~MTrm>^Ei)%+j#0tB(h-vI7@8a4K5wXH9E@B!x z%DcFBL`1Bxi;I}Xj`A+99T5>L?BXJ(v7@|;Yez)H3cI+7Y3wNP;@S}rvBEAcVj4Tj zySR2lM69rji?r?BT-3iF`+#yLJnO-e z@KA?SpnWrh2SV^5VEQ@$;3EJ4ffoT_?JME?EdaPn0KhwI0D#^C02b_3t2zw;*e9f= zrfldnFq`BMV^nuAu$t9_Tv=0n|G|CfWZ^W~*}5P$CQpht%yHCWM-$7{MVkd2ZLUy< zEBno_YYe5|q;@>JmqcAp!>{}SKbVy7m|)F#!`q`&V2K*s>fDo6U!#H&kr|KIPhKz2 z4f=h?opyJZqT`JdPa%IQX+4-Hqf+RTlHC!WrXn0poi8X<@=Mq*C6xTW+VpOrw6bIW z@xZB<9A32jsv*W~&zFOnu~e1UGg^d7Y$AH`!jqz@s`LVm1Ee)URqnL;wQaWe%Ne1p zgxZT9_yl|#uhEGRW9i`hps%FIE*XOkp2-m(B*Bs-spch$vv6FBHUVY)O6U5wD-~NKT#nqZbf;*esHa;LaQaC8UOVBQe z)z)|9O=i&%++J%FYnH=`@bf8*54_0=9@E|;^`+1zuO~Z*kHg;s21k8HsCB`s6dLOl zg(WmqG>hgup(1ab=du%-l}wh*mx7|eRo&+JL)NGZbEnB^rB&&;!Q7<2(@T50kKo+8 z`8nWUUhw=H5&#j)r`j`eQvJNFYTYcy{5!Hf_P1ryeE}C9yAcvxG`Bz z()UoRqkY3)W6~y+MEsT+5Qo7rfEA{0b6;tBbJc$2R>(X#twi<5{k_#;Yafo&nqC%h z9KzJUE=Bn>$=1~5)Hd>`ieX z<}2ht?d!`{rS=cgM~_*kObCzgj12Y*&8toyAG0$#=Vuy4ekUN9yvG+_AMW7nQYXVcFCMGR_P~G*Le-xw4TfF5A*XHxI*Qp7b)VQt@LpL6JDEaR#GBPuSclJn(X}bC8ze{;J^8z$X$fd}X~S;4Jx7^srD1w|Nhk zjLFEvL}r@w(MG|Ad=KTZxIwQcaVXn7#o)!Pcxjc=D2q#vlcwD#43JcQr!KhLU%1;- zRT?tPaVX;TMU*jHY(ey5Zl&DfA4uVswp4y5%TE{P-EyzT-GH*YN@|qSuU+>hzbZR9 zM2Wf|k70GZ#8) zzy*x(>AL%KnL)WVKHmy#L0E-}OqOTHc|)>0ay$3OJAHibqu9LhzD1zQkmM`*N3tX5 z1q*18CpgrwK;y(ERXmQAxu0!6+8DL4w~?NkM4`|tJyAQNX?eY zT4hJr+>4%8(hbdyRP5C&OYG@f>B!=9yDq)P8sGUz%dg~_RCyDnk0o0O*Yvco-vuB0 z$ce^zmcga&1~T)z8e4uC`(L>}g2ad#gj)>P`6qfAAe$7V6iOm$*u?kVycck)yhVAC zo@Z#8#{Jt2soU&De>l3B;WKq59>#M`$K&$E8y7!?W#0biClzdw-7c*>k%O@{( z`~jU#vNC?12w?~_Eomw|O_S8ja+@dg=^*m*$F||}gO3f;EH3jt)U)Zo>vvtD|OROd2C(`#5roZH=bJSGqJA*M_>ouQO zY5ND1QAX3_Ikof4ucAOyuR6z8Sa=&|gqoJZ>YV1T8>JpsMaZb6J{x;j+Ip{pVny%} zx=qskvX*^9XtVC==nGFLI|}@?RR-l_{BHX&(RPbk=2CrWPaU#O#c)+x=5SHeaLi89 z4IO4qH8-#PBEKRih~{eI&|$zpgunW_3kouuRT|Hj2A4LSApE$QvAL)3NJ(q(6(7YD zJ`T(g9l~Ay-Qfp~k*BBm{N|NA1?ObSrBgAd=Fl1R6d|n)kM0&yVwO&pt8r3?>vVtd zDeN%V_UolwZ&=XxtdR{k9`>n6`_80T7mk~DdvI|epgaeCYAOFUYmsH z>q+$cGDB3WnjTUqyck>YG~OCj@vW;ysmIa{JX5V9jJ-X#g1-!WSXniUJCL=%qh@U7 zNto8O79Jddn$1!aXmeH)j_6w#VM}dpK9L*PE_$=m-0uX(AQiJPf$w5Y9he?ClWh=Y z1L<28L9U)OREaJ$)qsrfxC?>KnE9WKqFS?cVjS=&P5<)F$c7{8mBjFeLm^_;o(@a0 zlG4zl=sQShF!Y=A*f+H3&faCFaH|s{W$UEYXRjzo_O~9Tb-DR@BB?t@@R)g}dJ2fc zeZNoeMA7H8LQch_q-~|XttP6~Z_k8?i3=wMy?XoDW`uO5gwPu?`*(ON#n5fF}piL(IEE0tm3Nt0-dybXQ zR~1U)eYQGcF>SqJh-S+vgxcS5DhxPVi?jA}43-|cv{|h0;khV~jPe0kx!eJfe6UAt*I; zF+&7)XUnXBES;k#RoEpC`sisQEiKOF6$;;4D5c@Ym~1td&6Pzqm6NcN`M8ExIT@Du zPTF*9h%$xj#ud;qQqA0S_e`?I@bu9EK5M-zkwv_k`e!eY-|NrZ51z_j>YmA>E9xJ8 z2ehzLdc96D+M1#U(rDRxy26LkoLJmTjnA;fTRiM!S}HxvsKS09V20l7wryle&D@{6 z$>47liaL9u*6s~DW~-mYLCu`KPA5k=XKmNRl1lOH{n2UWNpXQwHqIHBIA%OpoIQa! z0E>{xQp-cz4OGO{fSLJXW03mx#jzjJvzc_}*LpMi1e+hUtOMym&QZ;et_OCHf1XY~ zN|<%~`ff1?+99~2T5)NbY)9qYQry`#C%m77y#)IoP4so`mc`vc46${=CEa@t?HLMN z_dRk056tepqb`h-a=Db%XC%YFg36FtE)ka?k!?~nGs5SnmGe#O+s9~qdJ}XC@uS%1jS5kXHbgF_{Yi1gNfRCoDuXN%W_N{W&Wx~#SJzc)}#EYx^ zD5jvyrn&EN`;{EO-T>fghM&X(Z#B$oa@oC2mja4eW!7zIi|Fp339&rR!f$|4bO@@w zrLFGKhodiVm63K&3a(|xzIn6}5Btz^H)9`*iU}{MLJOIL4hv58$JD27wg@Ybe^mK+ z+TUsT$lzhUP`O5x7oJBqQ#_;%9x%y1^L1I)o@RJhu-2*xR#J#=c`LSJ8p?$)gq;|i zWAyK(xzchc)`snvGrlIWN2`q!Yg7M{EG8vkHTKqgEbKs19rIujyDO~g3+!W>Uj1@J zYw@RB*WdVvdD6Rb)Xm_zNQSU(DbZ_i#qc8umQF>i7u(gMLX(@tn?D=DDm@T~*&dMF zhjMHVQ3*5I^$VtX>_EDwK;kRo_8zR^2VjEiaEv$EROXXkc2l%S5!;=C^=eXFUlH_x}1JxzA>gK+H8yEI{5 z2-|1!QRI%1y_qme`{`zLZ1Wx?xgB&PZphnjRc7;t@5VZg@E-nS zqGP$n z3T`Qz57RcuhrL|#Vvr^IMCV%CbihcmN~NI96j^ak!By{+`glz^FO1R=J0939WaL(J zS)r_s0bkuxko)%4DRK|$%3-&_uYfME)=?wtgP%=&gA%(vMLQ^7`nw-0I-lYG%-x*o z3YiAaqom_K4Dtsn6n!s_*E}YB>Cna5$jff@IHB)6W9Wn~s3s-4RdY5J%4M92IUOPb z%j23JuBAN*O|a4&_X;H(6sn4Rb=;k<6})%9w@y|- cVFL@)P*R3*jZMdHJ#$h^{gm2$73&NC2S&o0?*IS* literal 0 HcmV?d00001 diff --git a/public/images/wechat/minus.png b/public/images/wechat/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..32d82ea8484c3c4d07a6474e8e2f41976ef0db7b GIT binary patch literal 23318 zcmeI42{e@L`^O(dC=y9g(V!G#_BBh!?j=jsqKq-a*k)p^MHCU)%9f=*^{neHk>m7Zm`4+Hy7q+8>x$tkpe1U0_RkG+LVO6#+mLi-qq<%#$N3g~H}6)3^Gh4`%u$dSsJ-qccnbhV1%iXZSZB09@ttM> z`~b66T}iUK_si}Ii&b`jLNd?;ksO@Imt+OpQMbOc2)MHZIJ5Dbt0<5H0A9g6ND!b% z3>Y3W))E9B6&~o20UqToD-;Ie`GA8ehD!YFF9Xgt5msva?CZdh;`I>qIqVX?aEFUX zL;mn8K_DQ(K54;vXCV9_Nv#f0!1DvTE2QcL6ifwhnZqMl32U04pi3Rqq+?&(?=820m{kW~vP#xlc{lZm z{lIy@l?RotF$qxS^536991F z>SW@2RX(6T{peEws2p12cp^o{^tLbn=pBhzdq!vO{A-Jf+2YyPmRGW6_{l*p)6 zH6%zvec{VQbC;y)EVX76AI-UNMnLw+!pvTY^Vbk~vB4fm$A}k986oE-hpsQF+#@na z=Z>%xc_lGsp-aLeNQ1D ze-;oLn?MO~Mu^k)JtjNui`IAEYcIR1dNHNn9%Gw`p)9w@1xU-W50OWNmH6YrrG|yK zL`q!u+Le@KXm4t-dqR0w@w{Y(u${>6NW}HkkOL>o&nt&WPTmZ1A(kfD8x*g4wQ|ME zL&{rLi%V@iV5B5|cYogo(Ur@bpa@JNwmec_?|!bLH}!<&q~ zj|5o2Hbxgpq5U(J>$4W?)*glCw>D+c-RKkUuxG3ak2bk(=?Cvv!yh8$4!UJ5$Y9vmuYI?6hjem{WGXS$ zHZ?4Du*llR&qlj7xM-gBNt*>Hx7darH?TQp@w8Cn{^FCZh0AR&7h+2qtOBhPEgCJi z=3m)5wd(^#?ChQ>gCl#4@~tUlx0lARTznfzeQi&A;A<=JLd`S7%w_Z0$zjs~!H;qQ zuMKJnY7J)?xj*(MDu8^jv6Lj|DP(9#DUr)a0bPT|@@+OD*@ zy!3s!_~nbX5r1aR`W&^KaiTYI!e68UTVYudRnhL>_+0BAw@n@aQhU4C2 z`QtLrM;?qc%j4i^VQkV;F9e=4T9-r_^30%@H;+d4o>*AxUXgs$J-^vFe|7n)SJ7@y zF+nm~v|`3Gmtu4mwZl_`>_SJjAH8|>R^OF1^(mg2w2J2Q_gHmxchowH9~IvnP9U^q zdmbWRd0g54DL(3$e)cVsIBZ;XT3gzVTER54w29&jTP@pQ+i}~6#l{aDU#PwCeqiTi zA!nC0KZ}@Ed-24ntW!4wvb?(&Jz12vre)3eMxQps@TXzX;ml#7mxOoZcgpX)-!(3; zTPC^u!8+Eu9lk98x&SX`<%^@e=o^JM3vWELbCYw+^~-sSkvaZHQmtfqK)TFE?}FF@ zpTi-wsr|CADq1ew8_&|sjA)XOw`h(erR|mpmke||8U6R=qtys zK)N-rD26=m*ZBJRsv=|~&Ix!5$j>=A=h$3~ zV7%aEA=rE^Y0`WVF$a0y0}Qsz8@Wjes>4k!vst=EI7fPu+y{8wD$^AY7AEXz6z-M? zV;r9}eO7l-IHt$YE2dnYzVx8XWay$bYmr6j&n?eyWNl+js68m|bNJ|1mGC;TaNnhM z?H(6>1Kf%|ysW$^!&&9wA@C_^1rY^t0OiyA?{c-vzrAtgH{ zJKsu-o_1dKA-qhb%$%mGdO)l%c)+_x?m%?SM4#fM-`jR+uPD>z{PR{N7UGLdVJB3B zHZR#6RBlvdwCO&ooA&wnq~g3?i+5Bdov|oCbM8@jki+X9$W{HzixuNG$^@z-oUAHb zgXp6zp|$R{XVa!Ep4eO2yzvO`c#~kYyXDw1UDaK7=+wfLyR|+gW1B8fq{*qSHX|PC zt($Fku9ZpMTFfjyQS$zbLHWQFyA4}gcZ>&nx3zVdl-0a^Vf5nY3!mZ%hpVSesyuXB zoA!)~osxSU-!He-+oX$?8{#pZP=CI@rd|L;#=P8Icd@wrO)fV7T}aMOr&`;oQzy%= zJYLoI;A&^!_P64@mrJkf8c7+hyr3Fn=UJs6I_}f*YFB5XtczU5)q$|ia>GFLTZa<2 zAKO0no&LxR4;I6#>uj}+*Titzp$M&Zd zL%9t%I&Rc=AKY0sF8snMShay>HQ)``1sy9N`T zMk|?PkO`M|<+49cX_jajhB2pljZSZ7yr53hzO>UQVU3x+Sl2vqZ|4UOcB|jR_Yc*b z4hL6_+#Z%I^I6rotX#Qb{C&W?mokB(uS`3fLK1^cf4b5(^?dG!1MeEFi<@ZrOxnmgCPh60t}9XA(2qf1L_y-!y*Skef$(>L}qpLsD2b* zI+I0b_$W;4l3f`7EKLYxx}ons->%D>`Mn_@zi;e7im)Iu6NXTS!+sa!O8Fkc^!N4p z+BH`SjOs=8ruwk_z&ONj<3OZlX5T}9+nl%eZzKI!`T^h-d?WJPNI&afCKYBy^<((^ zQmFa?U{4f(*Lgpd74-+)e;@_A|5k`Odyx5kzrI)hB}NvV_7@$QuKCL_Y7qS|!lr9x z!oJR_nW5GIsS|a5sbm(z*P6lb(wdpBKaOGGDQtRrDyZ1eeOwuVerq&fzlQvnI6u^= zdSn(=3yj1<;aDgFWsN`+k$55ksS3vv;cyO-8P8ud%)mwDN@kINRzZJNK@yQasr=;o zs}94JP7D4=DnC3qG+Ze}8pGF{%+jKJlijE=rjMHj>_;Jo=hxXwH1_dhk$ossV?8af zK%Gu^B~tMOB$|qx=72&#QFt^8NRkf0guMaHt`#oKQ(1U z_XFo$FvolZXXV$;ZXlwtvte*SU}-2tTxPHD-x#?+-y?V<_igiI_ykaW|CQ|z++@jM zI!pES)1vt@ycNhyrWc(;p597f0Y0wZ^1<(SAO#jff#Wtg!<|Fpe{q(&Qhn+F$_~TP zOUf)Jh5u*Q{2%YB|149P8CKrPoXHht?vX!dE3+BUpR=3k{1{C0^k!zK!StG%zQuA+ zX25&|JZKO(sL!UC|8zV3CH$wg_)Q&5DE~gggd^}+3>k?6GfeQP`ZdEOBk*V_0gWY7 z&{RAbMMh0;-P3Jxi2bfD#($b*&b0CynIEmqjspj7j#NhD`@TigWq2`s%^0p!EwKB) zE9TJrQ4Ris%3|jKQ(Asjh9m`JeO)YqfW<R>|uTfg7x%;woT;JINs9roksr?@t48B$a~2P+Xx%0v7jetdLX$luRa&5ePVVI&cLq_U{wCzmmqI zXm|`92}RQ@8G(ko z&RX(Okjv3LXVT;#{aR(gg5fIuwtkAh84t4naoZxk}F-gy1MV9D%^0;W#85 zi$@^vx(Kws9v(#?80cZ(2H+ux3)xvABtjprLqg$^ND^Eh4GQ7)@g$5Ml7!OJLlLn5 zyhj+ko&ge#(Z$U62oCl}Uk3|E=)g%B0^uL`2!|&bVBuIS5^I3bMO*CpW4`Zyd;7lG0F3)nLk{PV)$T$X>g>@=nyu@J!%EO?swn(kt3 zM)27ub^6kNE&A2lf*wTmve%=7&ma7z&(R1xcu`-2ey#a!q{ClEa@2f_oEbKbXOv&} zy_r(*2`KpR754q<>z}s7nS1ho^XHFC`fnEIl;btRNrS7+!^IU5rvnccCk?JP4;NQN zoDMu(oHV%FJX~B6aXRpDanj&w^KfxR#Oc7p#Yuy!&BMhN5vKzW7bgv_HV+q9M4S#h zT%0tx+B{rb5pg>3aBA=IqNrS7+!^IU5rvnccCk?JP4;NQNoDMu(oHV%FJX~B6 zaXRpDanj&w|1B=jAMZ1v`hYJn2?XC(;w2&!2)^k=fnsE31^^+-01&<#04BeH-_HQR z9}WP|odJND0RS?L{abGtfUo4!GS<_v4r&|D*`Ab2U0$vI@zvR$hF#Jw>vWN-N@rK` zQT8ZwJz1NU8Q&+i@A|>x^>sAaY@?{sC0Utw*9;}@;zyf$Bi-S8O0a!-bQP5zvA~QB zhk0w&A!nDBX&;im)I_*EI7}Gn4{n%1y=^$l#1DpEz1kQIYy4Q*xY6%(o_EatnDA@t zXY0>RX-F>-o`3f6RK$Uo7yRF?WApW>jPjjXfEOMX{M_6>*uFk%s>A!VwBVyhZN42N z{;@|l3-KKmG!V!SU+j#x=&qf3(cRxD5EnGH(0SdN)-)(Pj;(Ez`N?SLDM6|n$N=`C zg6|#ex?+^S;r+*l5pEIj?0am_wKqW|AH91vNFeBbf;C2x z*lw657hcb%ui0Y|JO1N*S&<>Y+xMe%6q~3l}^<%cEb2QanHTPcU zy*gmag}fbBVQK!SO8J9sAx|YY-Su5DI)4;^leBF2ElhicN-K>_IA{*2hKhHbTYlT5 z2Q9L^F{I07@b1IsF0j`m2^?6S~px1v**(YMEKXO*C zw?y@{m0NM^6LDlmUAj$fG`~6jJmLJ)`YQJ~n;kkYYdi$Wh`LNbZu#t*_S!bzL9zlK zx@~HH+S8Dmd%aNM3qI}{OKqw~&3R}UnxOGIfna-irDWT-QYWu$Ra|AiqI6CB827q-%ha>2<&v}z)6 z(Uohe5s!f)wvQVSoTh2C*nO0r$4Y7^#0ah3+ zkJo!W|2k$6<7zpi?|vU*NzAX$F%{928gG=Sa=S=K5y_3VeIvK3DD9SY&$V{ns1m_f zx{W~Wn`aF5*5hl&G&=f-BzoEQ4U@X#4fv#A-*YdywRS9+Jzld(>E`&cLv3jg zmYB~znwX}-{yf(~lZ78V&>PMf4f1a@I2KiMOKb&1PqxE2xjyKYXz22$JV$+#^BKFP z7k+qjUxIYBD!t@nWYfbV#!&qa^KaDG*j#MtwoHR4c5EtXN(U$@`FDgV;d}dqHSLzh z?t9(YC8{|;Bkz;m?TnUAj8h<~Q72GP|J{k)EFBL~kV}Mm z4A3&MqtV7viy4gJ4MWE6?)<$E>D5PHMLy`$x{f;@uzHNuuc$!@S($4H=%yr&?przS zdUy5Mtr~-%8hudK;*zlWCHUbc*~ND6Ys#gfe6H6!D@P`x&Fw3z3QsoWr|uoi_Nx%p zvMUgg77L2L76(JFlq&E#gg+^tqCuKR5nUdvkNk+}GC%f-?Q$Er>?0gY>A zde?mMD?8a_z6P|+2c{dY4|tUcBhlxEjq?tT7C_y{+Mp%2@ui zmES2+wL;8O;Ztv@-^C+Mb0ex#4va>Q%Wd8)9sqjpt}za}{^e4p`H*&7iDOLhVV~l) z218TqP5sKqhE2{}5hQ_P3vdQ?WR1Y)iA=5TSx#MrtXao?ZWZ|o2+Qx#GjO0KEQX@l zR!25I-n*|^L~YGjVyDQ|sxuoV_wFlg=umTT50_WfPDX^abZWm-8hgs7QB{!FX&cI0 zor;=(2^GWSg(0lcCAoHamWg^FhS4&$i$AEGSsxsm;^3^F1|2J{I=^S06ung7y*C1; zW;?VDzV%XUN(MvR*3_NpG=9kLB82?eM8qlckA)Rd<$|4>i|#gy>^Qk-&?M)@_KgU; zOpK5_&lAc~()h%7LtU<(9>=9cSj&T1z$mk=9PK1@Dsj_ipTM310f% z;8<7jev&-@72#pac)jFdz7k|05*(Cvc6xJCWu99?hUz-i$>WyuRV%J-7>ycw24U(R z>qf`YsXIkFPG#=p@9<9OiE9G7^V#7cc|{InpPsCy9JZI}{G!!G`&-#|dta|iRv8ex z!)KR&Hzrck%aM zLSgn|xT94NO9TGLf{x)?Cyd_TvO3vWqE>90lItuk;1@2p?cC#7uXEiVm}-yc$c9Ey z=lLO-8ns?$WvM>5dsXryUd~a!8Q)f7n>5@+##{;)4Xj(>4*huOUbadMuXXdN^AnwZRv~l&rwi<6VMm?K`9aH--wfEbX8}w~^pTiblKQ4b~ zVJ6^scs~CtsTtVc|5UEtsjvKI%nl!D24}KKV=aU{(Vak_W+lhQd zFmTcs&^~)g;JARISzmsxm*XP$<_Awh!gBaN3A?9PS5h42&ppn+Q~dQjdBH6=%b4c^ z#I9+Io{ycg;(ndPNIQ0?2)_Po5UNkCqDK}LvAKmEXb() zSo92TZ8%=q*dS*I#IyC*X&w|pZ?7=(W^dZOq9ArKxj4Uq;J&@o=G{kO$AS~DFJ>n< zkB12a-A*g8*jyQ@&KBRCAg1&v^2IWY?2@R zQBp*fN>M^Y&;Qmkd3t)Dci#8?{r~^tcN{av!JO{vJipg3u|4eLb^;Fmbl%8dm8l5#UY0zi7^LI9AkqnnyKIQTHw43-ar zsbOtus=*9o(CB_t00?c*S{LGacwE7#bDS#eLVP@Y;iz9U0MRNGyC>t8D{}}S#mLAS z--+ET;Ud3aex{Z4?VXP#tg`lYXD{V=o9y4~9_PFf_fEYd|I+sGp|@{8w|&0WpV>dv z5Y{LiHD6XIsV{d6fOm{FAUsx2u(!H>zamO-fmPQW4Vk{$o8H2A0AN@sEHsjRe$|vf zF#`|;n2+=p%T~YmV^_I@&U!#23Fv~z_Dc#RIs*6fobJg3_Z9-@*OgEtfMfvh3)@D7 z0B59t!H?EP!ocH#!ySsiKC$Ym=YuMJ3pN1lE`U$x#3tlZ z@oaaArtpclFx-@}+OZsmdj_hDBqSx@YJ25Wz_Tubo4L2aNY?eW{M!F&)3Gxf^w1%|cnQ7in z>6U%91Myz{$h7$35GkN=w|&)`%c7TR{i-702?)l`b8QI*j3Y;&2b3j~02yx-B5WK0 z4p&Yj80!iE^+!+i0Km0@g&R*NE85-_0|2w^=;h~4MCaa+FRYrEc|-MDm7*X?#LRf^ z;wl3fqR7jrMG`p+kC-SqRS_P~xpZDgIeUKk3z^azaGX?sm+Z#qH%vtl&xOZsF1)r| ze2&RIF*%YZVefpe_{We2F~zj_IS`T+>QK}PjaPf+*Fx^x3p^oMK-`kF$x7=3G*BLY zaHH{L;?sK?i2YOhuUW#Aqc5%%dMFrVeC4#d^8UNotY$V!dQ;SqT;FEpQZ>V<%enc@ zs|SME!1n#|Tsmn0xMXRo1CiAoseWT@uh_Rab2A0+p&`q#?1zf^kuD zgJK>rGB^EpCMH_C+Pa#a)*jRU^~TQ`F!X;+Wvj zxOQ{i_07{eC&^M5cgI>}@3zWwBA4A&I;g2|7eRgRN^A{u5qh)2H`UH-!^Md~+hF0( zD#7{@w(Cq;XK01ABwAMA)_Q??cQ14eOG-x(RHAFy#psS!4TDP2|or^q&Z4Yn1 z-tP4_@U6nzH|;|~%q-)q6csZtgZFy|@)1b!JMi0nu!d{7w){M@3^{m-) z)c<4NsN(CP)}dx~EDR-vNmTNKCMQO~Izz6K;OI^yYx+b8b4yuPeH**Be5-dy^CT~~K+MMvS|!ux~q z_(z$($4J+oTzfioF!rQ*<{g_jOkDMm_9NSBg^$=B881wAF>(oW8FgtZv~Jz_X2l!- z*7bf4D(f@mW)L!JFP}b_aqf0-hJUAgw|v5~mSv;s0@~q&Q-czN>4PF~@nfVh?J@tc zM%B7SvZ}2s*(O1YW5|WI>%aJ{`a2V-q2N18{tVXGNev6yb?0HYb1C){P>>h zr>;Xf4X3fvIr6{v_-jxG`M6;hv*Hs_=$ zTKJ&wRT2HUMhl2@#iiWT0}nH*6hEj;kdYnUE7F@6)QDv*a95dx)#=!(wa$;<-6+;6 z6UjI=Vf(7?ve@1(OTWDwb-GfT;>33OWy=v~^j@zmUB}+a9$(Q~_|omOcSZdBgn|QC zRzBTwIWX9}aEqU#A9*l?6U8~hi4NWK$^89MS+?9_@wfY4-hO=Ba9i7+dJxpB`F=cqBUaYV%GY+u<^;(Cs2HH zW^!hpqZIu}scsvrY-yQ2O;`7@)XT6w{~DFUduqmCYE7_4o-XiF6pHiE zmZOh0xa?T2n6kN$S$MkW(|HR{U-$Yon;&f(4fAhre{NG&^Y)F^n-gyW3dh|li)|{l zm^^CQJuG!j<^924mCgP(&)GTQTSnvSOY3Xuh0rAQ+YNP>3!i?-!Q_pFXYJTj>oR@r zY}xfEI_<5M&q5+b=Iv5lu=4p(^5C^gx}ocRE6lf#2DH4}`7A-%OQpQBFY+13GQ|GQ zv4n_|5u#(}LvOaQ8Gaqbm6aF8{T(p})vO52-i#x{6^_^)u%0|WBScU1f5GsQTp?Utcc2kA7Y2&d~itKl`Wt+$Ek38>B z*fe~N`4KYi^;ElT^*O^LL(53!^b4!v4U9L`@!GfR4T{(w?cS_x9(u52a!b`CR@Jq5ggWEJCOu&|4pl$K&;32z>+s3VJ|UVF7GXC^Uej^-bi5jv19j z4x}^LbVh*2j4sKG5yUoxKxQi9e!ln1pUJH#fc2dnNKrqO#MFoD!SsI@L?Lrym_dPl zUzr?%x{?q_A3yg#RHV#B;XU7fwZFTV9uMN@6ntofr&1qi@so=P?XCh0RP)jiu}90Tf0EYng%muOUAt&QCR} z8Hr6b0wXa{7zPSQI>Au{1dael=)!OW7;KivH_u-*?7&4tA+bq+RzZDLLC%)=ljE-< z3<{kV_OB&=y3G=xkO?$Kpg)OiME56oQ}vkv-Uj+VFV6D(I&TTq0W3BtfK0VEGXgK@ z(diTd4n;+SOPvNq(9kF-4T&N_Nfa0bN`uj;C>#PtrBF~`LD<>N4*!d^8G{@&vvfe| zZ@UbIK?dcyQ;2{e;gE1Rh5|*xX*ehxPQ^g+NIVjX$KuFn426Qg<1s%fnkDv^itGcy zL_C1xH_KD;xBC!Yr9*08zsNy#=f2qof z&H`s#*sPfd&d0CY+&b#kKVSV(;79+uT`@_4Eb7c^HiZ0G&fNWtyM4{XeBBiYB=XEg zXGETv;#7)({-3V?Y!)~2dl>yU!^snZZ~C*s|Gth8A8NoqEs<|hU%mcbgvFq-Lr8&C z6K`;a@UnWpss1_aS9t^dnHz&2{r|#1ut>rG-7t8;F*GCv1I}(5oCHN-W>yspj)0;` zcrP3hhs1i3X+MVfKOF`nf`Eqq*k=C!4a3h_O!grKcvC4x`agR1-M<lU^6sk-6OwopQZ8taEel>f%Jc8dzsZr z@()ZJ|I7OPUvH?qr77QrmA@=!_T;a3$3N#OKXRYH<~1`pF__?)eVdvVGYe|w=K8PG z7%&q74;O@4$bTf3yl$kwg#T$Fepd%m$$!o*VQ?G{0*}FdA1eeE4keNBBsd%fo(m{oXa701`#WhI zl7>UW5KsgTga0P&g+S4uR3z04fyPm(SQ>bi`H!Sgcod07qJqaHG8Xy0)fjNXQD`JM z3g$(_Q!(WKP#R04fF~6k5{kfjQNKy!!3XG29EOa*;L%t(34!~U(m#$sFeDBJhhtGN zECPnX!QnVlILh1%hs5J8%+N3k@c8pDy8lB60XN5)5Ro_pf(SE5fkHTQ91(4XAR^7o zka!I5EkfhWED$KPDf&l?U|?&^O)xOH35|w6 zwlFiZ02!IXOz~KhITnjGg`-XW2KKiO|9RoeUY7r~>hwB=J)r|*~Pzxy8UzL?BZWTe?~e7(Ah?a@3sAMc~;cS zv!8EU-a7DkCv~Q4zh3&)+kqZR^>a0&gHIkZfBy5cOaJrQTt$8*Tok+*d|bRx;`;D$aZ&JM z@Nw}%iR;71#YMr3!N%+&z zMZt@~$HfaJt`8p<7X>c{9~Uo_xITPbTok+*d|bRx;`;D$aZ&JM@Nw}%iR;71#YMr3 z!NB^=^FC-`;~4YHM^9RP%D13=U+0GRj# z{C))hK`;P#?Fj&cQ~*$99NK)x0(=c$gteK8Q)v5ORs?gSvugFKD^E^k*-C6#Mk{>S zWJ6E1S-H1K*~8ICK=^i!WA>dbX?LHtx7T)h8Ix3wSJ-O$yjgY*Fh1$Gg$K?sO zVRK!xjcf9>X{XjSxd;=N*&X>*Jz?H*(K@&!LcM=*9Le&|V0({0ADVdC5z%OvkY3#J zNg{VK#8Z|DYoZj33d%+88zZPa?tGq6a$MlK@MM&9bXl~T=aS(@lVXNo)>!$o=eoPI zD=vi?11Fs*vO{JCGzjT7#fS7e{xwdx<6`1fsce%&Ul|g zmut3gs{e;m)>+eb3xtb79Y23 z^9(57XOzXW-j>u0SLt+-JU#Xby9jIKDc; z=kFj2Q<`42q9mh^o^vqLUsYS)<|E{B(bjh{`{E)Yzc~S-r)sPB!=E9Z`6#U(NS#=5 zzO}!~@GPuVP}F)LbZkWS>Kc#J85OtnUMUC`1FJsXS)d*qxciYpTaTJ^9EA=Pl^{|z zb1d!Wab!akaPA%_8=74d)*pI7yIv?^C>%PMlMb77k0EBI+$XzOfNz*n=uwNWOInpi zjZbOz5;sJVw@%M(?FzrW&#y#XeN;+GH)ouND9W334C_{1eQr=^wNJHpaLLx>j^QJD zg>w^%gL4#n!XxdH<(?zwW6yhTMN4cF+9=!+;|?e0Hq?Av?il_lWp~r1sx6-Q@NPv2 z+U4?D>zr|qQ^v6`l#TIMuKbk2_0j6AH4Uzl6I8dLs_JQAY>{w)2^lb-IDkF6<$-*-QovSK z&E+@zy7KAb+d1M;Gi^5uB_!&g3)tr2pi9^|8|2-NGj@&xE~wA>dlT}a;||M)%MMFY z^}PC&S~fJ}yNN?ezK^`^5~;qhe&}Z7o-9#J20XKXg3N z=+tp$BUN%*i@FSP^JK5Yb_i@We*XcOB(7jlj{dsc5b{)LDbZed&Dux^ITO)g_>4)^ zH@6oyA3IG-wcfH@Hhk`|KXnPBMwV6TlT$elwH%wY*2q6z0s0X_)j>3Ld&NGN#yN-W zJAgbcSRy4aJGlZ;`tY2LDXev)>e>O}8k^9YJCkApjD2&&cBDSNcrlNJ%jwT85Rch> zRF$`U|CeDeaH!4zC2_r`s=&q^Q=%#u%AA5wpi%Pi(4Qrubr6 z^#WP<2i+2z(<+La4ssS0#tbK&0{sr|ial0f8`HlC?>eAVV;b79;!zW1@%7Wn?lHGX zLLe@+Gh#2058PdXANDazP9*G`sQt2Eg{>m-htoZ3Ssq`nc9VsXR&Ym`4rf&s>{ifx-{F~ab!|lH@X>~` z*1mT)h(ZPh8)NdPI-lJjt||g8gSA!zmML+=$(EAh6|tX=M~bhdmxID9CB&tel^^CG zyKuDRv&3{FXuWS@5{oS#D2wg*RF$dfIH1-=>RoI=+8*J{YGe|HI&v~&mTaqgL?m|l zJ71A;tL)%hU6|7;pyuEK=`rvrieHMVs;^m1$-GRgTx2s)nf*%2EI6!o5!8Laqf4h( z2T`M5*PI(G;wt=6cV!ZMGWwC}bU%~G5N=(zDhb{yz&K#x6SaB9jx_Ap5x@AOi05I1 zyb?)n*a}Y++L*t{+=3H%0xPfe(ceczJ;`W8^raM;a%qlx*#6`RCG)x^u7iYF-)1%m zVt5%SQy97H726{Y}$V+5@k0tl|%4=?0w} z%HMzGfqX8p5Z%9bwNF%S)9VsQWOyCATOoWUGxmc5oE3XT;c63r1?+WM^X2R_$cwev zYMi~AlP4tBid6Ku7+L4susd{}I1wjNvJ;`xl~6PF!M6!@EjQ3WeCk@J^wRYM226qB zq8eiI{i}VBo70IxenOGiA7rS37p|DK6L+aNMjoy)J8%enIcY(TfP1u}6DHTp1Gv7q zK>F;7rmIm5V5O5qu2nGLov|`aPPxmjYlDxC2OJSmm*Sr?)wFcC>N8KpPs9UkIZjTC zy7HaUl1kws=d^vAoYqA*6mtY3cj|1HSI@8SsKVxaj@GWKSZ+${kleOsq3Av{xVo_# zP84dfxI^AUav?Q8uTad8iH*RxUp<-bmf+iRa65JHMxtn`Bu4EMM?gbtL3~ zq*>qR!4=byvYU^r9qpm2XTeR+Ywmr;QHYeEC zt;mM8BzNwd3j#RVP?t5KwIwdQRa%}WE!B!<3sfWOykL-$!pj%m)ZA<^Q<9)z&&zWX z1$ATg*S(KVdF0s5I6Uq+AkZG==7S155>``l8tS`Jfr>isU$vE!BJ@z=kZSlj+xU|= zRYyz}l{=VYy}>0pVFeHRmAY2D=xld;cK_Zk4XjW}^y=vGm(JbSyq`1*c+^ccSR9L) z)C{mLzQsHnNN*Ya^s1~-x@2&~XpsHV?cS!UFqaJm+WlS?uQJGPArqxNN&V5s<6QdB zEG~9G_1tA)QuT{*p)#R8J?*BKa03HRXiAYc5Tj#<^dz!jA2?%8uc{zjVH0jB{fv8i z+;@j{N-vc-&75TJ5~T?&>A4Gk-FIO)&0m$N47+9aPO`Tv*I3fuu&BRHvr0cYAgpe~ zkvk|)wPEAEJBHVG#c~#K7Ns6g`4S{8KKEgrjQV5v4msSti=kRCg&Lf#Z;T0sJh{Az zsS{u|ecyPKXLWgXgF{(H9b^3i`cli$_m?+eFAGRjSqFz9)O|jDOeI8%`bWep_pn4* z20b8OdTcm0!rqvF8h=^!Q1f)8>SLd$J*S}_MCls}PepWO{cZ=vr;9I&j+kp8weWD) zNk`FP*&_8jaaB6cUfK*aw;aq^+I!uk@~p7VlU{2%CXA^8n~wuhfdisOq#j&gyW^vw!t}N8=W@ppo4y_%Y+nKu$zo3Ak|B6{xp EKcXtm5C8xG literal 0 HcmV?d00001 diff --git a/public/images/wechat/post-avatar.jpg b/public/images/wechat/post-avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bd2597dd2a623d59dea9b37ed4452281a69496d3 GIT binary patch literal 2756 zcmbVN3s6&68a~Ml1Tpeh&_zMLhV_96$qh*$DUSdF1qa0-!dm2Ea)lU@8 zcd&ykQe8DFTk0xLi^8nnD$vSSs}{TX1aUxlDCHqOW>vuK&CP>$%XD`3Ofvb;|9{{A zI{!H_-8c0BuNbX#3jlF(%YhS^TBaf3F3cCp3IGXEaCImErXC2((P)%>21B6^%#vW6 z(LgaKXK1sO3?z`r0HG0DWtLcmYT(Uiwp0;DAHCQ_hozD*dI~3jnV^hDbEKC!F(f*{o*JVFIF&h0!C;QQ_2tL^v8# zp)e;fC_v0a5SYsiMA#fI7g+(bmQZGy7n%0&qltxmk zFgl*8r3AS$A;Io=+HT3^=DG;9S|dWI(wG*lUSFU@86s4T<*URf4)?W@@!tJ*ATtop zhQC%N#SbMbSBQ!8<)}gvCk&(GmOzPA!Vf`0f}%M>HY+M9Him=XjASE17J|fZBH2OFksJ<>&1NCY5LU2_8>difvJ_&}7FUYLwQ_mC z$>m3@&@2t6T90A5wh2hg!8DjU2UEh)NnChYic}%NwyXWj$788hh^nO9P)V!`lfy)R z`O<0P<0BKzVsUw#ST>$Hf`o9R*-=r^ypUifD=I2DmTu)r{-2&P@MIX~;rQ9G*i`rg znnnBQ;~V?sK^6FoQQ=p^Gy+_Rfd`Ui{0fpxonQ}eq);dh6h{XK#~F_Jcczo0qti^9 zv-3=6XPO(0SZ*{IS2tG|numv{r-z4+x3{;?Li-|7snl7tSzc~#Uh`(V&z@&D{I7zk z8Mr%vTi_N%atCC0668)YT>-g(WLZ;B2#Erb9h^v{DUC&P17tFZOmTo93S`lc$dLOY z3KF^QcUgJ6L>`~hSy8?Yf2|ElYWdOA{a1Wb2cSVDJT&AEBEY22fBU!Y-KNt!5Rcif zEF{5H6w(*Q>~upq5ZFIJ2QAFCIV=8xF!JMTzk;`HTjB`-h7|7d10w2DBG@>aPXJ2YH> zZL=b^_<1j(17ri45Zw0UHdge#iM!m}(CzwV@w&L2;&0M{IWE5D2G_<9ZfWw{5;P`I zT2$8NP%`9oYrm>}earRK4T}NLny#i$S6*%3mi(T30y)8h3`BXhUN6YiuG_h>M0rW@ zuK2N);;5fE+EI7mhxlc*wv|OkVc4v?sm@T zF(*BGI>9n4&elIu&O@WVLoc{jd%myp%-Hda+zF)FrQ5S z+C~6sJreg|&XbUy$+L66TSC1pO8QiCAr6gTE;GZRq7nTuX?>Y&M)iVJuQG=@orO<+w_pVm^6t{JK3py<=WKE$ueE{a$43%RS`tNc6OUpyCgc{q`WnDs*)r zRPFsqid=oSAv7hM)7{+hqHd=E0BT#~vy2ss3*oUROB&yhyoh0#IwL&FJ!)7hGB$F! z7<>7N`?-2O5^9O^yxp z8*a+I3!9creD?3?0~OE>$*DJk1d8w}k3s7`TTodsz9IACqW9No!dJ~omitu?%zrt+ z3!MZ*6taN;1JKj#!X3`3@2h!G<56_rHtp^@z3xeG;bh{*cUN5UN*1>awB+Gn^I((f z(Q~b<{f&=47sx8J)8-kQR6BQ^YAJv}xRjn@ZLZa;Pfcf%c%*pvEJ24KGe?*l-5m{dE0McX?Z{34HtePsdNjbUVH(5f%Q+KgQF+>cRd)J9fP4;_Qpmbf^-n7(k32s_>LuX?lj`O%x_(#qOzyM9^b)f(&XUU((Z(@wSvEe++# z*v>i2YX=+Go;|amVAnz>dq~#0(08I*-*$bs^_{ZA%>s0&zo~ftqPx5U#(aq8UE;g6 JwKT%?;6G!sTH^o! literal 0 HcmV?d00001 diff --git a/public/images/wechat/search.png b/public/images/wechat/search.png new file mode 100644 index 0000000000000000000000000000000000000000..a04c1496c728f78f3a778117bb00807994bbc659 GIT binary patch literal 1550 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 tfXHVuwaxfxitF6yjlPJ9>DNye*<>uCN z>E$8RHAJuKCcS#DTTzLm=t-8>s*$rrWR= z4rf4=1c#!b{1r?QA|*q53|TFeV{9DG%SSDTL@_W5M8HuJnK$wM#j8X>BK9V(rt{tS zauysd;c67{DosGJNE0LS6cc@x0A6Y)CLo1T2vAF7WlE;noA^bSiH-GP3K94ML1Vm$ zUrmMbg8&wyfB`z0MiRM!Ai!XdL3cWX0WJinZXlK7hTRMj=+2}wm{bqo+eO5(Da4UX z0o(suE^Ovaj7Cv8lR{CcRAd#6j3}Zgpr@y&UV};{VF;3PiwuR-B$?7_Oo0t6MGA== zl^`-euLwmTai}*DbNY1&Qu%jTney8Z090oE!8Fn_f~CPq|B zmoIoepUIOcQAj3&d2DYYra+cR#7tir6$I&Q4-UiA7X&$UKTl70mWMCHmqTTN9Jc2e zmyL+xq_7Mf!x6T%NrisH(32N@8?>?mV=M)71dvi znX(vkoDqk|*J($%e);${OWC=0L0kQfRdibc{WvRUS>s1DP5wjLJaS{uKBB2nX~xe|-)pzBQUhtz(vG7`7s$;g@KGFH}nx$~6WfQ`iq z;Kii5jII)3lif2ylH)s_F8)Ku!#=B7d5?w$T5rg4jijAIdvY4d5^ms{FMVuNaKDQc zeq(yj;P83FYl9y*_4dlzyKJXfa8{6LRwsqWM}h`$FT$ zAT*O^6l9f$Pkg02_uKW^g;NV}KY2!lO?sMaO$_lV%kxfWhE6W(*wLXjUzSB6B$zow zR@@z}_n62x?c00%UbQyP2GmkN&f(g%^sLAf5i;ywX?xRFI5#K>YRT-=J@_4 zeP8r_#F9^Nv%YL_q$T-*t9c?XdZ0!Fg=U{EtGHE5>p5bf%CLS$VQ-&oT6wRfVcwn4 z?&EjTjuNJZ*f?#d*?}3_ZMc;yKedRN;uMko-g{Skc7V_QnpR$YOGf+cB&UOuxtfNA ziO(I~5>FS^g-pwtvp?c`x3l#d(Xtc%e@-v+VszIibL_*{R5la`yZYc$ZfftAtUpva zcuAyC^laYtI<+XZ??K(V@M+b|)aLEOe>|J|7qo0?o9l%l>7uvCqsFDaJ3I{Yd8*nug%YfA3)vHWXaeblezd9(H}?s=St%bM<3<`Ks#3K9l8z`|drg zs;UxKQTnwnBao}x`gP9>7Y}!u;*BTY&8~bJHz(}auhNAJ?=_#z8cAB+S6RFwcr?DZ zKi^(=-JM(;*y`|iXZyLPyMek+ufg0+pMQCrxm`oC-C>e`@_?{(nq|w|o|A#H*t4-d zK*it4gs($6(S`}bPau{mtb2Rcg^JwFNrpuM+ zr=il 0){ + console.log(_openid); + if (typeof _openid !== 'undefined' && _openid && _openid.length > 0){ deferred.resolve(_openid); } else { - var code = $routeParams.code; + var code = $routeParams.code || session.get("code"); $http({ url: '/wechat/get_open_id', data: {code: code}, method: 'POST' }).then(function successCallback(response) { - _openid = response.data.openid; - deferred.resolve(_openid); + if(response.data.status != 0){ + deferred.reject(response.data.msg); + } else{ + _openid = response.data.openid; + session.save("openid", _openid); + deferred.resolve(_openid); + } }, function errorCallback(response) { deferred.reject(response); }); @@ -30,6 +67,16 @@ app.factory('auth', ['$http','$routeParams', '$q', function($http,$routeParams, return {getOpenId: getOpenId, openid: openid}; }]); +app.factory("session", function(){ + return { + save: function(key,value){ + sessionStorage.setItem(key,value); + }, + get: function(key){ + return sessionStorage.getItem(key); + } + } +}); app.factory('rms', function(){ var _saveStorage = {}; diff --git a/public/javascripts/wechat/others/routes.js b/public/javascripts/wechat/others/routes.js index 7ea270c6e..ded374930 100644 --- a/public/javascripts/wechat/others/routes.js +++ b/public/javascripts/wechat/others/routes.js @@ -1,7 +1,15 @@ -app.config(['$routeProvider',"$httpProvider", "$locationProvider",function ($routeProvider, $httpProvider, $locationProvider) { - var rootPath = '/assets/wechat/' +app.config(['$routeProvider',"$httpProvider", "$locationProvider",'config', function ($routeProvider, $httpProvider, $locationProvider, config) { + var rootPath = config.rootPath; //$locationProvider.html5Mode(true); $routeProvider + .when('/login', { + templateUrl: rootPath + 'login.html', + controller: 'LoginController' + }) + .when('/reg', { + templateUrl: rootPath + 'reg.html', + controller: 'RegController' + }) .when('/activites', { templateUrl: rootPath + 'activities.html', controller: 'ActivityController' diff --git a/public/stylesheets/weui/weixin.css b/public/stylesheets/weui/weixin.css index 6cccb3615..fd5a56bd6 100644 --- a/public/stylesheets/weui/weixin.css +++ b/public/stylesheets/weui/weixin.css @@ -3,7 +3,8 @@ /*基本样式*/ body,table,input,textarea,select,button { font-family: "微软雅黑","宋体";} -h1,h2,h3,h4,h5,p,pre {padding:0px; margin:0px;} +body, ul, h1,h2,h3,h4,h5,p,pre {padding:0px; margin:0px;} +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;} .text-control {word-break:normal; word-wrap:break-word;} @@ -12,29 +13,42 @@ blockquote {border:1px solid #d4d4d4; padding: 0.6em; margin-left: 1.4em; margin .f15 {font-size:15px;} .fb {font-weight:bold;} .mt2 {margin-top:2px;} +.mt4 {margin-top:4px;} .mt5 {margin-top:5px;} .mt10 {margin-top:10px;} +.mt11 {margin-top:11px;} +.mt15 {margin-top:15px;} +.mt30 {margin-top:30px;} +.mt70 {margin-top:70px;} .mb5 {margin-bottom:5px;} .mb10 {margin-bottom:10px;} +.mb20 {margin-bottom:20px;} .ml10 {margin-left:10px;} .mr5 {margin-right:5px;} .mr10 {margin-right:10px;} .ml15 {margin-left:15px;} .mr15 {margin-right:15px;} .mr20 {margin-right:20px;} +.ml25 {margin-left:25px;} .mr25 {margin-right:25px;} .ml55 {margin-left:55px;} .mr55 {margin-right:55px;} +.c-red {color:#e81a1a;} .c-blue {color:#269ac9;} .c-grey {color:#9a9a9a;} .c-grey2 {color:#707070;} .c-grey3 {color:#555555;} +.c-grey4 {color:#888888;} +.c-grey5 {color:#aaaaaa;} +.c-grey6 {color:#777777;} +.c-blue {color:#3b94d6;} a {color:#707070;} a.c-grey {color:#707070;} a.c-grey2 {color:#9a9a9a;} a:link,a:visited{text-decoration:none;} a:hover,a:active{cursor:pointer;} a.link-blue {color:#269ac9;} +a.link-blue2 {color:#3b94d6;} a.underline {text-decoration:underline;} .border-radius {border-radius:5px;} .w36 {width:36px;} @@ -42,9 +56,21 @@ a.underline {text-decoration:underline;} .max-width-130 {max-width:130px;} .hidden {overflow:hidden; white-space:nowrap; text-overflow:ellipsis;} .inline-block {display:inline-block;} +.dis {display:block;} .undis {display:none;} .text-nowrap {white-space:nowrap;} .v-top {vertical-align:top;} +.tac {text-align:center;} +.block-center {margin-left:auto; margin-right:auto; display:block;} + +/*背景色*/ +.bg-grey {background-color:#c1c1c1;} +.bg-blue {background-color:#3b94d6;} + +/*按钮样式*/ +.btn1 {width:100%; height:40px; line-height:40px; vertical-align:middle; text-align:center; color:#fff; display:block; border-radius:5px;} +.bg-blue:not(.btn-disabled):active {background-color:#2780c2;} +.btn-disabled {background-color:#ccc;} /*动态样式*/ .post-container {width:100%;} @@ -88,4 +114,63 @@ a.underline {text-decoration:underline;} /*帖子锁定样式*/ .locked_btn_cir {background: url("/images/locked.png") 0 0 no-repeat; cursor: default;} -.bg-grey {background-color:#c1c1c1;} +/*20150612加入班级样式*/ +.add-class-box {width:80%; max-width:300px; min-width:240px; height:150px; font-size:15px; color:#444; background-color:#fff; margin:0 auto; box-shadow: 0px 2px 8px rgba(146, 153, 169, 0.5); border-radius:5px; margin-top:100px;} +.add-class-tip {padding-top:20px; padding-bottom:20px;} +.class-number-input {width:80%; max-width:240px; height:28px; border:1px solid #ccc; padding-left:5px; margin:0 auto; display:block;} +.cancel-btn {width:49%; height:37px; line-height:37px; text-align:center; vertical-align:middle; border-top:1px solid #ccc;} +.submit-btn {width:49%; height:37px; line-height:37px; text-align:center; vertical-align:middle; border-top:1px solid #ccc;} +.slice {width:2%; text-align:center; border-top:1px solid #ccc;} +.slice-line {width:1px; height:37px; margin:auto; background:#ccc;} + +/*20160613邀请码样式*/ +.qr-code-wrap {width:100%; padding:40px 0; background-color:#3b94d6;} +.qr-code-box {width:225px; height:332px; background-color:#fff; border-radius:3px; margin:0 auto;} +.share-class-name {font-size:18px; color:#3b3b3b; text-align:center; padding:12px; border-bottom:1px solid #cccccc; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;} +.qr-img-wrap {width:100%; border-bottom:1px dashed #ccc;} +.qr-code-img {margin:36px auto; display:block;} +.invitation-code-wrap {text-align:center; font-size:18px; color:#3b3b3b; padding:16px;} +.share-code-wrap {width:100%; background-color:#efeff4;} +.share-code-btn, .finish-btn {width:145px; height:35px; color:#fff; font-size:15px; line-height:35px; text-align:center; vertical-align:middle; background-color:#ff7239; margin:18px auto 20px auto; border-radius:50px; display:block;} +.share-code-instruction {max-width:228px; font-size:12px; color:#666; line-height:20px; margin:0 auto;} + +/*20160613班级详情*/ +.class-detail-name, .blue-title {width:100%; height:45px; line-height:45px; vertical-align:middle; background-color:#3b94d6; color:#fff; font-size:18px; text-align:center;} +.blue-title-sub {position:absolute; right:10px;} +.slice2 {width:2%; text-align:center; background-color:#fff; border-bottom:1px solid #ccc;} +.slice3 {width:1%; height:38px; text-align:center; background-color:#fff; border-bottom:1px solid #ccc;} +.slice-line2 {width:1px; height:38px; margin:auto; background:#ccc;} +.class-detail-tab {width:23%; height:38px; line-height:38px; font-size:13px; color:#444; background-color:#fff; float:left; text-align:center; vertical-align:middle; border-bottom:1px solid #ccc;} +.class-detail-tab2 {width:32%; height:38px; line-height:38px; font-size:13px; color:#444; background-color:#fff; float:left; text-align:center; vertical-align:middle; border-bottom:1px solid #ccc;} +.class-tab-active {border-bottom:1px solid #3b94d6;} +.class-search-wrap {padding:8px 12px; position:relative;} +.class-search-inner {padding:0 30px; background-color:#fff;} +.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-test-tip {text-align:center; font-size:13px; color:#444; padding-top:40px;} +.img-circle {border-radius:50%;} + +/*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;} +.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;} +.class-list-name {max-width:75%; display:inline-block;} +.class-list-dot {position:absolute; top:13px; left:-8px;} +.border-bottom-none {border-bottom:none !important;} +.students-amount {height:14px; line-height:14px; vertical-align:middle; padding:2px 5px; background-color:#e6e6e6; border-radius:10px;} +.new-class-btn {font-size:15px; color:#fff; background-color:#3b94d6; padding:10px 40px; border-radius:20px; display:inline-block; margin:0 auto;} +.join-class-btn {font-size:15px; color:#444; background-color:#ccc; padding:10px 40px; border-radius:20px; display:inline-block; margin:0 auto;} +.new-class-input {width:60%; color:#aaa; height:35px; line-height:35px; vertical-align:middle; border:none; outline:none;} + +/*20160616登录注册*/ +.login-wrap {padding:0 10px;} +.input-box-wrap {padding-right:17px;} +.input-box {width:100%; height:36px; padding-left:5px; line-height:36px; vertical-align:middle; border:1px solid #ccc; border-radius:5px;} +.login-op-wrap {height:30px; line-height:30px; vertical-align:middle;} +.login-box{display:inline-block; width:14px; height:14px; line-height:14px; text-align:center; vertical-align:middle; border:1px solid #ccc; background:#fff; border-radius:3px; color:#fff; cursor:pointer;} +.login-box.checked{background:#63c360;} +.login-box.checked:after{content:url(/images/wechat/checked.png);} +.forget-psw-wrap {width:60px; margin:0 auto;} +.forget-psw {position:fixed; bottom:10px;} \ No newline at end of file