From d06b30f0ef4992a4af1fd1c31f67153d0b06a578 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=9E=97?= <904079904@qq.com> Date: Thu, 1 Aug 2019 19:27:18 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/message/js/Leftdialogue.js | 26 ++-- .../src/modules/message/js/MessagChat.js | 145 +++++++++++++----- .../src/modules/message/js/MessagePrivate.js | 2 +- .../src/modules/message/js/Messagerouting.js | 4 +- .../src/modules/message/js/Rightdialogue.js | 25 +-- 5 files changed, 143 insertions(+), 59 deletions(-) diff --git a/public/react/src/modules/message/js/Leftdialogue.js b/public/react/src/modules/message/js/Leftdialogue.js index 6744be6cc..2e586aa40 100644 --- a/public/react/src/modules/message/js/Leftdialogue.js +++ b/public/react/src/modules/message/js/Leftdialogue.js @@ -5,7 +5,7 @@ import { } from "antd"; import axios from 'axios'; import moment from 'moment'; -import {getImageUrl} from 'educoder'; +import {getImageUrl,markdownToHTML} from 'educoder'; import "../css/messagemy.css" import WriteaprivateletterModal from '../messagemodal/WriteaprivateletterModal'; //私信页面 @@ -31,24 +31,32 @@ class Leftdialogue extends Component{ // this.getdata(1); // } } - //获取数据地方 - - // 跳转页面 + mydelete=(user_id,id)=>{ + this.props.DELETEsetreplyfun(user_id,id); + } + myCome=(e)=>{ + window.location.href="/users/"+e.login; + } render() { - let{page,limit,typeysl,count,isSpin,data,modalsType}=this.state; return (
- 头像 + this.myCome(this.props.objeysl.sender)}> + { + this.props.objeysl&&this.props.objeysl.sender.image_url ? + 头像:"" + } +
-
你好
+
- 删除 + this.mydelete(this.props.objeysl.sender.id,this.props.objeysl.id)} >删除
- 22:21 + {moment(this.props.objeysl.send_time).hour()}:{moment(this.props.objeysl.send_time).minute()<10?"0"+moment(this.props.objeysl.send_time).minute():moment(this.props.objeysl.send_time).minute()}
) } diff --git a/public/react/src/modules/message/js/MessagChat.js b/public/react/src/modules/message/js/MessagChat.js index 948ea938b..abb67dec8 100644 --- a/public/react/src/modules/message/js/MessagChat.js +++ b/public/react/src/modules/message/js/MessagChat.js @@ -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{ 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{ + // + // }, 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{
-
+
{ this.el = el; }}> { messages===undefined? "" @@ -341,12 +410,12 @@ class MessagChat extends Component{ } { parseInt(item.sender_id)===parseInt(this.props.match.params.userid)? - + this.DELETEsetreplyfun(user_id,id)}> {/*自己的*/} - : + :this.DELETEsetreplyfun(user_id,id)}> {/*他人的*/} diff --git a/public/react/src/modules/message/js/MessagePrivate.js b/public/react/src/modules/message/js/MessagePrivate.js index 8b2cd5048..b0a137042 100644 --- a/public/react/src/modules/message/js/MessagePrivate.js +++ b/public/react/src/modules/message/js/MessagePrivate.js @@ -133,7 +133,7 @@ class MessagePrivate extends Component{ :data.map((item,key)=>{ return( -
this.smyJump(3,item.target)}> +
this.smyJump(3,item.target)}> this.myCome(item)}> this.myCome(item)} src={getImageUrl("/images/"+item.target.image_url)} className="radius myimgw48 myimgh48"/> diff --git a/public/react/src/modules/message/js/Messagerouting.js b/public/react/src/modules/message/js/Messagerouting.js index 3a6b4d1b1..d7348ef85 100644 --- a/public/react/src/modules/message/js/Messagerouting.js +++ b/public/react/src/modules/message/js/Messagerouting.js @@ -174,11 +174,11 @@ class Messagerouting extends Component{
diff --git a/public/react/src/modules/message/js/Rightdialogue.js b/public/react/src/modules/message/js/Rightdialogue.js index 6d8852a6d..a28325b3f 100644 --- a/public/react/src/modules/message/js/Rightdialogue.js +++ b/public/react/src/modules/message/js/Rightdialogue.js @@ -5,7 +5,7 @@ import { } from "antd"; import axios from 'axios'; import moment from 'moment'; -import {getImageUrl} from 'educoder'; +import {getImageUrl,markdownToHTML} from 'educoder'; import "../css/messagemy.css" import WriteaprivateletterModal from '../messagemodal/WriteaprivateletterModal'; //私信页面 @@ -32,25 +32,32 @@ class Rightdialogue extends Component{ // this.getdata(1); // } } - //获取数据地方 - - // 跳转页面 + mydelete=(user_id,id)=>{ + this.props.DELETEsetreplyfun(user_id,id); + } + myCome=(e)=>{ + window.location.href="/users/"+e.login; + } render() { - let{page,limit,typeysl,count,isSpin,data,modalsType}=this.state; return (
- 头像 + this.myCome(this.props.objeysl.sender)}> + {this.props.objeysl&&this.props.objeysl.sender.image_url ? + 头像:"" + } + - 22:20 + {moment(this.props.objeysl.send_time).hour()}:{moment(this.props.objeysl.send_time).minute()<10?"0"+moment(this.props.objeysl.send_time).minute():moment(this.props.objeysl.send_time).minute()}
) }