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 && }