RN自动回复

自动回复
数据结构{
data:{
list:[
[{answer:‘1234’,title:‘什么是1234’},{},{}],
answershuzi:0 //代表0条就是没有查询到结果,要回复用户,抱歉未有结果,请这样输入// 1条就是答案//多条就是您是不是想找以下问题
]
}
}
自己改变数据结构,根据type判断是哪种页面,eg:type:1,代表机器人页面,type:2 推荐问题,type:3是用户输入显示的页面
{this.state.Array&&this.state.Array.map((item) => {
/* 头像以及机器人发的消息 */
if (item.type === ‘1’) {
return this.robotw(item.title);
} else if (item.type === ‘2’) {
// 推荐问题
console.log(‘1111111111190’,item);
return this.rec(item);
} else if (item.type === ‘4’) {
//推荐问题出现答案
return this.answer(item);
} else if (item.type === ‘3’) {
console.log(‘1111111111191’);
// 用户输入消息
return this.use(item.child);
} else if (item.type === ‘5’) {
//推荐问题自动询问
return this.anto(item);
}
})}
<TextInput
style={styles.InputContent}
placeholder=“在此输入关键字…”
keyboardType={‘default’}
clearTextOnFocus={true}
onChangeText={(e) => this.onChangeText(e)}
onSubmitEditing={(e) => this.onSubmit(e)}
value={this.state.meg}
/>
//获取到res后
if(this.state.answerCount === 1){
// 只有1条记录,就是答案
let arrCheckone: any = [];
list&&list.map((item) => {
arrCheck.push(item);
console.log(‘查询111111’, arrCheckone);
});
//推荐问题出现答案
let dictCheckone = {
type: ‘4’,
child: arrCheck,
};
this.setState({
megArray: […this.state.megArray, dictCheckone],
});
setTimeout(() => {
//自动滚动到最新的内容
this.refs.scrollView.scrollToEnd();
});
点击推荐问题传id给后端,代表是用户点击
如果没有传id,就代表是点击之后自动将标题显示在界面(历史记录)
componentDidMount = async ()=> {

await this.get();
await this.get();

  this._scroll.scrollToEnd()

}
// 停止拖动,只处理下拉加载
handleScrollEnd = async (e) => {
this.setState({
scrollYBody: e.nativeEvent.contentOffset.y,
});
};

// 滚动结束
handleScrollEnd = async (e) => {
const y = e.nativeEvent.contentOffset.y; // 滚动到的距离
console.log(y, this.state.scrollYBody, ‘----滚动动画结束’);
if (y === 0 && this.state.scrollYBody <= 0) {
console.log(‘需要加载’, y, this.state.scrollYBody);
this.get();
}
this.setState({
scrollYBody: e.nativeEvent.contentOffset.y,
});
};
/登陆倒计时
cutDown(){
//如果已经点击了获取验证码按钮,就禁止用户再次点击,而且按钮要disabled
if(this.state.isCountDowning){
return
}
this.setState({isCountDowning:true})
let seconds = 5
this.setState({
btnText:‘重新获取(KaTeX parse error: Expected 'EOF', got '}' at position 18: …econds}s)' }̲) let timeI…{seconds}s)’
isCountDowning:false
})
if(seconds === 0){
clearInterval(timeId)
this.setState({
btnText:‘重新获取’
})
}
},1000)
}
//点击键盘上的发送或者完成按钮之后要做的事情
onVcodesubmit=()=>{
// 1.校验验证码长度6位
const {vcodeText,phoneNumber} = this.state
if(vcodeText.length!==6){
Toast.message(“验证码不正确”)
return
}
// 2.将手机号和验证码一起发送到后台
// 3.返回值有isNew
// 4.新用户返回到完善个人信息的界面
// 5。老用户跳转到首页

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值