|
|
|
@ -18,7 +18,7 @@ class MessagChat extends Component{
|
|
|
|
|
limit:20,
|
|
|
|
|
page:1,
|
|
|
|
|
datay:[],
|
|
|
|
|
limits:20,
|
|
|
|
|
limits:40,
|
|
|
|
|
mess:false,
|
|
|
|
|
myuserl:[],
|
|
|
|
|
pages:1,
|
|
|
|
@ -31,7 +31,7 @@ class MessagChat extends Component{
|
|
|
|
|
componentDidMount(){
|
|
|
|
|
this.getdata(1);
|
|
|
|
|
let target_ids=this.props.match.params.private;
|
|
|
|
|
this.getChatList(1,this.state.limit,target_ids);
|
|
|
|
|
this.getChatList(1,this.state.limits,target_ids);
|
|
|
|
|
// console.log("MessagChat111111");
|
|
|
|
|
console.log(this.props.myysluser);
|
|
|
|
|
this.setState({
|
|
|
|
@ -45,7 +45,15 @@ class MessagChat extends Component{
|
|
|
|
|
console.log("MessagChat111111");
|
|
|
|
|
console.log(this.props);
|
|
|
|
|
console.log(this.props.match.params.userid);
|
|
|
|
|
this.scrollToBottom();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentDidUpdate() {
|
|
|
|
|
this.scrollToBottom();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
scrollToBottom() {
|
|
|
|
|
this.el.scrollIntoView({ behavior: 'smooth' });
|
|
|
|
|
}
|
|
|
|
|
// 滑动刷新
|
|
|
|
|
contentViewScrolledit=(e)=>{
|
|
|
|
@ -61,6 +69,19 @@ class MessagChat extends Component{
|
|
|
|
|
// limits:ls,
|
|
|
|
|
// })
|
|
|
|
|
}
|
|
|
|
|
//滑动到顶部
|
|
|
|
|
console.log("滑动到顶部判断");
|
|
|
|
|
console.log(e.currentTarget.clientHeight);
|
|
|
|
|
console.log(e.currentTarget.scrollTop);
|
|
|
|
|
console.log(e.currentTarget.scrollHeight);
|
|
|
|
|
// if(e.currentTarget.scrollHeight+e.currentTarget.scrollTop===e.currentTarget.clientHeight){
|
|
|
|
|
// console.log("滑动到顶部判断");
|
|
|
|
|
//
|
|
|
|
|
// // let ls=newpage*20
|
|
|
|
|
// // this.setState({
|
|
|
|
|
// // limits:ls,
|
|
|
|
|
// // })
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
@ -79,26 +100,29 @@ class MessagChat extends Component{
|
|
|
|
|
if(result.data.message!==undefined){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var datas=[]
|
|
|
|
|
var datay=result.data.messages;
|
|
|
|
|
var obj={};
|
|
|
|
|
for (var i=0;i<datay.length;i++){
|
|
|
|
|
if(i===0){
|
|
|
|
|
obj=datay[i];
|
|
|
|
|
datas.push(datay[i]);
|
|
|
|
|
}else{
|
|
|
|
|
obj=datay[i];
|
|
|
|
|
if(obj.send_day===datay[i].send_day){
|
|
|
|
|
|
|
|
|
|
if(result.data!==null){
|
|
|
|
|
var datas=[]
|
|
|
|
|
var datay=result.data.messages;
|
|
|
|
|
var obj={};
|
|
|
|
|
for (var i=0;i<datay.length;i++){
|
|
|
|
|
if(i===0){
|
|
|
|
|
obj=datay[i];
|
|
|
|
|
datas.push(datay[i]);
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
|
|
if( moment(obj.send_day).isSame(datay[i].send_day)){
|
|
|
|
|
datay[i].send_day="";
|
|
|
|
|
}else {
|
|
|
|
|
obj=datay[i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
datas.push(datay[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
datas.push(datay[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if(result.data!==null){
|
|
|
|
|
console.log(result)
|
|
|
|
|
}
|
|
|
|
|
//颠倒数组
|
|
|
|
|
datas=datas.reverse();
|
|
|
|
|
this.setState({
|
|
|
|
|
messages:datas,
|
|
|
|
|
myuserl:result.data.target,
|
|
|
|
@ -132,25 +156,29 @@ class MessagChat extends Component{
|
|
|
|
|
if(result.data.message!==undefined){
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var datas=[]
|
|
|
|
|
var datay=result.data.messages;
|
|
|
|
|
var obj={};
|
|
|
|
|
for (var i=0;i<datay.length;i++){
|
|
|
|
|
if(i===0){
|
|
|
|
|
obj=datay[i];
|
|
|
|
|
datas.push(datay[i]);
|
|
|
|
|
}else{
|
|
|
|
|
obj=datay[i];
|
|
|
|
|
if(obj.send_day===datay[i].send_day){
|
|
|
|
|
datay[i].send_day="";
|
|
|
|
|
|
|
|
|
|
if(result.data!==null){
|
|
|
|
|
var datas=[]
|
|
|
|
|
var datay=result.data.messages;
|
|
|
|
|
var obj={};
|
|
|
|
|
for (var i=0;i<datay.length;i++){
|
|
|
|
|
if(i===0){
|
|
|
|
|
obj=datay[i];
|
|
|
|
|
datas.push(datay[i]);
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
|
|
if( moment(obj.send_day).isSame(datay[i].send_day)){
|
|
|
|
|
datay[i].send_day="";
|
|
|
|
|
}else {
|
|
|
|
|
obj=datay[i];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
datas.push(datay[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
datas.push(datay[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
if(result.data!==null){
|
|
|
|
|
console.log(result)
|
|
|
|
|
//颠倒数组
|
|
|
|
|
datas=datas.reverse();
|
|
|
|
|
this.setState({
|
|
|
|
|
messages:datas,
|
|
|
|
|
myuserl:result.data.target,
|
|
|
|
@ -282,7 +310,7 @@ class MessagChat extends Component{
|
|
|
|
|
this.getChatListtwo(this.state.pages,this.state.mypagey,user.id);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//回复
|
|
|
|
|
setreplyfun=()=>{
|
|
|
|
|
let contents=this.messageRef.current.getValue().trim();
|
|
|
|
|
let target_ids=this.props.match.params.private
|
|
|
|
@ -297,9 +325,50 @@ class MessagChat extends Component{
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
//删除
|
|
|
|
|
DELETEsetreplyfun=(user_id,id)=>{
|
|
|
|
|
//user_id不用
|
|
|
|
|
console.log("311");
|
|
|
|
|
this.setState({
|
|
|
|
|
isSpin:true,
|
|
|
|
|
});
|
|
|
|
|
let url = `/users/${this.props.match.params.userid}/private_messages/${id}.json`;
|
|
|
|
|
axios.delete(url)
|
|
|
|
|
.then((response) => {
|
|
|
|
|
if(response){
|
|
|
|
|
if(response.data.status===0){
|
|
|
|
|
if(this.state.messages.length>0){
|
|
|
|
|
for(var i=0;i<this.state.messages.length;i++){
|
|
|
|
|
if(parseInt(this.state.messages[i].id)===id){
|
|
|
|
|
this.state.messages.splice(i,1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// setTimeout(()=>{
|
|
|
|
|
//
|
|
|
|
|
// }, 200);
|
|
|
|
|
this.setState({
|
|
|
|
|
messages:this.state.messages,
|
|
|
|
|
isSpin:false,
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
this.setState({
|
|
|
|
|
isSpin:false,
|
|
|
|
|
})
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
render() {
|
|
|
|
|
let{isSpins,datay,myyslusers,mess,limits,myuserl,messages,isSpin}=this.state;
|
|
|
|
|
// console.log(mess);
|
|
|
|
@ -325,7 +394,7 @@ class MessagChat extends Component{
|
|
|
|
|
<div className="dialogPanel">
|
|
|
|
|
<div >
|
|
|
|
|
<Spin size="large" className="myw100baifenbi" spinning={isSpin}>
|
|
|
|
|
<div>
|
|
|
|
|
<div id="yslysl" ref={el => { this.el = el; }}>
|
|
|
|
|
{
|
|
|
|
|
messages===undefined?
|
|
|
|
|
""
|
|
|
|
@ -341,12 +410,12 @@ class MessagChat extends Component{
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
parseInt(item.sender_id)===parseInt(this.props.match.params.userid)?
|
|
|
|
|
<Rightdialogue objeysl={item}>
|
|
|
|
|
<Rightdialogue objeysl={item} {...this.state} {...this.props} DELETEsetreplyfun={(user_id,id)=>this.DELETEsetreplyfun(user_id,id)}>
|
|
|
|
|
{/*自己的*/}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</Rightdialogue>
|
|
|
|
|
:<Leftdialogue objeysl={item}>
|
|
|
|
|
:<Leftdialogue objeysl={item} {...this.state} {...this.props} DELETEsetreplyfun={(user_id,id)=>this.DELETEsetreplyfun(user_id,id)}>
|
|
|
|
|
{/*他人的*/}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|