7B?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,