V?dNesoMZyhw0Yc?9#*
z9p*pyIhf1~*v|PmFkNCbk(^-4x8TV2Q-2$-OI@ik7x*#n2Kx`wb!q`e!}sw<7^;Yh
zt)8?nAzPufRx+M()t2U>zdWsL^|$fq{`;2nd)lr0weGRm``#4)vcB`|ukXc#In9Oa
z7H1E3vI&ZHdmNb7Fmb``xTU$v!(V$`U|!+6Dnu)bftk}O#psu1-x+~P3h(uwJ-qaM
z{paV^N)PgE+rPwA`7`xbn16i4{-sZN;pfHc)P*J-;V#K5GdMC&zQk2{@@=tS-|q4I
yItxs`eB{X$p|qlD2YOW0mY09Od}aUPZT`!>er9pauK5TIPXJ6Tx_kR_*DVwCvJ;{MZPqQE
zRjIeDue(&iP$BvDRR#toAx{^_5RcTMX
zu7jHQ<$344H?j4UZn!wJa@JG7b#_}4cZ3+ES53OkByD*rENXK=g4*)loHYegK23{o
zHCEly*JN5IbdTq?PovVd$A+y;l6SJWw#x3gv7OtH
z|Fe6&D^o7dF;K5_5k4gyG_T7te_>gJ_QFhuPi_9YHYn}kzh#}=xNo7*)_s}l<8`i;
z*D1w2^4-0W{Mc&a+sq?n+fU#A!0oyxtNPc{DOJsd&Z~7-o&6N*jnoYiPh&0Hfsrnb*!9r!Ck>&%Jopr!dTl)iq{M{^5r`>
zHkSTsdHy2v=^DEiao4!Mn>kESb!v>5z5Gr5IrXP+#h?D0_4!CsGQT9}gib3P3l8a`
z7_obeNgJP^e#)+=6St9%b&`tq+rEVx7R`FYC4C`o)#~#}NtNz=yKkr`FX-%Y`8o9~
z-{L2Ce95S
zzR5)Dax6O}F!h<*mL)cRFVep3RsXM8+Eykrol|b@(&qg7cRs_1pr=c}1
zE@_8gms<19-6GDO+EVEap8o`bxmIR4^`G38{riFYqRwT~Wl3Ca4Eh4TXTvtWc(}aW
z0|%^
literal 0
HcmV?d00001
diff --git a/static/deleteImg/icon-ge-04.png b/static/deleteImg/icon-ge-04.png
new file mode 100644
index 0000000000000000000000000000000000000000..d7e43a06b03cf4c72f58dc07350a820d31d514fa
GIT binary patch
literal 643
zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA3?vioaBc-s69RlfT!Hle!33r;NPYmiNxvk>
zFPI@Xz%l7{N9?qqjTZbIAD$lDu}0;=&DmbgM)J(x&YxM{SW}*-AuYb3KhmA&_JOpk
zdv@9}FfbN-x;Tb-9G^Pvd0(>uPs3TRDY0JScXwZxuKT}z_X;8LIZq5~9{DdiKk?}i
zu>~CR+~RHquALI^=6~=t3fRAkabIWKPxc&5_g@h?4a*&mnoX779$sPj`}DK@4E&;u
zXO8TPeRJg2v+iBe0g8%#I$z&E|LOTxz_M%$pJ-8wf!+b;Q$-E+cgmILt$D9JZ{D43z)rpmh(A$Z9n&gm23BDRj>M~Z&LVl-(|g;1uo0%C*Bs$S=kUIwNJS`
zcI%pz^I6;c&zZj}+5Y@~>%K3NuNS*B|N6B3?BtTuKP{LK#jIYw_;;ln^P_ox)_#7T
zbWhxs;pwtZ+rOWm`M_1$N~3HS3JPFTHQ-(2RI0qJL-
zr}Mo}_W8^IWW|;S8A&w<&)%@5?luP=NQur(a(iv5_08_aiD}1o{FycV@?vfEztehT
z=jo{H9(0seeH3#`qgCQ-dq9lwxh1_tjR#w9eR$^S@?_Oj{TugAJ(N1SdpR)X7(8A5
KT-G@yGywobEkF|ZE_H35f=~;<#%By^QO4XQ
zeC|g>yNh!(4oP22I?CH+xL5lp8;kCl*#WOq=GP~`ubMCQQb{D3r*?_d-&Rvzi;^7-
zbqvnZCQE!ae`nvuoT=l&>`=ns;#k}CW!k5$juCoHfrgEGzZXa`A6Ya(t589fLCdLP
z!mH0tMIY;C9_4)^5Y3QQvP`>R{j_Hn>W&;MWf0kB&Y(Eg`hQ_}e9%Q^aSOHwD_9sK
zfB49l{(q?K?UZxrZw*7~t@Qc%&W}`g95g=_9c=4q^;2=d^_2Ra^)JrKEq5wTeIEX4
z9?O|VPT5z#riO2hkhr!&>TY|E-_lnMHbu_1>$gaA2W7j?y~RJ_)Xu=IWo3#i1p2}HOU=K;N(q8p7%nQD3w@p`j(^20X;~$QjW=#`tPB@(X
zyrb?wy>C?&%Sqq=X8yaKx7dq0{kz;M)Oi=JnOEDhm%VRy*X>P$
zx8CkzJfJk0Vc)#)%kfe#TlStV`uxr3rrf1kK52v13NyEeGVkb`T~fDJM`XI?3N{qj{Jh_u
zr}l~2vPspEdUx
zY+wAr_G@ImarvWyidM`1;5XBzKA)(uF4D|d?MzVODwEYA2R>$AIVxO~z!!5uq;l_}
zfc3ktXjw$+eL1A+cKYW<)}CektClB+PMNK6HLqS^TiA{hd+T$T+_Tk{UGn+z4Bonl
vc55Fx%$`)be#LL4>3dG}9=f*v^?!!i<&%w={iqZ|lgH!N`7p~kLYQQdzExDu6*vR
z7{@a=_X+i;cT9hwbHt(R!)&;~&;jNt+&>bVsGi>b_J`uOCp=U5bGj$0@663zb;V?ZY5bS1T5FHqoH8SO%97=3ibB&I
zF5FgmZg^PL)v!2!V*Pp}cebRD6B?HZJ63Ny*h^8zfXCqLr8<>+y%!^E648_Ecj9xoV+Pu$HJ>7ddYPrXPP!3-o56b#M+sjdK@5LY1me{g_r<{7;}*XWi6
z`2{ods;|j5|NZ%}$cd>|=Zc;z=x?qKy?=H8gbGi4JryxN)~~m>PwY%j;(W1QMvDE$
zni>WMMpjQ3#}JR>Z>JqEYBmsXxc-2_@k?A!wfD{c|MxzantahjIo{}GOL>y~dxoZq
z9J}`XmgD(Ylg)iOq+^Dv?bMXD*4|ZZ=0(pHU(M;!d&z%-(=H>2>B){s_l{cc-Z9sU
z`Tdefc8A${{E}{X|MF0=zR~@VMQB>iLCvfSi<;t%`RhzQYk0(CosR9lVWsoypM)xd
zYG3Ed_=gf~?^WeLA+#y+g%oG@s44$rjF6*2UngAM6GhhG!
literal 0
HcmV?d00001
diff --git a/static/deleteImg/icon-ge-08.png b/static/deleteImg/icon-ge-08.png
new file mode 100644
index 0000000000000000000000000000000000000000..5df3718c1a6c0c0b358aa4668463d961536944b5
GIT binary patch
literal 584
zcmeAS@N?(olHy`uVBq!ia0vp^+CXg1!3-o9O?MUoQZoa5LR^9L|3L|^%Cdw29cNS$
zU>a9H0|TRur;B5V$ML6^PUbZmh_pTwJ`o_pVVsiSb&1E<>fZPI9ZeyZB#s~J
z)|>DvU&njC&gp#_yPgZM6-&9hJF!>)uPcOP4M=_Au!Dtre^1)dfZW
zI#jzv@6p;_<;OFaUw-#rvwdz??p}5?jT=7#*KF8*t<7fg_G_Vu!uR&|iIydPe7=k;
z`olD%R^DCj3z9ZTKY8@KYFU2Q&u6y-o+mPty=xKPc!87Uwc3QzjaFt&dpPr_`y>W;
zZ`Qj!-?K~fTWiJc)l0U-lbf{TL
zkY6yvb&ls-R$b2IfBoX|gEN7@zI{5fvLr!AUYhOQg?-x>OzZS?
z%2<)?EKxn6Y0K)`jqhTe`w>9fa5oVb^~{a+uYW7OC4
z*kF^Ku_b@qgwk(WZo3beR~?dDTsrSV^Awd6tFFyivg1xP+sQ<&mcm7ww!S)@^>$O4
zT2O~H{}a>b3`J9in0cN{1eOc0JhF9m=9|;I0-V1+xZ%Q8sArlsGkeX>XAIR!Q!V0M
zy&bf^IC`zfns-Zaxz?=ywOwKlS0#MSN}H0q;!xXF6Y;+9Q+u+e?=q+gc_wM@r!u3j
zqP#lkVDabHi(9e^7d;Z0tlJ=AQPORDknzFPZOx0`2{j#E_E=?exbpqY%Ph+eANbyE
z@XUYxb~&c-zfY_^w>ii@mRS+{!77*S0Y~^3ll-+NqcJ^!~I9R*&xYh*vu7j^na)78&qol`;+06ZCttN;K2
literal 0
HcmV?d00001
diff --git a/static/deleteImg/icon-ge-10.png b/static/deleteImg/icon-ge-10.png
new file mode 100644
index 0000000000000000000000000000000000000000..54a41e8ef22c3a5186d1d059f9177af41b0e8925
GIT binary patch
literal 731
zcmeAS@N?(olHy`uVBq!ia0vp^#vshW3=*k7AOWP72Ka=y0_p#Q9_;x0I27nmvyvdc
zV1~y2c^}?BJ-apZ&%+(PX`HVnX2*NG=&DQKxV)@3Kv`UXo#p$Hjw%Nm<4=1xt}Tv`
zpD|@}w8cc0{&)rk#`T^qjv*e$uTHx;t;s;ZMVfV@EMse->z!kzb9Ddz&t&dUY&ll^
ztMJvvS9erqy}R&Xg7^)oWS^_$!V^qyzRa4(+x9MMi*tA3*Kpn>)78qS*Z#E=e!8Fg
zgkx^X_2v1-o~9<#78~DpoisD##H6hzkG(xFX+PsV*>gwUz$LKrPr^ht0YjhLlV&cO
z$!OfR>W8bLTDL}HR8tKA77
zCIbbd`L4Z}B-ZAHwI7kGWZr6W=zYl3w-v_GiSn_h{Ti}wUS3i%ad+F5y=5%COE1O=
zrc7C;7}ah4M}28>`MLsGFa1@$JF7paJh~Ac={)({|7Z2GtVwtGakB1}Z&x<_^riN3
zslncG@m-2nX7AUM><(F+?-co%=UD-&odoCUQ
zuq^NUwr+R38!PgcxduKwBj9wW{-Z5#V(pFVdQ&MBb@0K<%;k^lez
literal 0
HcmV?d00001
diff --git a/static/public/icon-aboutus.png b/static/public/icon-aboutus.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ebd43870d1d75dc8af86de9fe75967ad198a25b
GIT binary patch
literal 678
zcmeAS@N?(olHy`uVBq!ia0vp^ia;#S!3-qhyh0j))QSL~5LX~QB!JF+k2at~%}av(
zf*FK#oKwt1Zb`Y=bXv8
zk)Be!x(e(fUq+}iFff*Rx;TbdoGzVov#QB~$L+A5#=4HAyVtM1dtLe8TzjRDb<`hy
z54HOv&
zUOujynPV_PKw)c#dxhv?GnYxv4mkEyO^E)(+x%&^(;ef5;Th3KBzeQj^D9ru)0DZ0ZoKbzi-sKJ>`(+#9Z8S)6)*pGd0yPCo3EcVhOc1e
zw%n^V-T3RQ4I%06WpiHn#h#dX_@l|2WgblVMJt`ZJ~!WC^r8cGyH&z2tWdnQ
zA(Y$bf|u#64-tZ#j=F{^E7W98&N&~IW!3-puo@uH8shI&jA+A7rZ~|r7tf@ek8I=V2
z1v7l^4=UhY7^)@k=f}%R?+tPe|x=&j}~m4*tVx2u578L
zaa8>J71KO7ojR(kBy#gl+qZd3GkMetXRFWXsNbM4Z{;g-{&11?59dES_-*-=2+6P6
zXWPBR+0z$tE?E5P+WWZTmaP}gC>=X=^2Mjd^9BWxjz@Oo6@Q4m#dd1fUB`!)f*xJi
zQ(q9_+7VKt9Rsw&sk?sI`DM$b6Mw<&;$T!uf0$J
literal 0
HcmV?d00001
diff --git a/static/public/icon-customer.png b/static/public/icon-customer.png
new file mode 100644
index 0000000000000000000000000000000000000000..6332d885961aaf1da6025a41f098697df2f2b86f
GIT binary patch
literal 4501
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
PnnaqadMdR_c9H)FT4X~d
literal 0
HcmV?d00001
diff --git a/static/public/icon-duty.png b/static/public/icon-duty.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cc0ce22243235bb60d41dfe6fe5f8a507ca293e
GIT binary patch
literal 712
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU3?z3ec*Fy#`2jv5u0VP)gYA>;T!8K~DGBlm
zW;ogZ@ecRzsiG{~*RFK8F#P`c>XPPMzw@)~l;j0o@87#=VP{>c^RtIH4$m#l4AYXH
zP?4x(peta-z`(e~)5S5w;&kie>t(AA1YBD+m(7an*)4m#(0AwW|NGxsaTcm5bbn@;
zWgML}txa&%oR_=neR_&a_x%yB*S=%-S^I6y_vC8%2M?BA{qaP<)Zu(p-`wg0O5F8H
zn?EpqGBY=Ju%EpuoKbqJc8SH_u5C=>CedaN^S_DhV?A8yQpU3I#dW?d?swTAbxzrx
z!>n1wv_5i|LUI0q&@OZPmjXd2w=?pbG*CXZ{;1U5Y5F1wOG}vS-mTwNySlYCP`j_Y
zuD-9Mb=CE~i=`A<4t1V9GJ$VL64!Re3(8{eZOZ@n=@&1u-jjEG<<~1kY7tJ!m)Uyz
zQky+i+*)ufy4p$S-RCxrQOKfQT=+sx+b;@C(#HNpLx7k0X?|=YM=#e&Ag~!@>_+=C53JUU8qdS;+RC
z3?DL1F>^gUHGlP|@F!y8pEzGJ32p4S%wm9r`JXA0-f1e(keshZF)Ex9Xe*{UMN
a53C1!;-wuo7J320k-^i|&t;ucLK6UO=Cf!3
literal 0
HcmV?d00001
diff --git a/static/public/icon-payment.png b/static/public/icon-payment.png
new file mode 100644
index 0000000000000000000000000000000000000000..f6e5ad0db15db9928bf7b44528ce2fbb9c645deb
GIT binary patch
literal 607
zcmeAS@N?(olHy`uVBq!ia0vp^MnJ5?!3-n?Y^5`R)XV^%5LX~QIDxWk)>NR&j7oz1
zf*F__9$K8~HWvFDb-YzdXpjEy2UC6bZ;ku#dc`a&zANWfrl`tqSWsOWVy~_E?9sZu
zJePY3rxY0&7@a*`978;gKb@AD-{c_BCO*~cZnLuki%$FYz0d#u-_f`6w$i&ppBBcy
znml2G`R5dmvIGT>9qEhX%GkR-<|!LI*8Fc)!E~%b{3-8*>j`&!1%5oY6K8$@=GLqB
z;}MmUy!?C$Hk|j-nm2J%6-$IiYSJ~F=?+(8sBX8*3)?S2L-n-VmoIWmr{_5i9|=IP=XVsZNFmD_xW6a-u^
zHV0|!4am*jd-i|*@*6(MDw6F-#AEw6IL~5ZySG6sKj-jkxh}6Q0w{E*`UR+H$10+ur!Ch_FX%l=iDh
z!O!+49n;@<@_DX_9Zym5r-cVUKiAm)?)U4p`xi^AFZ9}_`u~#N+PG^jvw7H5eA#Y^
a^ekY%&L9(%WiYu86k?vPelF{r5}E+QHgVwq
literal 0
HcmV?d00001
diff --git a/static/public/icon-search.png b/static/public/icon-search.png
new file mode 100644
index 0000000000000000000000000000000000000000..a1414091bd9c731aa0430dbad69a4be7cbd456ac
GIT binary patch
literal 704
zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU3?z3ec*Fy#IRQQ)u0Z<#Ur;B5V#p$V&UslaF5O6*IMuNwz`{O?SjkA|zp8vf+di9J3L&twb
z|9D>PR?d9Z_e8GPIP#2hPi0M9^`(;~l0nHl&F@opEB5njyObu%^yKf?Gs2&fFMnt3
zS+R6BgUGroEb0xZ>sS6}ebQ-CSetMm;M-NN-9Euj`QN{1w+MaqnD2e*-o#R;Zq*yc
znwF0DuEu?4c)Z?@xwAwtBEal$qtmX!go4{PA)0s39Jsf-pZCe4$NDZy)oa&&V3iRS
z-*Amf*kXl6`^>NzO$!$>F3Z^Hc$2YXp1`H~Z!Fr^hCQEJ-jldkbk~E`6?NB+XIoCr
zp1MF;Z|+AP4wGHF5!Qh`50?n`t!m`C(0l&My5(CL_OG70SNX_QU7iA~7U2zb;q`(B
zFQp9i&Tel@-ge%W*)@47!#|e(QkllqnfrROs{eTMin`q7yc-M8_Wr2fn?E7;nD6YnjlR96eqPCXj~Z3KzX?Bgkb$RO
z;_Z{k;Sm+uC-xaCzxDJz&^ys)alg|2)4@vjPq|h9WRGuhR(mR5`WP7144$rjF6*2U
FngA>ba4$^q|D;8->4p
zqzk>?-CT1c@7v}#hg19iEB4)amf<`>tan4#mf~kCt~!dZ`0BkQ^5iq&Npt;l`Tph^
zmR$LG&2C=3&gG!rcXR6+wpaY-xW4tC^^ZsCHXU8QO@||^b=md)|K|DfsK>`?#p2ht
z%iCY?(TUErRA-M|)i1)9_=rDb7jt9akCoNtPFW(~9%x8ACyHE4(9U*N?(qmnLbz9gxBtysn&F6f%dcAVLPzw@dbp^xX(D=!E
zx9t>{Owa#4{lw3Hp<^5N?#W*A=Xm=1S<&tF(N9l#UNJPjD)sOXcV+*V@Y(gO4Zlt5
z_CLEYea#8)^{?l+e16)c`}AyajzZC$RU*c+Jzsf~3YXk5(|YWxbnoIq39paSPE9Nf
b>Z-po-{5iMvC1f5Ofq=7`njxgN@xNA33xX$
literal 0
HcmV?d00001
diff --git a/static/public/icon-send-goods.png b/static/public/icon-send-goods.png
new file mode 100644
index 0000000000000000000000000000000000000000..2e97feb1e8c74d040feb04826adb188586cc9388
GIT binary patch
literal 542
zcmeAS@N?(olHy`uVBq!ia0vp^dO)nf!3-p~*;z;csjdK@5LX~QNPsXChd$6Lx+Ot=
z!3-Nu{XFEhNHTxf{3TcR&i*JoRh5_hUJb&L7{>UzvV)&5G8{AV)j12T>6^a{N^{
zS{WD^#XMacLo80;y?DH+*+8WAVe%|r{kE1@ahJ~h-XF)1D&VEothT!6KX3S9cJA1O
z*Fo!lw8Xt%IhT2h%KWt}KdiKGJEg(5)$@{@PnBhgprqrIiJHsoyf!gL<`|wC@Wr3XTVnWOtK4?^hSlOLKX7bX{os|W+x}0xAMl(?SR-Y={=*I~
zmo`y0<^MCEWYs@%Ex+gUmZw$P`lp)cog;ff9_psttiSWB{N4Bd#8P+Ldyi^U%_M_t
z-<8Q&Sx3ceJMdI1`MwBu+@sZwuGuM%3nCt^PbofrA=N)`n#DS^eW!NE=@)Euf7~gz
zpEK^st$O{$N$R?Dqf}Qr>mdK
II;Vst0JV*Sp%sBT3@W^XD{
z{%)=k%VK_hM!^E@zfxcK`^Ud3Fg`iQ{tu&pzTa%^`AvGyT=Z|WHcWfpELrd{+R(SZ
z!+P$W_2#o`0{T>cPi&jByZ_ztUz1s$dsck*l(;HCS;V04(&nR*&Fr^}Za-0z*K%Sp
zEBm{b_2t?o7Q6iIytCGy6;(B!FEzDjo?k$hby!e;|JG;S(VNOm{jUE_yW?HC_qlfn
a&wqwR6EikQ&ilp(N}ZmrelF{r5}E+hcl+!B
literal 0
HcmV?d00001
diff --git a/static/tabbar/icon-cart.png b/static/tabbar/icon-cart.png
new file mode 100644
index 0000000000000000000000000000000000000000..98350c06ff6e46975802a527cc42fbf89924c37b
GIT binary patch
literal 674
zcmeAS@N?(olHy`uVBq!ia0vp^>Oic$)w|9Dxv7VH`gx-uWO*zq*_pctC-BFp~XU+fN
z(3;imk50H%d&P-1Y4gJc{zGA}T
zY4g@6yDz%&YFprx{hjmT>KP`VxXEAivrrUmlkYJJZOh?^_ZFz-(E;f_-o
zJZF~P3OW8pG%ZTd>%~W3tN*4p>~f(sN7rBJUYH)5xv_%
z8D{${KJeJXKH-D$r45ts&x+Q6r1o*wjw?|-f_t=|w?02x%5q5S=^vTe`b*YUi(_+U
zUVressi~zPCqr}L!$~itT)zDEekh#$X@1TIzTS5^_Ex{99-4pR$R7T;6K7r6X#aLX
zm<_Ml&!&A$%{9%8Ji=R9-RFD}UJ|fza<5DDva_6@)IyGY{dA?t#KV6{XMI)ub>oDW
zU7FGfXLl|+!P)XuujpE@EdPm%E!hE;U5~RFww)E{yW`0$wc%}~&ra#Isc-)=is{?-
T$Xzi8r9cKxS3j3^P6V4);iEMu(@}r~f)T+5$Yu5HfWpm_R
zed_;(amlt6&4|mj>xwzv@7e4SSH30D^w*SZA5}0RyUIrN7
N44$rjF6*2UngH=+lhgnJ
literal 0
HcmV?d00001
diff --git a/static/tabbar/icon-home.png b/static/tabbar/icon-home.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ca906a4da358fb3e4ee850bc1c4c1d1a6e2af34
GIT binary patch
literal 565
zcmeAS@N?(olHy`uVBq!ia0vp^>Oic)!3-q5w1qDLsmTF8A+A9B{~!YwtySZI&N3(o
z@(X4-vuf$3!&?-8e`nh#$n@sKj+x!{{${+n>QbDaUfjFBpe5W*N9FO>4P{9&wz8r}
zCkje0y~e=6sOah97-Dhy?d9;iLk=Pi7t@m;-P7J%?(yzlxVVRdS<&zQqJKK^na_ID
zmblqJU%mRv%^M7Fw%@&Z>dAGLm#6v?jzw>ekdmm(PHi>tefsc`;}f&=NQUCSKLgJ=
z$eO1rv*x(R<=NHTlVZDj@W7-?KNvROy78J*=V|Y6)_bn^=J50c=l0$?5aW4NNG*G%
zw~xiN=Y|b;-DWKb=9vHd@r?yNOJ>@&*M6IvDUfpMm}JxcAF>V^p0TCjt4>Hcy)?7vId(3|7jD-Y{CWS+A^e8dN&l$b9a{Uhdh=*4+V1DL_KwHikjhBL
zZ7a^iyiBWXDQerZyjxK)yHBuu?*tvDqoSHN2Bu4U(++*nD*rVh?_l;4leiVRVuf1e
Y_m_+5MJ{+&0!kPRp00i_>zopr0E)s&TmS$7
literal 0
HcmV?d00001
diff --git a/static/tabbar/icon-my.png b/static/tabbar/icon-my.png
new file mode 100644
index 0000000000000000000000000000000000000000..3430198d2e38b180600884aca7dd442850720348
GIT binary patch
literal 664
zcmeAS@N?(olHy`uVBq!ia0vp^3P7yJ!3-oP{mr}$q?QKwgt!9f|AQXv`1?2%=uoqg
zAirRSj!*9de$VoAQ~G;)N|p%s?Za!Ab-y})ysyU6R8HdC!)@isF}m!R_iUP15^Sp`
z&B7EB<|x#dGkMQS1_s6)PZ!4!i_>#2U7t4FL4f5#lc18ak&vThrD|^3-~Y>Rraj$k
z!eswr-_@6vJa;d@u-K!neK@g%16D7v0(-
zpDAW_n2mo{hsm8EbF82I5_Y~9vn@tAIqUNGvr_+`Fa2Vgf9sRU{x|P)4Z=mP*a-Bm
zp8V_9<#&6&&foJ>F387i*^Dy>drnl8t#`jtUa{e-WbND;L7@@>FXN+AFYZX1kh#Tw
zj`7hB%i;w~><)G~q<4m_TR+9X^`Lprt&I-HxE6mqld$37idk&a_9TY5GOMpTvOnhg
zwp{kfyPuWcnEoty&lAqlbM*!D8^gV=#TOR291PSdc|1S-f%y3x!`p3~5(2=OWAJqK
Kb6Mw<&;$To_=(v7
literal 0
HcmV?d00001
diff --git a/store/actions.js b/store/actions.js
new file mode 100644
index 0000000..c126b1b
--- /dev/null
+++ b/store/actions.js
@@ -0,0 +1 @@
+// 根级别的 action
\ No newline at end of file
diff --git a/store/index.js b/store/index.js
new file mode 100644
index 0000000..8bc4203
--- /dev/null
+++ b/store/index.js
@@ -0,0 +1,16 @@
+// 组装模块并导出 store 的地方
+import Vue from 'vue'
+import Vuex from 'vuex'
+import moduleA from '@/store/modules/moduleA'
+import moduleB from '@/store/modules/moduleB'
+
+Vue.use(Vuex);//vue的插件机制
+
+//Vuex.modules 模块选项
+const store = new Vuex.Store({
+ modules: {
+ moduleA,
+ moduleB
+ }
+})
+export default store
\ No newline at end of file
diff --git a/store/modules/moduleA.js b/store/modules/moduleA.js
new file mode 100644
index 0000000..2260651
--- /dev/null
+++ b/store/modules/moduleA.js
@@ -0,0 +1,93 @@
+// 购物车模块
+export default {
+ state:{//存放状态
+ // 底部导航的高
+ footHeight:'',
+ token:'token已生成',
+ userInfo:{},
+ count:0,
+ publicColor:'',
+ todos: [{
+ id: 1,
+ text: '我是内容一',
+ done: true
+ },
+ {
+ id: 2,
+ text: '我是内容二',
+ done: false
+ }
+ ],
+ obj:{
+ a:'吃鸡腿',
+ b:'吃自助餐'
+ }
+ },
+ // Vuex中store数据改变的唯一方法就是mutations 不适合异步方法
+ mutations: {
+ footHeightEv(state,str){
+ state.footHeight = str;
+ },
+ add(state) {
+ state.count = 7;
+ },
+ add2(state, payload) {
+ state.count = payload.amount;
+ },
+ // 单个属性处理方法
+ setToken(state,str) {
+ state.token = str;
+ },
+ // 对象处理方法
+ updateUserInfo(state, payload) {
+ // 变更状态
+ state.userInfo = payload.userInfo;
+ },
+ // 新增字段方法
+ newProp(state,payload) {
+ state.obj = { ...state.obj, c: payload.c };
+ }
+ },
+ // 可以执行任意的同步和异步操作
+ actions:{
+ addCountAction ({commit}) {
+ commit('add')
+ },
+ addCountAction2 (context , payload) {
+ context.commit('add2', payload)
+ },
+ // 异步方法
+ addCountAction3 (context , payload) {
+ setTimeout(function () {
+ context.commit('add2', payload)
+ }, 2000)
+ },
+ actionA ({ commit }) {
+ return new Promise((resolve, reject) => {
+ setTimeout(() => {
+ commit('someMutation')
+ resolve()
+ }, 1000)
+ })
+ },
+ actionB ({ dispatch, commit }) {
+ return dispatch('actionA').then(() => {
+ commit('someOtherMutation')
+ })
+ }
+ },
+ // Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性),对 state 的加工,是派生出来的数据。 可以在多组件中共享 getter 函数,这样做还可以提高运行效率。
+ getters: {
+ doneTodos: state => {
+ return state.todos.filter(todo => todo.done)
+ },
+ doneTodosCount: (state, getters) => {
+ //state :可以访问数据
+ //getters:访问其他函数,等同于 store.getters
+ return getters.doneTodos.length
+ },
+ getTodoById: (state) => (id) => {
+ return state.todos.find(todo => todo.id === id)
+ }
+ }
+}
\ No newline at end of file
diff --git a/store/modules/moduleB.js b/store/modules/moduleB.js
new file mode 100644
index 0000000..3a9c369
--- /dev/null
+++ b/store/modules/moduleB.js
@@ -0,0 +1,87 @@
+export default {
+ state:{//存放状态
+ token:'token已生成',
+ userInfo:{},
+ count:0,
+ publicColor:'',
+ todos: [{
+ id: 1,
+ text: '我是内容一',
+ done: true
+ },
+ {
+ id: 2,
+ text: '我是内容二',
+ done: false
+ }
+ ],
+ obj:{
+ a:'吃鸡腿',
+ b:'吃自助餐'
+ }
+ },
+ // Vuex中store数据改变的唯一方法就是mutations 不适合异步方法
+ mutations: {
+ add(state) {
+ state.count = 7;
+ },
+ add2(state, payload) {
+ state.count = payload.amount;
+ },
+ // 单个属性处理方法
+ setToken(state,str) {
+ state.token = str;
+ },
+ // 对象处理方法
+ updateUserInfo(state, payload) {
+ // 变更状态
+ state.userInfo = payload.userInfo;
+ },
+ // 新增字段方法
+ newProp(state,payload) {
+ state.obj = { ...state.obj, c: payload.c };
+ }
+ },
+ // 可以执行任意的同步和异步操作
+ actions:{
+ addCountAction ({commit}) {
+ commit('add')
+ },
+ addCountAction2 (context , payload) {
+ context.commit('add2', payload)
+ },
+ // 异步方法
+ addCountAction3 (context , payload) {
+ setTimeout(function () {
+ context.commit('add2', payload)
+ }, 2000)
+ },
+ actionA ({ commit }) {
+ return new Promise((resolve, reject) => {
+ setTimeout(() => {
+ commit('someMutation')
+ resolve()
+ }, 1000)
+ })
+ },
+ actionB ({ dispatch, commit }) {
+ return dispatch('actionA').then(() => {
+ commit('someOtherMutation')
+ })
+ }
+ },
+ // Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性),对 state 的加工,是派生出来的数据。 可以在多组件中共享 getter 函数,这样做还可以提高运行效率。
+ getters: {
+ // doneTodos: state => {
+ // return state.todos.filter(todo => todo.done)
+ // },
+ // doneTodosCount: (state, getters) => {
+ // //state :可以访问数据
+ // //getters:访问其他函数,等同于 store.getters
+ // return getters.doneTodos.length
+ // },
+ // getTodoById: (state) => (id) => {
+ // return state.todos.find(todo => todo.id === id)
+ // }
+ }
+}
\ No newline at end of file
diff --git a/store/mutations.js b/store/mutations.js
new file mode 100644
index 0000000..d15562c
--- /dev/null
+++ b/store/mutations.js
@@ -0,0 +1 @@
+// 根级别的 mutation
\ No newline at end of file
diff --git a/store/readme.md b/store/readme.md
new file mode 100644
index 0000000..3532bd6
--- /dev/null
+++ b/store/readme.md
@@ -0,0 +1,119 @@
+#引入vuex状态机
+在根目录创建store目录
+
+#在main.js引入store、注册store、挂载store在程序上
+import Vue from 'vue';
+import App from './App';
+#import store from './store'
+#Vue.prototype.$store = store
+
+const app = new Vue({
+# store,
+ ...App
+})
+app.$mount()
+
+
+#在页面内使用store的属性
+
+import { mapState,mapGetters,mapMutations } from 'vuex'//引入mapState
+export default {
+ data() {
+ return {}
+ },
+#单纯访问属性值
+ computed:{
+ tokenEv() {
+ return this.$store.state.token;
+ }
+ },
+
+ computed:mapState({
+ // 从state中拿到数据 箭头函数可使代码更简练
+ token: state => state.token,
+ }),
+ computed:mapState(['token']),
+ computed: {
+ ...mapState({
+ token: function (state) {
+ return '追加的' + state.token
+ },
+ userInfo: state => state.userInfo,
+ })
+ },
+ computed:{
+ ...mapState([
+ 'token',
+ 'userInfo',
+ 'count',
+ 'obj'
+ ])
+ },
+ computed: {
+ ...mapState({
+ token: state => state.moduleA.token,
+ count: state => state.moduleB.count
+ }),
+ },
+#单纯访问方法
+ computed: {
+ todos() {
+ return this.$store.getters.doneTodos
+ }
+ },
+ computed: {
+ doneTodosCount() {
+ return this.$store.getters.doneTodosCount
+ }
+ },
+
+ computed: {
+ getTodoById() {
+ return this.$store.getters.getTodoById(1)
+ }
+ },
+
+ computed: {
+ // 使用对象展开运算符将 getter 混入 computed 对象中
+ ...mapGetters([
+ 'doneTodos',
+ 'doneTodosCount',
+ 'getTodoById'
+ // ...
+ ])
+ },
+ onLoad(options) {
+#改变状态机里面的值
+
+ this.$store.commit('setToken', 'token已改变');
+
+ this.$store.commit('updateUserInfo',{userInfo:'用户信息'})
+ this.$store.commit({
+ type: 'updateUserInfo',
+ userInfo: '新方式更新用户信息'
+ })
+ this.$store.commit('newProp',{c:'吃火锅'})
+
+ console.log(this.token);
+
+ this.add();
+
+ this.$store.dispatch('addCountAction')
+ this.$store.dispatch('addCountAction2',{amount:10})
+
+ this.$store.dispatch('addCountAction3',{amount:30})
+ setTimeout(()=>{
+ console.log(this.count,388);
+ },3000)
+ },
+ methods: {
+
+ ...mapMutations(['add']),//对象展开运算符直接拿到add
+ }
+ }
\ No newline at end of file
diff --git a/uni.scss b/uni.scss
new file mode 100644
index 0000000..f0f426c
--- /dev/null
+++ b/uni.scss
@@ -0,0 +1,76 @@
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+
+/* 颜色变量 */
+
+/* 行为相关颜色 */
+$uni-color-primary: #007aff;
+$uni-color-success: #4cd964;
+$uni-color-warning: #f0ad4e;
+$uni-color-error: #dd524d;
+
+/* 文字基本颜色 */
+$uni-text-color:#333;//基本色
+$uni-text-color-inverse:#fff;//反色
+$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息
+$uni-text-color-placeholder: #808080;
+$uni-text-color-disable:#c0c0c0;
+
+/* 背景颜色 */
+$uni-bg-color:#ffffff;
+$uni-bg-color-grey:#f8f8f8;
+$uni-bg-color-hover:#f1f1f1;//点击状态颜色
+$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色
+
+/* 边框颜色 */
+$uni-border-color:#c8c7cc;
+
+/* 尺寸变量 */
+
+/* 文字尺寸 */
+$uni-font-size-sm:24upx;
+$uni-font-size-base:28upx;
+$uni-font-size-lg:32upx;
+
+/* 图片尺寸 */
+$uni-img-size-sm:40upx;
+$uni-img-size-base:52upx;
+$uni-img-size-lg:80upx;
+
+/* Border Radius */
+$uni-border-radius-sm: 4upx;
+$uni-border-radius-base: 6upx;
+$uni-border-radius-lg: 12upx;
+$uni-border-radius-circle: 50%;
+
+/* 水平间距 */
+$uni-spacing-row-sm: 10px;
+$uni-spacing-row-base: 20upx;
+$uni-spacing-row-lg: 30upx;
+
+/* 垂直间距 */
+$uni-spacing-col-sm: 8upx;
+$uni-spacing-col-base: 16upx;
+$uni-spacing-col-lg: 24upx;
+
+/* 透明度 */
+$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
+
+/* 文章场景相关 */
+$uni-color-title: #2C405A; // 文章标题颜色
+$uni-font-size-title:40upx;
+$uni-color-subtitle: #555555; // 二级标题颜色
+$uni-font-size-subtitle:36upx;
+$uni-color-paragraph: #3F536E; // 文章段落颜色
+$uni-font-size-paragraph:30upx;
\ No newline at end of file