diff --git a/pages/index/components/CompanyIntro.vue b/pages/index/components/CompanyIntro.vue
index b00fa64..8693a1b 100644
--- a/pages/index/components/CompanyIntro.vue
+++ b/pages/index/components/CompanyIntro.vue
@@ -47,30 +47,39 @@
-
+
@@ -238,61 +247,102 @@ export default {
line-height: 1.45;
}
-/* 底部CTA - 橙色背景+图片叠加+二维码+文字 */
+/* 底部CTA - 橙色背景层+图片叠加层+内容层 */
.cta-footer {
position: relative;
- width: 100%;
- display: flex;
- flex-direction: column;
- align-items: center;
- padding: 0;
- box-sizing: border-box;
+ width: 750rpx;
+ overflow: hidden;
}
-/* 橙色背景层 - 391x200 */
+/* 图片底层 - image_26原图 */
+.cta-overlay-img {
+ position: relative;
+ width: 100%;
+ z-index: 0;
+ display: block;
+}
+/* 橙色叠加层 - 在图片上方, 0.8高不透明度让亮橙色突出 */
.cta-orange-bg {
position: absolute;
top: 0;
left: 0;
width: 100%;
- height: 400rpx;
+ height: 100%;
background: #ff6800;
- z-index: 0;
-}
-/* 图片叠加层 - 390x219 */
-.cta-overlay-img {
- position: relative;
- width: 100%;
+ opacity: 0.85;
z-index: 1;
- display: block;
}
-/* 二维码 - 104x104 居中 圆角10px 白底 */
-.qr-wrap {
+/* 内容层 - absolute覆盖图片和橙色层, flex column 居中 */
+.cta-content {
position: absolute;
- top: 54rpx;
- left: 50%;
- transform: translateX(-50%);
- width: 208rpx;
- height: 208rpx;
- background: #ffffff;
- border-radius: 20rpx;
- padding: 20rpx;
- box-sizing: border-box;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
z-index: 2;
display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-top: 33rpx; /* 17px → 33rpx */
+ box-sizing: border-box;
+}
+/* 长按识别 14px Medium white → 27rpx */
+.cta-tip {
+ font-size: 27rpx;
+ font-weight: 500;
+ color: #ffffff;
+ line-height: 38rpx;
+}
+/* 装饰箭头图标 19×10px → 37×19rpx */
+.cta-arrow {
+ width: 37rpx;
+ height: 19rpx;
+ margin-top: 8rpx; /* 4px → 8rpx */
+}
+/* 二维码 104×104px → 200×200rpx, 圆角10px → 19rpx */
+.qr-wrap {
+ margin-top: 13rpx; /* 7px → 13rpx */
+ width: 200rpx;
+ height: 200rpx;
+ background: #ffffff;
+ border-radius: 19rpx;
+ padding: 0;
+ box-sizing: border-box;
+ display: flex;
align-items: center;
justify-content: center;
+ overflow: hidden;
}
.qr-img {
width: 100%;
height: 100%;
}
-/* 联系我们文字图 - 236x78 居中 */
+/* 电话栏 200×45px → 385×87rpx, #000 0.1透明, 圆角10px → 19rpx */
+.phone-pill {
+ margin-top: 23rpx; /* 12px → 23rpx */
+ width: 385rpx;
+ height: 87rpx;
+ background: rgba(0, 0, 0, 0.1);
+ border-radius: 19rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 12rpx;
+ box-sizing: border-box;
+}
+.phone-icon {
+ width: 35rpx; /* 18px → 35rpx */
+ height: 35rpx;
+ flex-shrink: 0;
+}
+.phone-text {
+ font-size: 23rpx; /* 12px → 23rpx */
+ font-weight: 700;
+ color: #ffffff;
+ line-height: 32rpx;
+}
+/* 联系我们 - 用户提供的image.png */
.cta-text-img {
- position: absolute;
- top: 256rpx;
- left: 50%;
- transform: translateX(-50%);
- width: 472rpx;
- z-index: 3;
+ margin-top: 19rpx; /* 10px → 19rpx */
+ width: 569rpx;
}
diff --git a/pages/products/components/ActiveFilters.vue b/pages/products/components/ActiveFilters.vue
index 3982234..e83e33d 100644
--- a/pages/products/components/ActiveFilters.vue
+++ b/pages/products/components/ActiveFilters.vue
@@ -18,7 +18,33 @@ export default {
default: () => []
}
},
+ mounted() {
+ // 首次测量(可能为 0,因为 v-if 可能为 false)
+ this.$nextTick(() => this.emitHeight())
+ },
+ watch: {
+ // 筛选标签增减 → 高度变化 → 重新测量
+ 'list.length'() {
+ this.$nextTick(() => this.emitHeight())
+ }
+ },
methods: {
+ emitHeight() {
+ // v-if 为 false 时 #activeFilters 不存在,返回 0
+ if (!this.list || this.list.length === 0) {
+ this.$emit('height-change', 0)
+ return
+ }
+ const query = uni.createSelectorQuery().in(this)
+ query.select('#activeFilters').boundingClientRect()
+ query.exec((res) => {
+ if (res && res[0]) {
+ this.$emit('height-change', res[0].height)
+ } else {
+ this.$emit('height-change', 0)
+ }
+ })
+ },
onRemove(key) {
this.$emit('remove', key)
},
diff --git a/pages/products/components/CountryBar.vue b/pages/products/components/CountryBar.vue
index a074108..ec8d4d5 100644
--- a/pages/products/components/CountryBar.vue
+++ b/pages/products/components/CountryBar.vue
@@ -30,7 +30,26 @@ export default {
default: ''
}
},
+ mounted() {
+ // 首次测量
+ this.$nextTick(() => this.emitHeight())
+ },
+ watch: {
+ // 国家列表变化 → 换行行数可能变化 → 重新测量
+ 'list.length'() {
+ this.$nextTick(() => this.emitHeight())
+ }
+ },
methods: {
+ emitHeight() {
+ const query = uni.createSelectorQuery().in(this)
+ query.select('#countryBar').boundingClientRect()
+ query.exec((res) => {
+ if (res && res[0]) {
+ this.$emit('height-change', res[0].height)
+ }
+ })
+ },
selectItem(item) {
this.$emit('select', item.id)
}
diff --git a/pages/products/components/ProductGrid.vue b/pages/products/components/ProductGrid.vue
index 2e22d70..1b4168d 100644
--- a/pages/products/components/ProductGrid.vue
+++ b/pages/products/components/ProductGrid.vue
@@ -81,7 +81,33 @@ export default {
// 商品滚动区固定高度(px),由父组件动态计算传入
scrollHeight: { type: Number, default: 400 }
},
+ mounted() {
+ // 首次测量子分类高度
+ this.$nextTick(() => this.emitSubHeight())
+ },
+ watch: {
+ // 子分类列表变化 → 重新测量
+ 'subCategories.length'() {
+ this.$nextTick(() => this.emitSubHeight())
+ }
+ },
methods: {
+ emitSubHeight() {
+ // v-if 为 false 时 #subCategories 不存在,返回 0
+ if (!this.subCategories || this.subCategories.length === 0) {
+ this.$emit('sub-height-change', 0)
+ return
+ }
+ const query = uni.createSelectorQuery().in(this)
+ query.select('#subCategories').boundingClientRect()
+ query.exec((res) => {
+ if (res && res[0]) {
+ this.$emit('sub-height-change', res[0].height)
+ } else {
+ this.$emit('sub-height-change', 0)
+ }
+ })
+ },
selectSub(id) { this.$emit('sub-select', id) },
onTapProduct(item) { this.$emit('product-click', item) },
onScrollToLower() { this.$emit('scroll-to-lower') }
diff --git a/pages/products/components/SearchBar.vue b/pages/products/components/SearchBar.vue
index 5c7f72b..094fea6 100644
--- a/pages/products/components/SearchBar.vue
+++ b/pages/products/components/SearchBar.vue
@@ -41,7 +41,20 @@ export default {
this.statusBarHeight = 20
}
},
+ mounted() {
+ // 测量自身高度并 emit 给父组件(小程序端无法跨组件查询 DOM,必须自测量)
+ this.$nextTick(() => this.emitHeight())
+ },
methods: {
+ emitHeight() {
+ const query = uni.createSelectorQuery().in(this)
+ query.select('#searchBar').boundingClientRect()
+ query.exec((res) => {
+ if (res && res[0]) {
+ this.$emit('height-change', res[0].height)
+ }
+ })
+ },
onInput(e) {
this.$emit('input', e.detail.value)
},
diff --git a/pages/products/products.vue b/pages/products/products.vue
index 0b15c80..8c34e3e 100644
--- a/pages/products/products.vue
+++ b/pages/products/products.vue
@@ -7,6 +7,7 @@
@input="onSearchInput"
@blur="onSearchBlur"
@filter="toggleFilter"
+ @height-change="onSearchBarHeight"
/>
@@ -14,6 +15,7 @@
:list="countries"
:selected-id="selectedCountry"
@select="selectCountry"
+ @height-change="onCountryBarHeight"
/>
@@ -32,6 +34,7 @@
:list="activeFilters"
@remove="removeFilter"
@clear-all="clearAllFilters"
+ @height-change="onActiveFiltersHeight"
/>
@@ -46,6 +49,7 @@
@sub-select="selectSubCategory"
@product-click="goDetail"
@scroll-to-lower="onScrollToLower"
+ @sub-height-change="onSubCategoriesHeight"
/>
@@ -83,6 +87,16 @@ export default {
ProductGrid,
FilterDrawer
},
+ watch: {
+ // 筛选标签增减 → 子组件会自测量并 emit,父组件这里不需要 watch
+ // 保留一个兜底:activeFilters.length 变化时主动触发一次重算
+ 'activeFilters.length'() {
+ this.recomputeScrollHeight()
+ },
+ 'subCategories.length'() {
+ this.recomputeScrollHeight()
+ }
+ },
data() {
return {
searchKeyword: '',
@@ -110,25 +124,33 @@ export default {
products: [],
windowHeight: 667,
scrollTopVal: 0,
- productScrollHeight: 400 // 商品滚动区高度(px),动态计算
+ productScrollHeight: 400, // 商品滚动区高度(px),由子组件测量后动态计算
+ // 各子组件上报的高度(px),默认 0
+ _searchBarH: 0,
+ _countryBarH: 0,
+ _activeFiltersH: 0,
+ _subCategoriesH: 0
}
},
async onLoad() {
try {
const sysInfo = uni.getSystemInfoSync()
- // windowHeight 已自动扣除 uni-app 默认导航栏 & TabBar 高度
- // 当前页是 navigationStyle:custom + TabBar 页,正好匹配可视区
- this.windowHeight = sysInfo.windowHeight || 667
+ // tabBar 页 + navigationStyle:custom 时,windowHeight 在不同平台/版本可能不扣 tabBar
+ // 改用 screenHeight - tabBarHeight 计算,确保可视区高度正确
+ const tabBarHeight = sysInfo.tabBarHeight || 50
+ this.windowHeight = (sysInfo.screenHeight || 750) - tabBarHeight
+ console.log('[onLoad] screenHeight=' + sysInfo.screenHeight +
+ ', tabBarHeight=' + tabBarHeight +
+ ' → windowHeight=' + this.windowHeight)
} catch (e) {
this.windowHeight = 667
}
await this.initData()
this.loadSubCategories('all')
await this.loadGoods(1)
- // 首屏数据渲染完成后计算滚动区高度
- this.$nextTick(() => {
- this.calcScrollHeight()
- })
+ // 首屏数据渲染完成后,子组件会通过 mounted 自行测量并 emit 高度
+ // 这里兜底触发一次重算(防止某些端 mounted 比父组件 onLoad 晚)
+ this.recomputeScrollHeight()
},
methods: {
async initData() {
@@ -259,10 +281,8 @@ export default {
this.hasMore = this.products.length < total
this.loadingMore = false
- // 数据变更后重算滚动区高度(筛选标签/子分类数量变化会影响上方占位高度)
- this.$nextTick(() => {
- this.calcScrollHeight()
- })
+ // 数据变更后兜底重算滚动区高度(子组件会自行 emit,这里兜底)
+ this.recomputeScrollHeight()
console.log(
'[loadGoods] total=' + total +
@@ -364,38 +384,46 @@ export default {
},
/**
- * 动态计算商品滚动区高度(px)。
- * 用 createSelectorQuery 测量 SearchBar / CountryBar / ActiveFilters / subCategories 的实际高度,
- * 用 windowHeight 依次减去,得到 scroll-view 可用的固定高度。
+ * 子组件高度上报回调 —— 每个子组件在 mounted / 内容变化时自行测量 DOM 高度,
+ * 通过 @height-change 事件上报给父组件。父组件汇总后重算滚动区高度。
+ *
+ * 这种方式解决了 uni-app 小程序端 createSelectorQuery 无法跨组件查询 DOM 的问题:
+ * H5 端 DOM 全局可查,但小程序每个组件有独立节点树,页面级 select 选不到子组件内部的节点。
+ */
+ onSearchBarHeight(h) {
+ this._searchBarH = h
+ this.recomputeScrollHeight()
+ },
+ onCountryBarHeight(h) {
+ this._countryBarH = h
+ this.recomputeScrollHeight()
+ },
+ onActiveFiltersHeight(h) {
+ this._activeFiltersH = h
+ this.recomputeScrollHeight()
+ },
+ onSubCategoriesHeight(h) {
+ this._subCategoriesH = h
+ this.recomputeScrollHeight()
+ },
+
+ /**
+ * 根据 4 个子组件上报的高度,计算 scroll-view 可用的固定高度。
* —— 完全符合 uni-app / 微信小程序官方文档「scroll-y 需给固定 height」的要求。
*/
- calcScrollHeight() {
- const query = uni.createSelectorQuery().in(this)
- // 分别测量 4 个元素的 boundingClientRect
- query.select('#searchBar').boundingClientRect()
- query.select('#countryBar').boundingClientRect()
- query.select('#activeFilters').boundingClientRect()
- query.select('#subCategories').boundingClientRect()
- query.exec((res) => {
- // res[0]=searchBar, res[1]=countryBar, res[2]=activeFilters, res[3]=subCategories
- // 注意:v-if 为 false 时 res[i] 可能为 null
- const searchBarH = res[0] ? res[0].height : 0
- const countryBarH = res[1] ? res[1].height : 0
- const activeFiltersH = res[2] ? res[2].height : 0
- const subCategoriesH = res[3] ? res[3].height : 0
+ recomputeScrollHeight() {
+ const totalUsed = this._searchBarH + this._countryBarH +
+ this._activeFiltersH + this._subCategoriesH
+ let h = this.windowHeight - totalUsed
+ // 最小值保护:至少 200px,避免极端情况
+ if (h < 200) h = 200
+ if (h > this.windowHeight) h = this.windowHeight
- const totalUsed = searchBarH + countryBarH + activeFiltersH + subCategoriesH
- let h = this.windowHeight - totalUsed
- // 最小值保护:至少 200px,避免极端情况
- if (h < 200) h = 200
- if (h > this.windowHeight) h = this.windowHeight
-
- this.productScrollHeight = Math.round(h)
- console.log('[calcScrollHeight] windowHeight=' + this.windowHeight +
- ', searchBar=' + searchBarH + ', countryBar=' + countryBarH +
- ', activeFilters=' + activeFiltersH + ', subCategories=' + subCategoriesH +
- ' → scrollHeight=' + this.productScrollHeight)
- })
+ this.productScrollHeight = Math.round(h)
+ console.log('[recomputeScrollHeight] windowHeight=' + this.windowHeight +
+ ', searchBar=' + this._searchBarH + ', countryBar=' + this._countryBarH +
+ ', activeFilters=' + this._activeFiltersH + ', subCategories=' + this._subCategoriesH +
+ ' → scrollHeight=' + this.productScrollHeight)
},
async selectCountry(id) {
diff --git a/static/icons/home/icon_arrow_down.png b/static/icons/home/icon_arrow_down.png
new file mode 100644
index 0000000..b682755
Binary files /dev/null and b/static/icons/home/icon_arrow_down.png differ
diff --git a/static/icons/home/icon_phone.svg b/static/icons/home/icon_phone.svg
new file mode 100644
index 0000000..ebdd94e
--- /dev/null
+++ b/static/icons/home/icon_phone.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/static/icons/home/icon_phone_dark.svg b/static/icons/home/icon_phone_dark.svg
new file mode 100644
index 0000000..062d076
--- /dev/null
+++ b/static/icons/home/icon_phone_dark.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/static/icons/home/icon_wechat.svg b/static/icons/home/icon_wechat.svg
new file mode 100644
index 0000000..98864c2
--- /dev/null
+++ b/static/icons/home/icon_wechat.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/static/icons/home/icon_wechat_dark.svg b/static/icons/home/icon_wechat_dark.svg
new file mode 100644
index 0000000..35ae797
--- /dev/null
+++ b/static/icons/home/icon_wechat_dark.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/static/images/home/Rectangle_187_1470_1653.png b/static/images/home/Rectangle_187_1470_1653.png
index b0acb3e..7ac2c7f 100644
Binary files a/static/images/home/Rectangle_187_1470_1653.png and b/static/images/home/Rectangle_187_1470_1653.png differ
diff --git a/static/images/home/contact_us.png b/static/images/home/contact_us.png
new file mode 100644
index 0000000..aa7c017
Binary files /dev/null and b/static/images/home/contact_us.png differ
diff --git a/static/images/home/cta_bg_new.png b/static/images/home/cta_bg_new.png
new file mode 100644
index 0000000..ffbc3e6
Binary files /dev/null and b/static/images/home/cta_bg_new.png differ
diff --git a/static/images/home/image_26_1496_1761.png b/static/images/home/image_26_1496_1761.png
index 9510299..605d987 100644
Binary files a/static/images/home/image_26_1496_1761.png and b/static/images/home/image_26_1496_1761.png differ
diff --git a/static/images/home/image_28_1498_1767.png b/static/images/home/image_28_1498_1767.png
index 819b396..73367ed 100644
Binary files a/static/images/home/image_28_1498_1767.png and b/static/images/home/image_28_1498_1767.png differ
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
index 754220e..dbd4a43 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///main.js","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/App.vue?cf79","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/App.vue?4f29","uni-app:///App.vue","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/App.vue?b97f","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/App.vue?2aad"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","Vue","use","zpMixins","config","productionTip","App","mpType","app","$mount","data","globalData","userInfo","baseUrl","onLaunch"],"mappings":";;;;;;;;;;;;;;AAAA;AAE2D;AAG3D;AAGA;AAAsB;AAAA;AAPtB;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAQ1DC,YAAG,CAACC,GAAG,CAACC,cAAQ,CAAC;AAEjBF,YAAG,CAACG,MAAM,CAACC,aAAa,GAAG,KAAK;AAChCC,YAAG,CAACC,MAAM,GAAG,KAAK;AAClB,IAAMC,GAAG,GAAG,IAAIP,YAAG,mBACZK,YAAG,EACR;AACF,UAAAE,GAAG,EAACC,MAAM,EAAE,C;;;;;;;;;;;;;ACjBZ;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACuD;AACL;AACa;;;AAG/D;AACiM;AACjM,gBAAgB,8MAAU;AAC1B,EAAE,yEAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAsvB,CAAgB,kxBAAG,EAAC,C;;;;;;;;;;;;;;;;;;eCC1wB;EACAC;IACA;EACA;EACAC;IACAC;IACAC;EACA;EACAC;IACA;IACA;IACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAqkC,CAAgB,ykCAAG,EAAC,C;;;;;;;;;;;ACAzlC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"common/main.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App';\n\n// 全局mixins,用于实现setData等功能,请勿删除!';\nimport zpMixins from '@/uni_modules/zp-mixins/index.js';\n\n\nimport Vue from 'vue';\n\nVue.use(zpMixins);\n\nVue.config.productionTip = false;\nApp.mpType = 'app';\nconst app = new Vue({\n ...App\n});\napp.$mount();","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"","\n\n","import mod from \"-!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1787638774032\n var cssReload = require(\"C:/gs/app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///main.js",null,"webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/App.vue?4f29","uni-app:///App.vue","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/App.vue?b97f","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/App.vue?2aad"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","Vue","use","zpMixins","config","productionTip","App","mpType","app","$mount","data","globalData","userInfo","baseUrl","onLaunch"],"mappings":";;;;;;;;;;;;;;AAAA;AAE2D;AAG3D;AAGA;AAAsB;AAAA;AAPtB;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAQ1DC,YAAG,CAACC,GAAG,CAACC,cAAQ,CAAC;AAEjBF,YAAG,CAACG,MAAM,CAACC,aAAa,GAAG,KAAK;AAChCC,YAAG,CAACC,MAAM,GAAG,KAAK;AAClB,IAAMC,GAAG,GAAG,IAAIP,YAAG,mBACZK,YAAG,EACR;AACF,UAAAE,GAAG,EAACC,MAAM,EAAE,C;;;;;;;;;;;;;ACjBZ;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACuD;AACL;AACa;;;AAG/D;AACiM;AACjM,gBAAgB,8MAAU;AAC1B,EAAE,yEAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAsvB,CAAgB,kxBAAG,EAAC,C;;;;;;;;;;;;;;;;;;eCC1wB;EACAC;IACA;EACA;EACAC;IACAC;IACAC;EACA;EACAC;IACA;IACA;IACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACfA;AAAA;AAAA;AAAA;AAAqkC,CAAgB,ykCAAG,EAAC,C;;;;;;;;;;;ACAzlC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"common/main.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App';\n\n// 全局mixins,用于实现setData等功能,请勿删除!';\nimport zpMixins from '@/uni_modules/zp-mixins/index.js';\n\n\nimport Vue from 'vue';\n\nVue.use(zpMixins);\n\nVue.config.productionTip = false;\nApp.mpType = 'app';\nconst app = new Vue({\n ...App\n});\napp.$mount();","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=script&lang=js&\"","\n\n","import mod from \"-!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./App.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1787640418582\n var cssReload = require(\"C:/gs/app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
index 81346ad..86d6be8 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///main.js","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?9285","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?f0e9","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?7671","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?0f19","uni-app:///pages/index/index.vue","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?83d5","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?fa89"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","components","HeroBanner","StepsFlow","PodCatalog","PlatformFeatures","WhyChoose","CompanyIntro","data","trustStats","stepList","featureList","reasonList","companyFeatures","podCountries","podProducts","currentStep","currentFeat","_autoPlayTimer","onLoad","onShow","onHide","onUnload","methods","loadPodCountries","res","countries","id","name","console","loadPodProducts","params","page","pageSize","items","image","onPodCountryChange","onGoProducts","uni","url","onGoDetail","startAutoPlay","stopAutoPlay","clearInterval","onStepChange","onFeatChange"],"mappings":"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","file":"pages/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/index/index.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./index.vue?vue&type=template&id=57280228&\"\nvar renderjs\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/index.vue\"\nexport default component.exports","export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=template&id=57280228&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js&\"","\n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1787638773707\n var cssReload = require(\"C:/gs/app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///main.js","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?9285","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?f0e9","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?7671","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?0f19","uni-app:///pages/index/index.vue","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?83d5","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/index/index.vue?fa89"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","components","HeroBanner","StepsFlow","PodCatalog","PlatformFeatures","WhyChoose","CompanyIntro","data","trustStats","stepList","featureList","reasonList","companyFeatures","podCountries","podProducts","currentStep","currentFeat","_autoPlayTimer","onLoad","onShow","onHide","onUnload","methods","loadPodCountries","res","countries","id","name","console","loadPodProducts","params","page","pageSize","items","image","onPodCountryChange","onGoProducts","uni","url","onGoDetail","startAutoPlay","stopAutoPlay","clearInterval","onStepChange","onFeatChange"],"mappings":"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","file":"pages/index/index.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/index/index.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./index.vue?vue&type=template&id=57280228&\"\nvar renderjs\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/index.vue\"\nexport default component.exports","export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=template&id=57280228&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=script&lang=js&\"","\n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./index.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1787640418242\n var cssReload = require(\"C:/gs/app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/product-detail/product-detail.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/product-detail/product-detail.js.map
index 0cd563c..3195df1 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/product-detail/product-detail.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/product-detail/product-detail.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///main.js","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?03a3","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?5b31","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?5df2","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?23db","uni-app:///pages/product-detail/product-detail.vue","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?6ab6","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?73f4"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","components","DetailSwiper","ProductInfo","ColorSelector","SizeSelector","ParamsTable","SizeChart","PackagingSpec","data","statusBarHeight","productId","loading","product","name","sku","country","price","symbol","integer","decimal","quickInfo","productImages","colors","selectedColorId","sizes","selectedSize","productParams","sizeChart","variants","mediaByColor","defaultImages","packaging","onLoad","methods","loadDetail","goodId","res","detail","console","applyDetail","label","value","slice","sort","map","filter","id","buildMediaByColor","list","syncImagesByColor","parsePrice","buildParams","params","expandable","buildExpandableText","buildSizeChart","size","shoulder","chest","length","sleeve","unit","columns","rows","buildPackaging","sizeId","dimension","cm","in","volume","weight","findVariant","v","String","syncPriceByVariant","selectColor","selectSize","computed","colorListWithAvailability","enabled","sizeListWithAvailability"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,sBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2H;AAC3H;AACkE;AACL;AACa;;;AAG1E;AACuM;AACvM,gBAAgB,8MAAU;AAC1B,EAAE,oFAAM;AACR,EAAE,yFAAM;AACR,EAAE,kGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,6FAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC/BA;AAAA;AAAA;AAAA;AAA+xB,CAAgB,6xBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;AC4DnzB;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA,eAEA;EACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;EACA;EACAC;IACA;MACAC;MACAC;MACAC;MACAC;QACAC;QACAC;QACAC;QACAC;UAAAC;UAAAC;UAAAC;QAAA;QACAC;MACA;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACA;MACAC;MACA;MACAC;MACA;MACAC;MACAC;IACA;EACA;EACAC;IACA;MACA;MACA;IACA;MACA;IACA;IACA;MACA;MACA;IACA;EACA;EACAC;IACAC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,IACAC;kBAAA;kBAAA;gBAAA;gBAAA;cAAA;gBACA;gBAAA;gBAAA;gBAAA,OAEA;cAAA;gBAAAC;gBACAC;gBACA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAEAC;cAAA;gBAAA;gBAEA;gBAAA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IAEA;IAEA;AACA;AACA;IACAC;MACA;MACA;QACA1B;QACAC;QACAC;QACAC;QACAI,YACA;UAAAoB;UAAAC;QAAA,GACA;UACAD;UACAC;QACA,GACA;UAAAD;UAAAC;QAAA,GACA;UAAAD;UAAAC;QAAA;MAEA;;MAEA;MACA;MACA;MACA;MACA;MACA,yCACAC,QACAC;QAAA;MAAA,GACAC;QAAA;MAAA,GACAC;QAAA;MAAA;MACA;QACAf;MACA;MACA;QACAA;MACA;MACA;MACA;;MAEA;MACA,6DACAe;QAAA;MAAA,GACAH,QACAC;QAAA;MAAA,GACAC;QAAA;UAAAE;UAAAjC;UAAA4B;QAAA;MAAA;MACA;MACA;;MAEA;MACA,2DACAI;QAAA;MAAA,GACAH,QACAC;QAAA;MAAA,GACAC;QAAA;MAAA;MACA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;IACA;IAEA;AACA;AACA;AACA;AACA;IACAG;MACA;MACA;QACAC;UACA;UACA;YAAA;UAAA;UACA;QACA;MACA;MACA;IACA;IAEA;AACA;AACA;AACA;AACA;IACAC;MACA;MACA;MACA;MACA;IACA;IAEA;AACA;AACA;AACA;IACAC;MACA;MACA;MACA;MACA;MACA;QACAhC;QACAC;MACA;MACA;QAAAF;QAAAC;QAAAC;MAAA;IACA;IAEA;AACA;AACA;IACAgC;MACA;MACA;MACA;QACAC;UAAAZ;UAAAC;QAAA;MACA;MACA;QACAW;UAAAZ;UAAAC;QAAA;MACA;MACA;MACA;QACAW;UAAAZ;UAAAa;UAAAZ;QAAA;MACA;MACA;IACA;IAEA;AACA;AACA;IACAa;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACA;IAEA;AACA;AACA;IACAC;MACA;MACA;MACA;QACA;QACA;UACA;YAAA;UAAA;UACA;QACA;QACA;UACAC;UACAC;UACAC;UACAC;UACAC;QACA;MACA;MACA;QAAAC;QAAAC;QAAAC;MAAA;IACA;IAEA;AACA;AACA;AACA;IACAC;MACA;MACA;MACA;MACA;MACApC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACAgB;UACAY;UACAS;UACAC;YACAC;YACAC;UACA;UACAC;YACAF;YACAC;UACA;UACAE;YACAH;YACAC;UACA;QACA;MACA;MACA;MACA;MACA;MACA;QAAA;MAAA;MACA;QACA;QACA;QACA;MACA;MACA;QACAP;QACAC;QACAC;MACA;IACA;IAEA;AACA;AACA;AACA;IACAQ;MACA;MACA;MACA;MACA,OACA,mBACA;QAAA,OACAC,KACAC,yCACAA;MAAA,EACA;IAEA;IACAC;MACA;MACA;QACA;MACA;IACA;IAEA;AACA;AACA;AACA;IACAC;MACA;MACA;MACA;IACA;IACA;AACA;AACA;AACA;IACAC;MACA;MACA;IACA;EACA;EACAC;IACA;AACA;AACA;AACA;AACA;IACAC;MAAA;MACA;MACA;QACA;QACA;UACAC,+BACA;YAAA,OACAP,KACAA,uBACAC,sCACAA;UAAA,EACA;QACA;QACA;UAAAM;QAAA;MACA;IACA;IACA;AACA;AACA;AACA;IACAC;MAAA;MACA;MACA;QACA;QACA;UACAD,+BACA;YAAA,OACAP,KACAA,uBACAC,yCACAA;UAAA,EACA;QACA;QACA;UAAA5D;UAAAkE;QAAA;MACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;AC1bA;AAAA;AAAA;AAAA;AAA0nC,CAAgB,olCAAG,EAAC,C;;;;;;;;;;;ACA9oC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/product-detail/product-detail.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/product-detail/product-detail.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./product-detail.vue?vue&type=template&id=685304e6&\"\nvar renderjs\nimport script from \"./product-detail.vue?vue&type=script&lang=js&\"\nexport * from \"./product-detail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./product-detail.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/product-detail/product-detail.vue\"\nexport default component.exports","export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=template&id=685304e6&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n var g0 = _vm.colors.length\n var g1 = _vm.colors.length\n var g2 = _vm.sizes.length\n var g3 = _vm.sizes.length\n var g4 = _vm.productParams.length\n var g5 = _vm.productParams.length\n var g6 = _vm.sizeChart.rows && _vm.sizeChart.rows.length\n var g7 = _vm.sizeChart.rows && _vm.sizeChart.rows.length\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n g0: g0,\n g1: g1,\n g2: g2,\n g3: g3,\n g4: g4,\n g5: g5,\n g6: g6,\n g7: g7,\n },\n }\n )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=script&lang=js&\"","\n \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1787638774090\n var cssReload = require(\"C:/gs/app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///main.js","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?03a3","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?5b31","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?5df2","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?23db","uni-app:///pages/product-detail/product-detail.vue","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?6ab6","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/product-detail/product-detail.vue?73f4"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","components","DetailSwiper","ProductInfo","ColorSelector","SizeSelector","ParamsTable","SizeChart","PackagingSpec","data","statusBarHeight","productId","loading","product","name","sku","country","price","symbol","integer","decimal","quickInfo","productImages","colors","selectedColorId","sizes","selectedSize","productParams","sizeChart","variants","mediaByColor","defaultImages","packaging","onLoad","methods","loadDetail","goodId","res","detail","console","applyDetail","label","value","slice","sort","map","filter","id","buildMediaByColor","list","syncImagesByColor","parsePrice","buildParams","params","expandable","buildExpandableText","buildSizeChart","size","shoulder","chest","length","sleeve","unit","columns","rows","buildPackaging","sizeId","dimension","cm","in","volume","weight","findVariant","v","String","syncPriceByVariant","selectColor","selectSize","computed","colorListWithAvailability","enabled","sizeListWithAvailability"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,sBAAI,CAAC,C;;;;;;;;;;;;;ACLhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2H;AAC3H;AACkE;AACL;AACa;;;AAG1E;AACuM;AACvM,gBAAgB,8MAAU;AAC1B,EAAE,oFAAM;AACR,EAAE,yFAAM;AACR,EAAE,kGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,6FAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC/BA;AAAA;AAAA;AAAA;AAA+xB,CAAgB,6xBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;AC4DnzB;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA;EAAA;IAAA;EAAA;AAAA;AAAA,eAEA;EACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;EACA;EACAC;IACA;MACAC;MACAC;MACAC;MACAC;QACAC;QACAC;QACAC;QACAC;UAAAC;UAAAC;UAAAC;QAAA;QACAC;MACA;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACAC;MACA;MACAC;MACA;MACAC;MACA;MACAC;MACAC;IACA;EACA;EACAC;IACA;MACA;MACA;IACA;MACA;IACA;IACA;MACA;MACA;IACA;EACA;EACAC;IACAC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,IACAC;kBAAA;kBAAA;gBAAA;gBAAA;cAAA;gBACA;gBAAA;gBAAA;gBAAA,OAEA;cAAA;gBAAAC;gBACAC;gBACA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAEAC;cAAA;gBAAA;gBAEA;gBAAA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IAEA;IAEA;AACA;AACA;IACAC;MACA;MACA;QACA1B;QACAC;QACAC;QACAC;QACAI,YACA;UAAAoB;UAAAC;QAAA,GACA;UACAD;UACAC;QACA,GACA;UAAAD;UAAAC;QAAA,GACA;UAAAD;UAAAC;QAAA;MAEA;;MAEA;MACA;MACA;MACA;MACA;MACA,yCACAC,QACAC;QAAA;MAAA,GACAC;QAAA;MAAA,GACAC;QAAA;MAAA;MACA;QACAf;MACA;MACA;QACAA;MACA;MACA;MACA;;MAEA;MACA,6DACAe;QAAA;MAAA,GACAH,QACAC;QAAA;MAAA,GACAC;QAAA;UAAAE;UAAAjC;UAAA4B;QAAA;MAAA;MACA;MACA;;MAEA;MACA,2DACAI;QAAA;MAAA,GACAH,QACAC;QAAA;MAAA,GACAC;QAAA;MAAA;MACA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;;MAEA;MACA;IACA;IAEA;AACA;AACA;AACA;AACA;IACAG;MACA;MACA;QACAC;UACA;UACA;YAAA;UAAA;UACA;QACA;MACA;MACA;IACA;IAEA;AACA;AACA;AACA;AACA;IACAC;MACA;MACA;MACA;MACA;IACA;IAEA;AACA;AACA;AACA;IACAC;MACA;MACA;MACA;MACA;MACA;QACAhC;QACAC;MACA;MACA;QAAAF;QAAAC;QAAAC;MAAA;IACA;IAEA;AACA;AACA;IACAgC;MACA;MACA;MACA;QACAC;UAAAZ;UAAAC;QAAA;MACA;MACA;QACAW;UAAAZ;UAAAC;QAAA;MACA;MACA;MACA;QACAW;UAAAZ;UAAAa;UAAAZ;QAAA;MACA;MACA;IACA;IAEA;AACA;AACA;IACAa;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACA;IAEA;AACA;AACA;IACAC;MACA;MACA;MACA;QACA;QACA;UACA;YAAA;UAAA;UACA;QACA;QACA;UACAC;UACAC;UACAC;UACAC;UACAC;QACA;MACA;MACA;QAAAC;QAAAC;QAAAC;MAAA;IACA;IAEA;AACA;AACA;AACA;IACAC;MACA;MACA;MACA;MACA;MACApC;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACAgB;UACAY;UACAS;UACAC;YACAC;YACAC;UACA;UACAC;YACAF;YACAC;UACA;UACAE;YACAH;YACAC;UACA;QACA;MACA;MACA;MACA;MACA;MACA;QAAA;MAAA;MACA;QACA;QACA;QACA;MACA;MACA;QACAP;QACAC;QACAC;MACA;IACA;IAEA;AACA;AACA;AACA;IACAQ;MACA;MACA;MACA;MACA,OACA,mBACA;QAAA,OACAC,KACAC,yCACAA;MAAA,EACA;IAEA;IACAC;MACA;MACA;QACA;MACA;IACA;IAEA;AACA;AACA;AACA;IACAC;MACA;MACA;MACA;IACA;IACA;AACA;AACA;AACA;IACAC;MACA;MACA;IACA;EACA;EACAC;IACA;AACA;AACA;AACA;AACA;IACAC;MAAA;MACA;MACA;QACA;QACA;UACAC,+BACA;YAAA,OACAP,KACAA,uBACAC,sCACAA;UAAA,EACA;QACA;QACA;UAAAM;QAAA;MACA;IACA;IACA;AACA;AACA;AACA;IACAC;MAAA;MACA;MACA;QACA;QACA;UACAD,+BACA;YAAA,OACAP,KACAA,uBACAC,yCACAA;UAAA,EACA;QACA;QACA;UAAA5D;UAAAkE;QAAA;MACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;AC1bA;AAAA;AAAA;AAAA;AAA0nC,CAAgB,olCAAG,EAAC,C;;;;;;;;;;;ACA9oC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/product-detail/product-detail.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/product-detail/product-detail.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./product-detail.vue?vue&type=template&id=685304e6&\"\nvar renderjs\nimport script from \"./product-detail.vue?vue&type=script&lang=js&\"\nexport * from \"./product-detail.vue?vue&type=script&lang=js&\"\nimport style0 from \"./product-detail.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/product-detail/product-detail.vue\"\nexport default component.exports","export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=template&id=685304e6&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n var g0 = _vm.colors.length\n var g1 = _vm.colors.length\n var g2 = _vm.sizes.length\n var g3 = _vm.sizes.length\n var g4 = _vm.productParams.length\n var g5 = _vm.productParams.length\n var g6 = _vm.sizeChart.rows && _vm.sizeChart.rows.length\n var g7 = _vm.sizeChart.rows && _vm.sizeChart.rows.length\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n g0: g0,\n g1: g1,\n g2: g2,\n g3: g3,\n g4: g4,\n g5: g5,\n g6: g6,\n g7: g7,\n },\n }\n )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=script&lang=js&\"","\n \n \n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./product-detail.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1787640418637\n var cssReload = require(\"C:/gs/app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/products/products.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/products/products.js.map
index 0b8afde..d9d9d41 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/pages/products/products.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/pages/products/products.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///main.js","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?7eaf","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?5c88","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?dd0c","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?78c7","uni-app:///pages/products/products.vue","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?c445","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?eeac"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","components","SearchBar","CountryBar","ActiveFilters","CategorySidebar","ProductGrid","FilterDrawer","data","searchKeyword","selectedCountry","countries","activeCategory","categories","id","name","subCategories","activeSubCategory","activeFilters","showFilter","filterGroups","pagination","total","current","pageSize","hasMore","loadingMore","products","windowHeight","scrollTopVal","productScrollHeight","onLoad","sysInfo","methods","initData","countriesRes","countriesData","icon","console","loadCategoryData","params","countryId","Promise","categoriesRes","tagGroupsRes","categoriesData","children","productCount","tagGroupsData","title","tags","color","fontColor","selected","loadGoods","currentPage","res","items","page","price","image","text","bg","buildQueryParams","filter","map","tagGroupId","tagIds","codeToEmoji","loadSubCategories","subCats","onSearchInput","onSearchBlur","onScrollToLower","resetScrollToTop","calcScrollHeight","query","selectCountry","country","filters","key","label","selectCategory","selectSubCategory","toggleFilter","closeFilter","toggleFilterTag","group","removeFilter","groupId","groups","clearAllFilters","hasCountry","resetFilters","confirmFilters","countryFilter","goDetail","uni","url"],"mappings":"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A;gBAAA;gBAAA;gBAEAA;gBACA;gBACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IAEA;IAEA;AACA;AACA;AACA;AACA;AACA;IACAyB;MACA;QACAL;QACAlC;MACA;MACA;QACAgB;MACA;MACA;MACA;QACAA;MACA;MACA;MACA;QACAA;MACA;MACA,yCACAwB;QAAA;MAAA,GACAC;QAAA;UACAC;UACAC;YAAA;UAAA;QACA;MAAA;MACA;QACA3B;MACA;MACA;IACA;IAEA4B;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACA;IAEAC;MACA;MACA;QACA;UAAA;QAAA;QACA;UACAC;YACA;cAAAxD;cAAAC;YAAA;UACA;QACA;MACA;MACA;MACA;IACA;IAEAwD;MACA;MACA;IACA;IAEAC;MACA;IACA;IAEAC;MACA;MACA;MACA;IACA;IAEA;AACA;AACA;AACA;AACA;IACAC;MAAA;MACA;MACA;QACA;MACA;IACA;IAEA;AACA;AACA;AACA;AACA;AACA;IACAC;MAAA;MACA;MACA;MACAC;MACAA;MACAA;MACAA;MACAA;QACA;QACA;QACA;QACA;QACA;QACA;QAEA;QACA;QACA;QACA;QACA;QAEA;QACAtC,uEACA,8DACA,4EACA;MACA;IACA;IAEAuC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,MAEA;kBAAA;kBAAA;gBAAA;gBACA;gBACA;kBAAA;gBAAA;gBAAA;gBAAA,OACA;cAAA;gBAAA;gBAAA,OACA;cAAA;gBAAA;cAAA;gBAIA;gBACAC;kBAAA;gBAAA;gBACAC;kBAAA;gBAAA;gBACA;kBACAA;oBACAC;oBACAC;kBACA;gBACA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAC;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAC;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;gBACA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAC;MACA;IACA;IAEAC;MACA;IACA;IAEAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;QACAjC;MACA;QACAA;MACA;MACAkC;MACA;IACA;IAEAC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACAT;kBAAA;gBAAA;gBAAA,MAEAC;kBAAA;kBAAA;gBAAA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;gBAAA;gBAAA,OACA;cAAA;gBAAA;cAAA;gBAAA,MAIAA;kBAAA;kBAAA;gBAAA;gBACAS;gBACAC;kBACA;oBACA;sBAAArC;oBAAA;kBACA;kBACA;gBACA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;gBAAA;cAAA;gBAIA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAsC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACAC;kBAAA;gBAAA;gBACA;gBAAA,MACAA;kBAAA;kBAAA;gBAAA;gBACA;gBAAA;gBAAA,OACA;cAAA;gBAEAF;kBACA;oBAAArC;kBAAA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAwC;MACA;QACA;UAAAxC;QAAA;MACA;MACA;IACA;IAEAyC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACAf;gBACAgB;kBAAA;gBAAA;gBACA;gBACA;kBACA;oBACA,wBACA/B;sBAAA;oBAAA,GACAC;sBAAA;oBAAA;oBACA;sBACAc;wBACAC;wBACAC;sBACA;oBACA;kBACA;gBACA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAe;MACAC;QACAC;MACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;AC1hBA;AAAA;AAAA;AAAA;AAAonC,CAAgB,8kCAAG,EAAC,C;;;;;;;;;;;ACAxoC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/products/products.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/products/products.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./products.vue?vue&type=template&id=6b9ce706&\"\nvar renderjs\nimport script from \"./products.vue?vue&type=script&lang=js&\"\nexport * from \"./products.vue?vue&type=script&lang=js&\"\nimport style0 from \"./products.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/products/products.vue\"\nexport default component.exports","export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=template&id=6b9ce706&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=script&lang=js&\"","\n \n \n \n \n\n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1787638774096\n var cssReload = require(\"C:/gs/app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///main.js","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?7eaf","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?5c88","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?dd0c","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?78c7","uni-app:///pages/products/products.vue","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?c445","webpack:///C:/gs/project/官网小程序demo/官网小程序demo_uni/pages/products/products.vue?eeac"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page","components","SearchBar","CountryBar","ActiveFilters","CategorySidebar","ProductGrid","FilterDrawer","watch","data","searchKeyword","selectedCountry","countries","activeCategory","categories","id","name","subCategories","activeSubCategory","activeFilters","showFilter","filterGroups","pagination","total","current","pageSize","hasMore","loadingMore","products","windowHeight","scrollTopVal","productScrollHeight","_searchBarH","_countryBarH","_activeFiltersH","_subCategoriesH","onLoad","sysInfo","tabBarHeight","console","methods","initData","countriesRes","countriesData","icon","loadCategoryData","params","countryId","Promise","categoriesRes","tagGroupsRes","categoriesData","children","productCount","tagGroupsData","title","tags","color","fontColor","selected","loadGoods","currentPage","res","items","page","price","image","text","bg","buildQueryParams","filter","map","tagGroupId","tagIds","codeToEmoji","loadSubCategories","subCats","onSearchInput","onSearchBlur","onScrollToLower","resetScrollToTop","onSearchBarHeight","onCountryBarHeight","onActiveFiltersHeight","onSubCategoriesHeight","recomputeScrollHeight","selectCountry","country","filters","key","label","selectCategory","selectSubCategory","toggleFilter","closeFilter","toggleFilterTag","group","removeFilter","groupId","groups","clearAllFilters","hasCountry","resetFilters","confirmFilters","countryFilter","goDetail","uni","url"],"mappings":"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BACAC;gBACA;gBACA;gBACA;;gBAEA;gBACA;gBAEAc,YACA,+BACA,0BACA,+BACA,uCACA,8BACA;gBAAA;gBAAA;cAAA;gBAAA;gBAAA;gBAEAA;gBACA;gBACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IAEA;IAEA;AACA;AACA;AACA;AACA;AACA;IACA8B;MACA;QACAL;QACAvC;MACA;MACA;QACAqB;MACA;MACA;MACA;QACAA;MACA;MACA;MACA;QACAA;MACA;MACA,yCACAwB;QAAA;MAAA,GACAC;QAAA;UACAC;UACAC;YAAA;UAAA;QACA;MAAA;MACA;QACA3B;MACA;MACA;IACA;IAEA4B;MACA;MACA;MACA;MACA;MACA;MACA;MACA;IACA;IAEAC;MACA;MACA;QACA;UAAA;QAAA;QACA;UACAC;YACA;cAAA7D;cAAAC;YAAA;UACA;QACA;MACA;MACA;MACA;IACA;IAEA6D;MACA;MACA;IACA;IAEAC;MACA;IACA;IAEAC;MACA;MACA;MACA;IACA;IAEA;AACA;AACA;AACA;AACA;IACAC;MAAA;MACA;MACA;QACA;MACA;IACA;IAEA;AACA;AACA;AACA;AACA;AACA;AACA;IACAC;MACA;MACA;IACA;IACAC;MACA;MACA;IACA;IACAC;MACA;MACA;IACA;IACAC;MACA;MACA;IACA;IAEA;AACA;AACA;AACA;IACAC;MACA,uDACA;MACA;MACA;MACA;MACA;MAEA;MACA9C,0EACA,0EACA,wFACA;IACA;IAEA+C;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBAAA,MAEA;kBAAA;kBAAA;gBAAA;gBACA;gBACA;kBAAA;gBAAA;gBAAA;gBAAA,OACA;cAAA;gBAAA;gBAAA,OACA;cAAA;gBAAA;cAAA;gBAIA;gBACAC;kBAAA;gBAAA;gBACAC;kBAAA;gBAAA;gBACA;kBACAA;oBACAC;oBACAC;kBACA;gBACA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAC;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAC;MAAA;MAAA;QAAA;UAAA;YAAA;cAAA;gBACA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAC;MACA;IACA;IAEAC;MACA;IACA;IAEAC;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;QACApC;MACA;QACAA;MACA;MACAqC;MACA;IACA;IAEAC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACAT;kBAAA;gBAAA;gBAAA,MAEAC;kBAAA;kBAAA;gBAAA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;gBAAA;gBAAA,OACA;cAAA;gBAAA;cAAA;gBAAA,MAIAA;kBAAA;kBAAA;gBAAA;gBACAS;gBACAC;kBACA;oBACA;sBAAAxC;oBAAA;kBACA;kBACA;gBACA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;gBAAA;cAAA;gBAIA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAyC;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACAC;kBAAA;gBAAA;gBACA;gBAAA,MACAA;kBAAA;kBAAA;gBAAA;gBACA;gBAAA;gBAAA,OACA;cAAA;gBAEAF;kBACA;oBAAAxC;kBAAA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEA2C;MACA;QACA;UAAA3C;QAAA;MACA;MACA;IACA;IAEA4C;MAAA;MAAA;QAAA;QAAA;UAAA;YAAA;cAAA;gBACAf;gBACAgB;kBAAA;gBAAA;gBACA;gBACA;kBACA;oBACA,wBACAlC;sBAAA;oBAAA,GACAC;sBAAA;oBAAA;oBACA;sBACAiB;wBACAC;wBACAC;sBACA;oBACA;kBACA;gBACA;gBACA;gBACA;gBAAA;gBAAA,OACA;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA;IACA;IAEAe;MACAC;QACAC;MACA;IACA;EACA;AACA;AAAA,2B;;;;;;;;;;;;;ACtjBA;AAAA;AAAA;AAAA;AAAonC,CAAgB,8kCAAG,EAAC,C;;;;;;;;;;;ACAxoC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/products/products.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/products/products.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./products.vue?vue&type=template&id=6b9ce706&\"\nvar renderjs\nimport script from \"./products.vue?vue&type=script&lang=js&\"\nexport * from \"./products.vue?vue&type=script&lang=js&\"\nimport style0 from \"./products.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/products/products.vue\"\nexport default component.exports","export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--17-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=template&id=6b9ce706&\"","var components\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--13-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=script&lang=js&\"","\n \n \n \n \n\n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--6-oneOf-1-2!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-3!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./products.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1787640418641\n var cssReload = require(\"C:/gs/app/HB/HBuilderX.5.24.2026081301/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/mp-weixin/pages/products/products.js b/unpackage/dist/dev/mp-weixin/pages/products/products.js
index a4990e5..3017bb1 100644
--- a/unpackage/dist/dev/mp-weixin/pages/products/products.js
+++ b/unpackage/dist/dev/mp-weixin/pages/products/products.js
@@ -188,6 +188,16 @@ var _default = {
ProductGrid: ProductGrid,
FilterDrawer: FilterDrawer
},
+ watch: {
+ // 筛选标签增减 → 子组件会自测量并 emit,父组件这里不需要 watch
+ // 保留一个兜底:activeFilters.length 变化时主动触发一次重算
+ 'activeFilters.length': function activeFiltersLength() {
+ this.recomputeScrollHeight();
+ },
+ 'subCategories.length': function subCategoriesLength() {
+ this.recomputeScrollHeight();
+ }
+ },
data: function data() {
return {
searchKeyword: '',
@@ -213,21 +223,29 @@ var _default = {
products: [],
windowHeight: 667,
scrollTopVal: 0,
- productScrollHeight: 400 // 商品滚动区高度(px),动态计算
+ productScrollHeight: 400,
+ // 商品滚动区高度(px),由子组件测量后动态计算
+ // 各子组件上报的高度(px),默认 0
+ _searchBarH: 0,
+ _countryBarH: 0,
+ _activeFiltersH: 0,
+ _subCategoriesH: 0
};
},
onLoad: function onLoad() {
var _this = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
- var sysInfo;
+ var sysInfo, tabBarHeight;
return _regenerator.default.wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
try {
- sysInfo = uni.getSystemInfoSync(); // windowHeight 已自动扣除 uni-app 默认导航栏 & TabBar 高度
- // 当前页是 navigationStyle:custom + TabBar 页,正好匹配可视区
- _this.windowHeight = sysInfo.windowHeight || 667;
+ sysInfo = uni.getSystemInfoSync(); // tabBar 页 + navigationStyle:custom 时,windowHeight 在不同平台/版本可能不扣 tabBar
+ // 改用 screenHeight - tabBarHeight 计算,确保可视区高度正确
+ tabBarHeight = sysInfo.tabBarHeight || 50;
+ _this.windowHeight = (sysInfo.screenHeight || 750) - tabBarHeight;
+ console.log('[onLoad] screenHeight=' + sysInfo.screenHeight + ', tabBarHeight=' + tabBarHeight + ' → windowHeight=' + _this.windowHeight);
} catch (e) {
_this.windowHeight = 667;
}
@@ -238,10 +256,9 @@ var _default = {
_context.next = 6;
return _this.loadGoods(1);
case 6:
- // 首屏数据渲染完成后计算滚动区高度
- _this.$nextTick(function () {
- _this.calcScrollHeight();
- });
+ // 首屏数据渲染完成后,子组件会通过 mounted 自行测量并 emit 高度
+ // 这里兜底触发一次重算(防止某些端 mounted 比父组件 onLoad 晚)
+ _this.recomputeScrollHeight();
case 7:
case "end":
return _context.stop();
@@ -432,10 +449,8 @@ var _default = {
_this4.hasMore = _this4.products.length < total;
_this4.loadingMore = false;
- // 数据变更后重算滚动区高度(筛选标签/子分类数量变化会影响上方占位高度)
- _this4.$nextTick(function () {
- _this4.calcScrollHeight();
- });
+ // 数据变更后兜底重算滚动区高度(子组件会自行 emit,这里兜底)
+ _this4.recomputeScrollHeight();
console.log('[loadGoods] total=' + total + ', page=' + currentPage + ', items=' + products.length + ', loaded=' + _this4.products.length + ', hasMore=' + _this4.hasMore);
_context4.next = 25;
break;
@@ -542,64 +557,70 @@ var _default = {
});
},
/**
- * 动态计算商品滚动区高度(px)。
- * 用 createSelectorQuery 测量 SearchBar / CountryBar / ActiveFilters / subCategories 的实际高度,
- * 用 windowHeight 依次减去,得到 scroll-view 可用的固定高度。
+ * 子组件高度上报回调 —— 每个子组件在 mounted / 内容变化时自行测量 DOM 高度,
+ * 通过 @height-change 事件上报给父组件。父组件汇总后重算滚动区高度。
+ *
+ * 这种方式解决了 uni-app 小程序端 createSelectorQuery 无法跨组件查询 DOM 的问题:
+ * H5 端 DOM 全局可查,但小程序每个组件有独立节点树,页面级 select 选不到子组件内部的节点。
+ */
+ onSearchBarHeight: function onSearchBarHeight(h) {
+ this._searchBarH = h;
+ this.recomputeScrollHeight();
+ },
+ onCountryBarHeight: function onCountryBarHeight(h) {
+ this._countryBarH = h;
+ this.recomputeScrollHeight();
+ },
+ onActiveFiltersHeight: function onActiveFiltersHeight(h) {
+ this._activeFiltersH = h;
+ this.recomputeScrollHeight();
+ },
+ onSubCategoriesHeight: function onSubCategoriesHeight(h) {
+ this._subCategoriesH = h;
+ this.recomputeScrollHeight();
+ },
+ /**
+ * 根据 4 个子组件上报的高度,计算 scroll-view 可用的固定高度。
* —— 完全符合 uni-app / 微信小程序官方文档「scroll-y 需给固定 height」的要求。
*/
- calcScrollHeight: function calcScrollHeight() {
- var _this6 = this;
- var query = uni.createSelectorQuery().in(this);
- // 分别测量 4 个元素的 boundingClientRect
- query.select('#searchBar').boundingClientRect();
- query.select('#countryBar').boundingClientRect();
- query.select('#activeFilters').boundingClientRect();
- query.select('#subCategories').boundingClientRect();
- query.exec(function (res) {
- // res[0]=searchBar, res[1]=countryBar, res[2]=activeFilters, res[3]=subCategories
- // 注意:v-if 为 false 时 res[i] 可能为 null
- var searchBarH = res[0] ? res[0].height : 0;
- var countryBarH = res[1] ? res[1].height : 0;
- var activeFiltersH = res[2] ? res[2].height : 0;
- var subCategoriesH = res[3] ? res[3].height : 0;
- var totalUsed = searchBarH + countryBarH + activeFiltersH + subCategoriesH;
- var h = _this6.windowHeight - totalUsed;
- // 最小值保护:至少 200px,避免极端情况
- if (h < 200) h = 200;
- if (h > _this6.windowHeight) h = _this6.windowHeight;
- _this6.productScrollHeight = Math.round(h);
- console.log('[calcScrollHeight] windowHeight=' + _this6.windowHeight + ', searchBar=' + searchBarH + ', countryBar=' + countryBarH + ', activeFilters=' + activeFiltersH + ', subCategories=' + subCategoriesH + ' → scrollHeight=' + _this6.productScrollHeight);
- });
+ recomputeScrollHeight: function recomputeScrollHeight() {
+ var totalUsed = this._searchBarH + this._countryBarH + this._activeFiltersH + this._subCategoriesH;
+ var h = this.windowHeight - totalUsed;
+ // 最小值保护:至少 200px,避免极端情况
+ if (h < 200) h = 200;
+ if (h > this.windowHeight) h = this.windowHeight;
+ this.productScrollHeight = Math.round(h);
+ console.log('[recomputeScrollHeight] windowHeight=' + this.windowHeight + ', searchBar=' + this._searchBarH + ', countryBar=' + this._countryBarH + ', activeFilters=' + this._activeFiltersH + ', subCategories=' + this._subCategoriesH + ' → scrollHeight=' + this.productScrollHeight);
},
selectCountry: function selectCountry(id) {
- var _this7 = this;
+ var _this6 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
var country, filters;
return _regenerator.default.wrap(function _callee5$(_context5) {
while (1) {
switch (_context5.prev = _context5.next) {
case 0:
- if (!(_this7.selectedCountry === id)) {
+ if (!(_this6.selectedCountry === id)) {
_context5.next = 8;
break;
}
- _this7.selectedCountry = '';
- _this7.activeFilters = _this7.activeFilters.filter(function (f) {
+ _this6.selectedCountry = '';
+ _this6.activeFilters = _this6.activeFilters.filter(function (f) {
return f.key !== 'country';
});
_context5.next = 5;
- return _this7.loadCategoryData('');
+ return _this6.loadCategoryData('');
case 5:
_context5.next = 7;
- return _this7.loadGoods(1);
+ return _this6.loadGoods(1);
case 7:
return _context5.abrupt("return");
case 8:
// 选中新国家
- country = _this7.countries.find(function (c) {
+ country = _this6.countries.find(function (c) {
return c.id === id;
});
- filters = _this7.activeFilters.filter(function (f) {
+ filters = _this6.activeFilters.filter(function (f) {
return f.key !== 'country';
});
if (country) {
@@ -608,13 +629,13 @@ var _default = {
label: country.name
});
}
- _this7.selectedCountry = id;
- _this7.activeFilters = filters;
+ _this6.selectedCountry = id;
+ _this6.activeFilters = filters;
_context5.next = 15;
- return _this7.loadCategoryData(id);
+ return _this6.loadCategoryData(id);
case 15:
_context5.next = 17;
- return _this7.loadGoods(1);
+ return _this6.loadGoods(1);
case 17:
case "end":
return _context5.stop();
@@ -624,16 +645,16 @@ var _default = {
}))();
},
selectCategory: function selectCategory(id) {
- var _this8 = this;
+ var _this7 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {
return _regenerator.default.wrap(function _callee6$(_context6) {
while (1) {
switch (_context6.prev = _context6.next) {
case 0:
- _this8.activeCategory = id;
- _this8.loadSubCategories(id);
+ _this7.activeCategory = id;
+ _this7.loadSubCategories(id);
_context6.next = 4;
- return _this8.loadGoods(1);
+ return _this7.loadGoods(1);
case 4:
case "end":
return _context6.stop();
@@ -643,15 +664,15 @@ var _default = {
}))();
},
selectSubCategory: function selectSubCategory(id) {
- var _this9 = this;
+ var _this8 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
return _regenerator.default.wrap(function _callee7$(_context7) {
while (1) {
switch (_context7.prev = _context7.next) {
case 0:
- _this9.activeSubCategory = id;
+ _this8.activeSubCategory = id;
_context7.next = 3;
- return _this9.loadGoods(1);
+ return _this8.loadGoods(1);
case 3:
case "end":
return _context7.stop();
@@ -683,27 +704,27 @@ var _default = {
this.filterGroups = groups;
},
removeFilter: function removeFilter(key) {
- var _this10 = this;
+ var _this9 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {
var filters, groupId, groups;
return _regenerator.default.wrap(function _callee8$(_context8) {
while (1) {
switch (_context8.prev = _context8.next) {
case 0:
- filters = _this10.activeFilters.filter(function (f) {
+ filters = _this9.activeFilters.filter(function (f) {
return f.key !== key;
});
if (!(key === 'country')) {
_context8.next = 9;
break;
}
- _this10.selectedCountry = '';
- _this10.activeFilters = filters;
+ _this9.selectedCountry = '';
+ _this9.activeFilters = filters;
_context8.next = 6;
- return _this10.loadCategoryData('');
+ return _this9.loadCategoryData('');
case 6:
_context8.next = 8;
- return _this10.loadGoods(1);
+ return _this9.loadGoods(1);
case 8:
return _context8.abrupt("return");
case 9:
@@ -712,7 +733,7 @@ var _default = {
break;
}
groupId = key.replace('tag_', '');
- groups = _this10.filterGroups.map(function (g) {
+ groups = _this9.filterGroups.map(function (g) {
if (String(g.id) === String(groupId)) {
return Object.assign({}, g, {
selected: []
@@ -720,14 +741,14 @@ var _default = {
}
return g;
});
- _this10.activeFilters = filters;
- _this10.filterGroups = groups;
+ _this9.activeFilters = filters;
+ _this9.filterGroups = groups;
_context8.next = 16;
- return _this10.loadGoods(1);
+ return _this9.loadGoods(1);
case 16:
return _context8.abrupt("return");
case 17:
- _this10.activeFilters = filters;
+ _this9.activeFilters = filters;
case 18:
case "end":
return _context8.stop();
@@ -737,33 +758,33 @@ var _default = {
}))();
},
clearAllFilters: function clearAllFilters() {
- var _this11 = this;
+ var _this10 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {
var hasCountry, groups;
return _regenerator.default.wrap(function _callee9$(_context9) {
while (1) {
switch (_context9.prev = _context9.next) {
case 0:
- hasCountry = _this11.activeFilters.some(function (f) {
+ hasCountry = _this10.activeFilters.some(function (f) {
return f.key === 'country';
});
- _this11.activeFilters = [];
- if (!(hasCountry || _this11.selectedCountry)) {
+ _this10.activeFilters = [];
+ if (!(hasCountry || _this10.selectedCountry)) {
_context9.next = 6;
break;
}
- _this11.selectedCountry = '';
+ _this10.selectedCountry = '';
_context9.next = 6;
- return _this11.loadCategoryData('');
+ return _this10.loadCategoryData('');
case 6:
- groups = _this11.filterGroups.map(function (g) {
+ groups = _this10.filterGroups.map(function (g) {
return Object.assign({}, g, {
selected: []
});
});
- _this11.filterGroups = groups;
+ _this10.filterGroups = groups;
_context9.next = 10;
- return _this11.loadGoods(1);
+ return _this10.loadGoods(1);
case 10:
case "end":
return _context9.stop();
@@ -781,7 +802,7 @@ var _default = {
this.filterGroups = groups;
},
confirmFilters: function confirmFilters() {
- var _this12 = this;
+ var _this11 = this;
return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {
var filters, countryFilter;
return _regenerator.default.wrap(function _callee10$(_context10) {
@@ -789,11 +810,11 @@ var _default = {
switch (_context10.prev = _context10.next) {
case 0:
filters = [];
- countryFilter = _this12.activeFilters.find(function (f) {
+ countryFilter = _this11.activeFilters.find(function (f) {
return f.key === 'country';
});
if (countryFilter) filters.push(countryFilter);
- _this12.filterGroups.forEach(function (group) {
+ _this11.filterGroups.forEach(function (group) {
if (group.selected.length > 0) {
var labels = group.tags.filter(function (t) {
return group.selected.indexOf(t.id) > -1;
@@ -808,10 +829,10 @@ var _default = {
}
}
});
- _this12.activeFilters = filters;
- _this12.showFilter = false;
+ _this11.activeFilters = filters;
+ _this11.showFilter = false;
_context10.next = 8;
- return _this12.loadGoods(1);
+ return _this11.loadGoods(1);
case 8:
case "end":
return _context10.stop();
diff --git a/unpackage/dist/dev/mp-weixin/pages/products/products.wxml b/unpackage/dist/dev/mp-weixin/pages/products/products.wxml
index d586c19..e5a88fd 100644
--- a/unpackage/dist/dev/mp-weixin/pages/products/products.wxml
+++ b/unpackage/dist/dev/mp-weixin/pages/products/products.wxml
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file