Kaynağa Gözat

商城客服按钮添加客服二维码弹框

zbb 3 ay önce
ebeveyn
işleme
37eb1d013c

+ 1 - 1
app/award-detail-yfs/index.tsx

@@ -342,7 +342,7 @@ export default function AwardDetailYfsScreen() {
                         <Text style={styles.slantedL}>记录</Text>
                      </ImageBackground>
                 </TouchableOpacity>
-
+                
                  <TouchableOpacity style={[styles.positionBut, styles.positionStore]} onPress={() => router.push('/store')}>
                      <ImageBackground source={{ uri: Images.box.detail.positionBgRight }} style={styles.btnBg} resizeMode="contain">
                         <Text style={styles.slantedR}>仓库</Text>

+ 7 - 1
app/award-detail/index.tsx

@@ -26,7 +26,6 @@ import {
 import { CheckoutModal } from './components/CheckoutModal';
 import { ExplainSection } from './components/ExplainSection';
 import { ProductList } from './components/ProductList';
-import { RecordModal } from './components/RecordModal';
 import { RuleModal } from './components/RuleModal';
 
 const { width: SCREEN_WIDTH } = Dimensions.get('window');
@@ -255,6 +254,13 @@ export default function AwardDetailScreen() {
             </ImageBackground>
           </TouchableOpacity>
 
+          {/* 侧边按钮 - 客服 */}
+          <TouchableOpacity style={[styles.positionBut, styles.positionService]} onPress={() => kefuRef.current?.open()}>
+            <ImageBackground source={{ uri: Images.box.detail.positionBgRight }} style={styles.positionButBg} resizeMode="contain">
+              <Text style={styles.positionButTextR}>客服</Text>
+            </ImageBackground>
+          </TouchableOpacity>
+
           {/* 侧边按钮 - 仓库 */}
           <TouchableOpacity style={[styles.positionBut, styles.positionStore]} onPress={() => router.push('/store' as any)}>
             <ImageBackground source={{ uri: Images.box.detail.positionBgRight }} style={styles.positionButBg} resizeMode="contain">

+ 5 - 2
app/product/[id].tsx

@@ -10,10 +10,11 @@ import {
     StyleSheet,
     Text,
     TouchableOpacity,
-    View
+    View,
 } from 'react-native';
 import { useSafeAreaInsets } from 'react-native-safe-area-context';
 
+import { KefuPopup, KefuPopupRef } from '@/components/mine/KefuPopup';
 import { CheckoutModal } from '@/components/product/CheckoutModal';
 import { Images } from '@/constants/images';
 import { getGoodsDetail, GoodsDetail, previewSubmit } from '@/services/mall';
@@ -25,6 +26,7 @@ export default function ProductDetailScreen() {
   const router = useRouter();
   const insets = useSafeAreaInsets();
   const checkoutRef = useRef<any>(null);
+  const kefuRef = useRef<KefuPopupRef>(null);
 
   const [loading, setLoading] = useState(true);
   const [data, setData] = useState<GoodsDetail | null>(null);
@@ -168,7 +170,7 @@ export default function ProductDetailScreen() {
 
         {/* 底部购买栏 */}
         <View style={[styles.bottomBar, { paddingBottom: insets.bottom + 10 }]}>
-          <TouchableOpacity style={styles.serviceBtn}>
+          <TouchableOpacity style={styles.serviceBtn} onPress={() => kefuRef.current?.open()}>
             <Text style={styles.serviceBtnText}>客服</Text>
           </TouchableOpacity>
           <TouchableOpacity style={styles.buyBtn} onPress={showCheckout} activeOpacity={0.8}>
@@ -192,6 +194,7 @@ export default function ProductDetailScreen() {
         goodsId={id!}
         subjectId={subjectId}
       />
+      <KefuPopup ref={kefuRef} />
     </View>
   );
 }