diff --git a/CHANGELOG.md b/CHANGELOG.md index a1c9c97bc..6c58d8e6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [4.3.6](https://git.ishopex.cn/ecshopx/ecshopx-vshop/compare/v4.3.5...v4.3.6) (2026-03-20) + +### [4.3.5](https://git.ishopex.cn/ecshopx/ecshopx-vshop/compare/v4.3.3...v4.3.5) (2026-03-20) + +### [4.3.3](https://git.ishopex.cn/ecshopx/ecshopx-vshop/compare/v4.3.2...v4.3.3) (2026-03-20) + ### [4.3.2](https://git.ishopex.cn/ecshopx/ecshopx-vshop/compare/v4.3.1...v4.3.2) (2026-03-19) ### [4.3.1](https://git.ishopex.cn/ecshopx/ecshopx-vshop/compare/v4.3.0...v4.3.1) (2026-03-19) diff --git a/package-lock.json b/package-lock.json index 165c16bec..dbd48636e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,13 +1,12 @@ { "name": "ecshopx-vshop", - "version": "4.2.0", + "version": "4.3.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ecshopx-vshop", - "version": "4.2.0", - "license": "MIT", + "version": "4.3.6", "dependencies": { "@babel/runtime": "^7.14.5", "@lucky-canvas/taro": "^0.0.15", diff --git a/package.json b/package.json index bb892d556..18392b4db 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "ecshopx-vshop", "app_name": "ecshopx", - "version": "4.3.2", + "version": "4.3.6", "private": true, "description": "taro app for bbc", "scripts": { diff --git a/src/components/sp-page/index.js b/src/components/sp-page/index.js index 38019ed9a..6fce56b5a 100644 --- a/src/components/sp-page/index.js +++ b/src/components/sp-page/index.js @@ -181,7 +181,7 @@ const SpPage = memo( const _height = props.renderFooter ? Taro.pxTransform(props.footerHeight + (isIphoneX() ? DEFAULT_SAFE_AREA_HEIGHT : 0)) - : 0 + : Taro.pxTransform(0) props.onReady({ gNavbarH: _gNavbarH, diff --git a/src/pages/custom/custom-page.js b/src/pages/custom/custom-page.js index 43f328507..e636c4c04 100644 --- a/src/pages/custom/custom-page.js +++ b/src/pages/custom/custom-page.js @@ -9,8 +9,9 @@ import Taro, { useRouter, getCurrentInstance, useShareAppMessage, - useShareTimeline + useShareTimeline, } from '@tarojs/taro' +import { ScrollView } from '@tarojs/components' import api from '@/api' import doc from '@/doc' import qs from 'qs' @@ -18,7 +19,6 @@ import { SpPage, SpSearch, SpSkuSelect, SpTabbar, SpLogin } from '@/components' import { WgtsContext } from '@/pages/home/wgts/wgts-context' import { getDistributorId, log, entryLaunch, pickBy, showToast, buildSharePath } from '@/utils' import { platformTemplateName } from '@/utils/platform' -import { useNavigation } from '@/hooks' import req from '@/api/req' import HomeWgts from '@/pages/home/comps/home-wgts' import './custom-page.scss' @@ -31,16 +31,21 @@ const initialState = { skuPanelOpen: false, selectType: 'picker', isShowTabBar: false, - footerHeight: 0 + footerHeight: 0, + bodyHeight: 0, + scrollIntoView: null, + navbarHeight: 0 } function CustomPage(props) { const $instance = getCurrentInstance() || {} const [state, setState] = useImmer(initialState) - const { wgts, loading, shareInfo, skuPanelOpen, selectType, info, isShowTabBar } = state + const { wgts, loading, shareInfo, skuPanelOpen, selectType, info, isShowTabBar, scrollIntoView, navbarHeight } = state const MSpSkuSelect = React.memo(SpSkuSelect) const pageRef = useRef() const loginRef = useRef() const router = useRouter() + const { location, address } = useSelector((state) => state.user) + const nearbyText = address?.city || location?.city || '' useEffect(() => { fetch() @@ -83,28 +88,6 @@ function CustomPage(props) { return getAppShareInfo() }) - const onAddToCart = async ({ itemId, distributorId }) => { - Taro.showLoading() - try { - const itemDetail = await api.item.detail(itemId, { - showError: false, - distributor_id: distributorId - }) - Taro.hideLoading() - setState((draft) => { - draft.info = pickBy(itemDetail, doc.goods.GOODS_INFO) - draft.skuPanelOpen = true - draft.selectType = 'addcart' - }) - } catch (e) { - Taro.hideLoading({ - success: () => { - showToast(e.message) - } - }) - } - } - const getAppShareInfo = async () => { const { id } = await entryLaunch.getRouteParams($instance?.router?.params) const { userId } = Taro.getStorageSync('userinfo') @@ -123,39 +106,58 @@ function CustomPage(props) { } const searchComp = wgts.find((wgt) => wgt.name == 'search') - let filterWgts = [] - if (searchComp && searchComp.config.fixTop) { - filterWgts = wgts.filter((wgt) => wgt.name !== 'search') - } else { - filterWgts = wgts - } - const fixedTop = searchComp && searchComp.config.fixTop const pageData = wgts.find((wgt) => wgt.name == 'page') + let filterWgts = [] + if (searchComp && searchComp.config && searchComp.config.fixTop) { + filterWgts = wgts.filter((wgt) => wgt.name !== 'search' && wgt.name != 'page') + } else { + filterWgts = wgts.filter((wgt) => wgt.name != 'page') + } return ( } - fixedTopContainer={fixedTop && } - onReady={({ footerHeight }) => { + onReady={({ footerHeight, height, gNavbarH }) => { setState((draft) => { draft.footerHeight = footerHeight + draft.bodyHeight = height + draft.navbarHeight = gNavbarH }) }} > - { + pageRef.current.handlePageScroll(e?.detail) }} + scrollIntoView={scrollIntoView} + style={{ height: state.bodyHeight }} > - - + { + setState((draft) => { + draft.scrollIntoView = view + }) + } + }} + > + + + {/* Sku选择器 */} <> - - {filterWgts.length > 0 && ( )} - {/* If you remove or alter Shopex brand identifiers, you must obtain a branding removal license from Shopex. Contact us at: http://www.shopex.cn to purchase a branding removal license. */} - - + {/* + Powered by + + */} {/* 小程序收藏提示 */} {isWeixin && }