import { StatusBar } from 'expo-status-bar'; import React, { useState, useEffect } from 'react'; import { StyleSheet, Text, View, Button, TextInput, Alert, ScrollView } from 'react-native'; import MyNativeModule from 'my-native-module'; export default function App() { const [token, setToken] = useState(''); const [conversationName, setConversationName] = useState(''); const [isInitialized, setIsInitialized] = useState(false); const [conversations, setConversations] = useState([]); const [status, setStatus] = useState('未初始化'); // 初始化Twilio Conversations客户端 const initializeClient = async () => { if (!token.trim()) { Alert.alert('错误', '请输入有效的Twilio令牌'); return; } try { setStatus('正在初始化...'); const result = await MyNativeModule.initialize(token); console.log('初始化结果:', result); setIsInitialized(true); setStatus('已初始化'); Alert.alert('成功', 'Twilio Conversations客户端已初始化'); } catch (error) { console.error('初始化失败:', error); setStatus('初始化失败'); Alert.alert('错误', `初始化失败: ${error}`); } }; // 创建新对话 const createConversation = async () => { if (!isInitialized) { Alert.alert('错误', '请先初始化Twilio Conversations客户端'); return; } if (!conversationName.trim()) { Alert.alert('错误', '请输入对话名称'); return; } try { setStatus('正在创建对话...'); const conversation = await MyNativeModule.createConversation(conversationName); console.log('创建的对话:', conversation); Alert.alert('成功', `对话 "${conversation.friendlyName}" 已创建`); setConversationName(''); // 刷新对话列表 loadConversations(); } catch (error) { console.error('创建对话失败:', error); setStatus('创建对话失败'); Alert.alert('错误', `创建对话失败: ${error}`); } }; // 加载对话列表 const loadConversations = async () => { if (!isInitialized) { return; } try { setStatus('正在加载对话列表...'); const conversationList = await MyNativeModule.getConversations(); console.log('对话列表:', conversationList); setConversations(conversationList || []); setStatus('已加载对话列表'); } catch (error) { console.error('加载对话列表失败:', error); setStatus('加载对话列表失败'); } }; // 当初始化状态改变时,加载对话列表 useEffect(() => { if (isInitialized) { loadConversations(); } }, [isInitialized]); return ( Twilio Conversations Demo 状态: {status} Twilio访问令牌: