From 4ea29dd435239a8cfd7b3e75cbc10087db47d96b Mon Sep 17 00:00:00 2001 From: chenzhenyu <402731062@qq.com> Date: Sat, 13 Jul 2019 18:41:53 +0800 Subject: [PATCH] =?UTF-8?q?-=20[x]=20[=E8=B6=85=E5=B1=95=E5=BC=80]=20?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E8=AE=BE=E7=BD=AE=E5=B1=8F=E8=94=BD=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=A4=B4=E5=83=8F=E7=94=A8=E6=88=B7=E4=B8=94=E5=B0=91?= =?UTF-8?q?=E5=9B=9E=E5=A4=8D=E7=9A=84=E5=B8=96=E5=AD=90=20(=E6=9C=89?= =?UTF-8?q?=E6=95=88=E5=B1=8F=E8=94=BD=E5=B9=BF=E5=91=8A=E5=A7=AC)=20-=20[?= =?UTF-8?q?x]=20[=E8=B6=85=E5=B1=95=E5=BC=80]=20=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=B1=8F=E8=94=BD=E5=B0=8F=E7=BB=84=E9=BB=91?= =?UTF-8?q?=E5=90=8D=E5=8D=95=20(=E5=AF=B9=E4=BA=8E=E6=88=91=E6=9D=A5?= =?UTF-8?q?=E8=AF=B4,=20=E9=80=9A=E5=B8=B8=E7=94=A8=E4=BA=8E=E5=B1=8F?= =?UTF-8?q?=E8=94=BD=E4=B8=8D=E6=84=9F=E5=85=B4=E8=B6=A3=E7=9A=84=E7=A7=81?= =?UTF-8?q?=E6=9C=89=E5=B0=8F=E7=BB=84)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/iconfont/Iconfont.json | 2 +- assets/iconfont/Iconfont.ttf | Bin 10608 -> 10260 bytes assets/iconfont/demo_index.html | 69 +++---- assets/iconfont/gen.js | 2 +- assets/iconfont/iconfont.css | 24 +-- assets/iconfont/iconfont.eot | Bin 10776 -> 10428 bytes assets/iconfont/iconfont.js | 2 +- assets/iconfont/iconfont.svg | 9 +- assets/iconfont/iconfont.woff | Bin 6780 -> 6588 bytes assets/iconfont/iconfont.woff2 | Bin 5684 -> 5500 bytes .../iconfont/vector-icons/fonts/Iconfont.ttf | Bin 10608 -> 10260 bytes .../glyphmaps/Iconfont.json | 2 +- constants/index.js | 3 +- navigations.js | 4 +- navigations/index.js | 6 +- screens/_/avatar.js | 5 +- screens/rakuen/item.js | 185 +++++++++++++----- screens/rakuen/store.js | 25 ++- stores/rakuen/index.js | 50 ++++- stores/rakuen/init.js | 13 +- stores/system/index.js | 37 ++-- stores/system/init.js | 25 ++- 22 files changed, 295 insertions(+), 168 deletions(-) diff --git a/assets/iconfont/Iconfont.json b/assets/iconfont/Iconfont.json index 12f1dd142..cfcdb2eb2 100644 --- a/assets/iconfont/Iconfont.json +++ b/assets/iconfont/Iconfont.json @@ -1 +1 @@ -{"icon-star-full":59506,"icon-close":59504,"icon-star":59501,"icon-search":59502,"icon-like":59503,"icon-grid-full":59505,"icon-grid-half":59509,"icon-mail":59528,"icon-filter":59532,"icon-add":59529,"icon-navigation":59530,"icon-more":59531,"icon-list":59535,"icon-menu":59536,"icon-app":59540,"icon-setting":59538,"icon-logout":59539,"icon-calendar":59550,"icon-me":59552,"icon-star-list":59555,"icon-information":59557,"icon-order":59559,"icon-time":59561,"icon-refresh":59562,"icon-book":59564,"icon-check":59590,"icon-compass":59600,"icon-left":59614,"icon-sort":59622,"icon-planet":59623,"icon-home":59647,"icon-break":58893,"icon-logo":58881,"icon-star-half":59035,"icon-right":59648,"icon-down":59649,"icon-up":59650,"icon-reverse":59651} \ No newline at end of file +{"icon-star-full":59506,"icon-close":59504,"icon-star":59501,"icon-search":59502,"icon-like":59503,"icon-grid-full":59505,"icon-grid-half":59509,"icon-mail":59528,"icon-filter":59532,"icon-add":59529,"icon-navigation":59530,"icon-more":59531,"icon-list":59535,"icon-menu":59536,"icon-app":59540,"icon-setting":59538,"icon-logout":59539,"icon-calendar":59550,"icon-me":59552,"icon-star-list":59555,"icon-information":59557,"icon-order":59559,"icon-time":59561,"icon-refresh":59562,"icon-check":59590,"icon-left":59614,"icon-sort":59622,"icon-planet":59623,"icon-home":59647,"icon-extra":58920,"icon-break":58893,"icon-logo":58881,"icon-star-half":59035,"icon-right":59648,"icon-down":59649,"icon-up":59650,"icon-reverse":59651} \ No newline at end of file diff --git a/assets/iconfont/Iconfont.ttf b/assets/iconfont/Iconfont.ttf index 407b21e4ca86ecc29d3e3ee1a6ef28b9d5b0c37a..606c321f96b5d8cae2a841e9d80214f5c72c01fd 100644 GIT binary patch delta 774 zcmZXRO=uHA6vzLQ-NrU0DMb;JG_}cQ*N9aywgua2Z7HH4RaB&ipi8nfVzvqGDpe{L z@la6kV^!3G6ysMxyu=TXf)}YCJb38E9)hRsL_`ZBh+x*YUBrU(_|5;#oA>6;?kw!P zzW0iBZYRJ-0US)}YQF2+sfU0k3kW}tWls-aN8~8reFj9vGn$%?MlXJ*+)qSXh62mG z>lVnLCgK_07`eZTJg`}sZe?>R_597z5Y?w?-KVP~dDh3?(*7!1Hw~(~w(UTua+Yd4 zsi~gN4I5ux9^L>bPbf*dIxTf6V9tTS_hQ5EBXylWP%BaZ__(L=^`F}J>QX|E*46Mh zQ5sI2Vm30B?Kj8Rtl95bx4wBX3Z_6<^qNV1)VdiWeo=k`P2^Qu%<@|a^QkAed4`wx zd|9wQiHT<0hGIKRxV@wxgbnB?}7$W`a%apfHH{#Vx-jCfo_H}{aXjRBg%pcWOK~h8V=R8*PQY7 z`0n`L)u#PcKne5)(t!(sH$d@&_j$d!H8@td9TNJf%%1af2oZX!dgnr{r7gK~g*T?u z|L3sR@m5J{jW3-&rLYulk>$#(kR-JzO65hEQe?S!BXY^d6f>6CZRQh?V^yh)mO3G3 gwE;sM&J7vfd{!OQ3^9|_wJL4I7*fsdwHq1!08(Md1poj5 delta 1133 zcmZuvU1(cn7=GS!PEJg6PR>Hoq)WHhBwJ2hWnGu#RMRVvp{FF(K|&=v09oU0V_&;Riv=gNz0PnGkhtMnj!#r}S_ z2j}zUV(w_P`wXyqi5D$bE4BJ(Utf9y7-B!ozkE44u7m6`@avDB#To73FYrk`0sOFS z?Z`j8^{!SBD{S8Z!Jg&M&eP2puc-ZK9K>Hx}Mt3uNd3gg8*`@bj z5E8sCYN_UmuzhsJTC>)z>(*vl+}Z-{`PO->Y@M{uS}$3zSZ`TxTMg@i^?~)F)r&Q6 z3L|NI{XKuR3^F)~9Pay9JB-_n&mVDKGht4N2ecUOL=wBO8!0X!o9~FfncGBPTHz?r zRlDbpeJ$Rf4bDYNb--27I`069)vHpH7FGa@f$hv|4iIJLYq5a==IaiygSq7ZJDE2f zAjZsFx54tjFQf++iZ)BI!IIJDqqo80(H0#@wpMdi&JGx!Q=S`M$$QwR_+}OOpYwm= z-_W29YLBmeEPoPMZ~7$?<5wROr$c#0oqG?Ur0`* z?j=7_3c7)@Fd{O7Mpz@6|I|1cW9~71X2Rq5dnS}?4K<`Tt||XD>9uC}cbALYk2IU) zcDdN_1>|Kx>^OA%Vvb(_zr?@mbWU>i?c^p`6ISGauOkY}4t@VrZgsO?5LYL5ob{4! zew#WX(2yC`m+z9Es8mk43Z-J)Umui(K>vDB2KVPg%rAoPI-q1(> E1cn|SQ~&?~ diff --git a/assets/iconfont/demo_index.html b/assets/iconfont/demo_index.html index 097345201..ad6172dca 100644 --- a/assets/iconfont/demo_index.html +++ b/assets/iconfont/demo_index.html @@ -174,24 +174,12 @@

