"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[947],{5053:function(e,n,t){var r=t(8870),a=t(9379),c=t(4765),s=t(1212),o=t(467),i=t(5544),u=t(436),l=t(2284),d=t(6540),f=t(758),h=t.n(f),m=t(118),v=t(374),p=t(3401),_=t(7745),g=t(9672),b=t(4282),A=t(5596),w=t(4848),S="wangquan_chat_messages:",k=300,x=30,I=3e3,j=12e3,y=6e4,T=12e3,N="chat-bottom",C=["\ud83d\udc36","\ud83d\udc31","\ud83e\udd70","\ud83d\ude02","\ud83d\udc4d","\u2764\ufe0f"];function E(e){var n=new Date(e),t=String(n.getHours()).padStart(2,"0"),r=String(n.getMinutes()).padStart(2,"0");return"".concat(t,":").concat(r)}function U(e,n){var t=new Map;e.forEach(function(e){var n=e._id||"".concat(e.fromMe?"me":"peer",":").concat(e.createdAt,":").concat(e.content);t.set(n,e)});var r=Array.from(t.values()).sort(function(e,n){var t=e.createdAt-n.createdAt;return t||e._id.localeCompare(n._id)});return"number"===typeof n?r.slice(-n):r}function R(e){var n=e.replace(/[^A-Za-z0-9_-]/g,"-");return"msg-".concat(n||"empty")}function M(e){var n="object"===(0,l.A)(e)&&e?String(e.errMsg||e.message||""):String(e||"");return n.toLowerCase().includes("cancel")}function z(e,n){console.error("[chat] ".concat(e),n)}function B(e,n,t){return new Promise(function(r,a){var c=setTimeout(function(){return a(new Error(t))},n);e.then(function(e){return r(e)}).catch(function(e){return a(e)}).finally(function(){return clearTimeout(c)})})}function D(e){return[e.conversationId?"".concat(S,"conv:").concat(e.conversationId):"",e.targetUserId?"".concat(S,"user:").concat(e.targetUserId):""].filter(Boolean)}function Y(e){var n=[];return e.forEach(function(e){try{var t=h().getStorageSync(e);Array.isArray(t)&&n.push.apply(n,(0,u.A)(t))}catch(e){}}),U(n,k)}function H(e,n){var t=U(n,k);e.forEach(function(e){try{h().setStorageSync(e,t)}catch(e){}})}function P(){var e=(0,v.v)(),n=e.statusBarHeight,t=e.safeBottom,r=(0,f.useRouter)(),l=r.params.conversationId||"",S=r.params.targetUserId||"",k=decodeURIComponent(r.params.title||"\u804a\u5929"),P=(0,d.useState)(l),F=(0,i.A)(P,2),G=(F[0],F[1]),J=(0,d.useState)(null),K=(0,i.A)(J,2),O=K[0],Q=K[1],V=(0,d.useState)([]),q=(0,i.A)(V,2),L=q[0],W=q[1],Z=(0,d.useState)(""),X=(0,i.A)(Z,2),$=X[0],ee=X[1],ne=(0,d.useState)(null),te=(0,i.A)(ne,2),re=te[0],ae=te[1],ce=(0,d.useState)(!0),se=(0,i.A)(ce,2),oe=se[0],ie=se[1],ue=(0,d.useState)(!1),le=(0,i.A)(ue,2),de=le[0],fe=le[1],he=(0,d.useState)(""),me=(0,i.A)(he,2),ve=me[0],pe=me[1],_e=(0,d.useState)(!1),ge=(0,i.A)(_e,2),be=ge[0],Ae=ge[1],we=(0,d.useState)("".concat(N,"-0")),Se=(0,i.A)(we,2),ke=Se[0],xe=Se[1],Ie=(0,d.useState)(""),je=(0,i.A)(Ie,2),ye=je[0],Te=je[1],Ne=(0,d.useRef)(l),Ce=(0,d.useRef)(""),Ee=(0,d.useRef)(0),Ue=(0,d.useRef)(Date.now()),Re=(0,d.useRef)([]),Me=(0,d.useRef)(null),ze=(0,d.useRef)(!1),Be=(0,d.useRef)(0),De=(0,d.useRef)(function(){}),Ye=Boolean(re),He=(0,d.useCallback)(function(e){e&&e!==Ne.current&&(Ne.current=e,G(e))},[]),Pe=(0,d.useCallback)(function(e,n){var t,r=U(e);Re.current=r;var a=(null===(t=r[r.length-1])||void 0===t?void 0:t._id)||"";return a!==Ce.current&&(a&&(Ue.current=Date.now()),Ce.current=a),W(r),n&&H(D(n),r),r},[]),Fe=(0,d.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ne.current;return{conversationId:e||void 0,toUserId:e?void 0:S||void 0}},[S]),Ge=(0,d.useCallback)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.conversationId||Ne.current;return{conversationId:n||void 0,targetUserId:n?void 0:e.targetUserId||S||void 0,cursor:e.cursor,pageSize:e.pageSize,markRead:e.markRead}},[S]),Je=(0,d.useCallback)(function(){Be.current+=1;var e="".concat(N,"-").concat(Be.current);xe(e),Te(e)},[]),Ke=(0,d.useCallback)((0,o.A)((0,s.A)().m(function e(){var n,t,r,a,c,o,i,l,d,f,m,v,p,_=arguments;return(0,s.A)().w(function(e){while(1)switch(e.p=e.n){case 0:return n=_.length>0&&void 0!==_[0]?_[0]:{},t=n.silent,r=void 0!==t&&t,a=n.scrollToEnd,c=void 0!==a&&a,o=Ee.current+1,Ee.current=o,r||ie(!0),i=Ge({pageSize:x,markRead:!r}),0===Re.current.length&&(l=Y(D(i)),l.length&&(Pe(l),c&&Je())),e.p=1,e.n=2,(0,g.fG)(i);case 2:if(d=e.v,o===Ee.current){e.n=3;break}return e.a(2,Re.current);case 3:return f=d.conversationId||i.conversationId||"",m={conversationId:f||void 0,targetUserId:S||i.targetUserId},f&&He(f),d.peer&&Q(d.peer),v=Pe([].concat((0,u.A)(Re.current),(0,u.A)(d.messages)),m),pe(function(e){return e||d.nextCursor||""}),c&&Je(),e.a(2,v);case 4:return e.p=4,p=e.v,z("load latest failed",p),r||h().showToast({title:"\u6d88\u606f\u52a0\u8f7d\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5",icon:"none"}),e.a(2,Re.current);case 5:return e.p=5,r||ie(!1),e.f(5);case 6:return e.a(2)}},e,null,[[1,4,5,6]])})),[He,Pe,Ge,Je,S]),Oe=(0,d.useRef)(Ke);(0,d.useEffect)(function(){Oe.current=Ke},[Ke]);var Qe=(0,d.useCallback)((0,o.A)((0,s.A)().m(function e(){var n,t,r,a,c,o,i;return(0,s.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(ve&&!oe&&!de){e.n=1;break}return e.a(2);case 1:return t=null===(n=Re.current[0])||void 0===n?void 0:n._id,fe(!0),e.p=2,r=Ge({cursor:ve,pageSize:x,markRead:!1}),e.n=3,(0,g.fG)(r);case 3:a=e.v,c=a.conversationId||r.conversationId||"",o={conversationId:c||void 0,targetUserId:S||r.targetUserId},c&&He(c),a.peer&&Q(a.peer),Pe([].concat((0,u.A)(a.messages),(0,u.A)(Re.current)),o),pe(a.nextCursor||""),t&&Te(R(t)),e.n=5;break;case 4:e.p=4,i=e.v,z("load older failed",i),h().showToast({title:"\u5386\u53f2\u6d88\u606f\u52a0\u8f7d\u5931\u8d25",icon:"none"});case 5:return e.p=5,fe(!1),e.f(5);case 6:return e.a(2)}},e,null,[[2,4,5,6]])})),[He,Pe,Ge,oe,de,ve,S]);(0,d.useEffect)(function(){Ke({scrollToEnd:!0})},[Ke]);var Ve=(0,d.useCallback)(function(){Me.current&&(clearTimeout(Me.current),Me.current=null)},[]),qe=(0,d.useCallback)(function(){if(Ve(),ze.current){var e=Date.now()-Ue.current