From a8fdcce4cc3ec21c2db90b3edf64eedf9f513bcc Mon Sep 17 00:00:00 2001 From: sjeam <359824901@qq.com> Date: Sat, 23 Aug 2025 16:56:06 +0800 Subject: [PATCH] =?UTF-8?q?index=20on=20main:=2057be2a1=20=E6=96=B0?= =?UTF-8?q?=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 + pnpm-lock.yaml | 17 + src/components/CustomNavbar.vue | 78 +++ src/layouts/fg-tabbar/tabbarList.ts | 20 +- src/layouts/heardbg.vue | 25 + .../demo/index.vue | 0 src/pages-tourism-sub/home/index.vue | 335 +++++++++++++ src/pages-village-sub/demo/index.vue | 27 ++ src/pages-village-sub/home/index.vue | 455 ++++++++++++++++++ src/pages-village-sub/server/classroom.vue | 128 +++++ src/pages-village-sub/server/helper.vue | 157 ++++++ src/pages-village-sub/server/index.vue | 153 ++++++ src/pages-village-sub/server/market.vue | 153 ++++++ src/pages-village-sub/server/rice.vue | 208 ++++++++ src/pages.json | 128 ++++- src/pages/index/detail.vue | 123 +++++ src/pages/index/index.vue | 433 ++++++++++++++--- src/pages/login/login.vue | 20 + src/pages/my/components/wx-login.vue | 39 ++ src/pages/my/index.vue | 37 ++ src/pages/web_view/index.vue | 91 ++++ src/static/icons/agriculture_course.png | Bin 0 -> 1664 bytes src/static/icons/agriculture_service.png | Bin 0 -> 1718 bytes src/static/icons/rural_ecommerce.png | Bin 0 -> 1757 bytes src/static/icons/top_num.png | Bin 0 -> 846 bytes src/static/icons/village_service.png | Bin 0 -> 1913 bytes src/style/index.scss | 154 +++++- src/uni.scss | 5 +- vite.config.ts | 24 +- 29 files changed, 2714 insertions(+), 98 deletions(-) create mode 100644 src/components/CustomNavbar.vue create mode 100644 src/layouts/heardbg.vue rename src/{pages-sub => pages-tourism-sub}/demo/index.vue (100%) create mode 100644 src/pages-tourism-sub/home/index.vue create mode 100644 src/pages-village-sub/demo/index.vue create mode 100644 src/pages-village-sub/home/index.vue create mode 100644 src/pages-village-sub/server/classroom.vue create mode 100644 src/pages-village-sub/server/helper.vue create mode 100644 src/pages-village-sub/server/index.vue create mode 100644 src/pages-village-sub/server/market.vue create mode 100644 src/pages-village-sub/server/rice.vue create mode 100644 src/pages/index/detail.vue create mode 100644 src/pages/login/login.vue create mode 100644 src/pages/my/components/wx-login.vue create mode 100644 src/pages/my/index.vue create mode 100644 src/pages/web_view/index.vue create mode 100644 src/static/icons/agriculture_course.png create mode 100644 src/static/icons/agriculture_service.png create mode 100644 src/static/icons/rural_ecommerce.png create mode 100644 src/static/icons/top_num.png create mode 100644 src/static/icons/village_service.png diff --git a/package.json b/package.json index ec8cb7f..a36d19f 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,7 @@ "lint:fix": "eslint --fix" }, "dependencies": { + "@climblee/uv-ui": "^1.1.20", "@dcloudio/uni-app": "3.0.0-4060620250520001", "@dcloudio/uni-app-harmony": "3.0.0-4060620250520001", "@dcloudio/uni-app-plus": "3.0.0-4060620250520001", @@ -99,6 +100,7 @@ "pinia": "2.0.36", "pinia-plugin-persistedstate": "3.2.1", "qs": "6.5.3", + "uview-ui": "2.0.38", "vue": "^3.4.21", "wot-design-uni": "^1.9.1", "z-paging": "2.8.7" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4b9e85..762af98 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,6 +16,9 @@ importers: .: dependencies: + '@climblee/uv-ui': + specifier: ^1.1.20 + version: 1.1.20 '@dcloudio/uni-app': specifier: 3.0.0-4060620250520001 version: 3.0.0-4060620250520001(@dcloudio/types@3.4.14)(postcss@8.4.49)(rollup@4.41.1)(vue@3.5.15(typescript@5.7.2)) @@ -85,6 +88,9 @@ importers: qs: specifier: 6.5.3 version: 6.5.3 + uview-ui: + specifier: 2.0.38 + version: 2.0.38 vue: specifier: ^3.4.21 version: 3.5.15(typescript@5.7.2) @@ -938,6 +944,9 @@ packages: '@clack/prompts@0.11.0': resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==} + '@climblee/uv-ui@1.1.20': + resolution: {integrity: sha512-jkyesHJsPJkF4Nap9ZmG1/ibKlxXA5M8+ntqKXwwloIsYSYL5SOKb0gyPj17aBOU1PkJpmeiZ8PwnTolhK2/HA==} + '@commitlint/cli@19.8.1': resolution: {integrity: sha512-LXUdNIkspyxrlV6VDHWBmCZRtkEVRpBKxi2Gtw3J54cGWhLCTouVD/Q6ZSaSvd2YaDObWK8mDjrz3TIKtaQMAA==} engines: {node: '>=v18'} @@ -6152,6 +6161,10 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + uview-ui@2.0.38: + resolution: {integrity: sha512-6egHDf9lXHKpG3hEjRE0vMx4+VWwKk/ReTf5x18KrIKqdvdPRqO3+B8Unh7vYYwrIxzAWIlmhZ9RJpKI/4UqPQ==} + engines: {HBuilderX: ^3.1.0} + v8-to-istanbul@8.1.1: resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} engines: {node: '>=10.12.0'} @@ -7330,6 +7343,8 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 + '@climblee/uv-ui@1.1.20': {} + '@commitlint/cli@19.8.1(@types/node@20.17.9)(typescript@5.7.2)': dependencies: '@commitlint/format': 19.8.1 @@ -14036,6 +14051,8 @@ snapshots: utils-merge@1.0.1: {} + uview-ui@2.0.38: {} + v8-to-istanbul@8.1.1: dependencies: '@types/istanbul-lib-coverage': 2.0.6 diff --git a/src/components/CustomNavbar.vue b/src/components/CustomNavbar.vue new file mode 100644 index 0000000..2325d16 --- /dev/null +++ b/src/components/CustomNavbar.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/layouts/fg-tabbar/tabbarList.ts b/src/layouts/fg-tabbar/tabbarList.ts index 1506b47..6a6dc2f 100644 --- a/src/layouts/fg-tabbar/tabbarList.ts +++ b/src/layouts/fg-tabbar/tabbarList.ts @@ -35,18 +35,12 @@ export const tabbarList = [ // 注意 unocss 的图标需要在 页面上引入一下,或者配置到 unocss.config.ts 的 safelist 中 iconType: 'unocss', }, - // { - // pagePath: 'pages/my/index', - // text: '我的', - // icon: '/static/logo.svg', - // iconType: 'local', - // }, - // { - // pagePath: 'pages/mine/index', - // text: '我的', - // icon: 'iconfont icon-my', - // iconType: 'iconfont', - // }, + { + pagePath: 'pages/my/index', + text: '我的', + icon: 'i-ant-design-user-outlined ', + iconType: 'unocss', + }, ] const _tabbar = { @@ -54,7 +48,7 @@ const _tabbar = { selectedColor: '#018d71', backgroundColor: '#F8F8F8', borderStyle: 'black', - height: '50px', + height: '60px', fontSize: '10px', iconWidth: '24px', spacing: '3px', diff --git a/src/layouts/heardbg.vue b/src/layouts/heardbg.vue new file mode 100644 index 0000000..598c6b1 --- /dev/null +++ b/src/layouts/heardbg.vue @@ -0,0 +1,25 @@ + + + diff --git a/src/pages-sub/demo/index.vue b/src/pages-tourism-sub/demo/index.vue similarity index 100% rename from src/pages-sub/demo/index.vue rename to src/pages-tourism-sub/demo/index.vue diff --git a/src/pages-tourism-sub/home/index.vue b/src/pages-tourism-sub/home/index.vue new file mode 100644 index 0000000..005ed78 --- /dev/null +++ b/src/pages-tourism-sub/home/index.vue @@ -0,0 +1,335 @@ + +{ + layout: 'default', + style: { + navigationBarTitleText: '', + }, +} + + + + + diff --git a/src/pages-village-sub/demo/index.vue b/src/pages-village-sub/demo/index.vue new file mode 100644 index 0000000..bee8a77 --- /dev/null +++ b/src/pages-village-sub/demo/index.vue @@ -0,0 +1,27 @@ + +{ + style: { + navigationStyle: 'default', + navigationBarTitleText: '分包页面 标题', + }, +} + + + + + + + diff --git a/src/pages-village-sub/home/index.vue b/src/pages-village-sub/home/index.vue new file mode 100644 index 0000000..aa51dfa --- /dev/null +++ b/src/pages-village-sub/home/index.vue @@ -0,0 +1,455 @@ + +{ + layout: 'default', + style: { + navigationBarTitleText: '', + }, +} + + + + + diff --git a/src/pages-village-sub/server/classroom.vue b/src/pages-village-sub/server/classroom.vue new file mode 100644 index 0000000..250995c --- /dev/null +++ b/src/pages-village-sub/server/classroom.vue @@ -0,0 +1,128 @@ + +{ + layout: 'default', + style: { + navigationBarTitleText: '', + }, +} + + + + + diff --git a/src/pages-village-sub/server/helper.vue b/src/pages-village-sub/server/helper.vue new file mode 100644 index 0000000..229009a --- /dev/null +++ b/src/pages-village-sub/server/helper.vue @@ -0,0 +1,157 @@ + +{ + layout: 'default', + style: { + navigationBarTitleText: '', + }, +} + + + + + diff --git a/src/pages-village-sub/server/index.vue b/src/pages-village-sub/server/index.vue new file mode 100644 index 0000000..0f78d38 --- /dev/null +++ b/src/pages-village-sub/server/index.vue @@ -0,0 +1,153 @@ + +{ + layout: 'default', + style: { + navigationBarTitleText: '', + }, +} + + + + + diff --git a/src/pages-village-sub/server/market.vue b/src/pages-village-sub/server/market.vue new file mode 100644 index 0000000..77696fe --- /dev/null +++ b/src/pages-village-sub/server/market.vue @@ -0,0 +1,153 @@ + +{ + layout: 'default', + style: { + navigationBarTitleText: '', + }, +} + + + + + + diff --git a/src/pages-village-sub/server/rice.vue b/src/pages-village-sub/server/rice.vue new file mode 100644 index 0000000..d8c8296 --- /dev/null +++ b/src/pages-village-sub/server/rice.vue @@ -0,0 +1,208 @@ + +{ + layout: 'default', + style: { + navigationBarTitleText: '', + }, +} + + + + + diff --git a/src/pages.json b/src/pages.json index a385426..4ed5508 100644 --- a/src/pages.json +++ b/src/pages.json @@ -19,7 +19,7 @@ "selectedColor": "#018d71", "backgroundColor": "#F8F8F8", "borderStyle": "black", - "height": "50px", + "height": "60px", "fontSize": "10px", "iconWidth": "24px", "spacing": "3px", @@ -39,6 +39,12 @@ "text": "关于", "icon": "i-carbon-code", "iconType": "unocss" + }, + { + "pagePath": "pages/my/index", + "text": "我的", + "icon": "i-ant-design-user-outlined ", + "iconType": "unocss" } ] }, @@ -46,7 +52,7 @@ { "path": "pages/index/index", "type": "home", - "layout": "tabbar", + "layout": "default", "style": { "navigationStyle": "custom", "navigationBarTitleText": "首页" @@ -59,7 +65,123 @@ "style": { "navigationBarTitleText": "关于" } + }, + { + "path": "pages/index/detail", + "type": "page", + "layout": "default", + "style": { + "navigationStyle": "custom" + } + }, + { + "path": "pages/login/login", + "type": "page", + "layout": "tabbar", + "style": { + "navigationBarTitleText": "登录" + } + }, + { + "path": "pages/my/index", + "type": "page", + "style": { + "navigationBarTitleText": "我的" + } + }, + { + "path": "pages/web_view/index", + "type": "page", + "layout": "heardbg", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom", + "navigationBarTextStyle": "white" + } } ], - "subPackages": [] + "subPackages": [ + { + "root": "pages-village-sub", + "pages": [ + { + "path": "demo/index", + "type": "page", + "style": { + "navigationStyle": "default", + "navigationBarTitleText": "分包页面 标题" + } + }, + { + "path": "home/index", + "type": "page", + "layout": "default", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "server/classroom", + "type": "page", + "layout": "default", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "server/helper", + "type": "page", + "layout": "default", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "server/index", + "type": "page", + "layout": "default", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "server/market", + "type": "page", + "layout": "default", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "server/rice", + "type": "page", + "layout": "default", + "style": { + "navigationBarTitleText": "" + } + } + ] + }, + { + "root": "pages-tourism-sub", + "pages": [ + { + "path": "demo/index", + "type": "page", + "style": { + "navigationStyle": "default", + "navigationBarTitleText": "分包页面 标题" + } + }, + { + "path": "home/index", + "type": "page", + "layout": "default", + "style": { + "navigationBarTitleText": "" + } + } + ] + } + ] } \ No newline at end of file diff --git a/src/pages/index/detail.vue b/src/pages/index/detail.vue new file mode 100644 index 0000000..bd13162 --- /dev/null +++ b/src/pages/index/detail.vue @@ -0,0 +1,123 @@ + +{ + layout: 'default', + style: { + navigationStyle: 'custom', + }, +} + + + + + diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index ec3bcbf..d6fb328 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -1,7 +1,7 @@ { - layout: 'tabbar', + layout: 'default', style: { // 'custom' 表示开启自定义导航栏,默认 'default' navigationStyle: 'custom', @@ -10,73 +10,376 @@ } - - + + + + diff --git a/src/pages/login/login.vue b/src/pages/login/login.vue new file mode 100644 index 0000000..5474bf4 --- /dev/null +++ b/src/pages/login/login.vue @@ -0,0 +1,20 @@ + +{ + layout: 'tabbar', + style: { + navigationBarTitleText: '登录', + }, +} + + + + + + + diff --git a/src/pages/my/components/wx-login.vue b/src/pages/my/components/wx-login.vue new file mode 100644 index 0000000..30e5ff9 --- /dev/null +++ b/src/pages/my/components/wx-login.vue @@ -0,0 +1,39 @@ + +{ + style: { navigationBarTitleText: '登录' }, +} + + + + + diff --git a/src/pages/my/index.vue b/src/pages/my/index.vue new file mode 100644 index 0000000..3daeee5 --- /dev/null +++ b/src/pages/my/index.vue @@ -0,0 +1,37 @@ + +{ + style: { navigationBarTitleText: '我的' }, +} + + + + diff --git a/src/pages/web_view/index.vue b/src/pages/web_view/index.vue new file mode 100644 index 0000000..3746d52 --- /dev/null +++ b/src/pages/web_view/index.vue @@ -0,0 +1,91 @@ + +{ + layout: 'heardbg', + style: { + navigationBarTitleText: '', + navigationStyle: 'custom', + navigationBarTextStyle: 'white', + }, +} + + + + + + diff --git a/src/static/icons/agriculture_course.png b/src/static/icons/agriculture_course.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0ae4b4dcd9a256d018c97446319e56e26fe1a3 GIT binary patch literal 1664 zcmV-`27md9P)Px*I!Q!9R9M5!nO}(9R~5%U=iEEL-PzqVyPLR4*v{0ST`-IG7RE2k{F&(qxw>uW zcW=~BnAs_(`UNdORRk5bW!AXNh?WKsj2!Hxy1Vt=W22*$o}vFbZ(~^qKNNV}DL4_F zf~ue`QEo)dwhC?#3-D-0h!CIxeDj`h|EsQ{FD%-mE#9eYkMe121-r^gFXQ;(Y$clIXpe1Mh?Zg{%M;Nw9UJ zF^yZ6M*D?n7-`l*ggh8|G@|hI)R;fh`0c9TcppxeMDNW!l)NzLV9*Ph69lLSs79zo z$Zh9<8#5&$2x*Z!O+oWcP~^w|`0w)6I_Q~7{VPs*rXhn&V8A6knR&c9ZEE@jGi5G6<$W4iNg?wszyWH-y}k>iDo~Qu8A(NuA}prhm4`3RhsS_d z1>oYmJ*>pvWlku$B#Qx;1Ye7=9N^MTxL#$~%mGuk!ANO+Dh)AdyB_R~yT<%OKCQ-h z(rGar0$$Uo>jCO9!CqTtS1kbVEWj7{(cHMC*lKk}GGCgRx5M7d^q&jy8&0M8GF_q2 zZv<{sA&>OMsu9X=%>o5f!5Ku0U-L8b^<$a3eVVdnbCkKQEV?{xv3)VKc3Y94Skigq z%f2K!C9*OiX~~mKO%>pMf$o@91QA1(qduBU`j%yzgr79l)Y}Ho3XEml0nODmPm|Um z4Vo1@q1hoXLb>^e;>)!=U8J+7_hxW>ygTUEXW>@9#r$1dDhzoQw6Pn}0A4fVMxD_% zdR2J!!`;>Nnxez`)*8`7h;61Q&_7LgqaELkrs4*g_5$~hv*DrO-;40U;`SEehNUST zphE{u4`=Y%p^g9lnE|+Rv(L~QWskWkymF<#D%m!4KQ@;w%cE1u6X0OEJD{seJ5$bf z2TkXcH!%QTpX}~oKmQlZ*FFWB{?9V}=wf%!dF*qfH_~)H?0)UhGqi1x@;(Xc3VO8E zzw9xn-9QVQo=K+nrebHex$hr?A-~zdSC&0!Wiy=744$2WnVYcCX7&GmHl~y)@Zf%7 zF$m}9lh23t3xBv_P2E4RPq?kL-p7$WaA2^jCQrqC;WDzOIoHO9Jlr?hF84;xeN+d8 z;gWFT_7XE68|UZJB6x7WV|o-$zneb4U4iGPU9(fwYkex%jMj7B0x@e=**zRa4SxDw z6^jwE$TLUWN{=pvbO8qjg^59^N25|T&R1;fsYTtJ`nfTg2Yb8geA8lopR2Q23lIZ$ z3>l-DHq%W5y5aO&pLZBWJsM{&=hR~Fyp|3DuNO~|SGF?tH$Gg(V!&JE$s>cSnu{yY z$;u8M7+3OONRN}+s7Io)ur$P34{$4TX2kJ5gMnV0JvlYZ+4q+?I$k1cDX0e>SV+LF z+I`|q$MJp2q2biU>aCD6oXX2bM5;}fAKVPz_afg>k^&8k*zT)|oi0_Q8Nuw^heq7#RbA7=O=Wz!OOK}p2zG(DLOl!gvIoF z_@}$XglByBi$kwy}HO(!Cp|2<7<0tJ9UVSSPkqY33{p%Y}e4OcD-u% zgutVSJ%Y(y2nR5R4C`sD5Tt6@|HOD7wKq}y?L@|JM5L?M{r>@2ga+AS6b0P?0000< KMNUMnLSTXh)Ib6N literal 0 HcmV?d00001 diff --git a/src/static/icons/agriculture_service.png b/src/static/icons/agriculture_service.png new file mode 100644 index 0000000000000000000000000000000000000000..e85c964d37cda2683207d8ba79c3c9671523edd5 GIT binary patch literal 1718 zcmV;n21)seP)Px*a7jc#R9M5!SzC`3MHC)1#uw$qC^4GogV9GH`~{-$M11qbH%&A#B#Wp>3=l;V zL?U8hj8TX&-Vj*1MJ@`v$YtfS3(IZUof&p!uQRiKpP8P%On3G1oSL3t*|~LNH@eBU zv)j|>)K{mzI#qQlkqG%S0>T5MRq?r$E50)7i0_OsY2BD3ZU_fyZIVeVM;&>27Sty{ z1h^*=^$(!alq0>Ebj5Fzjv(OQkai`w$sxmd2;6J{eW0I|D|tyr8b~pzCk^?BBO#2D zc|PfggVaa{8=G)dm~u6k;V9O?N+D2$X_ugJKa=P$>nglM7z{h*2%E=1eDIFQra@ke zk==e1qcMR_si8b8!yMB=WEGGaF!=vM7Z5Mn4iz-AB^xI&0rcD(x|n7a0v-( zNVql83eUNJ8EH6H8RNKQPxA>?OK&xhf6{DV;(o+Q<0RRPtG?7AopH2fQ+}3E@MV%f zUBkBsH%IiMH4P_>6dbAC2!-?J1W%nor9vI`v&uk&G|J-pSuTrPQLbya+#mv=DtfK@XF8TVVz)nN)sl;x8d#9Kt z(?e=d_qAL_anvW>!Xe9GV+ZuBa1^7Ku1eftm<%ysX5k>(laHKR3M3O+lqj&1OzlZz zs_L_(HGyl*I;eHPeP+bYNJfBvosVN z4(iteNd);86R78P)PovnljrABi(E`P{;6~!HuT~scAJpCu3aQu+(4u${G@5h9>q3B zH1mHfUVtAW#?PfexNaAMl7_^TQzI?;D_I;%a}=oWNoG;XjYvxYmS4qRRHBB&M>!_a zv>1G?osJwNk=RJ%i2}YU<|J%Y`eH$Bq)*|p{i$-S z30qn`t78x5U)rV7WV?jRb-VXsBYhG{Z<7CL!skjqx208c{&U(x&$mB-t6nR6LTseZ zTT}3{e547V%xiQAH$(L73hIBM{Wi6~rTu4d%7gaHA4rEVw@#)Av1dy|8j_cPyZVE6B;E0F@Or(oA1Xp_e<5&S6>L&ADG=!*MJ(bUPyo zUPVnq`u-YeC_ggC3|sDUBHn;G_4UFpv0xAjKiy8_Sm4=mTP;su`sQvDq2ak==iq8J z4^;OX#k@U)<*zel25TUrSUnoWy~bsZUc?dq*=hX#oHfZy2iNe_P5PxtO(~T2=(AmF zAHFoqInbBfMp_0~j9=vC2#SYMS5bN49gMeHmU<;ee?f|<>KSF(SMZE}ERx>Wp|EbO zmi_Ad|KTu;7;lnAi|e;V0yEcBefYm5?%&O1RWP3jd|4!e`5GG8cbjUqPHMR%-XC2EQ$2G zne?SFYo+8G`!M=REZ&r{F(!w(Lu9D>5F)bw0Jq{Kc^=8DjsO4v M07*qoM6N<$f)A@dCjbBd literal 0 HcmV?d00001 diff --git a/src/static/icons/rural_ecommerce.png b/src/static/icons/rural_ecommerce.png new file mode 100644 index 0000000000000000000000000000000000000000..e712e05751f3fc5ff3c819bb3adbcc0f3a1993c5 GIT binary patch literal 1757 zcmV<31|s>1P)Px*mq|oHR9M5sS!-xpWf;yTUVaEV5E1r6$G|Bv977O6(A913VigBEWKKmyoTFYg zhv?iCe+-rV&>!Lj{2}NzcSR>MHY#@A*14uzo3u&W^p-Ylk~TRxxhHMTd3@jRJ89GA zBstxZT6j38Z@#?edEY$m`(2LBHqSo*i?fPjCBp4n5q9j-l#abxxP6~>IQD6w_79;r zcR=l^gVKM8trma4(VL(+HfoCVXF^z0I-x0D1Q)c38@l4Aduz~XycTg8-)D5{de~v7 z;P+s>>z?WmR-Nl9I}Y)HNH;Xq13lUgJvMj)7%RC!Zn_DG7|!_5nwU~oxoRQRUo54Pfrkn6@gjE2RIzvkW)`oYhQN63nFt83S}bnV2RG4k$BW8G3r0Nav9cz%PH1 zgjY(3XN|O4NBt4ZfBtc}eRU&IbUPwt0Ct1d*=+*9QW};(7 zah4bU!;oI^JEUNBihQpBy|HH#A&8n6t~yov#2LFI5-e^JR1% zl*JhzB8~Sn7xd)bpM;Uy4|jrGS{9wqaMX|lJMjaqhUz2qPx%5Ba{D=50a zX~4dv`e=WhoV%9`# zz-7}So?RRPgr37P(_*G8kVU8&xLjX*@T^@*D*1wp4a97k+P62qwh$y)(_(5ivaDPI zE^S&kxIPtGH77mBy3X0O=)gWMLNSmvohg`_*?wswaB;(IT-sc06WC~Ozr4lV-coOF zAO6*pv{+b?lqG5E&mz;Tow;iX`)fe+dcwMy>(!mWg-ylwuKmXS9J}`y^YLR;*cUbw z+sB(qWZExgY?~IJOM1>=)k%&hgH2CKw7e*zj$9-Ah64KwhW;-C=bxUj|GQ0&_Z=tu zdc(d}2F}mx{hI9S3_D%j2g+#LD(PwRE~?z_Vtb^WruM;Nd)O}JRb;UoncY(Enh%CD7`R_NYup%4E6#Cyv7i+ijupstJbC~5HA|<1%@0fp1lS8)kZA^B2JZ;O`8!%~qx3o|8$EX?U zVIqCzQJ}TKJj7B?MPGG`g1i+7CX#8r?o-sd9}F95Xf22=&k^1FOX~7i=xd~Qx5@+w3Zk;Ssk!HhE>uDZ`y{~&>NOX4;%qbJWv~0&-55=YKQ7( zR(TdkAG^Ocus~YuUgF*+I`0^~ld4{q>*)%l`ws)ZEw2qMWtz5xiQ$8CH=gvhiN#8# zO!prG4le_aEUW(25@|kh^*&>qlKS2khcu-QP4eg?(ueM?4Jw}V1^AeZwp5;5CFxkt zT}X{)Dw0;+G<(q+`t+LWqVt=|q*)0`-+|eOkExL_EH6(N8uHvDg?QlZ*$0sH!iJ&= zR?PN-6P71TTEe%>{Cqkyx>mPRkPAsz9Ju@G#I);{(r45u|87e?dx2y@T>5D{cTc7F zgo|k4Uj6?jE(!NhmhZFvvM3#-)x1Bu;KcK90+NBVMTKXHcx-e9McXK&9$x_cGT}gq z3Xe9S_M30uZ7mif>EBH4uyvYz9#wleB&3klGXAfwE4yU_$c7$7Cinq8g0!g&evfSMc}mW0R(bpf98TEU_GVAE00000NkvXXu0mjfji5*_ literal 0 HcmV?d00001 diff --git a/src/static/icons/top_num.png b/src/static/icons/top_num.png new file mode 100644 index 0000000000000000000000000000000000000000..3617d513bba5b237d05322d8225eaf3d7db42084 GIT binary patch literal 846 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 literal 0 HcmV?d00001 diff --git a/src/style/index.scss b/src/style/index.scss index 86184d9..e2702cd 100644 --- a/src/style/index.scss +++ b/src/style/index.scss @@ -1,4 +1,5 @@ @import './iconfont.css'; +@import '@/uni.scss'; .test { // 可以通过 @apply 多个样式封装整体样式 @@ -7,12 +8,159 @@ padding-top: 4px; color: red; } +.default-color { + color: #70cd6aff; +} :root, page { + background-color: $uni-bg-color; // 修改按主题色 - // --wot-color-theme: #37c2bc; + --wot-color-theme: #70cd6aff; + --wot-button-primary-bg-color: #70cd6aff; // 按钮默认颜色 + --wot-grid-item-padding: 0rpx 10rpx; //gid布局 + --wot-search-input-height: 60rpx; //搜索框高度 - // 修改按钮背景色 - // --wot-button-primary-bg-color: green; + --wot-tabs-nav-height: 80rpx; //tab滚动条高度 + + --wot-grid-item-bg: --wot-color-white, rgba(0, 0, 0, 0); //grid-item统一去边框 + + --wot-card-margin: 0 var(--wot-size-side-padding, 20rpx); //card 统一边距 + + // background-color: var(--wot-grid-item-bg, var(--wot-color-white, rgb(255, 255, 255))); + // --wot-segmented-item-bg-color: #70CD6AFF; //wd-segmentedb 背景颜色 +} + +.wd-search { + background-color: transparent !important; +} +//渐变背景 +.background_home { + background: linear-gradient(to bottom, #70cd6aff, #f1f1f1); /* 垂直渐变 */ +} + +//渐变背景 +.background_home_card { + background: linear-gradient(to bottom, #f1f1f1, #70cd6aff); /* 垂直渐变 */ +} + +.scroll-view-container { + white-space: nowrap; // 防止内容换行 + padding: 20rpx; + height: 80rpx; + overflow-x: auto; // 允许水平滚动 + .wd-button { + margin-right: 20rpx !important; // 添加间距以防止按钮粘连 + } +} +.relative { + position: relative; +} +// .wd-segmented__item.is-active { +// background: #70CD6AFF !important; +// color: #fff !important; +// } + +.background-none { + --wot-color-white: rgba(0, 0, 0, 0) !important; + background: rgba(0, 0, 0, 0) !important; +} +// .wd-grid-item__content { +// padding: 0px !important; +// } +//card 样式 +.card-content { + margin: 0px !important; + padding: 0px !important; +} +.wd-grid-item { + border-radius: 20rpx; +} + +.detail-box { + margin: 10rpx 0rpx; + background-color: #fff; + border: 1rpx solid #dfdfdf; + border-radius: 20rpx; + padding: 16rpx; +} +.wd-card__title-content { + padding: 10rpx 0 !important; +} +.content, +.title { + font-size: 32rpx; + // font-weight: bold; + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; +} + +.content { + justify-content: flex-start; +} +.title { + justify-content: space-between; +} +.title-tip { + color: rgba(0, 0, 0, 0.25); + font-size: 12px; +} + +.ellipsis { + display: inline-block; + /* 在末尾显示省略号 */ + width: calc(100vw - 340rpx); + /* 防止文字换行 */ + overflow: hidden; + /* 隐藏超出部分的文字 */ + text-overflow: ellipsis; + white-space: nowrap; + /* 确保元素有宽度 */ +} +$container-width: 100vw; +$padding-width: 0rpx; +.ellipsis-2 { + display: -webkit-box; + font-weight: 500; + font-size: 40rpx; + line-height: 40rpx; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; /* 限制为2行 */ + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; /* 允许文字换行 */ + width: calc($container-width - $padding-width); /* 确保容器有宽度 */ + // 注意事项:100vw 和 340rpx 的单位不同,可能会导致在某些设备上显示异常。 +} + +.ellipsis-5 { + display: -webkit-box; + font-weight: 500; + font-size: 40rpx; + line-height: 40rpx; + -webkit-box-orient: vertical; + -webkit-line-clamp: 5; /* 限制为2行 */ + overflow: hidden; + text-overflow: ellipsis; + white-space: normal; /* 允许文字换行 */ + width: calc($container-width - $padding-width); /* 确保容器有宽度 */ + // 注意事项:100vw 和 340rpx 的单位不同,可能会导致在某些设备上显示异常。 +} +//上下布局 +.flex-content-column { + display: flex; + flex-direction: column; + justify-content: space-between; /* 这行确保子元素在容器中顶部和底部对齐 */ + flex: 1; /* 使该容器自适应高度 */ + min-height: 0; /* 确保在某些情况下仍然能够自适应高度 */ +} +//横向布局 +.flex-content-row { + display: flex; + flex-direction: row; + justify-content: space-between; /* 这行确保子元素在容器中顶部和底部对齐 */ + flex: 1; /* 使该容器自适应高度 */ + min-height: 0; /* 确保在某些情况下仍然能够自适应高度 */ } diff --git a/src/uni.scss b/src/uni.scss index 21b9e5f..dfc1930 100644 --- a/src/uni.scss +++ b/src/uni.scss @@ -16,8 +16,9 @@ /* 颜色变量 */ /* 行为相关颜色 */ +$uni-color-default: #70cd6aff; $uni-color-primary: #007aff; -$uni-color-success: #4cd964; +$uni-color-success: #70cd6aff; $uni-color-warning: #f0ad4e; $uni-color-error: #dd524d; @@ -29,7 +30,7 @@ $uni-text-color-placeholder: #808080; $uni-text-color-disable: #c0c0c0; /* 背景颜色 */ -$uni-bg-color: #fff; +$uni-bg-color: #f1f1f1; $uni-bg-color-grey: #f8f8f8; $uni-bg-color-hover: #f1f1f1; // 点击状态颜色 $uni-bg-color-mask: rgb(0 0 0 / 40%); // 遮罩颜色 diff --git a/vite.config.ts b/vite.config.ts index 6d9e635..468d76f 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -62,7 +62,7 @@ export default async ({ command, mode }) => { routeBlockLang: 'json5', // 虽然设了默认值,但是vue文件还是要加上 lang="json5", 这样才能很好地格式化 // homePage 通过 vue 文件的 route-block 的type="home"来设定 // pages 目录为 src/pages,分包目录不能配置在pages目录下 - // subPackages: ['src/pages-sub'], // 是个数组,可以配置多个,但是不能为pages里面的目录 + subPackages: ['src/pages-village-sub', 'src/pages-tourism-sub'], // 是个数组,可以配置多个,但是不能为pages里面的目录 dts: 'src/types/uni-pages.d.ts', }), UniLayouts(), @@ -75,7 +75,7 @@ export default async ({ command, mode }) => { // 自定义插件禁用 vite:vue 插件的 devToolsEnabled,强制编译 vue 模板时 inline 为 true name: 'fix-vite-plugin-vue', configResolved(config) { - const plugin = config.plugins.find(p => p.name === 'vite:vue') + const plugin = config.plugins.find((p) => p.name === 'vite:vue') if (plugin && plugin.api && plugin.api.options) { plugin.api.options.devToolsEnabled = false } @@ -91,7 +91,7 @@ export default async ({ command, mode }) => { // Optimization 插件需要 page.json 文件,故应在 UniPages 插件之后执行 Optimization({ enable: { - 'optimization': true, + optimization: true, 'async-import': true, 'async-component': true, }, @@ -113,14 +113,14 @@ export default async ({ command, mode }) => { }, }, // 打包分析插件,h5 + 生产环境才弹出 - UNI_PLATFORM === 'h5' - && mode === 'production' - && visualizer({ - filename: './node_modules/.cache/visualizer/stats.html', - open: true, - gzipSize: true, - brotliSize: true, - }), + UNI_PLATFORM === 'h5' && + mode === 'production' && + visualizer({ + filename: './node_modules/.cache/visualizer/stats.html', + open: true, + gzipSize: true, + brotliSize: true, + }), // 只有在 app 平台时才启用 copyNativeRes 插件 // UNI_PLATFORM === 'app' && copyNativeRes(), Components({ @@ -163,7 +163,7 @@ export default async ({ command, mode }) => { [VITE_APP_PROXY_PREFIX]: { target: VITE_SERVER_BASEURL, changeOrigin: true, - rewrite: path => path.replace(new RegExp(`^${VITE_APP_PROXY_PREFIX}`), ''), + rewrite: (path) => path.replace(new RegExp(`^${VITE_APP_PROXY_PREFIX}`), ''), }, } : undefined,