&#xe8aa; -
  • - -
    游记
    -
    &#xe8ac;
    -
  • -
  • 表单控件复选
    &#xe8c6;
  • -
  • - -
    指南
    -
    &#xe8d0;
    -
  • -
  • 返回箭头 详情页
    @@ -216,6 +204,12 @@

    &#xe8ff;

  • +
  • + +
    more
    +
    &#xe628;
    +
  • +
  • 图裂
    @@ -524,15 +518,6 @@

    第三步:挑选相应图标并获取字体编码,应用于页面

  • -
  • - -
    - 游记 -
    -
    .icon-book -
    -
  • -
  • @@ -542,15 +527,6 @@

    第三步:挑选相应图标并获取字体编码,应用于页面

  • -
  • - -
    - 指南 -
    -
    .icon-compass -
    -
  • -
  • @@ -587,6 +563,15 @@

    第三步:挑选相应图标并获取字体编码,应用于页面

  • +
  • + +
    + more +
    +
    .icon-extra +
    +
  • +
  • @@ -871,14 +856,6 @@

    第二步:挑选相应图标并获取类名,应用于页面:#icon-refresh

  • -
  • - -
    游记
    -
    #icon-book
    -
  • -
  • 第二步:挑选相应图标并获取类名,应用于页面:#icon-check

  • -
  • - -
    指南
    -
    #icon-compass
    -
  • -
  • 第二步:挑选相应图标并获取类名,应用于页面:#icon-home

  • +
  • + +
    more
    +
    #icon-extra
    +
  • +
  • 2>;HV6 zyfnr9W5+(p=0D%h#lbM}-b3`C>6t=Wa8RZp;VfZ|fFYYZe#egkkX3Kae?+9DL~Cv$ z#~2=15~Awmw0=`JbG`^bN}=t+RZ1%t>~{`oF-d8 zdg_ZaL}ykia)QP8nQ$~9e{M25o*Dhk{nL}CeD8PB|E&~G5q1d&QFn56h_+iif}+~c z|H{nO36>>-HLvA*=u=$O4;oLa9bznPp;AyIIKlT^ndu}Rf)%KSI^kXT7go7y<36ml zTfF4G_}6N4pC0#O&2z^H@54V%r^fpbI`jgk>3WEPS{S|EKu?F};*X+jBkxEPh zkTBio2ZdP$nxd?`+p===m(R~NhBb9`yjs+Qei#V!Vz{WMSJ#IdGcV^a#+P9~^apwY z$ho4HE#{$6%xa=hQhJQ;*@2RlGJ0da(ZjT`5o)a4nBT}|q)gh*&FapUl#;V zE}xgH4U<(yx1t73ntjbS`HvfT@1hki>- zO}>>@)ihPpf9eSImnPpTaUWTtDn3UFUuU4(>~Y3^%xs-)i&n7I)L=EWb7$;Mr>FGn z-1~Jt=y7JVr{Zbb<_Hq<`8|w1%g}0y7=3)9iuQuo#BBP_dIDM4G_0ySzGGn#@Gk~( zdiUhxbkUYA9Ih0t$;T7;vSrJjp&__?XefFN+~_rUe>&U})XcWj$J8V&hC85iSEqe$~h|Q9b=g7J> zYt|96Vb!V)BlIhu`OH^nTz25(o6&l$$wRhB^qWryN@y7Y0*IO7-~-W{4-OVHB9J8) zZvfbEfAM9T3E6zv7j{s(;|te)iI6Wvjoe!~i_2)`-a;%PiIPOJnmVg8@03&KRc7g# zX<4?TESg{l6=5mQu1s5=(IM2UU}B?bBIA7bd9;D)oDMBM9ESEVuQK!&GEa;a0?+$^ zOu$g9+F9S<0BH2XqeqT_@Sb27qH7bqlg(Jae@G3~1y{Qn{mcxwU7(${Zox_G&dOY@ zIaHl+N{~5ISDkCyvre&#j!$vl;#7 zPZTe?r1*(zPn3*;R8w4cVr9;k^V2vyIYUVd79jLxfw_X$658RECv#?Yu@<{Bis_S! ze`r)rtb*G_TqnEFU9&%WN0NZ;-;byme9_D?dV+Xl_wFMimgjslWit6-5;Bv2I=fGb z-q}Ar?fj3YP_wBsS0od#Jb|*D8QmTukym51ayKuBcp-2cF~xsTm?ew|V~D?22|~NV z(Q53jn@Qpj8!N)CMrciC7%bjN49T?tf813IbBr>NDcsZ>EyNm_9&#vlOk?Y8Ae%w6 zH0ZWE>l2gUoZP@SkTcxNfu9CgL`4OiE{mX7t8JoLn8P48pmmD%L9D#X!qe)!ZASg zdn40lj82@k_o`#qM1E#iy!_z>i10u|{mKkqT(;^Wm>$Sk<*J_H4lY{7Ws%ccQ<|1a zY$3sKhG3&F6VP@m+?TttXAdike>+$I{TwxR4DgeU+%w;Tp7{-ij=A$BojZA81d0xw z>+nr=CJ*rE;6|3Ulv@~%!r`44k9}KolHBiZ@&H|f{s;3X1StGIr-pz6$aV#?E{n$D zF~v4OiLRitQ;wlTgVCU3I4RgQ6}RrC&(ak_P6#n>aqDELvqqa^6mG9&f4Mqkv7XtE zFN{EjPpbM03ep0qnno7JFeTNybofQeM*5MmQdep11;w-#kQJ&JlUr5H&J}}BsJgCB z{`3W0Uy0t8l3eH^`U}Kv3xzW=3%XFaOt?l^CtQ!xpb()PUx6SVVhJ|ls0z1 zAiz_L2p5klI#)DaEb(MCe?ojW#%E%O!*MR~Ot=xU3ctxg+iY{gMxTu2d6RcrzK!;e z{isJ|cyn0v?9=BVez4NbD(H7V@#LR8Y7Hn#5QwjTf9=OHW0cctuXsB8qg3?=9go>r zd%Q9ChSQ#gloUiOuDWRP?aLN^d2V-6dM%o$3=NHs397 z=JN*{dcN4D>s`gXPHq@mn|IWTY+0h%Et9Tyo_yjijh=j}p*F5txchbSM9ga~aR{X7 zk3Sjzo4HF?xpJyd4gv{MPoH{y=bO-)bJNEbZeKop`P}avf&YM^aa?+6omH^#|3}dL zSgX|^wzu+i!+gYaf4*)vFXHpO7qRrIn2q!c^YBE}F@5Kbtm!*GKONX^mIG85Ps(c^ zxVS5T=Uno+2D#gt_Utzu7|dIL*!>49KX?Gt&a*71;nBI>X*qDaBIQ%j#d!YV!kf4y zeJiD@mS(~e(P>uxl~?i>uN`_s)^jr4Vp-9KR2Ng=i;SJDe_3igoLgUFe=m|z+B2Q2 zL$bM*(ELCJp6YA*ezWiBlDty%`x-$I?J4+vBMhU5i`X3moVFO>O*~J#v996i#9RZ8 zIUsF*Kaq{08wT%To)Yk!%(3tYwv%hl>eQ3A5$f{`P>=ftPeRadwP=uB2(h4QaTM5= zD9lzJ&r##ze{DsJmS@u|8QZ+Yr}_`hNLjhxFsA{Q_8lz?mU@f4UNfkrUK`#rkBO;P~j#i8V_EU+2%30o+zrVs&*GIew896^~#i^-1*4%och)E zMz29U*2$`d2DyR(>6I$j`7EfUoH{Sw$)@zEmcs)TxbDtj@#3envF#@3a>M&V}RF5$<*KH(YR_rf2AcZK&5UMpymE)>wd zE9kG6z?rZHJ`GpGHE<{FNp7-2=C^$+W9I6)?Yi6MTFXLw-_dOFtK?C1Q+9wZHDqO0 zZlM8!e;+aqqu9}NC^}xBPa*XnA)NHXj-@v$@1+P z2AN;=J)hRCI{)GvhR+s$eQ32Y?eq{^*RbMywKhWPdYpu|oqDs5Uq7zJiD;D}(B|JN zN8b45U7myl5Dxmht2v7_>l~@`Zw!8MUZc%$e;MY-Yw?~S9?R)tmVqQ(k2QIR%SZEd zB)96jUfpd~o5^}Oq#b&)&)sQECafaGM%eUak9lp^OIYUF>=?u(WPT&vK1!E$Yf52^ z9MLmD_3+}W|BY#xu=-Maq|ca;Z@54%8awl1{OAI*3$#qoAKhDoQ@TJb|F&K0GeQ~o ze~jPFIq`(-HS!^;%iQgW-Rb|8KB}pG{V%m@fxeDuYS91RB~~<}A9urfEu8i!yWulG zLn0Tl0w;a()qkJRd8u6svbSDyGb@-oJt}?{7p$(`zW6S2`=YykvHR+8Z1~32x1HmO zH-GL{w&3%-uY31I(=>JK6B`%zNfQ%df2+3flG>;&rcLh-@7Y?v*Emg-Mr-!?A{bw^ zdJ%qttYuVS?r@#f2Jif0?^AjAy!i9OoUUY)t_9?zpyK5Ei``vzURLBTIM}spS=aLA zpLGhDSFn=;NE?iG_eumF0IwoKXnNEebKPZHUeB62F{Lq`h256dtB^HhHSs_kf21eU zbg7KFV=<-4j%QNjFfG0#UUMtvc&JfScVKX#QOzDDUsWwpCp$Z@WwRQu5!Vi(nC(Ao zICe@oY}(+YhE+?_$!SW6y-?PvQrmCf45}~PL=Y(@agCw(?trti zHKT{%Q+l)+9`5YZ&9rKibHg+znJ|>As464!rfhbTQ5l#uJDX0Y{WE%u694{C%VtVj z81qu{uYc<}bM3kIyweN0G;<{>lV)@3>7HO%sRn80kSo`EciiC(yIp#&e{|1H-c{L* z#h8sgu49LUMCsLDGy{SJz|+o>PJU=ttCJe&p)OTtTxL_#_OEyfOA-^lB=DSws9A zV7&e=+NS4lTqwy1ecGw`mcav9%d(CF-;d5lSjgb-&~axKcm|$PfTObW_*@LEuaH@M zu7x4W=06o;$YZdA14wutp638ET2B1qA?B3qIR7Q`1fL)9M1lXfe~5vz4Rq(R2=wK6 zK0FqU$MfN9(|0L9pg*Vc5=?6GJCthtizT=$zE?5Bc6_hG^K38qNiH1tkeHKnPhr=n z!?A0$_h{@2L=pZUwp3jN0001ZoMT{QU|;~^&zoib#`D{JW#DFE0D+tSi{ByW|BLvO zne%~M4hANWC;(?V0t|7Jj~5vm4FFfV15yA0c${NlU|?VwKrG;iT^s;5mjLdQ!xuI> z8VNcHdI~}cnhMAZWDVvHCJsanWDbN5!~g(zoMT{QU|>*V+|3}z00K-v%msuD4FAD= z1^^*j0vEG07*7Fz!!Qg)wK6HU^xmE7obpkO1W6pTXh6ux=SQ}#*%L7H@D^E~jag*> zXN?>aC}uSmFSOIKnYbaEddW;{uns!ZmJii#y!o0grgX3eR}KE8g&q53KQ- z&661Zs(a^j>0%x6h>s%jC;);30L49Z8Q z;V_Bv6#9wjx@jU28=At!CiXHbjiXQ*&OMFoJ9=qD9og?4I&wv<#Cn=C)l8|?WlQBo zIjTja$WnC91QOLoPnv#(js9jb12J@r*4?9;ZPSXX;!nu?Zjfz>6J^;SmvC9@0001E CSIDaX delta 6287 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 delta 1133 zcmZuvU1(cn7=GS!PEJg6PR>Hoq)WHhBwJ2hWnGu#RMRVvp{FF(K|&=v09oU0V_&;Riv=gNz0PnGkhtMnj!#r}S_ z2j}zUV(w_P`wXyqi5D$bE4BJ(Utf9y7-B!ozkE44u7m6`@avDB#To73FYrk`0sOFS z?Z`j8^{!SBD{S8Z!Jg&M&eP2puc-ZK9K>Hx}Mt3uNd3gg8*`@bj z5E8sCYN_UmuzhsJTC>)z>(*vl+}Z-{`PO->Y@M{uS}$3zSZ`TxTMg@i^?~)F)r&Q6 z3L|NI{XKuR3^F)~9Pay9JB-_n&mVDKGht4N2ecUOL=wBO8!0X!o9~FfncGBPTHz?r zRlDbpeJ$Rf4bDYNb--27I`069)vHpH7FGa@f$hv|4iIJLYq5a==IaiygSq7ZJDE2f zAjZsFx54tjFQf++iZ)BI!IIJDqqo80(H0#@wpMdi&JGx!Q=S`M$$QwR_+}OOpYwm= z-_W29YLBmeEPoPMZ~7$?<5wROr$c#0oqG?Ur0`* z?j=7_3c7)@Fd{O7Mpz@6|I|1cW9~71X2Rq5dnS}?4K<`Tt||XD>9uC}cbALYk2IU) zcDdN_1>|Kx>^OA%Vvb(_zr?@mbWU>i?c^p`6ISGauOkY}4t@VrZgsO?5LYL5ob{4! zew#WX(2yC`m+z9Es8mk43Z-J)Umui(K>vDB2KVPg%rAoPI-q1(> E1cn|SQ~&?~ diff --git a/assets/iconfont/vector-icons/vendor/react-native-vector-icons/glyphmaps/Iconfont.json b/assets/iconfont/vector-icons/vendor/react-native-vector-icons/glyphmaps/Iconfont.json index 12f1dd142..cfcdb2eb2 100644 --- a/assets/iconfont/vector-icons/vendor/react-native-vector-icons/glyphmaps/Iconfont.json +++ b/assets/iconfont/vector-icons/vendor/react-native-vector-icons/glyphmaps/Iconfont.json @@ -1 +1 @@ -{"icon-star-full":59506,"icon-close":59504,"icon-star":59501,"icon-search":59502,"icon-like":59503,"icon-grid-full":59505,"icon-grid-half":59509,"icon-mail":59528,"icon-filter":59532,"icon-add":59529,"icon-navigation":59530,"icon-more":59531,"icon-list":59535,"icon-menu":59536,"icon-app":59540,"icon-setting":59538,"icon-logout":59539,"icon-calendar":59550,"icon-me":59552,"icon-star-list":59555,"icon-information":59557,"icon-order":59559,"icon-time":59561,"icon-refresh":59562,"icon-book":59564,"icon-check":59590,"icon-compass":59600,"icon-left":59614,"icon-sort":59622,"icon-planet":59623,"icon-home":59647,"icon-break":58893,"icon-logo":58881,"icon-star-half":59035,"icon-right":59648,"icon-down":59649,"icon-up":59650,"icon-reverse":59651} \ No newline at end of file +{"icon-star-full":59506,"icon-close":59504,"icon-star":59501,"icon-search":59502,"icon-like":59503,"icon-grid-full":59505,"icon-grid-half":59509,"icon-mail":59528,"icon-filter":59532,"icon-add":59529,"icon-navigation":59530,"icon-more":59531,"icon-list":59535,"icon-menu":59536,"icon-app":59540,"icon-setting":59538,"icon-logout":59539,"icon-calendar":59550,"icon-me":59552,"icon-star-list":59555,"icon-information":59557,"icon-order":59559,"icon-time":59561,"icon-refresh":59562,"icon-check":59590,"icon-left":59614,"icon-sort":59622,"icon-planet":59623,"icon-home":59647,"icon-extra":58920,"icon-break":58893,"icon-logo":58881,"icon-star-half":59035,"icon-right":59648,"icon-down":59649,"icon-up":59650,"icon-reverse":59651} \ No newline at end of file diff --git a/constants/index.js b/constants/index.js index afa8bfcfd..c02d71a52 100644 --- a/constants/index.js +++ b/constants/index.js @@ -3,7 +3,7 @@ * @Author: czy0729 * @Date: 2019-02-22 01:25:31 * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-12 15:14:25 + * @Last Modified time: 2019-07-13 14:35:57 */ import { Platform } from 'react-native' // import Constants from 'expo-constants' @@ -37,6 +37,7 @@ export const GITHUB_RELEASE_VERSION = '0.8' // since 20190623 // 图片 // 白 +export const IMG_DEFAULT_AVATAR = '//lain.bgm.tv/pic/user/s/icon.jpg' export const IMG_EMPTY = { uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWP4////GQAJyAPKSOz6nwAAAABJRU5ErkJggg==' diff --git a/navigations.js b/navigations.js index e855c4eae..976d819d1 100644 --- a/navigations.js +++ b/navigations.js @@ -2,7 +2,7 @@ * @Author: czy0729 * @Date: 2019-06-02 14:42:28 * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-12 00:37:34 + * @Last Modified time: 2019-07-13 14:45:46 */ export default { initialRouteName: 'HomeTab', // HomeTab @@ -15,3 +15,5 @@ export default { // tag: '水树奈奈' } } + +export const initialHomeTabName = 'Rakuen' diff --git a/navigations/index.js b/navigations/index.js index 623abac07..a9a911c1b 100644 --- a/navigations/index.js +++ b/navigations/index.js @@ -2,7 +2,7 @@ * @Author: czy0729 * @Date: 2019-03-29 10:38:12 * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-11 22:15:31 + * @Last Modified time: 2019-07-13 14:45:22 */ import React from 'react' import { StyleSheet, View } from 'react-native' @@ -38,7 +38,7 @@ import { } from '@screens' import { IOS } from '@constants' import _ from '@styles' -import navigationsParams from '../navigations' +import navigationsParams, { initialHomeTabName } from '../navigations' import HomeScreen from './screens/home' import config from './stacks/config' @@ -50,7 +50,7 @@ const HomeTab = createBottomTabNavigator( Rakuen }, { - initialRouteName: 'Home', + initialRouteName: initialHomeTabName, tabBarComponent: props => { if (IOS) { return ( diff --git a/screens/_/avatar.js b/screens/_/avatar.js index 31f274788..8164a9c7f 100644 --- a/screens/_/avatar.js +++ b/screens/_/avatar.js @@ -2,7 +2,7 @@ * @Author: czy0729 * @Date: 2019-05-19 17:10:16 * @Last Modified by: czy0729 - * @Last Modified time: 2019-05-21 05:23:43 + * @Last Modified time: 2019-07-13 16:10:06 */ import React from 'react' import { Image } from '@components' @@ -17,7 +17,7 @@ const Avatar = ({ style, navigation, userId, src, size }) => ( border={_.colorBorder} quality={false} onPress={ - navigation + navigation && userId ? () => { navigation.push('Zone', { userId @@ -27,7 +27,6 @@ const Avatar = ({ style, navigation, userId, src, size }) => ( } /> ) - Avatar.defaultProps = { size: 28 } diff --git a/screens/rakuen/item.js b/screens/rakuen/item.js index 172d604d5..e21bebd92 100644 --- a/screens/rakuen/item.js +++ b/screens/rakuen/item.js @@ -2,86 +2,160 @@ * @Author: czy0729 * @Date: 2019-04-27 20:21:08 * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-13 03:35:28 + * @Last Modified time: 2019-07-13 18:12:42 */ import React from 'react' -import { StyleSheet } from 'react-native' +import { StyleSheet, View } from 'react-native' import PropTypes from 'prop-types' import { observer } from 'mobx-react' -import { Flex, Text, Touchable } from '@components' -import { Avatar } from '@screens/_' +import { Flex, Text, Touchable, Iconfont } from '@components' +import { Popover, Avatar } from '@screens/_' import { open } from '@utils' import { findBangumiCn, appNavigate } from '@utils/app' import { info } from '@utils/ui' -import { HOST } from '@constants' +import { HOST, IMG_DEFAULT_AVATAR } from '@constants' import _ from '@styles' const Item = ( - { style, index, href = '', avatar, title, replies = '', group, time }, + { + style, + index, + href = '', + avatar, + title, + replies = '', + group, + groupHref, + time + }, { $, navigation } ) => { + const { isBlockDefaultUser, blockGroups } = $.setting + const groupCn = findBangumiCn(group) + + // 处理屏蔽小组 + if (blockGroups.includes(groupCn)) { + return null + } + + // 设置开启屏蔽默认头像, 且回复数小于2, 鉴定为广告姬 + const replyCount = parseInt(replies.match(/\d+/g)) + if (isBlockDefaultUser && avatar === IMG_DEFAULT_AVATAR && replyCount < 2) { + return null + } + const isTop = index === 0 const topicId = href.replace('/rakuen/topic/', '') const readed = $.readed(topicId) const isReaded = !!readed.time - const replyCount = parseInt(replies.match(/\d+/g)) - let replyText = `+${replyCount}` + // 处理 (+30) +10 样式 + const replyText = `+${replyCount}` let replyAdd if (isReaded) { if (replyCount > readed.replies) { - replyText = `+${readed.replies}` replyAdd = `+${replyCount - readed.replies}` } } + // 匹配userId, 有userId的头像可以跳转到用户空间 + let userId + const match = avatar.match(/\/(\d+).jpg/) + if (match) { + // eslint-disable-next-line prefer-destructuring + userId = match[1] + } + + // 帖子点击 + const onPress = () => { + // 对评论大于200的帖子进行网页跳转 + if (replyCount > 200) { + info('该帖评论多, 自动使用浏览器打开') + setTimeout(() => { + open(`${HOST}${href}`) + }, 1600) + } else { + // 记录帖子查看历史详情 + $.onItemPress(topicId, replyCount) + appNavigate(href, navigation, { + _title: title, + _replies: `(+${replyCount})`, + _group: group, + _time: time, + _avatar: avatar + }) + } + } + + // 类别进入点击 + let type + if (topicId.includes('group/')) { + type = '小组' + } else if (topicId.includes('subject/') || topicId.includes('ep/')) { + type = '条目' + } else { + type = '人物' + } + + const popoverData = [`进入${type}`] + let selectedValue + if (type === '小组') { + popoverData.push('屏蔽小组') + selectedValue = groupCn + } else { + selectedValue = topicId + } + return ( - { - // 对评论大于200的帖子进行网页跳转 - if (replyCount > 200) { - info('该帖评论多, 自动使用浏览器打开') - setTimeout(() => { - open(`${HOST}${href}`) - }, 1600) - } else { - $.onItemPress(topicId, replyCount) - appNavigate(href, navigation, { - _title: title, - _replies: `(+${replyCount})`, - _group: group, - _time: time, - _avatar: avatar - }) - } - }} - > + - - - - {title} - - {' '} - ({replyText}) - - {!!replyAdd && ( - - {' '} - {replyAdd} - - )} - - - {correctTime(time)} - {group ? ' / ' : ''} - {findBangumiCn(group)} - + + + + + + + {title} + + {' '} + ({replyText}) + + {!!replyAdd && ( + + {' '} + {replyAdd} + + )} + + + {correctTime(time)} + {groupCn ? ' / ' : ''} + {groupCn} + + + + + $.onExtraSelect(title, selectedValue, navigation) + } + > + + + - + ) } @@ -101,11 +175,16 @@ const styles = StyleSheet.create({ backgroundColor: _.colorBg }, image: { + paddingRight: _.xs, marginTop: _.md }, item: { paddingVertical: _.md, - paddingRight: _.wind + paddingLeft: _.sm + }, + extra: { + paddingVertical: _.md, + paddingHorizontal: _.sm }, border: { borderTopColor: _.colorBorder, diff --git a/screens/rakuen/store.js b/screens/rakuen/store.js index f768e60e5..c01e1f213 100644 --- a/screens/rakuen/store.js +++ b/screens/rakuen/store.js @@ -2,7 +2,7 @@ * @Author: czy0729 * @Date: 2019-04-27 14:09:17 * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-13 03:17:03 + * @Last Modified time: 2019-07-13 18:09:32 */ import React from 'react' import { observable, computed } from 'mobx' @@ -11,6 +11,7 @@ import { Text } from '@components' import { Popover } from '@screens/_' import { systemStore, rakuenStore, userStore } from '@stores' import store from '@utils/store' +import { info } from '@utils/ui' import { MODEL_RAKUEN_SCOPE, MODEL_RAKUEN_TYPE, @@ -69,6 +70,9 @@ export default class ScreenRakuen extends store { return computed(() => rakuenStore.rakuen(scope, type)).get() } + /** + * 帖子历史查看记录 + */ readed(topicId) { return computed(() => rakuenStore.readed(topicId)).get() } @@ -143,6 +147,13 @@ export default class ScreenRakuen extends store { return _tabs } + /** + * 是否屏蔽默认头像用户帖子 + */ + @computed get setting() { + return rakuenStore.setting + } + // -------------------- fetch -------------------- fetchRakuen = refresh => { const { scope, page } = this.state @@ -208,4 +219,16 @@ export default class ScreenRakuen extends store { onItemPress = (topicId, replies) => { rakuenStore.updateTopicReaded(topicId, replies) } + + onExtraSelect = (title, value, navigation) => { + switch (title) { + case '屏蔽小组': + rakuenStore.addBlockGroup(value) + info(`已屏蔽 ${value}`) + break + default: + console.log(title, value) + break + } + } } diff --git a/stores/rakuen/index.js b/stores/rakuen/index.js index 58cb56ed3..8a5197b0e 100644 --- a/stores/rakuen/index.js +++ b/stores/rakuen/index.js @@ -4,7 +4,7 @@ * @Author: czy0729 * @Date: 2019-04-26 13:45:38 * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-13 03:11:26 + * @Last Modified time: 2019-07-13 17:28:31 */ import { observable, computed } from 'mobx' import { getTimestamp } from '@utils' @@ -24,7 +24,9 @@ import { DEFAULT_TYPE, LIST_LIMIT_COMMENTS, INIT_READED_ITEM, - INIT_TOPIC + INIT_TOPIC, + INIT_NOTIFY, + INIT_SETTING } from './init' class Rakuen extends store { @@ -50,11 +52,10 @@ class Rakuen extends store { }, // 电波提醒 - notify: { - unread: 0, - clearHref: '', - list: [] - } + notify: INIT_NOTIFY, + + // 超展开设置 + setting: INIT_SETTING }) async init() { @@ -63,7 +64,8 @@ class Rakuen extends store { this.getStorage('readed', NAMESPACE), this.getStorage('topic', NAMESPACE), this.getStorage('comments', NAMESPACE), - this.getStorage('notify', NAMESPACE) + this.getStorage('notify', NAMESPACE), + this.getStorage('setting', NAMESPACE) ]) const state = await res this.setState({ @@ -71,7 +73,8 @@ class Rakuen extends store { readed: state[1] || {}, topic: state[2] || {}, comments: state[3] || {}, - notify: state[4] || {} + notify: state[4] || INIT_NOTIFY, + setting: state[5] || INIT_SETTING }) return res @@ -120,6 +123,13 @@ class Rakuen extends store { return this.state.notify } + /** + * 超展开设置 + */ + @computed get setting() { + return this.state.setting + } + // -------------------- fetch -------------------- /** * 获取超展开聚合列表 (高流量, 20k左右1次) @@ -370,6 +380,8 @@ class Rakuen extends store { // -------------------- page -------------------- /** * 更新帖子历史查看信息 + * @param {*} topicId 帖子Id + * @param {Int} replies 回复数 */ updateTopicReaded = (topicId, replies) => { const key = 'readed' @@ -383,6 +395,26 @@ class Rakuen extends store { }) this.setStorage(key, undefined, NAMESPACE) } + + /** + * 添加屏蔽小组 + * @param {string} group 小组名字 + */ + addBlockGroup = group => { + const { blockGroups } = this.setting + if (blockGroups.includes(group)) { + return + } + + const key = 'setting' + this.setState({ + [key]: { + ...this.setting, + blockGroups: [...blockGroups, group] + } + }) + this.setStorage(key, undefined, NAMESPACE) + } } export default new Rakuen() diff --git a/stores/rakuen/init.js b/stores/rakuen/init.js index a217a0aa9..3f57668d2 100644 --- a/stores/rakuen/init.js +++ b/stores/rakuen/init.js @@ -2,7 +2,7 @@ * @Author: czy0729 * @Date: 2019-07-13 01:59:26 * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-13 02:07:38 + * @Last Modified time: 2019-07-13 17:28:16 */ import { MODEL_RAKUEN_SCOPE, MODEL_RAKUEN_TYPE } from '@constants/model' @@ -45,3 +45,14 @@ export const INIT_TOPIC = { } export const INIT_COMMENTS_ITEM = {} + +export const INIT_NOTIFY = { + unread: 0, + clearHref: '', + list: [] +} + +export const INIT_SETTING = { + isBlockDefaultUser: true, // 是否屏蔽默认头像用户帖子 + blockGroups: [] // 屏蔽的小组 +} diff --git a/stores/system/index.js b/stores/system/index.js index 1d2d25098..75731af3f 100644 --- a/stores/system/index.js +++ b/stores/system/index.js @@ -2,7 +2,7 @@ * @Author: czy0729 * @Date: 2019-05-17 21:53:14 * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-13 14:01:42 + * @Last Modified time: 2019-07-13 14:16:55 */ import { NetInfo } from 'react-native' import { observable, computed } from 'mobx' @@ -11,30 +11,19 @@ import { info } from '@utils/ui' import { log } from '@utils/dev' import { GITHUB_RELEASE_REPOS_URL, GITHUB_RELEASE_VERSION } from '@constants' import { MODEL_SETTING_QUALITY } from '@constants/model' -import { NAMESPACE } from './init' - -const initSetting = { - quality: MODEL_SETTING_QUALITY.getValue('默认'), // 图片质量 - cnFirst: true, // 是否中文优先 - autoFetch: true, // 切换页面自动请求 - quote: true, // 帖子展开引用 - speech: true // Bangumi娘话语 -} -const initRelease = { - name: GITHUB_RELEASE_VERSION, - downloadUrl: '' -} -const initImageViewer = { - visible: false, - imageUrls: [] -} +import { + NAMESPACE, + INIT_SETTING, + INIT_RELEASE, + INIT_IMAGE_VIEWER +} from './init' class System extends store { state = observable({ - setting: initSetting, - release: initRelease, + setting: INIT_SETTING, + release: INIT_RELEASE, + imageViewer: INIT_IMAGE_VIEWER, wifi: false, - imageViewer: initImageViewer, dev: false }) @@ -46,8 +35,8 @@ class System extends store { ]) const state = await res this.setState({ - setting: state[0] || initSetting, - release: state[1] || initRelease + setting: state[0] || INIT_SETTING, + release: state[1] || INIT_RELEASE }) res = NetInfo.getConnectionInfo() @@ -221,7 +210,7 @@ class System extends store { */ closeImageViewer = () => { this.setState({ - imageViewer: initImageViewer + imageViewer: INIT_IMAGE_VIEWER }) } diff --git a/stores/system/init.js b/stores/system/init.js index d235c2a5b..1cdc48e7a 100644 --- a/stores/system/init.js +++ b/stores/system/init.js @@ -1,7 +1,28 @@ /* * @Author: czy0729 * @Date: 2019-07-13 14:00:59 - * @Last Modified by: czy0729 - * @Last Modified time: 2019-07-13 14:00:59 + * @Last Modified by: czy0729 + * @Last Modified time: 2019-07-13 14:07:36 */ +import { GITHUB_RELEASE_VERSION } from '@constants' +import { MODEL_SETTING_QUALITY } from '@constants/model' + export const NAMESPACE = 'System' + +export const INIT_SETTING = { + quality: MODEL_SETTING_QUALITY.getValue('默认'), // 图片质量 + cnFirst: true, // 是否中文优先 + autoFetch: true, // 切换页面自动请求 + quote: true, // 帖子展开引用 + speech: true // Bangumi娘话语 +} + +export const INIT_RELEASE = { + name: GITHUB_RELEASE_VERSION, + downloadUrl: '' +} + +export const INIT_IMAGE_VIEWER = { + visible: false, + imageUrls: [] +}