This commit is contained in:
maqian
2025-06-23 11:20:36 +08:00
12 changed files with 167 additions and 32 deletions

14
.env
View File

@@ -1,16 +1,16 @@
APP_BASE_URL=https://demo-ecshopx.ishopex.cn/api/h5app/wxapp
APP_WEBSOCKET=wss://demo-ecshopx.ishopex.cn/ws
APP_COMPANY_ID=38
APP_BASE_URL=https://test-dtc.amandax.com.cn/api/h5app/wxapp
APP_WEBSOCKET=wss://test-dtc.amandax.com.cn/ws
APP_COMPANY_ID=1
APP_PLATFORM=standard
APP_CUSTOM_SERVER=https://ecshopx-h5.ex-sandbox.com/
APP_CUSTOM_SERVER=https://test-dtc.amandax.com.cn
APP_HOME_PAGE=/pages/index
APP_TRACK=youshu
APP_YOUSHU_TOKEN=bi281e87ab2424481a
APP_ID=wx1e25e45145b70faa
APP_MAP_KEY=1ccc1ebc947719886f0cd766d70241fe
APP_ID=wx27fc041381fe1e0d
APP_MAP_KEY=NWBBZ-NKJ6J-LMOFT-D3LBD-IEYKE-JRFOY
APP_MAP_NAME=oneX新零售门店定位
APP_IMAGE_CDN=https://b-img-cdn.yuanyuanke.cn/ecshopx-vshop
APP_DIANWU_URL=https://demo-ecshopx-dianwu.shopex123.com
APP_DIANWU_URL=
APP_MERCHANT_URL=
APP_ADAPAY=

View File

