修复部分bug

This commit is contained in:
2022-07-07 15:14:46 +08:00
parent ddda63c1b0
commit e3a950481c
9 changed files with 104 additions and 34 deletions
+20 -2
View File
@@ -17,7 +17,7 @@ import useUserInfo from '@/use/useUserInfo';
import LabAndImg from '@/components/LabAndImg';
import { alert } from '@/common/common';
import AddCollection from '@/components/addCollection';
import { AddFavoriteApi } from '@/api/favorite';
import { AddFavoriteApi, DelFavoriteProductApi } from '@/api/favorite';
import { GetShoppingCartApi } from '@/api/shopCart';
type item = {title:string, img:string, url:string, id:number}
@@ -137,11 +137,19 @@ export default (props:Params) => {
const [collectStatus, setCollectStatus] = useState(false)
const [collectionShow, setCollectionShow] = useState(false)
const {fetchData: addFavoritefetchData} = AddFavoriteApi()
const openCollection = () => {
if(productInfo.is_favorite) {
delFavoriteProduct()
} else {
setCollectionShow(true)
}
}
const onAdd = useCallback(async (val) => {
let res = await addFavoritefetchData({favorite_id: val.id, product_id: Number(params.id)})
if(res.success) {
alert.success('添加成功')
setCollectStatus(true)
getProductDetail()
} else {
alert.none(res.msg)
}
@@ -151,6 +159,16 @@ export default (props:Params) => {
const closeCollection = useCallback(() => {
setCollectionShow(false)
}, [])
//取消收藏
const {fetchData: delFavoriteProductFetchData} = DelFavoriteProductApi()
const delFavoriteProduct = async () => {
let res = await delFavoriteProductFetchData({favorite_id: productInfo.favorite_id, product_id:[productInfo.id]})
if(res.success) {
setCollectStatus(false)
getProductDetail()
alert.none('已取消收藏')
}
}
//获取购物车数据数量
const [shopCount, setShopCount] = useState<number>(0)
@@ -181,7 +199,7 @@ export default (props:Params) => {
<View className={styles.text}>分享</View>
<Button open-type="share" className={styles.shareBtn}></Button>
</View>
<View className={styles.collect} onClick={() => setCollectionShow(true)}>
<View className={styles.collect} onClick={openCollection}>
<View className={classnames(`iconfont ${collectStatus?'icon-shoucang-pressed':'icon-shoucang'}`, styles.miconfont, collectStatus&&styles.collected)} ></View>
<View className={styles.text}>收藏</View>
</View>