dev_cs_new
杨树林 6 years ago
parent 70f822db5f
commit 3cdf8b70bd

@ -25,6 +25,7 @@ class MessagChat extends Component{
mypagey:20, mypagey:20,
messages:[], messages:[],
objc:[], objc:[],
datanull:1,
} }
} }
componentDidMount(){ componentDidMount(){
@ -50,7 +51,7 @@ class MessagChat extends Component{
} }
componentDidUpdate() { componentDidUpdate() {
this.scrollToBottom(); // this.scrollToBottom();
} }
scrollToBottom() { scrollToBottom() {
@ -64,11 +65,19 @@ class MessagChat extends Component{
contentViewScrolltop=(e)=>{ contentViewScrolltop=(e)=>{
if(e.currentTarget.scrollTop===0){ if(e.currentTarget.scrollTop===0){
console.log("调用了方法1111111")
if(this.state.datanull===0){
return
}
console.log("调用了方法1111111");
let {pages}=this.state; let {pages}=this.state;
let newpage=pages+1 let newpage=pages+1
let target_ids=this.props.match.params.private; const query = this.props.location.search;
this.getChatList(newpage,this.state.limits,target_ids); let target_ids = query.split('?target_ids=');
this.shuaxingetChatList(newpage,this.state.limits,target_ids[1],true);
this.messageList.scrollTop=50;
} }
} }
// 滑动刷新 // 滑动刷新
@ -100,7 +109,77 @@ class MessagChat extends Component{
// } // }
}; };
shuaxingetChatList=(page,listl,target_ids,bool)=>{
this.setState({
isSpin:true,
});
let url = `/users/${this.props.match.params.userid}/private_message_details.json`;
axios.get((url),{params:{
target_id:target_ids,
page: page,
per_page:listl,
}}).then((result) => {
this.setState({
isSpin: false,
});
if (result) {
// if (result.data.status === 0) {
if (result.data !== null) {
if(result.data.messages.length===0){
console.log("没有数据了");
this.setState({
datanull:0,
})
return
}
var laoshuju=this.state.messages;
var datas = [];
var datay = result.data.messages;
datay = datay.reverse();
datay=datay.concat(laoshuju);
var obj = {};
for (var i = 0; i < datay.length; i++) {
if (i === 0) {
var timetwoy=datay[i].send_time.slice(0,10);
datay[i].send_day = timetwoy;
obj = datay[i];
datas.push(datay[i]);
} else {
try {
var timeone=obj.send_time.slice(0,10);
var timetwo=datay[i].send_time.slice(0,10);
if (moment(timeone).isSame(timetwo)) {
datay[i].send_day = "";
} else {
datay[i].send_day = timetwo;
obj = datay[i];
}
}catch (e) {
}
datas.push(datay[i]);
}
}
console.log("新数组+++++++++++++++++++++++++++++++++++++");
console.log(datas)
//颠倒数组
this.setState({
messages: datas,
myuserl: result.data.target,
pages:page,
})
// }
}
}
}).catch((error) => {
console.log(error);
this.setState({
isSpin:false,
})
})
};
getChatList=(page,listl,target_ids)=>{ getChatList=(page,listl,target_ids)=>{
this.setState({ this.setState({
isSpin:true, isSpin:true,
@ -120,6 +199,8 @@ class MessagChat extends Component{
var obj = {}; var obj = {};
for (var i = 0; i < datay.length; i++) { for (var i = 0; i < datay.length; i++) {
if (i === 0) { if (i === 0) {
var timetwoy=datay[i].send_time.slice(0,10);
datay[i].send_day = timetwoy;
obj = datay[i]; obj = datay[i];
datas.push(datay[i]); datas.push(datay[i]);
} else { } else {
@ -142,6 +223,7 @@ class MessagChat extends Component{
this.setState({ this.setState({
messages: datas, messages: datas,
myuserl: result.data.target, myuserl: result.data.target,
pages:page,
}) })
// } // }
@ -169,13 +251,17 @@ class MessagChat extends Component{
}}).then((result) => { }}).then((result) => {
if (result) { if (result) {
// if (result.data.status === 0) { // if (result.data.status === 0) {
if (result) {
// if (result.data.status === 0) {
if (result.data !== null) { if (result.data !== null) {
var datas = [] var datas = [];
var datay = result.data.messages; var datay = result.data.messages;
datay = datay.reverse(); datay = datay.reverse();
var obj = {}; var obj = {};
for (var i = 0; i < datay.length; i++) { for (var i = 0; i < datay.length; i++) {
if (i === 0) { if (i === 0) {
var timetwoy=datay[i].send_time.slice(0,10);
datay[i].send_day = timetwoy;
obj = datay[i]; obj = datay[i];
datas.push(datay[i]); datas.push(datay[i]);
} else { } else {
@ -189,22 +275,24 @@ class MessagChat extends Component{
obj = datay[i]; obj = datay[i];
} }
}catch (e) { }catch (e) {
console.log("271271271271");
console.log(e);
} }
datas.push(datay[i]); datas.push(datay[i]);
} }
} }
//颠倒数组 //颠倒数组
this.setState({ this.setState({
messages: datas, messages: datas,
myuserl: result.data.target, myuserl: result.data.target,
}); pages:pages,
// this.getdatatwo(this.state.page); datanull:1
// } })
this.scrollToBottom();
// }
}
} }
} }
this.setState({ this.setState({
@ -305,10 +393,13 @@ class MessagChat extends Component{
// myyslusers:user, // myyslusers:user,
// mess:true, // mess:true,
// }) // })
this.setState({
myuserl:user,
})
this.props.history.replace(`/message/${this.props.current_user.user_id}/message_detail?target_ids=${user.id}`); this.props.history.replace(`/message/${this.props.current_user.user_id}/message_detail?target_ids=${user.id}`);
// this.getdatatwo(this.state.page); // this.getdatatwo(this.state.page);
this.getChatListtwo(this.state.pages,this.state.mypagey,user.id); this.getChatListtwo(1,this.state.mypagey,user.id);
} }
//回复 //回复
@ -334,9 +425,9 @@ class MessagChat extends Component{
if(response.data.status===0){ if(response.data.status===0){
// console.log("回复成功"); // console.log("回复成功");
// console.log(response); // console.log(response);
var datas=[]; // var datas=[];
var dataso=this.state.messages; // var dataso=this.state.messages;
var datays=response.data.private_message; // var datays=response.data.private_message;
// var obj={}; // var obj={};
// for (var i=0;i<dataso.length;i++){ // for (var i=0;i<dataso.length;i++){
// if(i===0){ // if(i===0){
@ -351,28 +442,30 @@ class MessagChat extends Component{
// datas.push(dataso[i]); // datas.push(dataso[i]);
// } // }
// } // }
try { this.getChatListtwo(1,this.state.mypagey,target_ids[1]);
var time =dataso[dataso.length-1].send_time.slice(0,10); // try {
console.log(time); // var time =dataso[dataso.length-1].send_time.slice(0,10);
var timetwo=datays.send_time.slice(0,10); // console.log(time);
console.log(timetwo); // var timetwo=datays.send_time.slice(0,10);
if( moment(time).isSame(timetwo)){ // console.log(timetwo);
datays.send_day=""; // if( moment(time).isSame(timetwo)){
dataso.push(datays); // datays.send_day="";
}else { // dataso.push(datays);
datays.send_day=timetwo; // }else {
dataso.push(datays); // datays.send_day=timetwo;
} // dataso.push(datays);
}catch (e) { // }
console.log("回去出现错误"); // }catch (e) {
console.log(e); // console.log("回去出现错误");
} // console.log(e);
// }
//颠倒数组 //
this.setState({ // //颠倒数组
messages: dataso, // this.setState({
// messages: dataso,
}); //
// });
this.scrollToBottom();
this.messageRef.current.setValue('') this.messageRef.current.setValue('')
} }
}) })
@ -407,9 +500,10 @@ class MessagChat extends Component{
this.setState({ this.setState({
messages:this.state.messages, messages:this.state.messages,
isSpin:false, isSpin:false,
// datanull:1
}) })
this.scrollToBottom() // this.scrollToBottom()
} }
} }
} }
@ -431,7 +525,7 @@ class MessagChat extends Component{
render() { render() {
let{isSpins,datay,myyslusers,mess,limits,myuserl,messages,isSpin}=this.state; let{isSpins,datay,myyslusers,mess,limits,myuserl,messages,isSpin,datanull}=this.state;
// console.log(mess); // console.log(mess);
// console.log(myyslusers); // console.log(myyslusers);
// console.log("MessagChat"); // console.log("MessagChat");
@ -459,6 +553,11 @@ class MessagChat extends Component{
}}> }}>
<div > <div >
<Spin size="large" className="myw100baifenbi" spinning={isSpin}> <Spin size="large" className="myw100baifenbi" spinning={isSpin}>
{
datanull===0?
<p className="mt30 edu-txt-center"><span className="letter-time">没有信息了</span></p>
:""
}
<div id="yslysl" > <div id="yslysl" >
{ {
messages===undefined? messages===undefined?

Loading…
Cancel
Save