@@ -2,6 +2,21 @@
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.
### [3.21.4](https://git.ishopex.cn/ecshopx/ecshopx-vshop/compare/v3.21.3...v3.21.4) (2025-06-19)
### Bug Fixes
* 修复购物车猜你喜欢列表不展示 ([57ac99a](https://git.ishopex.cn/ecshopx/ecshopx-vshop/commit/57ac99a82017189838f6599872757801d8e8ed59))
### [3.21.3](https://git.ishopex.cn/ecshopx/ecshopx-vshop/compare/v3.21.0...v3.21.3) (2025-06-09)
### Bug Fixes
* 导购欢迎语参数兼容处理 ([a2a062c](https://git.ishopex.cn/ecshopx/ecshopx-vshop/commit/a2a062c43fc9f2f456f9e1d449c4ede5cd3c7cb3))
* 购物车输入框bug ([29f5893](https://git.ishopex.cn/ecshopx/ecshopx-vshop/commit/29f5893d76f58dbc8d103b7947915a88dd9fadcd))
### [3.21.2](https://git.ishopex.cn/ecshopx/ecshopx-vshop/compare/v3.20.7...v3.21.2) (2025-06-05)

View File

@@ -1047,7 +1047,6 @@ map_name = oneX新零售门店定位
image_cdn = https://b-img-cdn.yuanyuanke.cn/ecshopx-vshop
dianwu_url=https://dw.xsdaojia.com
[辉绮-测试]
appid = wx27fc041381fe1e0d
base_url = https://test-dtc.amandax.com.cn/api/h5app/wxapp

2
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{
"name": "ecshopx-vshop",
"version": "3.21.2",
"version": "3.21.4",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@@ -1,7 +1,7 @@
{
"name": "ecshopx-vshop",
"app_name": "ecshopx",
"version": "3.21.2",
"version": "3.21.4",
"private": true,
"description": "taro app for bbc",
"scripts": {

View File

@@ -328,12 +328,12 @@ export const ESPIER_DETAIL_GOODS_INFO = {
// 如果 regions 不是数组,可以将它转换成数组 把 regions 转换成只包含一个元素的数组
regions = [regions]
}
if (item_unit) {
res.push({ attribute_name: '计量单位', attribute_value_name: item_unit })
}
if (regions) {
res.push({ attribute_name: '产地', attribute_value_name: regions.join(' ') })
}
// if (item_unit) {
// res.push({ attribute_name: '计量单位', attribute_value_name: item_unit })
// }
// if (regions) {
// res.push({ attribute_name: '产地', attribute_value_name: regions.join(' ') })
// }
return res.concat(item_params)
},
groupsList: 'groups_list',

View File

@@ -1,9 +1,9 @@
{
"extEnable": true,
"extAppid": "wx1e25e45145b70faa",
"extAppid": "wx27fc041381fe1e0d",
"ext": {
"company_id": "38",
"appid": "wx1e25e45145b70faa",
"company_id": "1",
"appid": "wx27fc041381fe1e0d",
"wxa_name": "通用小程序",
"ali_isvid":""
},

View File

@@ -50,10 +50,10 @@ function GoodReservateResult(props) {
return (
<SpPage className='good-reservate-result'>
<View className='good-reservate-result__title-box'>
<View className='good-reservate-result__title'>
{/* <View className='good-reservate-result__title'>
<Text className='icon-wancheng iconfont'> </Text>
股东您好,报名已填报完成!
</View>
</View> */}
{info?.joinTips && <View className='good-reservate-result__subtitle'>{info.joinTips}</View>}
</View>

View File

@@ -94,12 +94,12 @@ function CartIndex() {
const params = {
shop_type: type
}
await dispatch(fetchCartList(params))
await dispatch(updateCount(params))
let cartRemindres = await api.cart.getCartRemind(params)
setState({
cartRemind: cartRemindres
setState((draft) => {
draft.cartRemind = cartRemindres
})
Taro.hideLoading()
}

View File

@@ -33,7 +33,7 @@ const initialState = {
searchMethod: null
}
function HomeWgts(props) {
const { wgts, dtid, onLoad = () => { }, children ,copywriting = true} = props
const { wgts, dtid, onLoad = () => { }, children ,copywriting = false} = props
const [state, setState] = useImmer(initialState)
const { localWgts, searchMethod } = state
const wgtsRef = useRef()

View File

@@ -8,7 +8,7 @@ import Taro, {
} from '@tarojs/taro'
import { View, Text, Swiper, SwiperItem, Video, ScrollView } from '@tarojs/components'
import { useImmer } from 'use-immer'
import { AtCountdown } from 'taro-ui'
import { AtFloatLayout , AtButton } from 'taro-ui'
import {
SpPrice,
SpCell,
@@ -107,7 +107,8 @@ const initialState = {
showCancel: true,
onCancel: null,
onConfirm: null
}
},
isParameter: false
}
function EspierDetail(props) {
@@ -176,7 +177,8 @@ function EspierDetail(props) {
curItem,
recommendList,
policyModal,
modalDivided
modalDivided,
isParameter
} = state
// 添加一个 ref 来追踪是否是首次渲染
@@ -231,12 +233,12 @@ function EspierDetail(props) {
}, [play])
useEffect(() => {
if (packageOpen || skuPanelOpen || sharePanelOpen || posterModalOpen || promotionOpen) {
if (packageOpen || skuPanelOpen || sharePanelOpen || posterModalOpen || promotionOpen || isParameter) {
pageRef.current.pageLock()
} else {
pageRef.current.pageUnLock()
}
}, [packageOpen, skuPanelOpen, sharePanelOpen, posterModalOpen, promotionOpen])
}, [packageOpen, skuPanelOpen, sharePanelOpen, posterModalOpen, promotionOpen,isParameter])
// 添加一个新的 useEffect 来监听 dtid 变化
useEffect(() => {
@@ -715,6 +717,12 @@ function EspierDetail(props) {
})
}
const handleClose = () => {
setState((draft) => {
draft.isParameter = !isParameter
})
}
// 领券
const handleReceiveCoupon = () => {
const { itemId, distributorId } = info
@@ -982,7 +990,7 @@ function EspierDetail(props) {
)}
</View>
{info.itemParams.length > 0 && <View className='goods-params'>
{/* {info.itemParams.length > 0 && <View className='goods-params'>
<View className='params-hd'>商品参数</View>
<View className='params-bd'>
{info.itemParams.map((item, index) => (
@@ -992,7 +1000,35 @@ function EspierDetail(props) {
</View>
))}
</View>
</View>}
</View>} */}
{
info.itemParams.length > 0 &&
<View className='goods-params-flat'>
<View className='parameter'>
参数
</View>
<View className='parameter-content'>
{
info.itemParams.map((item, index) => {
return(
<View className='parameter-item'>
<View className='attribute'>
{item.attribute_value_name}
</View>
<View className='configuration'>
{item.attribute_name}
</View>
</View>
)
})
}
</View>
<Text className='iconfont icon-arrowRight' onClick={handleClose} />
</View>
}
{/* 商品评价 */}
<CompEvaluation list={evaluationList} itemId={info.itemId}></CompEvaluation>
@@ -1131,6 +1167,24 @@ function EspierDetail(props) {
onCancel={modalDivided.onCancel}
onConfirm={modalDivided.onConfirm}
/>}
<AtFloatLayout isOpened ={isParameter} title="商品参数" onClose={handleClose}>
<View className='product-parameter'>
<View className='product-parameter-all'>
{
info?.itemParams?.map((item,index)=>{
return(
<View className='product-parameter-item'>
<Text className='title'>{item.attribute_name}</Text>
<Text className='content'>{item.attribute_value_name}</Text>
</View>
)
})
}
</View>
<AtButton type='primary' circle onClick={handleClose}>确认</AtButton>
</View>
</AtFloatLayout>
</SpPage>
)
}

View File

@@ -293,4 +293,71 @@
// @include text-overflow();
}
}
.goods-params-flat{
margin: 0 16px 24px;
padding: 16px 24px;
background: #fff;
display: flex;
align-items: center;
width: 670px;
.parameter{
font-weight: 600;
font-size: 28px;
width: 100px;
text-align: center;
white-space:nowrap;
}
.parameter-content{
display: flex;
align-items: center;
white-space:nowrap;
flex: 1;
overflow-y: auto;
.parameter-item{
text-align: center;
width: 164px;
.attribute{
width: 160px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
flex-shrink: 0;
.configuration{
color: #999;
}
}
}
.icon-arrowRight{
font-size: 36px;
}
}
.at-float-layout .layout-header__title {
text-align: center;
}
.product-parameter{
height: 700px;
padding: 0 24px;
&-all{
margin-bottom: 24px;
height: 560px;
overflow-x: auto;
.product-parameter-item{
height: 80px;
.title{
color: #999;
width: 260px;
display: inline-block;
}
.content{
font-weight: 600;
}
}
}
}
}