From 8b79fc810ff2b4cd22dec21ca1c7a0900d2eaac9 Mon Sep 17 00:00:00 2001 From: Lmx <1960868911@qq.com> Date: Tue, 10 Feb 2026 16:55:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E5=B0=8F=E7=A8=8B=E5=BA=8F=E9=A1=B9=E7=9B=AE=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加了完整的微信小程序基础架构,包括: - 创建app.js、app.json、app.wxss等核心文件 - 配置页面路由和底部tabBar导航 - 添加首页、分类页、个人中心等多个页面模板 - 集成ant-design-mini组件库依赖 - 配置项目编译设置和开发环境 - 添加登录页面及相关的样式和逻辑文件 ``` --- app.js | 19 +++++++ app.json | 44 +++++++++++++++ app.wxss | 10 ++++ img/tab/category.png | Bin 0 -> 6486 bytes img/tab/category_active.png | Bin 0 -> 7080 bytes img/tab/home.png | Bin 0 -> 3622 bytes img/tab/home_active.png | Bin 0 -> 4062 bytes img/tab/mine.png | Bin 0 -> 4651 bytes img/tab/mine_active.png | Bin 0 -> 5004 bytes node_modules/.package-lock.json | 14 +++++ node_modules/ant-design-mini/package.json | 11 ++++ node_modules/ant-design-mini/src/index.js | 1 + package-lock.json | 22 ++++++++ package.json | 15 +++++ pages/category/category.js | 66 ++++++++++++++++++++++ pages/category/category.json | 3 + pages/category/category.wxml | 2 + pages/category/category.wxss | 1 + pages/home/home.js | 66 ++++++++++++++++++++++ pages/home/home.json | 3 + pages/home/home.wxml | 5 ++ pages/home/home.wxss | 1 + pages/index/index.js | 66 ++++++++++++++++++++++ pages/index/index.wxml | 2 + pages/login/login.js | 66 ++++++++++++++++++++++ pages/login/login.json | 0 pages/login/login.wxml | 24 ++++++++ pages/mine/mine.js | 66 ++++++++++++++++++++++ pages/mine/mine.json | 3 + pages/mine/mine.wxml | 2 + pages/mine/mine.wxss | 1 + project.config.json | 41 ++++++++++++++ project.private.config.json | 22 ++++++++ sitemap.json | 7 +++ utils/util.js | 19 +++++++ 35 files changed, 602 insertions(+) create mode 100644 app.js create mode 100644 app.json create mode 100644 app.wxss create mode 100644 img/tab/category.png create mode 100644 img/tab/category_active.png create mode 100644 img/tab/home.png create mode 100644 img/tab/home_active.png create mode 100644 img/tab/mine.png create mode 100644 img/tab/mine_active.png create mode 100644 node_modules/.package-lock.json create mode 100644 node_modules/ant-design-mini/package.json create mode 100644 node_modules/ant-design-mini/src/index.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 pages/category/category.js create mode 100644 pages/category/category.json create mode 100644 pages/category/category.wxml create mode 100644 pages/category/category.wxss create mode 100644 pages/home/home.js create mode 100644 pages/home/home.json create mode 100644 pages/home/home.wxml create mode 100644 pages/home/home.wxss create mode 100644 pages/index/index.js create mode 100644 pages/index/index.wxml create mode 100644 pages/login/login.js create mode 100644 pages/login/login.json create mode 100644 pages/login/login.wxml create mode 100644 pages/mine/mine.js create mode 100644 pages/mine/mine.json create mode 100644 pages/mine/mine.wxml create mode 100644 pages/mine/mine.wxss create mode 100644 project.config.json create mode 100644 project.private.config.json create mode 100644 sitemap.json create mode 100644 utils/util.js diff --git a/app.js b/app.js new file mode 100644 index 0000000..1ed57c4 --- /dev/null +++ b/app.js @@ -0,0 +1,19 @@ +// app.js +App({ + onLaunch() { + // 展示本地存储能力 + const logs = wx.getStorageSync('logs') || [] + logs.unshift(Date.now()) + wx.setStorageSync('logs', logs) + + // 登录 + wx.login({ + success: res => { + // 发送 res.code 到后台换取 openId, sessionKey, unionId + } + }) + }, + globalData: { + userInfo: null + } +}) diff --git a/app.json b/app.json new file mode 100644 index 0000000..f9aea1e --- /dev/null +++ b/app.json @@ -0,0 +1,44 @@ +{ + "pages": [ + "pages/login/login", + "pages/index/index", + "pages/category/category", + "pages/mine/mine" + ], + "window": { + "backgroundTextStyle": "light", + "navigationBarBackgroundColor": "#fff", + "navigationBarTitleText": "底部TabBar示例", + "navigationBarTextStyle": "black" + }, + "tabBar": { + "color": "#dbdbdb", + "selectedColor": "#fff", + "backgroundColor": "#FF9966", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/index/index", + "text": "首页", + "iconPath": "img/tab/home_active.png", + "selectedIconPath": "img/tab/home.png" + }, + { + "pagePath": "pages/category/category", + "text": "分类", + "iconPath": "img/tab/category_active.png", + "selectedIconPath": "img/tab/category.png" + }, + { + "pagePath": "pages/mine/mine", + "text": "我的", + "iconPath": "img/tab/mine_active.png", + "selectedIconPath": "img/tab/mine.png" + } + ] + }, + "style": "v2", + "componentFramework": "glass-easel", + "sitemapLocation": "sitemap.json", + "lazyCodeLoading": "requiredComponents" +} \ No newline at end of file diff --git a/app.wxss b/app.wxss new file mode 100644 index 0000000..06c6fc9 --- /dev/null +++ b/app.wxss @@ -0,0 +1,10 @@ +/**app.wxss**/ +.container { + height: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + padding: 200rpx 0; + box-sizing: border-box; +} diff --git a/img/tab/category.png b/img/tab/category.png new file mode 100644 index 0000000000000000000000000000000000000000..ec0a3a74e64cdfd2e13f45b834c3fc7317d8fd3e GIT binary patch literal 6486 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 E2UD-!$N&HU literal 0 HcmV?d00001 diff --git a/img/tab/category_active.png b/img/tab/category_active.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2e1780969f65acb5c064a1009e5142a39a2b77 GIT binary patch literal 7080 zcmZvhcT^Kkw8tqCLJ<-`dPzc&UZsN&sgW8$iios;NC#3WaOK4IAq`dszIq$#s$L`*9_d9oI&g{&&cRq2(hB`N?*{MlLNNyr@HBE?5+M(>{zt#(wq(>BK9^^Yiv?cCVTvc?%n^n&9jC}8kR@ca5iO^1d?D9P+x_i!wSN9Md z-AzK41R-B+u)axrvqpY1f)v2ahwCoeG1tgr0I8u`%&5(SN|4-fB}4D&9; zh}oKrC*Ri&FEYxm2_siil$%xkeQLr=kh3dT?nzQ&deEk*rWQWAu=wPk^)0Ik-dGt? z?Z$zgTI_iH&B)3Z`9|OTSa5?s z7svf}V!0wQ26+>FH~i{FSZHWyv2W=z<&am`(_D*}0 z0gE%9`|g%!0&7pdLoF$bz26P(?_LMr&LUO2rs{f(+I}HYTT#DN6{U0AguO)25V?2| zX(ZS;I^#fci(GSmbA|W|hG*pGPVMgg`@7fds_`mIlSz?!kJm}&Pu8Nt!KYhv6l&gJ z=0c9+?uV@G*fJjMSC>yY)S^G?f6wrywPs~QV3ghZu$Viu3ZJ)v{zTU~ZBXi@$8p)O zln3i`{vmvEu37Y19jk$zWcPcSGn1$tKhrr$fu)_NssJ+WRPQVlSev6~%i;U&R(1@V zh+}%G@t!eIKf6+k8$QFYqIj`4A=C6O*X?JIQ%KPnoGv6`y_lyKwFX+|cWa=Qbcu_h zA`knk0OO{KcIqpyYU0iHDFw8IV>nle7E!|OQ$v*t?dM_F2g^E~^ctVG9)~2l^O%NA zy*7SI9cFtA@Xlm}eZfAa)8;}n;JWNk=)_*t#EcoQ4I+7?5v8rhcm}vCN|KT)DdArW zfxZ6}ZmOfA1zoD^*5RIpy@o9nx$pn}9Aj6SLEH1;s5?av>d_{NimA#CHTj$+RI_5y{IFogtF~%|b%SHh+-k>)3<#QSL*Y{x{4k3w9qxy zc7DRDk3kZs_DSxPe+38b^FE~tk>1u#2x=AsFZ(MLmWl$vB-d0aRuoIm+y7=UQ>OZ) zb#d?crM4$Hrx;)G&4|&s>~zT4zvZu0_}y(J4Y)xvBX@F@45`ymSg?)#GYU1ben*Fk zct_32qc}cQj0L9H2m^kXmSNkMX25G6W^6zp7pSM`-6>osbxK z@C#8&9!jl?(Ze$?;X-Y89_8+@jB==bqtcdis06m8pkdm4@5*H9Gf6OiAYtM2L#tJK6w4iiQjT&Gge2@vv$!g)x5+W@t zpz$kolU4*M~1V`eDKyI*%*KF z<>{N|YA-LZ@I<`1uQxp4O#Q?PZh{6Okv~ey#P_U^&2K55=6#vB4_1D78lA}L^uE8) z&3U6rC0E_qmb<9bH=3X`p1=`i)KdFrL}^;B;5ms@=&g zMWAT^GGzcDS};$az$XMpwS*g_KPzR+^(Q~IJu2eD zY(o816cc94YQzWR!FhixYnpPm_S1en8sfo%l!f2}UzHzyW)EsH$q!s@Nn_b|-R=nB zco<%mD{9D$=d+5=tnW08jWx{y0)?tj`$=u?}#YE1@!B& zDht-{LauEkLug^>AmzTg#cw4R+z@&*gds>I;jhvwQC}Y)pPI|@v&Nm83Y*w(7R8oi z_T;&*M&1b0z>A9hDgkb4(J?nwW(w%?>{UT7JC2*?tPH|Dg4;iZjvZ{fD*w@f(7+{& zviMG87GGpkfnnbP-{Zx zTzB44ZWFgPO>}c}^SJF#;B;9k1vOoQlDK5wh{;iAJ+OX3KI3hw2nXCaRm^Wd%lTx)7BTN4{K1(@$F$AU8sTtZ_)VM?3zAPQW3OK{DX`@d$Oh;Km z;|TZ}9-IvT4$?Fgn^;GD)N$yPgHkF%ChFYmRO?Ys#j(pg_(Ab#h<>AHsxsTLT}3iy z2A1N8n%y@qlI5(${EhIpq7!VfKeSRWM7c*nrAuY&uL?gcCePz(hhQm%EPHIV7S&j%j8BtL~J zC$?LpDJ{IH-cVXFJ{EirStL>SWvCZNw%JUPJwBJ@zxTDLz`Z;DS?$Po&-?4jbE+YB zf;o_peX?!%<}|3^Mmgh>sxy`GD8~BjQKT!73@Gb(2~lNf4$&FEV9C&zO{rF+bZT%@GED%-4-Sra=29#xMx=GN|G zS>%hqTZA`&?A-Lg8C`hgj5U@=)tT-iquKOA1E&DL&c~Mdx02| z`SWjeX%zNLL0xQ7LfU6GeD$*eCy^PiUkh7NK`SNNono;2Nc_^_7qJhd@bV- z{QPJkS^M}4BkwlKc9j*y$=NL$?SB|70M z!pbvKq<;!|{gb%c1}L9XaOhEBc#1gu{X=Z5d2z9-(3=B;J%YaR%JJ2|S)JMQ4=Ww} zr+c1rZ#+Sj^?UJ>D;e`iSbft8+cKWnfM#2&eN3etq#XnL(q;sFgxY~|`XCXld07DU ze}$9r=R0*n>O_N9`Hs;4=dtSm900O%uUDFj1TR$8cJ_oMBqUxtMg=z+oT!;N9?uSm z&z&Y!MNUj1{C87w3zj*~_h0RxDza(el6MXB(2Tzo_LRb|k2b%_Tm6eGpdaLJl;?@v z{M;bn7}eI4bS5Tz99ZLqm#btvS5R%j>H&2_jN6pTM<~vOl)}hpz_^Q&Hzxw>3V$}P z5T2F%v02C3H`b+4-KSVd&F(mF&g_Btm7t4zcx}valF#z-i`g{Z=qajDIuV0*G6ZAU~0-gPW@GT>Yi{_O|=OG*~}_rd``$rtEJ; zK9Stv#FUl14*%-N?Tp7Q&<~TEsW2*-uOyd!M_n1uM&?~xd4Jn{r}3^7jRoYL+B4Vk z%L>97F?nl_a$}mxPYM|Jc>nlvzB%v+9)Q{&8kU+7+#24{QjH%uyYtg7?}Sho=4Era z=gxk}kZQ@X_e12MNC6F0hz0*VK)s+f>SF2?cMG$7S(9V3qPZqg{DLc^;Mw7nNoPr$ zmqIntY#o02Cv@jhICOnsWMQ*gc^h}Oo6I$*wDT1@BbYk(zaQcm>oWbZ_cU|wH|5ro z0rr1JzK<(@Nnm9oysLtz|7n3WU&86UVp#7PQoIDc2z;O0d&2&fO)wL2&R6h{uIOUwaNHS3z2d&oqXH9#qmF47#L5uRZ}kD^!C zpWv7hu2N%5#6aUT0r<5Y!eg#o^Z2EfPc~Od^+nL(_qOGeTqVv6ZIxF&&Ipqu$3++r z=BrLy@QpNN1lz=GiuVwZQi2ZR&b_{%3mXk=vf7-#QXC} z?mb6zda={6;k}u#*=O!#pD8e(X5XgrEiWD!wEZkhSka=S4&FFAjrOcAqd4DfzcRE< zjwzt+J~}1r>?Cc9hE^hGOX>>RQyJy9f_AC^P-(qBxW?vHkHC{4e%Gf53T_J?2zy{e zk1QyYmYj09sOj#9Gfwr9HnVFTr?DWzn!>-OkJC*LcW?E#Q%HPLso0O+D-u7}odymyGxyu=!Ep6LDhN;_kQkqDrERUcy|^oH}qG!H&ek3mn9YVteuKb zv!}SsBnXP0l z^R-Oyuy!)lTqJ$VyJd=Uk=ypv{qnSD=`Xxi9aBgZ00KY3U@z!xpqK|TKP^|Ov?u4$+%jvcy{8wa^Q zl{5Z{>^(cl_>@D#-MXr42of97DZNF<6tR+_D!Lgoz4yM_S%S7*CU)z}O)Op`fa3^T zk)8#am<|bEO;aU7V(LzLP4PAt0-WY)aM9U?p2_LgoqG2{cZ+zXPhF*&PF`|uxn*Q( z1ZNu13%1MX0-H(>|6Cu^mFSfdtF`mw5#?SXcDgVy6}Eh2OJ>kAc|$3Be|CxEUX>>g zKUd%}p5MX*{YtZin60WstAppbHO@JKQ6EuHY^*SVtK~w14KcV5#T(ywwdq%xjH1qJ;3Q6Z{ zZ_4_o7Toskk0q!w-}}$A1bwjpVQ+k%1k8=3l(M4<(82dVM<)-SHPBcY#X{Wr1gzEd z?h5Trh&7Lc7rt-@W%OnUv z8MPP*SEnWvu53Zsev6{==?qT}$-PW6Xw%aS;QcE3&(?)b5L65fs0jOlJo4YmgRhle z`OFwOjr!@oqwTb*jfu*1-m$5?ywgh0#}Cwg6V(oTa+|sWKR5S%n#a+Lnzi`v6{Em{ z+B0G412gzOJAhfDym`tU1;*5>ubTs%D zg-6;%^oG1IZgcDXvcELD?zlE^@0$O1>=bVwyveGs>0{V!tWns7E4e-}Y-%~fG~yB9 z;5?_5T$`@3VlPzRDozyd0-b+g@-aIKYce=icG9TfDPT28?{C}9S6wxZSr(<6bJ zpCu3FIN%`5LwugCev!dW|N7g9WPU1*qNy()W@bQ&^t7Uq*Uw2iO;J-%{4o4;T=(ojysc62Ea-BR(aI7oa5nkbXt|}4@Hws}8*}s~8=^UBDkU90 z>ea{H)7)bO7ua~a7fC6U7lH03#Bi8S;tWBr25|A!m5*QB+4yYbe7LqQc8YyD9HoyX0Wl3zm-b2v0iF=$Xs z?ii6fV0{D8a00QrpRHn@0wATP{fG;(Rz#f6$6L|5BTW8%`?#JpN3JIN1_E5yEm(e7 zXwU2ml&Fv68$~%}n>C9=CGTGm021#Z(gZd>urdAgm@IhJ-1kYKe!?#?8k;OSeK$dz zH9D)Gu`dF3(<2t9@%Acss084vK$w+zU_TVUOr>^+SDv8}(*m&6mPbQ?dJ%#%Gc$qN ziK(jhc`ZuSF;%9O7*XXIyJnqq266*pP1L>xM2|5geiXdS^QEzJM}6_|PPFDz?EZ4A zHc~KK{qv*nG@1I@x}KV{mlk61th%|to7IOa+vz4rBBI*zwWi5ZM)U8`<#6ANJ8Sj0 z;3!TdaaZdb@U~cLRK4MNqghIsKDuuiui&;9=Y=O=iqD>|=1rh!)asnlNLkOs-IPiKI`ORHwTedTrg*j+gDUiadD z;m7{!jYQ~WKoc>itrQy&sKgluDky6gmSHk6PrD+3-(@@;&R2j3>dH21n>R0B&7a`y zS(Fpznbmg7cbV0`PXiYaVAL;l)+Ct5`@paUdCjq$Ql$l?Z`UtV1xk5pOR$Qd(!$bU zhwP&F1i&hi)W|5Nfn6S5)c+~ToQ+6(GT5r(J}?uJOG8lexUdGX){u^r_4!6bE~(6W zau4x9&XkYf6`B+y|NULW~?lV>Y(w$~=llh$_C!rN<=^;f}keb$I2yJTi0@^xilz*`__;ExO7Y(*2S%QfjxW!f(_nw<5 zK6=*-7P&_p1I$qt`HhzdoIqU(zR{{g}vL>&MC literal 0 HcmV?d00001 diff --git a/img/tab/home.png b/img/tab/home.png new file mode 100644 index 0000000000000000000000000000000000000000..c7fccbf4493fbd5137ae4d1ea9aea77e112bf9ae GIT binary patch literal 3622 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 literal 0 HcmV?d00001 diff --git a/img/tab/mine.png b/img/tab/mine.png new file mode 100644 index 0000000000000000000000000000000000000000..4d86cdf0c6e0b13270eaf9757c900301da85b3f6 GIT binary patch literal 4651 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 literal 0 HcmV?d00001 diff --git a/img/tab/mine_active.png b/img/tab/mine_active.png new file mode 100644 index 0000000000000000000000000000000000000000..f5aae836fbcf22c36e716b34a9d63651d3fee48a GIT binary patch literal 5004 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 literal 0 HcmV?d00001 diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json new file mode 100644 index 0000000..b3b8d03 --- /dev/null +++ b/node_modules/.package-lock.json @@ -0,0 +1,14 @@ +{ + "name": "wxapp", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "node_modules/ant-design-mini": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/ant-design-mini/-/ant-design-mini-0.0.1.tgz", + "integrity": "sha512-pMtB6VUth5FVaSKho/rl7oDTrYl3cuuckDrEkDeTwqdiylfe2nm5OOomWg+oujpl8XV/SCpUOqmRybfBDOjXDg==", + "license": "ISC" + } + } +} diff --git a/node_modules/ant-design-mini/package.json b/node_modules/ant-design-mini/package.json new file mode 100644 index 0000000..4946f61 --- /dev/null +++ b/node_modules/ant-design-mini/package.json @@ -0,0 +1,11 @@ +{ + "name": "ant-design-mini", + "version": "0.0.1", + "description": "ant-design-mini", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "liumin", + "license": "ISC" +} diff --git a/node_modules/ant-design-mini/src/index.js b/node_modules/ant-design-mini/src/index.js new file mode 100644 index 0000000..c9cd42f --- /dev/null +++ b/node_modules/ant-design-mini/src/index.js @@ -0,0 +1 @@ +console.log('hello world') \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..e1fba73 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,22 @@ +{ + "name": "wxapp", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "wxapp", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "ant-design-mini": "^0.0.1" + } + }, + "node_modules/ant-design-mini": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/ant-design-mini/-/ant-design-mini-0.0.1.tgz", + "integrity": "sha512-pMtB6VUth5FVaSKho/rl7oDTrYl3cuuckDrEkDeTwqdiylfe2nm5OOomWg+oujpl8XV/SCpUOqmRybfBDOjXDg==", + "license": "ISC" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..b8a45d4 --- /dev/null +++ b/package.json @@ -0,0 +1,15 @@ +{ + "name": "wxapp", + "version": "1.0.0", + "main": "app.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "YuLeYuan", + "license": "ISC", + "description": "", + "dependencies": { + "ant-design-mini": "^0.0.1" + } +} diff --git a/pages/category/category.js b/pages/category/category.js new file mode 100644 index 0000000..6d8f94b --- /dev/null +++ b/pages/category/category.js @@ -0,0 +1,66 @@ +// pages/category/category.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/category/category.json b/pages/category/category.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/category/category.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/category/category.wxml b/pages/category/category.wxml new file mode 100644 index 0000000..2cc701d --- /dev/null +++ b/pages/category/category.wxml @@ -0,0 +1,2 @@ + +pages/category/category.wxml \ No newline at end of file diff --git a/pages/category/category.wxss b/pages/category/category.wxss new file mode 100644 index 0000000..7393762 --- /dev/null +++ b/pages/category/category.wxss @@ -0,0 +1 @@ +/* pages/category/category.wxss */ \ No newline at end of file diff --git a/pages/home/home.js b/pages/home/home.js new file mode 100644 index 0000000..0ab33e6 --- /dev/null +++ b/pages/home/home.js @@ -0,0 +1,66 @@ +// pages/home/home.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/home/home.json b/pages/home/home.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/home/home.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/home/home.wxml b/pages/home/home.wxml new file mode 100644 index 0000000..75ba9a7 --- /dev/null +++ b/pages/home/home.wxml @@ -0,0 +1,5 @@ + +pages/home/home.wxml + + + \ No newline at end of file diff --git a/pages/home/home.wxss b/pages/home/home.wxss new file mode 100644 index 0000000..bc0eec7 --- /dev/null +++ b/pages/home/home.wxss @@ -0,0 +1 @@ +/* pages/home/home.wxss */ \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js new file mode 100644 index 0000000..aadb4bd --- /dev/null +++ b/pages/index/index.js @@ -0,0 +1,66 @@ +// pages/index/index.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/index/index.wxml b/pages/index/index.wxml new file mode 100644 index 0000000..1853ed3 --- /dev/null +++ b/pages/index/index.wxml @@ -0,0 +1,2 @@ + +pages/index/index.wxml \ No newline at end of file diff --git a/pages/login/login.js b/pages/login/login.js new file mode 100644 index 0000000..24469ad --- /dev/null +++ b/pages/login/login.js @@ -0,0 +1,66 @@ +// pages/login/login.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/login/login.json b/pages/login/login.json new file mode 100644 index 0000000..e69de29 diff --git a/pages/login/login.wxml b/pages/login/login.wxml new file mode 100644 index 0000000..e984ef8 --- /dev/null +++ b/pages/login/login.wxml @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/pages/mine/mine.js b/pages/mine/mine.js new file mode 100644 index 0000000..b736413 --- /dev/null +++ b/pages/mine/mine.js @@ -0,0 +1,66 @@ +// pages/mine/mine.js +Page({ + + /** + * 页面的初始数据 + */ + data: { + + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/mine/mine.json b/pages/mine/mine.json new file mode 100644 index 0000000..8835af0 --- /dev/null +++ b/pages/mine/mine.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/mine/mine.wxml b/pages/mine/mine.wxml new file mode 100644 index 0000000..df5a5a9 --- /dev/null +++ b/pages/mine/mine.wxml @@ -0,0 +1,2 @@ + +pages/mine/mine.wxml \ No newline at end of file diff --git a/pages/mine/mine.wxss b/pages/mine/mine.wxss new file mode 100644 index 0000000..91eea05 --- /dev/null +++ b/pages/mine/mine.wxss @@ -0,0 +1 @@ +/* pages/mine/mine.wxss */ \ No newline at end of file diff --git a/project.config.json b/project.config.json new file mode 100644 index 0000000..5107dcc --- /dev/null +++ b/project.config.json @@ -0,0 +1,41 @@ +{ + "compileType": "miniprogram", + "libVersion": "trial", + "packOptions": { + "ignore": [], + "include": [] + }, + "setting": { + "coverView": true, + "es6": true, + "postcss": true, + "minified": true, + "enhance": true, + "showShadowRootInWxmlPanel": true, + "packNpmRelationList": [], + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "compileWorklet": false, + "uglifyFileName": false, + "uploadWithSourceMap": true, + "packNpmManually": false, + "minifyWXSS": true, + "minifyWXML": true, + "localPlugins": false, + "condition": false, + "swc": false, + "disableSWC": true, + "disableUseStrict": false, + "useCompilerPlugins": false + }, + "condition": {}, + "editorSetting": { + "tabIndent": "auto", + "tabSize": 2 + }, + "appid": "wx9bfeebe2956c4c5b", + "simulatorPluginLibVersion": {} +} \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json new file mode 100644 index 0000000..26411b6 --- /dev/null +++ b/project.private.config.json @@ -0,0 +1,22 @@ +{ + "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "wxapp", + "setting": { + "compileHotReLoad": true, + "urlCheck": false, + "coverView": true, + "lazyloadPlaceholderEnable": false, + "skylineRenderEnable": false, + "preloadBackgroundData": false, + "autoAudits": false, + "useApiHook": true, + "showShadowRootInWxmlPanel": true, + "useStaticServer": false, + "useLanDebug": false, + "showES6CompileOption": false, + "bigPackageSizeSupport": false, + "checkInvalidKey": true, + "ignoreDevUnusedFiles": true + }, + "libVersion": "3.14.2" +} \ No newline at end of file diff --git a/sitemap.json b/sitemap.json new file mode 100644 index 0000000..ca02add --- /dev/null +++ b/sitemap.json @@ -0,0 +1,7 @@ +{ + "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html", + "rules": [{ + "action": "allow", + "page": "*" + }] +} \ No newline at end of file diff --git a/utils/util.js b/utils/util.js new file mode 100644 index 0000000..764bc2c --- /dev/null +++ b/utils/util.js @@ -0,0 +1,19 @@ +const formatTime = date => { + const year = date.getFullYear() + const month = date.getMonth() + 1 + const day = date.getDate() + const hour = date.getHours() + const minute = date.getMinutes() + const second = date.getSeconds() + + return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}` +} + +const formatNumber = n => { + n = n.toString() + return n[1] ? n : `0${n}` +} + +module.exports = { + formatTime +}