import React, { useEffect, useRef } from 'react'; import { Alert, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { onProxyMessage, proxySendMessage, paytmPay } from 'rnwalletman'; export default function TestScreen() { const subRef = useRef | null>(null); useEffect(() => { subRef.current = onProxyMessage((msg) => { if (msg.type === 'echo') { Alert.alert('Echo 回来了', JSON.stringify(msg.data)); } }); return () => { subRef.current?.remove(); }; }, []); const handlePaytmPay = () => { paytmPay('100', 'Gurvir singh', '296001000405', 'ICIC0002960', 'ABCDEF') .then(result => console.log(result)) .catch(error => Alert.alert('代付失败', String(error))); }; const handleEcho = () => { proxySendMessage({ type: 'echo', messageId: `echo_${Date.now()}`, data: { text: `hello_${Date.now()}` } }); }; return ( 测试工具 Paytm Pay 代付测试 Echo 测试 ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#f0f0f0', padding: 20, alignItems: 'center', }, sectionTitle: { fontSize: 16, fontWeight: '600', color: '#333', alignSelf: 'flex-start', marginBottom: 16, marginTop: 8, }, btn: { width: '100%', paddingVertical: 14, borderRadius: 8, alignItems: 'center', marginBottom: 12, }, btnText: { color: '#fff', fontSize: 15, fontWeight: '600', }, });