优化商城
This commit is contained in:
parent
3637447ab6
commit
757289558f
@ -7,7 +7,8 @@ export default {
|
|||||||
backgroundTextStyle: 'light',
|
backgroundTextStyle: 'light',
|
||||||
navigationBarBackgroundColor: '#fff',
|
navigationBarBackgroundColor: '#fff',
|
||||||
navigationBarTitleText: 'WeChat',
|
navigationBarTitleText: 'WeChat',
|
||||||
navigationBarTextStyle: 'black'
|
navigationBarTextStyle: 'black',
|
||||||
|
backgroundColor: '#ffffff',
|
||||||
},
|
},
|
||||||
tabBar: {
|
tabBar: {
|
||||||
list: [
|
list: [
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
// export const BASE_URL = `http://10.0.0.5:50001/lymarket`
|
// export const BASE_URL = `http://10.0.0.5:50001/lymarket`
|
||||||
// export const BASE_URL = `http://192.168.0.89:40001/lymarket`
|
// export const BASE_URL = `http://192.168.0.89:40001/lymarket`
|
||||||
// export const BASE_URL = `http://192.168.1.165:40001/lymarket` // 王霞
|
// export const BASE_URL = `http://192.168.1.165:40001/lymarket` // 王霞
|
||||||
export const BASE_URL = `https://test.zzfzyc.com/lymarket` // 测试环境
|
// export const BASE_URL = `https://test.zzfzyc.com/lymarket` // 测试环境
|
||||||
// export const BASE_URL = `http://192.168.1.9:40001/lymarket` // 发
|
// export const BASE_URL = `http://192.168.1.9:40001/lymarket` // 发
|
||||||
// export const BASE_URL = `http://192.168.1.9:50005/lymarket` // 发
|
// export const BASE_URL = `http://192.168.1.9:50005/lymarket` // 发
|
||||||
// export const BASE_URL = `http://192.168.1.30:50001/lymarket` // 发
|
// export const BASE_URL = `http://192.168.1.30:50001/lymarket` // 发
|
||||||
// export const BASE_URL = `https://dev.zzfzyc.com/lymarket` // 开发环境
|
// export const BASE_URL = `https://dev.zzfzyc.com/lymarket` // 开发环境
|
||||||
// export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境
|
// export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境
|
||||||
// export const BASE_URL = `http://192.168.1.5:40001/lymarket` // 王霞
|
// export const BASE_URL = `http://192.168.1.5:40001/lymarket` // 王霞
|
||||||
// export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添
|
export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添
|
||||||
// export const BASE_URL = `http://192.168.1.42:50001/lymarket` // 杰
|
// export const BASE_URL = `http://192.168.1.42:50001/lymarket` // 杰
|
||||||
|
|
||||||
// CDN
|
// CDN
|
||||||
|
@ -23,7 +23,15 @@ export default (props:params) => {
|
|||||||
|
|
||||||
const getData = async () => {
|
const getData = async () => {
|
||||||
const res = await fetchData()
|
const res = await fetchData()
|
||||||
setList(res.data.list)
|
setList(res.data?.list)
|
||||||
|
}
|
||||||
|
|
||||||
|
const skipTo = (item) => {
|
||||||
|
if(item.jump_type == 2) {
|
||||||
|
goLink(item.link + '&title=' + item.title)
|
||||||
|
} else {
|
||||||
|
goLink(item.link)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -38,7 +46,7 @@ export default (props:params) => {
|
|||||||
{
|
{
|
||||||
list?.map(item => {
|
list?.map(item => {
|
||||||
return <SwiperItem key={item.id}>
|
return <SwiperItem key={item.id}>
|
||||||
<View className={styles.image_item} onClick={() => goLink(item.link)}>
|
<View className={styles.image_item} onClick={() => skipTo(item)}>
|
||||||
<Image mode="aspectFill" src={item.prev_view_url}></Image>
|
<Image mode="aspectFill" src={item.prev_view_url}></Image>
|
||||||
</View>
|
</View>
|
||||||
</SwiperItem>
|
</SwiperItem>
|
||||||
|
@ -4,12 +4,17 @@ import { ReactElement, useEffect, useRef, useState } from "react"
|
|||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
import { GetShoppingCartApi } from "@/api/shopCart";
|
import { GetShoppingCartApi } from "@/api/shopCart";
|
||||||
|
import useCommonData from "@/use/useCommonData";
|
||||||
|
import { useSelector } from "@/reducers/hooks";
|
||||||
|
|
||||||
type param = {
|
type param = {
|
||||||
children?: ReactElement|null,
|
children?: ReactElement|null,
|
||||||
onClick?: () => void
|
onClick?: () => void
|
||||||
}
|
}
|
||||||
export default ({children = null, onClick}:param) => {
|
export default ({children = null, onClick}:param) => {
|
||||||
|
//获取购物车数据数量
|
||||||
|
const {getShopCount, commonData} = useCommonData()
|
||||||
|
|
||||||
const [screenHeight, setScreenHeight] = useState(0)
|
const [screenHeight, setScreenHeight] = useState(0)
|
||||||
const [showMoveBtn, setShowMoveBtn] = useState(false)
|
const [showMoveBtn, setShowMoveBtn] = useState(false)
|
||||||
const screenWidthRef = useRef(0)
|
const screenWidthRef = useRef(0)
|
||||||
@ -23,17 +28,8 @@ export default ({children = null, onClick}:param) => {
|
|||||||
setShowMoveBtn(true)
|
setShowMoveBtn(true)
|
||||||
})
|
})
|
||||||
|
|
||||||
//获取数据
|
|
||||||
const [list, setList] = useState<any[]>([])
|
|
||||||
const {fetchData} = GetShoppingCartApi()
|
|
||||||
const getShoppingCart = async () => {
|
|
||||||
const {data} = await fetchData()
|
|
||||||
let color_list = data.color_list||[]
|
|
||||||
setList(color_list)
|
|
||||||
}
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getShoppingCart()
|
getShopCount()
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
const dragEnd = (e) => {
|
const dragEnd = (e) => {
|
||||||
@ -45,7 +41,7 @@ export default ({children = null, onClick}:param) => {
|
|||||||
{children}
|
{children}
|
||||||
{showMoveBtn&&<MovableView onClick={onClick} className={styles.moveBtn} direction="all" inertia={true} x="630rpx" y={screenHeight+'rpx'} onTouchEnd={(e) => dragEnd(e)}>
|
{showMoveBtn&&<MovableView onClick={onClick} className={styles.moveBtn} direction="all" inertia={true} x="630rpx" y={screenHeight+'rpx'} onTouchEnd={(e) => dragEnd(e)}>
|
||||||
<View className={classnames('iconfont','icon-gouwuche', styles.shop_icon) } ></View>
|
<View className={classnames('iconfont','icon-gouwuche', styles.shop_icon) } ></View>
|
||||||
{(list.length > 0)&&<View className={styles.product_num}>{list.length > 99?'99+':list.length}</View>}
|
{(commonData.shopCount > 0)&&<View className={styles.product_num}>{commonData.shopCount > 99?'99+':commonData.shopCount}</View>}
|
||||||
</MovableView>}
|
</MovableView>}
|
||||||
</MovableArea>
|
</MovableArea>
|
||||||
)
|
)
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
color: $color_font_two;
|
color: $color_font_two;
|
||||||
.miconfont{
|
.miconfont{
|
||||||
font-size: 30px;
|
font-size: 40px;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ import { setParam } from "@/common/system";
|
|||||||
import { debounce } from "@/common/util";
|
import { debounce } from "@/common/util";
|
||||||
import Counter from "../counter";
|
import Counter from "../counter";
|
||||||
import { ApplyOrderAccessApi, GetAdminUserInfoApi, SubscriptionMessageApi } from "@/api/user";
|
import { ApplyOrderAccessApi, GetAdminUserInfoApi, SubscriptionMessageApi } from "@/api/user";
|
||||||
|
import useCommonData from "@/use/useCommonData";
|
||||||
|
|
||||||
type param = {
|
type param = {
|
||||||
show?: true|false,
|
show?: true|false,
|
||||||
@ -37,7 +38,8 @@ export default ({show = false, onClose}: param) => {
|
|||||||
setSelectStatus(true)
|
setSelectStatus(true)
|
||||||
}, [selectIndex])
|
}, [selectIndex])
|
||||||
|
|
||||||
|
//获取购物车数据数量
|
||||||
|
const {setShopCount} = useCommonData()
|
||||||
|
|
||||||
//重置勾选数据
|
//重置勾选数据
|
||||||
const resetList = () => {
|
const resetList = () => {
|
||||||
@ -58,6 +60,7 @@ export default ({show = false, onClose}: param) => {
|
|||||||
const getShoppingCart = async () => {
|
const getShoppingCart = async () => {
|
||||||
const {data} = await fetchData()
|
const {data} = await fetchData()
|
||||||
let color_list = data.color_list||[]
|
let color_list = data.color_list||[]
|
||||||
|
setShopCount(color_list.length)
|
||||||
initList(color_list)
|
initList(color_list)
|
||||||
setList(color_list)
|
setList(color_list)
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
@ -143,6 +146,8 @@ export default ({show = false, onClose}: param) => {
|
|||||||
setShowPopup(false)
|
setShowPopup(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//删除购物车内容
|
//删除购物车内容
|
||||||
const {fetchData:delShopFetchData} = DelShoppingCartApi()
|
const {fetchData:delShopFetchData} = DelShoppingCartApi()
|
||||||
const delSelect = () => {
|
const delSelect = () => {
|
||||||
@ -152,7 +157,6 @@ export default ({show = false, onClose}: param) => {
|
|||||||
content: '删除所选商品?',
|
content: '删除所选商品?',
|
||||||
success: async function (res) {
|
success: async function (res) {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
|
|
||||||
const res = await delShopFetchData({id:selectIds.current})
|
const res = await delShopFetchData({id:selectIds.current})
|
||||||
if(res.success) {
|
if(res.success) {
|
||||||
getShoppingCart()
|
getShoppingCart()
|
||||||
@ -160,6 +164,7 @@ export default ({show = false, onClose}: param) => {
|
|||||||
title: '成功',
|
title: '成功',
|
||||||
icon: 'success',
|
icon: 'success',
|
||||||
})
|
})
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
title: res.msg,
|
title: res.msg,
|
||||||
@ -192,7 +197,6 @@ export default ({show = false, onClose}: param) => {
|
|||||||
|
|
||||||
//格式化数量
|
//格式化数量
|
||||||
const formatCount = useCallback((item) => {
|
const formatCount = useCallback((item) => {
|
||||||
console.log('item:::',item)
|
|
||||||
return item.sale_mode == 0? item.roll : (item.length/100)
|
return item.sale_mode == 0? item.roll : (item.length/100)
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
export const SET_SHOPCOUNT = 'set_shopCount'
|
export const SET_SHOPCOUNT = 'set_shopCount'
|
||||||
export const CLEAR_SHOPCOUNT = 'clear_shopCount'
|
export const CLEAR_SHOPCOUNT = 'clear_shopCount'
|
||||||
|
export const STORAGE_SHOPCOUNT = 'storage_shopcount'
|
@ -1,4 +1,4 @@
|
|||||||
export default {
|
export default {
|
||||||
navigationBarTitleText: '我的收藏a',
|
navigationBarTitleText: '收藏详情',
|
||||||
enableShareAppMessage: true,
|
enableShareAppMessage: true,
|
||||||
}
|
}
|
||||||
|
@ -26,6 +26,15 @@
|
|||||||
.operation_check{
|
.operation_check{
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
&::after{
|
||||||
|
content: '';
|
||||||
|
height: 45px;
|
||||||
|
width: 1PX;
|
||||||
|
background-color: #ccc;
|
||||||
|
position: absolute;
|
||||||
|
right: -30px;
|
||||||
|
}
|
||||||
Text{
|
Text{
|
||||||
margin-left: 15px;
|
margin-left: 15px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { CreateFavoriteApi, DelFavoriteApi, DelFavoriteProductApi, DetailFavoriteProductApi, FavoriteListApi, MoveFavoriteProductApi, UpdateFavoriteApi } from "@/api/favorite";
|
import { DelFavoriteProductApi, DetailFavoriteProductApi, MoveFavoriteProductApi } from "@/api/favorite";
|
||||||
import { alert } from "@/common/common";
|
import { alert } from "@/common/common";
|
||||||
import { getFilterData } from "@/common/util";
|
import { getFilterData } from "@/common/util";
|
||||||
import Product from "../components/product";
|
import Product from "../components/product";
|
||||||
@ -7,8 +7,6 @@ import { Text, View } from "@tarojs/components"
|
|||||||
import Taro, { useRouter } from "@tarojs/taro";
|
import Taro, { useRouter } from "@tarojs/taro";
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||||
import CreatePopup from "../components/createPopup";
|
|
||||||
import UpdatePopup from "../components/updatePopup";
|
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
import MCheckbox from "@/components/checkbox";
|
import MCheckbox from "@/components/checkbox";
|
||||||
import AddCollection from "@/components/addCollection";
|
import AddCollection from "@/components/addCollection";
|
||||||
@ -24,6 +22,9 @@ export default () => {
|
|||||||
const getFavoriteInfo = async () => {
|
const getFavoriteInfo = async () => {
|
||||||
let res = await fetchDataDetailFavoriteProduct(searchData)
|
let res = await fetchDataDetailFavoriteProduct(searchData)
|
||||||
if(res.success) {
|
if(res.success) {
|
||||||
|
Taro.setNavigationBarTitle({
|
||||||
|
title: res.data.name
|
||||||
|
})
|
||||||
setColorInfo(res.data)
|
setColorInfo(res.data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -89,6 +90,7 @@ export default () => {
|
|||||||
//移动面料
|
//移动面料
|
||||||
const {fetchData: fetchDataMoveFavoriteProduct} = MoveFavoriteProductApi()
|
const {fetchData: fetchDataMoveFavoriteProduct} = MoveFavoriteProductApi()
|
||||||
const onAdd = async () => {
|
const onAdd = async () => {
|
||||||
|
if(ids.length == 0) return alert.none('请选择要移动面料')
|
||||||
let res = await fetchDataMoveFavoriteProduct({favorite_id: searchData.id, product_id:ids})
|
let res = await fetchDataMoveFavoriteProduct({favorite_id: searchData.id, product_id:ids})
|
||||||
if(res.success) {
|
if(res.success) {
|
||||||
getFavoriteInfo()
|
getFavoriteInfo()
|
||||||
@ -115,7 +117,7 @@ export default () => {
|
|||||||
<View className={styles.operation}>
|
<View className={styles.operation}>
|
||||||
<View className={styles.operation_check}>
|
<View className={styles.operation_check}>
|
||||||
<MCheckbox status={allSelectStatus} onSelect={() => selectCallBack()} onClose={() => colseCallBack()}/>
|
<MCheckbox status={allSelectStatus} onSelect={() => selectCallBack()} onClose={() => colseCallBack()}/>
|
||||||
<Text>全选</Text>
|
<Text className={styles.allSelect}>全选</Text>
|
||||||
</View>
|
</View>
|
||||||
<View className={styles.operation_check_right}>
|
<View className={styles.operation_check_right}>
|
||||||
<Text className={styles.operation_check_move} onClick={() => setCollectionShow(true)}>移动到</Text>
|
<Text className={styles.operation_check_move} onClick={() => setCollectionShow(true)}>移动到</Text>
|
||||||
|
@ -17,6 +17,7 @@ import { formatHashTag, formatPriceDiv } from "@/common/fotmat";
|
|||||||
import { debounce, getFilterData } from "@/common/util";
|
import { debounce, getFilterData } from "@/common/util";
|
||||||
import LabAndImg from "@/components/LabAndImg";
|
import LabAndImg from "@/components/LabAndImg";
|
||||||
import VirtualList from '@tarojs/components/virtual-list'
|
import VirtualList from '@tarojs/components/virtual-list'
|
||||||
|
import useCommonData from "@/use/useCommonData";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -139,6 +140,7 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//添加购物车
|
//添加购物车
|
||||||
|
const {getShopCount} = useCommonData()
|
||||||
const {getSelfUserInfo} = UseLogin()
|
const {getSelfUserInfo} = UseLogin()
|
||||||
const {fetchData:addFetchData} = AddShoppingCartApi()
|
const {fetchData:addFetchData} = AddShoppingCartApi()
|
||||||
const addShopCart = async () => {
|
const addShopCart = async () => {
|
||||||
@ -167,6 +169,7 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
|
|||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
title:'添加成功'
|
title:'添加成功'
|
||||||
})
|
})
|
||||||
|
getShopCount()
|
||||||
onClose?.()
|
onClose?.()
|
||||||
} else {
|
} else {
|
||||||
Taro.showToast({
|
Taro.showToast({
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
|
|
||||||
import { Button, CustomWrapper, Image, RichText, Text, View } from '@tarojs/components'
|
import { Button, CustomWrapper, RichText, Text, View } from '@tarojs/components'
|
||||||
import Taro, { useDidShow, usePullDownRefresh, useRouter, useShareAppMessage } from '@tarojs/taro';
|
import Taro, { useDidShow, usePullDownRefresh, useRouter } from '@tarojs/taro';
|
||||||
import classnames from "classnames";
|
import classnames from "classnames";
|
||||||
import DesSwiper from './components/swiper';
|
import DesSwiper from './components/swiper';
|
||||||
import OrderCount from './components/orderCount';
|
import OrderCount from './components/orderCount';
|
||||||
import ShopCart from '@/components/shopCart';
|
import ShopCart from '@/components/shopCart';
|
||||||
import Preview,{colorItem} from './components/preview';
|
import Preview,{colorItem} from './components/preview';
|
||||||
import styles from './index.module.scss'
|
import styles from './index.module.scss'
|
||||||
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
import { useCallback, useEffect, useMemo, useState } from 'react';
|
||||||
import {formatHashTag, formatImgUrl} from '@/common/fotmat'
|
import {formatHashTag} from '@/common/fotmat'
|
||||||
import {GetProductDetailApi} from '@/api/material'
|
import {GetProductDetailApi} from '@/api/material'
|
||||||
import useLogin from '@/use/useLogin';
|
import useLogin from '@/use/useLogin';
|
||||||
import { AnalysisShortCodeApi, BindShortCodeApi, GetShortCodeApi } from '@/api/share';
|
import { AnalysisShortCodeApi, GetShortCodeApi } from '@/api/share';
|
||||||
import { SHARE_SCENE } from '@/common/enum';
|
import { SHARE_SCENE } from '@/common/enum';
|
||||||
import useUserInfo from '@/use/useUserInfo';
|
import useUserInfo from '@/use/useUserInfo';
|
||||||
import LabAndImg from '@/components/LabAndImg';
|
import LabAndImg from '@/components/LabAndImg';
|
||||||
@ -19,6 +19,8 @@ import { alert } from '@/common/common';
|
|||||||
import AddCollection from '@/components/addCollection';
|
import AddCollection from '@/components/addCollection';
|
||||||
import { AddFavoriteApi, DelFavoriteProductApi } from '@/api/favorite';
|
import { AddFavoriteApi, DelFavoriteProductApi } from '@/api/favorite';
|
||||||
import { GetShoppingCartApi } from '@/api/shopCart';
|
import { GetShoppingCartApi } from '@/api/shopCart';
|
||||||
|
import { useSelector } from '@/reducers/hooks';
|
||||||
|
import useCommonData from '@/use/useCommonData';
|
||||||
|
|
||||||
type item = {title:string, img:string, url:string, id:number}
|
type item = {title:string, img:string, url:string, id:number}
|
||||||
|
|
||||||
@ -50,10 +52,13 @@ export default (props:Params) => {
|
|||||||
setParams({id: res.data.product_id, share: res.data})
|
setParams({id: res.data.product_id, share: res.data})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//获取购物车数据数量
|
||||||
|
const {getShopCount, commonData} = useCommonData()
|
||||||
|
|
||||||
useDidShow(() => {
|
useDidShow(() => {
|
||||||
judgeParam()
|
judgeParam()
|
||||||
setShowCart(false)
|
setShowCart(false)
|
||||||
getShoppingCart()
|
getShopCount()
|
||||||
})
|
})
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -170,14 +175,8 @@ export default (props:Params) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取购物车数据数量
|
|
||||||
const [shopCount, setShopCount] = useState<number>(0)
|
|
||||||
const {fetchData: fetchDataShopCount} = GetShoppingCartApi()
|
|
||||||
const getShoppingCart = async () => {
|
|
||||||
const {data} = await fetchDataShopCount()
|
|
||||||
let color_list = data.color_list||[]
|
|
||||||
setShopCount(color_list.length)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
//页面下拉刷新
|
//页面下拉刷新
|
||||||
@ -233,7 +232,7 @@ export default (props:Params) => {
|
|||||||
<View className={styles.buy_cart} onClick={() => setShowCart(true)}>
|
<View className={styles.buy_cart} onClick={() => setShowCart(true)}>
|
||||||
<View className={classnames('iconfont icon-gouwuche', styles.miconfont)}></View>
|
<View className={classnames('iconfont icon-gouwuche', styles.miconfont)}></View>
|
||||||
<View className={styles.text}>购物车</View>
|
<View className={styles.text}>购物车</View>
|
||||||
{(shopCount > 0)&&<View className={styles.product_num}>{shopCount > 99?'99+':shopCount}</View>}
|
{(commonData.shopCount > 0)&&<View className={styles.product_num}>{commonData.shopCount > 99?'99+':commonData.shopCount}</View>}
|
||||||
</View>
|
</View>
|
||||||
{
|
{
|
||||||
(!userInfo.adminUserInfo?.is_authorize_phone)&&<View className={styles.buy_btn} >
|
(!userInfo.adminUserInfo?.is_authorize_phone)&&<View className={styles.buy_btn} >
|
||||||
|
@ -46,7 +46,6 @@ export default () => {
|
|||||||
}
|
}
|
||||||
//监听查询条件
|
//监听查询条件
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
||||||
if (filtrate.product_kind_id)
|
if (filtrate.product_kind_id)
|
||||||
getProductList()
|
getProductList()
|
||||||
}, [filtrate])
|
}, [filtrate])
|
||||||
@ -94,7 +93,7 @@ export default () => {
|
|||||||
<View className={styles.main}>
|
<View className={styles.main}>
|
||||||
<Banner />
|
<Banner />
|
||||||
<View className={styles.search}>
|
<View className={styles.search}>
|
||||||
<View className={styles.search_collect}>我的收藏</View>
|
<View className={styles.search_collect} onClick={() => goLink('/pages/collection/index')}>我的收藏</View>
|
||||||
<View className={styles.search_input} onClick={() => goLink('/pages/searchList/search')}>
|
<View className={styles.search_input} onClick={() => goLink('/pages/searchList/search')}>
|
||||||
<Search disabled={true} style={{ width: '263rpx' }} />
|
<Search disabled={true} style={{ width: '263rpx' }} />
|
||||||
</View>
|
</View>
|
||||||
|
@ -113,17 +113,6 @@ import styles from './index.module.scss'
|
|||||||
const onShowLogistics = useCallback((val) => {
|
const onShowLogistics = useCallback((val) => {
|
||||||
setLogisticsShow(true)
|
setLogisticsShow(true)
|
||||||
if(val != 1) setLogistics(true)
|
if(val != 1) setLogistics(true)
|
||||||
// if(val == 1) {
|
|
||||||
// setLogisticsShow(true)
|
|
||||||
// } else {
|
|
||||||
// const list = orderDetail?.accessory_url.map(item => {
|
|
||||||
// return formatImgUrl(item)
|
|
||||||
// })
|
|
||||||
// Taro.previewImage({
|
|
||||||
// current: list[0], // 当前显示
|
|
||||||
// urls: list // 需要预览的图片http链接列表
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
}, [])
|
}, [])
|
||||||
const onCloseLogistics = useCallback(() => {
|
const onCloseLogistics = useCallback(() => {
|
||||||
setLogisticsShow(false)
|
setLogisticsShow(false)
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
export default {
|
export default {
|
||||||
navigationBarTitleText: '分类标题'
|
navigationBarTitleText: '专题页面'
|
||||||
}
|
}
|
||||||
|
@ -12,11 +12,19 @@ import {GetProductListApi} from '@/api/material'
|
|||||||
import { useRouter } from "@tarojs/taro";
|
import { useRouter } from "@tarojs/taro";
|
||||||
import { dataLoadingStatus, getFilterData } from "@/common/util";
|
import { dataLoadingStatus, getFilterData } from "@/common/util";
|
||||||
import LoadingCard from "@/components/loadingCard";
|
import LoadingCard from "@/components/loadingCard";
|
||||||
|
import Taro from '@tarojs/taro'
|
||||||
|
|
||||||
export default () => {
|
export default () => {
|
||||||
const [showPopup, setShowPopup] = useState(false)
|
const [showPopup, setShowPopup] = useState(false)
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
Taro.setNavigationBarTitle({
|
||||||
|
title: router.params.title||'专题页面'
|
||||||
|
})
|
||||||
|
}, [router])
|
||||||
|
|
||||||
//搜索参数
|
//搜索参数
|
||||||
const [searchField, setSearchField] = useState({
|
const [searchField, setSearchField] = useState({
|
||||||
code_or_name: '',
|
code_or_name: '',
|
||||||
@ -47,7 +55,6 @@ export default () => {
|
|||||||
|
|
||||||
//上拉加载数据
|
//上拉加载数据
|
||||||
const pageNum = useRef({size: searchField.size, page: searchField.page})
|
const pageNum = useRef({size: searchField.size, page: searchField.page})
|
||||||
const [hasMore, setHasMore] = useState(true)
|
|
||||||
const getScrolltolower = () => {
|
const getScrolltolower = () => {
|
||||||
if(subjectList.list.length < subjectList.total) {
|
if(subjectList.list.length < subjectList.total) {
|
||||||
pageNum.current.page++
|
pageNum.current.page++
|
||||||
|
@ -2,11 +2,12 @@
|
|||||||
import Taro from '@tarojs/taro'
|
import Taro from '@tarojs/taro'
|
||||||
import {
|
import {
|
||||||
SET_SHOPCOUNT,
|
SET_SHOPCOUNT,
|
||||||
CLEAR_SHOPCOUNT
|
CLEAR_SHOPCOUNT,
|
||||||
|
STORAGE_SHOPCOUNT
|
||||||
} from '../constants/common'
|
} from '../constants/common'
|
||||||
|
|
||||||
export type DataParam = {
|
export type DataParam = {
|
||||||
shopCount: number
|
shopCount: number //购物车数量
|
||||||
}
|
}
|
||||||
|
|
||||||
type Action = {
|
type Action = {
|
||||||
@ -14,21 +15,19 @@ type Action = {
|
|||||||
data?: DataParam
|
data?: DataParam
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const INIT = {
|
const INIT = {
|
||||||
shopCount: Taro.getStorageSync('shopCount')?JSON.parse(Taro.getStorageSync('shopCount')):null,
|
shopCount: Taro.getStorageSync(STORAGE_SHOPCOUNT)?JSON.parse(Taro.getStorageSync(STORAGE_SHOPCOUNT)).shopCount:0,
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function counter (state = INIT, action: Action) {
|
export default function counter (state = INIT, action: Action) {
|
||||||
const {type, data} = action
|
const {type, data} = action
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case SET_SHOPCOUNT:
|
case SET_SHOPCOUNT:
|
||||||
Taro.setStorageSync('shopCount',JSON.stringify(data))
|
Taro.setStorageSync(STORAGE_SHOPCOUNT,JSON.stringify(data?.shopCount))
|
||||||
return {...state,...data}
|
return {...state,...data}
|
||||||
case CLEAR_SHOPCOUNT:
|
case CLEAR_SHOPCOUNT:
|
||||||
Taro.removeStorageSync('shopCount')
|
Taro.removeStorageSync(STORAGE_SHOPCOUNT)
|
||||||
return {...state, shopCount: null}
|
return {...state, shopCount: 0}
|
||||||
default:
|
default:
|
||||||
return state
|
return state
|
||||||
}
|
}
|
||||||
|
@ -1,51 +1,33 @@
|
|||||||
import { useDispatch, useSelector } from 'react-redux'
|
import { useDispatch } from 'react-redux'
|
||||||
import {SET_SHOPCOUNT, CLEAR_SHOPCOUNT} from '@/constants/common'
|
import {SET_SHOPCOUNT, CLEAR_SHOPCOUNT} from '@/constants/common'
|
||||||
import {DataParam} from '@/reducers/commonData'
|
import {DataParam} from '@/reducers/commonData'
|
||||||
|
import { useCallback, useState } from 'react'
|
||||||
|
import { GetShoppingCartApi } from '@/api/shopCart'
|
||||||
|
import { useSelector } from '@/reducers/hooks'
|
||||||
export default () => {
|
export default () => {
|
||||||
const commonObj = useSelector((state:DataParam) => state) as DataParam
|
const commonData = useSelector(state => state.commonData)
|
||||||
const dispatch = useDispatch()
|
const dispatch = useDispatch()
|
||||||
|
|
||||||
// const setToken = (shopCount: number) => {
|
const setShopCount = (shopCount: number) => {
|
||||||
// dispatch({type:SET_SHOPCOUNT, data:{shopCount}})
|
dispatch({type:SET_SHOPCOUNT, data:{shopCount}})
|
||||||
// }
|
}
|
||||||
|
|
||||||
// const setSessionKey = (sessionkey: string) => {
|
const removeShopCount = () => {
|
||||||
// dispatch({type:SET_SESSIONKEY, data:{session_key: sessionkey}})
|
dispatch({type:CLEAR_SHOPCOUNT})
|
||||||
// }
|
}
|
||||||
|
|
||||||
// const setUserInfo = (userInfo: UserParam) => {
|
const {fetchData: fetchDataShopCount} = GetShoppingCartApi()
|
||||||
// dispatch({type:SET_USERINFO, data:{userInfo}})
|
const getShopCount = async () => {
|
||||||
// }
|
//获取购物车数据数量
|
||||||
|
const {data} = await fetchDataShopCount()
|
||||||
|
let color_list = data.color_list||[]
|
||||||
|
setShopCount(color_list.length)
|
||||||
|
}
|
||||||
|
|
||||||
// const setAdminUserInfo = (adminUserInfo: UserAdminParam) => {
|
return {
|
||||||
// dispatch({type:SET_ADMINUSERINFO, data:{adminUserInfo}})
|
setShopCount,
|
||||||
// }
|
removeShopCount,
|
||||||
|
getShopCount,
|
||||||
// const setSortCode = (sortCode:SortCodeParam) => {
|
commonData
|
||||||
// dispatch({type:SET_SORTCODE, data:{sort_code:sortCode}})
|
}
|
||||||
// }
|
|
||||||
|
|
||||||
// const removeUserInfo = () => {
|
|
||||||
// dispatch({type:CLEAR_USERINFO})
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const removeToken = () => {
|
|
||||||
// dispatch({type:CLEAR_TOKEN})
|
|
||||||
// }
|
|
||||||
|
|
||||||
// const removeSessionKey = () => {
|
|
||||||
// dispatch({type:CLEAR_SESSIONKEY})
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return {
|
|
||||||
// setToken,
|
|
||||||
// setUserInfo,
|
|
||||||
// setAdminUserInfo,
|
|
||||||
// setSessionKey,
|
|
||||||
// removeUserInfo,
|
|
||||||
// removeToken,
|
|
||||||
// removeSessionKey,
|
|
||||||
// setSortCode,
|
|
||||||
// userInfo, //响应式数据返回
|
|
||||||
// }
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user