import * as WebBrowser from 'expo-web-browser'; import * as React from 'react'; import Constants from 'expo-constants'; import { StyleSheet, View, Image } from 'react-native'; import { Text } from 'react-native-magnus'; import { Flex } from '@ant-design/react-native'; import { TouchableRipple } from 'react-native-paper'; import { useRequest } from '@umijs/hooks'; import useModel from 'flooks'; import Icon from 'react-native-vector-icons/FontAwesome'; import Detail from './model'; import User from '../../flooks/User'; import Chip from '../../components/Chip'; import SvgIcon from '../../components/SvgIcon'; export default function Center() { const { merchantInfo, like, delLike } = useModel(Detail, ['merchantInfo']); const { id } = useModel(User, ['id']); const { logo, showName, monthSales, goodNum, badNum, fullReductions, proclamation, mid, } = merchantInfo; const [Collection, setCollection] = React.useState({}); const collectRequest = useRequest( () => { const params = { query: { merchantId: mid, userId: id, }, }; const urls = Object.keys(params).map((item) => { return `${item}=${encodeURI(JSON.stringify(params[item]))}`; }); return `/myCollection/all?${urls.join('&')}`; }, { refreshDeps: [mid], onSuccess: (result) => { if (!result.empty) { setCollection(result.content[0]); } else { setCollection({}); } }, } ); return ( {showName} {goodNum || 0} {badNum || 0} 月售 {monthSales} { Collection.id ? delLike(Collection.id).then(() => { collectRequest.run(); }) : like().then(() => { collectRequest.run(); }); }} style={styles.like} > {fullReductions && ( {fullReductions.map((item) => { return ( 满{item.fullAmount}减{item.minusAmount} ); })} )} {proclamation} ); } const styles = StyleSheet.create({ box: { marginBottom: -56 - Constants.statusBarHeight, zIndex: 12, backgroundColor: '#eee', }, main: { marginHorizontal: 15, backgroundColor: '#fff', borderRadius: 3, padding: 10, marginTop: -20, }, icon: { width: 53, height: 53, borderRadius: 3, }, text: { marginLeft: 5, }, like: { padding: 5, alignSelf: 'flex-start', }, pro: { marginTop: 3, }, center: { alignItems: 'center', paddingRight: 28, }, lab: { minWidth: 180, }, chips: { maxWidth: '80%', overflow: 'hidden', alignSelf: 'center', marginTop: 5, }, });