2 lines
29 KiB
JavaScript
2 lines
29 KiB
JavaScript
import{b5 as t,r as e,b9 as a,o as l,c as n,u as i,B as o,a as u,E as c,O as s,b as r,_ as d,y as v,z as p,b4 as h,b7 as C,I as m,m as I,a6 as S,w as f,e as T,d as y,s as g,t as k,co as E,F as U,q as _,an as b}from"./index-CH9-aFWw.js";import{R as D,E as R,z as O,o as L,i as P,g as A,T as w,J as N,d as M,a as x,I as F,K as Y,W as G,Q as B,X as V}from"./index.C_XD_DK3.js";import{i as j}from"./index.DzsMB11z.js";import"./adapter-vue.FAvEd_HK.js";import{_ as K,e as H}from"./edit.B9Urilbg.js";import{b as W}from"./index.BcNTMUDJ.js";import{b as $,d as q}from"./lodash.CBwPAxVQ.js";import{_ as J}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{d as X}from"./down-icon.DejhYoTd.js";import{r as z}from"./right-icon.-uAfiCH7.js";import{A as Q}from"./index.DHwyKTWe.js";import{c as Z,d as tt,e as et}from"./constant.BaYkq7sJ.js";class at{constructor(){D.registerService(R.TUIContact.SERVICE.NAME,this),this.onCallParamsMap=new Map,this.onCallCallbackMap=new Map,this.constants=R}static getInstance(){return at.instance||(at.instance=new at),at.instance}getOnCallParams(t){return this.onCallParamsMap.get(t)}getOnCallCallback(t){return this.onCallCallbackMap.get(t)}async onCall(t,e,a){var l;this.onCallParamsMap.set(t,e),this.onCallCallbackMap.set(t,a),t===R.TUIContact.SERVICE.METHOD.SELECT_FRIEND&&(O.update(L.CUSTOM,"isShowSelectFriendComponent",!0),P&&(null==(l=j)||l.reLaunch({url:"/TUIKit/components/TUIContact/index"})))}}const lt=t({__name:"index",setup(t){const o=at.getInstance(),u=o.constants,c=e(!1),s=e([]),r=e([]),d=e(null),v=e({isRadio:!1,isNeedSearch:!1,title:""});a((()=>{const t=o.getOnCallParams(u.TUIContact.SERVICE.METHOD.SELECT_FRIEND);var e;v.value.title=t.title,v.value.isRadio=t.isRadio,v.value.isNeedSearch=t.isNeedSearch,t.isNeedSearch&&(e=t.isNeedSearch,d.value=D.getService(u.TUISearch.SERVICE.NAME),d.value?c.value=e:console.warn("请添加 TUISearch 组件")),A.getFriendList().then((t=>{s.value=t.data.map((t=>t.profile)),r.value=s.value})).catch((t=>{console.warn("getFriendList error:",t)}))}));const p=t=>{O.update(L.CUSTOM,"isShowSelectFriendComponent",!1);const e=o.getOnCallCallback(u.TUIContact.SERVICE.METHOD.SELECT_FRIEND);e&&e(t)},h=()=>{w({message:N.t("TUIGroup.该用户不存在"),type:M.ERROR}),r.value=[...s.value]},C=async t=>{if(!t)return r.value=s.value;try{const e=await d.value.searchUser(t);if(!e.data[0])return h();r.value=e.data;const a=s.value.filter((t=>t.userID===e.data[0].userID));s.value=a.length?s.value:[...s.value,...r.value]}catch(e){return h()}};return(t,e)=>(l(),n(K,{isRadio:i(v).isRadio,isNeedSearch:i(v).isNeedSearch,title:i(v).title,userList:i(r),onSearch:C,onComplete:p},null,8,["isRadio","isNeedSearch","title","userList"]))}}),nt=J(t({__name:"index",setup(t){const a=N.t("TUIContact.输入ID"),n=e(!1),I=e(""),S=e({user:{label:"联系人",list:[]},group:{label:"群聊",list:[]}}),f=$((function(t){n.value=t}),200),T=async()=>{I.value&&(D.callService({serviceName:R.TUISearch.SERVICE.NAME,method:R.TUISearch.SERVICE.METHOD.SEARCH_USER,params:{userID:I.value}}).then((t=>{S.value.user.list=t.data})).catch((t=>{S.value.user.list=[],console.warn("search user error",t)})),D.callService({serviceName:R.TUISearch.SERVICE.NAME,method:R.TUISearch.SERVICE.METHOD.SEARCH_GROUP,params:{groupID:I.value}}).then((t=>{S.value.group.list=[t.data.group]})).catch((t=>{S.value.group.list=[],console.warn("search group error",t)})))};return o((()=>S.value),(()=>{O.update(L.CUSTOM,"currentContactSearchResult",S.value)}),{deep:!0,immediate:!0}),o((()=>n.value),(()=>{O.update(L.CUSTOM,"currentContactSearchingStatus",n.value),n.value&&(I.value="",S.value.user.list=[],S.value.group.list=[])}),{deep:!0,immediate:!0}),j.updateContactSearch=T,j.closeSearching=()=>{n.value=!1},(t,e)=>{const o=m;return l(),u("div",{class:c(["tui-contact-search",!i(x)&&"tui-contact-search-h5"])},[i(n)&&i(x)?p("",!0):(l(),u("div",{key:0,class:c(["tui-contact-search-header",!i(x)&&"tui-contact-search-h5-header",i(n)&&"tui-contact-searching-h5-header"]),onClick:e[1]||(e[1]=t=>i(f)(!0))},[s("div",{class:c(["tui-contact-search-header-icon",!i(x)&&"tui-contact-search-h5-header-icon"]),onClick:e[0]||(e[0]=d((t=>i(f)(!i(n))),["stop"]))},[r(F,{file:i(n)?i(W):i("data:image/svg+xml,%3csvg%20width='14'%20height='15'%20viewBox='0%200%2014%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20opacity='0.80492'%3e%3crect%20x='0.25'%20y='7.25'%20width='13.5'%20height='0.5'%20rx='0.25'%20stroke='%23232832'%20style='stroke:%23232832;stroke:color(display-p3%200.1360%200.1574%200.1949);stroke-opacity:1;'%20stroke-width='0.5'%20/%3e%3crect%20x='6.75'%20y='14.25'%20width='13.5'%20height='0.5'%20rx='0.25'%20transform='rotate(-90%206.75%2014.25)'%20stroke='%23232832'%20style='stroke:%23232832;stroke:color(display-p3%200.1360%200.1574%200.1949);stroke-opacity:1;'%20stroke-width='0.5'%20/%3e%3c/g%3e%3c/svg%3e"),width:i(n)?"20px":"14px",height:i(n)?"20px":"14px"},null,8,["file","width","height"])],2),s("div",{class:c(["tui-contact-search-header-title",!i(x)&&"tui-contact-search-h5-header-title"])},v(i(N).t("TUIContact.添加好友/群聊")),3)],2)),i(n)?(l(),u("div",{key:1,class:c(["tui-contact-search-main",!i(x)&&"tui-contact-search-h5-main"])},[r(o,{modelValue:i(I),"onUpdate:modelValue":e[2]||(e[2]=t=>h(I)?I.value=t:null),class:"tui-contact-search-main-input",type:"text",placeholder:i(a),enterkeyhint:"search",onKeyup:C(T,["enter"]),onBlur:T,onConfirm:T},null,8,["modelValue","placeholder"]),s("div",{class:"tui-contact-search-main-cancel",onClick:e[3]||(e[3]=t=>n.value=!1)},v(i(N).t("取消")),1)],2)):p("",!0)],2)}}}),[["__scopeId","data-v-5e80fdd8"]]),it=t=>{var e;return(null==t?void 0:t.avatar)||(null==(e=null==t?void 0:t.profile)?void 0:e.avatar)||(null==t?void 0:t.groupID)&&"https://web.sdk.qcloud.com/im/assets/images/Public.svg"||"https://web.sdk.qcloud.com/component/TUIKit/assets/avatar_21.png"},ot=t=>{var e;return(null==t?void 0:t.remark)||(null==t?void 0:t.name)||(null==(e=null==t?void 0:t.profile)?void 0:e.nick)||(null==t?void 0:t.nick)||(null==t?void 0:t.groupID)||(null==t?void 0:t.userID)||""},ut=t=>{var e;return(null==t?void 0:t.name)||(null==(e=null==t?void 0:t.profile)?void 0:e.nick)||(null==t?void 0:t.nick)||(null==t?void 0:t.groupID)||(null==t?void 0:t.userID)||""},ct=t=>{var e,a,l,n;return(null==t?void 0:t.type)===(null==(a=null==(e=Y)?void 0:e.TYPES)?void 0:a.SNS_APPLICATION_SENT_TO_ME)||(null==t?void 0:t.type)===(null==(n=null==(l=Y)?void 0:l.TYPES)?void 0:n.SNS_APPLICATION_SENT_BY_ME)},st=t=>{const e=(null==t?void 0:t.groupID)?`GROUP${null==t?void 0:t.groupID}`:`C2C${null==t?void 0:t.userID}`;G.switchConversation(e).catch((t=>{console.warn("switch conversation failed:",t),w({message:N.t("TUIContact.进入会话失败"),type:M.ERROR})}))},rt=t=>{A.acceptFriendApplication({userID:t,type:Y.TYPES.SNS_APPLICATION_AGREE_AND_ADD}).then((()=>{w({message:N.t("TUIContact.添加好友成功"),type:M.SUCCESS})})).catch((t=>{console.warn("accept friend application failed:",t),w({message:N.t("TUIContact.同意好友申请失败"),type:M.ERROR})}))},dt=(t,e)=>{B.joinGroup({groupID:t,applyMessage:e}).then((t=>{var e;switch(null==(e=null==t?void 0:t.data)?void 0:e.status){case Y.TYPES.JOIN_STATUS_WAIT_APPROVAL:w({message:N.t("TUIContact.等待管理员同意"),type:M.SUCCESS});break;case Y.TYPES.JOIN_STATUS_SUCCESS:w({message:N.t("TUIContact.加群成功"),type:M.SUCCESS});break;case Y.TYPES.JOIN_STATUS_ALREADY_IN_GROUP:w({message:N.t("TUIContact.您已是群成员"),type:M.SUCCESS})}})).catch((t=>{console.warn("join group failed:",t),w({message:"申请入群失败",type:M.ERROR})}))},vt=J(t({__name:"index",props:{item:{default:()=>({})},displayOnlineStatus:{type:Boolean,default:!1}},setup(t){const a=t,h=I("userOnlineStatusMap"),C=e(!1),m={[Y.TYPES.GRP_WORK]:"Work",[Y.TYPES.GRP_AVCHATROOM]:"AVChatRoom",[Y.TYPES.GRP_PUBLIC]:"Public",[Y.TYPES.GRP_MEETING]:"Meeting",[Y.TYPES.GRP_COMMUNITY]:"Community"},g=S((()=>{var t,e,l,n,i,o,u,c,s;let r="";return(null==(t=a.item)?void 0:t.type)===(null==(l=null==(e=Y)?void 0:e.TYPES)?void 0:l.SNS_APPLICATION_SENT_TO_ME)||(null==(n=a.item)?void 0:n.type)===(null==(o=null==(i=Y)?void 0:i.TYPES)?void 0:o.SNS_APPLICATION_SENT_BY_ME)?r=(null==(u=a.item)?void 0:u.wording)||"":(null==(c=a.item)?void 0:c.groupID)&&(r=`ID:${null==(s=a.item)?void 0:s.groupID}`),r})),k=S((()=>{var t,e;let l="";return(null==(t=a.item)?void 0:t.groupID)&&(l=m[null==(e=a.item)?void 0:e.type]),l})),E=S((()=>{var t,e,l,n,i,o;return(null==(t=a.item)?void 0:t.type)===(null==(l=null==(e=Y)?void 0:e.TYPES)?void 0:l.SNS_APPLICATION_SENT_BY_ME)?{style:"text",label:"等待验证"}:(null==(n=a.item)?void 0:n.type)===(null==(o=null==(i=Y)?void 0:i.TYPES)?void 0:o.SNS_APPLICATION_SENT_TO_ME)&&{style:"button",label:"同意",onClick:()=>{var t;rt(null==(t=a.item)?void 0:t.userID)}}}));return o((()=>null==h?void 0:h.value),(()=>{var t,e,l;C.value=!!(a.displayOnlineStatus&&(null==h?void 0:h.value)&&(null==(t=a.item)?void 0:t.userID)&&(null==(l=null==(e=h.value)?void 0:e[a.item.userID])?void 0:l.statusType)===Y.TYPES.USER_STATUS_ONLINE)}),{immediate:!0,deep:!0}),(t,e)=>{const o=y;return l(),u("div",{class:c(["tui-contact-list-card",!i(x)&&"tui-contact-list-card-h5"])},[s("div",{class:"tui-contact-list-card-left"},[r(Q,{class:"tui-contact-list-card-left-avatar",useSkeletonAnimation:"",url:i(it)(a.item)},null,8,["url"]),a.displayOnlineStatus&&a.item?(l(),u("div",{key:0,class:c({"online-status":!0,"online-status-online":i(C),"online-status-offline":!i(C)})},null,2)):p("",!0)]),s("div",{class:"tui-contact-list-card-main"},[s("div",{class:"tui-contact-list-card-main-name"},v(i(ot)(a.item)),1),i(g)?(l(),u("div",{key:0,class:"tui-contact-list-card-main-other"},v(i(g)),1)):p("",!0)]),s("div",{class:"tui-contact-list-card-right"},[i(k)?(l(),u("div",{key:0,class:"tui-contact-list-card-right-group-type"},v(i(k)),1)):p("",!0),i(E)?(l(),u("div",{key:1,class:"tui-contact-list-card-right-application"},["text"===i(E).style?(l(),u("div",{key:0,class:"tui-contact-list-card-right-application-text"},v(i(N).t(`TUIContact.${i(E).label}`)),1)):"button"===i(E).style?(l(),n(o,{key:1,class:"tui-contact-list-card-right-application-button",onClick:d(i(E).onClick,["stop"])},{default:f((()=>[T(v(i(N).t(`TUIContact.${i(E).label}`)),1)])),_:1},8,["onClick"])):p("",!0)])):p("",!0)])],2)}}}),[["__scopeId","data-v-e4c5c96e"]]),pt=J(t({__name:"index",setup(t){const a=e(""),n=e({}),o=e({friendApplicationList:{key:"friendApplicationList",title:"新的联系人",list:[],unreadCount:0},blackList:{key:"blackList",title:"黑名单",list:[]},groupList:{key:"groupList",title:"我的群聊",list:[]},friendList:{key:"friendList",title:"我的好友",list:[]}}),d=e(!1),h=e(),C=e(!1),m=e(),I=S((()=>{var t,e,a,l;return!(null==(e=null==(t=null==h?void 0:h.value)?void 0:t.user)?void 0:e.list[0])&&!(null==(l=null==(a=null==h?void 0:h.value)?void 0:a.group)?void 0:l.list[0])}));function f(t){var e,a,l,i,u,c,s,r;if(n.value=t,d.value){let t;(null==(e=n.value)?void 0:e.userID)?t=null==(i=null==(l=null==(a=o.value)?void 0:a.friendList)?void 0:l.list)?void 0:i.find((t=>{var e;return(null==t?void 0:t.userID)===(null==(e=n.value)?void 0:e.userID)})):(null==(u=n.value)?void 0:u.groupID)&&(t=null==(r=null==(s=null==(c=o.value)?void 0:c.groupList)?void 0:s.list)?void 0:r.find((t=>{var e;return(null==t?void 0:t.groupID)===(null==(e=n.value)?void 0:e.groupID)}))),t&&(n.value=t)}O.update(L.CUSTOM,"currentContactInfo",n.value)}function T(t){C.value=t}function y(t){(null==t?void 0:t.size)>0&&(m.value=Object.fromEntries(null==t?void 0:t.entries()))}function b(t){if(!t)return;const e=R.TUIContact.EXTENSION.CONTACT_LIST.EXT_ID,a=D.getExtensionList(e).find((t=>{const{name:e,accountList:a=[]}=t.data||{};return"customer"===e&&a.length>0}));if(a){const{data:t,text:e}=a,{accountList:l}=t||{};V.getUserProfile({userIDList:l}).then((t=>{if(t.data.length>0){const a={title:e,list:t.data.map(((t,e)=>({...t,renderKey:j("customerList",t,e),infoKeyList:[],btnKeyList:["enterC2CConversation"]}))),key:"customerList"};o.value={...o.value,customerList:a}}})).catch((()=>{}))}}function P(t){B("groupList",t)}function w(t){B("blackList",t)}function M(t){o.value.friendApplicationList.unreadCount=t}function Y(t){B("friendList",t)}function G(t){B("friendApplicationList",t)}function B(t,e){o.value[t].list=e,o.value[t].list.map(((e,a)=>e.renderKey=j(t,e,a))),function(t,e){var l,i;if(!(null==(l=n.value)?void 0:l.userID)&&!(null==(i=n.value)?void 0:i.groupID))return;(e===a.value||d.value)&&(n.value=(null==t?void 0:t.find((t=>{var e,a;return(null==t?void 0:t.groupID)&&(null==t?void 0:t.groupID)===(null==(e=n.value)?void 0:e.groupID)||(null==t?void 0:t.userID)&&(null==t?void 0:t.userID)===(null==(a=n.value)?void 0:a.userID)})))||{},O.update(L.CUSTOM,"currentContactInfo",n.value))}(o.value[t].list,t)}function j(t,e,a){return`${t}-${e.userID||e.groupID||"index"+a}`}function K(t){h.value=t}function H(t){d.value=t,O.update(L.CUSTOM,"currentContactInfo",{}),O.update(L.CUSTOM,"currentContactListKey","")}function W(t){n.value=t}function $(t){a.value=t}return g((()=>{O.watch(L.APP,{enabledCustomerServicePlugin:b}),O.watch(L.GRP,{groupList:P}),O.watch(L.USER,{userBlacklist:w,displayOnlineStatus:T,userStatusList:y}),O.watch(L.FRIEND,{friendList:Y,friendApplicationList:G,friendApplicationUnreadCount:M}),O.watch(L.CUSTOM,{currentContactSearchingStatus:H,currentContactSearchResult:K,currentContactListKey:$,currentContactInfo:W})})),k((()=>{O.unwatch(L.APP,{enabledCustomerServicePlugin:b}),O.unwatch(L.GRP,{groupList:P}),O.unwatch(L.USER,{userBlacklist:w,displayOnlineStatus:T,userStatusList:y}),O.unwatch(L.FRIEND,{friendList:Y,friendApplicationList:G,friendApplicationUnreadCount:M}),O.unwatch(L.CUSTOM,{currentContactSearchingStatus:H,currentContactSearchResult:K,currentContactListKey:$,currentContactInfo:W})})),E("userOnlineStatusMap",m),(t,e)=>i(d)?(l(),u("ul",{key:1,class:"tui-contact-list"},[(l(!0),u(U,null,_(i(h),((t,e)=>(l(),u("li",{key:e,class:"tui-contact-list-item"},[t.list[0]?(l(),u("div",{key:0,class:"tui-contact-search-list"},[s("div",{class:"tui-contact-search-list-title"},v(i(N).t(`TUIContact.${t.label}`)),1),(l(!0),u(U,null,_(t.list,((t,e)=>(l(),u("div",{key:e,class:c(["tui-contact-search-list-item",["selected"]]),onClick:e=>f(t)},[r(vt,{item:t,displayOnlineStatus:!1},null,8,["item"])],8,["onClick"])))),128))])):p("",!0)])))),128)),i(I)?(l(),u("div",{key:0,class:"tui-contact-search-list-default"},v(i(N).t("TUIContact.无搜索结果")),1)):p("",!0)])):(l(),u("ul",{key:0,class:c(["tui-contact-list",!i(x)&&"tui-contact-list-h5"])},[(l(!0),u(U,null,_(i(o),((t,e)=>(l(),u("li",{key:e,class:"tui-contact-list-item"},[s("header",{class:"tui-contact-list-item-header",onClick:t=>function(t){a.value===t?(a.value="",n.value={},O.update(L.CUSTOM,"currentContactListKey",""),O.update(L.CUSTOM,"currentContactInfo",{})):(a.value=t,O.update(L.CUSTOM,"currentContactListKey",t),"friendApplicationList"===t&&A.setFriendApplicationRead())}(e)},[s("div",{class:"tui-contact-list-item-header-left"},[r(F,{file:i(a)===e?i(X):i(z),width:"16px",height:"16px"},null,8,["file"]),s("div",null,v(i(N).t(`TUIContact.${t.title}`)),1)]),s("div",{class:"tui-contact-list-item-header-right"},[t.unreadCount?(l(),u("span",{key:0,class:"tui-contact-list-item-header-right-unread"},v(t.unreadCount),1)):p("",!0)])],8,["onClick"]),s("ul",{class:c(["tui-contact-list-item-main",i(a)===e?"":"hidden"])},[(l(!0),u(U,null,_(t.list,(t=>(l(),u("li",{key:t.renderKey,class:c(["tui-contact-list-item-main-item",["selected"]]),onClick:e=>f(t)},[r(vt,{item:t,displayOnlineStatus:i(C)&&"friendList"===e},null,8,["item","displayOnlineStatus"])],8,["onClick"])))),128))],2)])))),128))],2))}}),[["__scopeId","data-v-ecfda0f1"]]),ht={setRemark:{key:"setRemark",label:"备注名",data:"",labelPosition:Z.LEFT,editable:!0,editType:tt.INPUT,editing:!1,editSubmitHandler:t=>{var e,a,l,n,i,o;if(null==t?void 0:t.isBothFriend){const o=null==(e=null==t?void 0:t.item)?void 0:e.data;((t,e)=>{var a;(null==(a=null==e?void 0:e.replace(/[^\u0000-\u00ff]/g,"aa"))?void 0:a.length)>96?w({message:N.t("TUIContact.修改备注失败: 备注长度不得超过 96 字节"),type:M.ERROR}):A.updateFriend({userID:t,remark:e}).then((()=>{w({message:N.t("TUIContact.修改备注成功"),type:M.SUCCESS})})).catch((t=>{console.warn("update friend remark failed:",t),w({message:N.t("TUIContact.修改备注失败"),type:M.ERROR})}))})(null==(a=null==t?void 0:t.contactInfoData)?void 0:a.userID,o),(null==(l=null==t?void 0:t.item)?void 0:l.editing)&&(t.item.editing=!1),(null==(n=null==t?void 0:t.item)?void 0:n.data)&&(t.item.data=null==(i=null==t?void 0:t.contactInfoData)?void 0:i.remark)}else(null==(o=null==t?void 0:t.item)?void 0:o.editing)&&(t.item.editing=!1)}},blackList:{key:"blackList",label:"加入黑名单",data:!1,labelPosition:Z.LEFT,editable:!0,editType:tt.SWITCH,editing:!0,editSubmitHandler:t=>{var e,a,l,n;(null==t?void 0:t.isInBlackList)?(l=null==(e=null==t?void 0:t.contactInfoData)?void 0:e.userID,V.removeFromBlacklist({userIDList:[l]}).then((()=>{n&&n()})).catch((t=>{console.warn("remove from blacklist failed:",t),w({message:N.t("TUIContact.移除黑名单失败"),type:M.ERROR})}))):(((t,e)=>{V.addToBlacklist({userIDList:[t]}).then((()=>{e&&e()})).catch((t=>{console.warn("add to blacklist failed:",t),w({message:N.t("TUIContact.加入黑名单失败"),type:M.ERROR})}))})(null==(a=null==t?void 0:t.contactInfoData)?void 0:a.userID),O.update(L.CUSTOM,"currentContactListKey","blackList"))}},setWords:{key:"setWords",label:"请填写验证信息",data:"",labelPosition:Z.TOP,editable:!0,editType:tt.TEXTAREA,editing:!0},displayWords:{key:"displayWords",label:"验证信息",data:"",labelPosition:Z.LEFT,editable:!1}},Ct={dismissGroup:{key:"dismissGroup",label:"解散群聊",type:et.CANCEL,onClick:t=>{var e,a;a=null==(e=null==t?void 0:t.contactInfoData)?void 0:e.groupID,B.dismissGroup(a).then((()=>{var t,e;w({message:N.t("TUIContact.解散群聊成功"),type:M.SUCCESS}),(null==(t=j)?void 0:t.updateContactSearch)&&(null==(e=j)||e.updateContactSearch())})).catch((t=>{console.warn("dismiss group failed:",t),w({message:N.t("TUIContact.解散群聊失败"),type:M.ERROR})}))}},quitGroup:{key:"quitGroup",label:"退出群聊",type:et.CANCEL,onClick:t=>{var e,a;a=null==(e=null==t?void 0:t.contactInfoData)?void 0:e.groupID,B.quitGroup(a).then((()=>{w({message:N.t("TUIContact.退出群组成功"),type:M.SUCCESS})})).catch((t=>{console.warn("quit group failed:",t),w({message:N.t("TUIContact.退出群组失败"),type:M.ERROR})}))}},joinGroup:{key:"joinGroup",label:"发送申请",type:et.SUBMIT,onClick:t=>{var e,a;dt(null==(e=null==t?void 0:t.contactInfoData)?void 0:e.groupID,null==(a=null==t?void 0:t.contactInfoMoreList[0])?void 0:a.data)}},joinAVChatGroup:{key:"joinAVChatGroup",label:"加入直播群",type:et.SUBMIT,onClick:t=>{var e;dt(null==(e=null==t?void 0:t.contactInfoData)?void 0:e.groupID)}},enterGroupConversation:{key:"enterGroupConversation",label:"进入群聊",type:et.SUBMIT,onClick:t=>{st(null==t?void 0:t.contactInfoData)}},addFriend:{key:"addFriend",label:"发送申请",type:et.SUBMIT,onClick:t=>{var e,a,l,n;n={to:null==(e=null==t?void 0:t.contactInfoData)?void 0:e.userID,source:"AddSource_Type_Web",remark:null==(a=null==t?void 0:t.contactInfoMoreList[1])?void 0:a.data,wording:null==(l=null==t?void 0:t.contactInfoMoreList[0])?void 0:l.data},A.addFriend(n).then((()=>{w({message:N.t("TUIContact.申请已发送"),type:M.SUCCESS})})).catch((t=>{console.warn("delete friend failed:",t),w({message:N.t("TUIContact.申请发送失败"),type:M.ERROR})}))}},deleteFriend:{key:"deleteFriend",label:"删除好友",type:et.CANCEL,onClick:t=>{var e,a;a=null==(e=null==t?void 0:t.contactInfoData)?void 0:e.userID,A.deleteFriend({userIDList:[a],type:Y.TYPES.SNS_DELETE_TYPE_BOTH}).then((t=>{const{successUserIDList:e}=t.data;e[0].userID===a?w({message:N.t("TUIContact.删除好友成功"),type:M.SUCCESS}):w({message:N.t("TUIContact.删除好友失败"),type:M.ERROR})})).catch((t=>{console.warn("delete friend failed:",t),w({message:N.t("TUIContact.删除好友失败"),type:M.ERROR})}))}},enterC2CConversation:{key:"enterC2CConversation",label:"发送消息",type:et.SUBMIT,onClick:t=>{st(null==t?void 0:t.contactInfoData)}},acceptFriendApplication:{key:"acceptFriendApplication",label:"同意",type:et.SUBMIT,onClick:t=>{var e;rt(null==(e=null==t?void 0:t.contactInfoData)?void 0:e.userID),O.update(L.CUSTOM,"currentContactListKey","friendList")}},refuseFriendApplication:{key:"refuseFriendApplication",label:"拒绝",type:et.CANCEL,onClick:t=>{var e,a;a=null==(e=null==t?void 0:t.contactInfoData)?void 0:e.userID,A.refuseFriendApplication(a).then((()=>{w({message:N.t("TUIContact.拒绝成功"),type:M.SUCCESS})})).catch((t=>{console.warn("accept friend application failed:",t),w({message:N.t("TUIContact.拒绝好友申请失败"),type:M.ERROR})}))}}},mt=J(t({__name:"index",props:{value:{type:Boolean,default:!1}},setup:t=>(e,a)=>(l(),u("div",{class:c(["tui-switch",t.value?"tui-switch-checked":"tui-switch-no-checked"])},null,2))}),[["__scopeId","data-v-cf2c249c"]]),It=J(t({__name:"index",emits:["switchConversation"],setup(t,{emit:a}){const o=a,d=e({}),h=e([]),I=e([]),E=e([]),D=S((()=>{var t;return!!(null==(t=d.value)?void 0:t.groupID)})),R=S((()=>ct(null==d?void 0:d.value))),P=e(!1),w=S((()=>{var t,e;return!!(null==(e=null==(t=d.value)?void 0:t.selfInfo)?void 0:e.userID)})),M=S((()=>{var t;return!D.value&&(null==(t=G.value)?void 0:t.findIndex((t=>{var e;return(null==t?void 0:t.userID)===(null==(e=d.value)?void 0:e.userID)})))>=0})),G=e([]);g((()=>{O.watch(L.CUSTOM,{currentContactInfo:$}),O.watch(L.USER,{userBlacklist:K})})),k((()=>{O.unwatch(L.CUSTOM,{currentContactInfo:$}),O.unwatch(L.USER,{userBlacklist:K})}));const B=()=>{var t,e;O.update(L.CUSTOM,"currentContactInfo",{}),O.update(L.CUSTOM,"currentContactSearchingStatus",!1),(null==(t=j)?void 0:t.closeSearching)&&(null==(e=j)||e.closeSearching())},V=t=>{t.editSubmitHandler&&t.editSubmitHandler({item:t,contactInfoData:d.value,isBothFriend:P.value,isInBlackList:M.value})};function K(t){G.value=t}async function $(t){var e,a;d.value&&t&&JSON.stringify(d.value)===JSON.stringify(t)||(d.value={},h.value=[],I.value=[],E.value=[],d.value=q(t)||{},d.value&&0!==(null==(e=Object.keys(d.value))?void 0:e.length)&&(h.value=(t=>{var e;const a=[{label:(null==t?void 0:t.groupID)?"群ID":"ID",data:(null==t?void 0:t.groupID)||(null==t?void 0:t.userID)||""}];return ct(t)||a.push({label:(null==t?void 0:t.groupID)?"群类型":"个性签名",data:(null==t?void 0:t.type)||(null==(e=null==t?void 0:t.profile)?void 0:e.selfSignature)||""}),a})(d.value),P.value=await(a=d.value,new Promise(((t,e)=>{!(null==a?void 0:a.groupID)&&(null==a?void 0:a.userID)?(null==a?void 0:a.addTime)?t(!0):A.checkFriend({userIDList:[null==a?void 0:a.userID],type:Y.TYPES.SNS_CHECK_TYPE_BOTH}).then((e=>{var a,l;switch(null==(l=null==(a=null==e?void 0:e.data)?void 0:a.successUserIDList[0])?void 0:l.relation){case Y.TYPES.SNS_TYPE_NO_RELATION:case Y.TYPES.SNS_TYPE_A_WITH_B:case Y.TYPES.SNS_TYPE_B_WITH_A:t(!1);break;case Y.TYPES.SNS_TYPE_BOTH_WAY:t(!0);break;default:t(!1)}})).catch((t=>{console.warn("checkFriend error",t),e(t)})):t(!1)}))),(async()=>{var t,e,a,l,n;R.value?(ht.displayWords.data=(null==(n=d.value)?void 0:n.wording)||"",I.value.push(ht.displayWords)):((!D.value&&!P.value&&!M.value||D.value&&!w.value&&(null==(t=d.value)?void 0:t.type)!==(null==(a=null==(e=Y)?void 0:e.TYPES)?void 0:a.GRP_AVCHATROOM))&&(ht.setWords.data="",I.value.push(ht.setWords)),D.value||M.value||(ht.setRemark.data=(null==(l=d.value)?void 0:l.remark)||"",ht.setRemark.editing=!1,I.value.push(ht.setRemark)),D.value||!P.value&&!M.value||(ht.blackList.data=M.value||!1,I.value.push(ht.blackList)))})(),(()=>{var t,e,a,l,n,i,o,u,c,s,r,v,p,h,C,m,I;M.value||(R.value?(null==(t=d.value)?void 0:t.type)===(null==(a=null==(e=Y)?void 0:e.TYPES)?void 0:a.SNS_APPLICATION_SENT_TO_ME)&&(null==(l=null==E?void 0:E.value)||l.push(Ct.refuseFriendApplication),null==(n=null==E?void 0:E.value)||n.push(Ct.acceptFriendApplication)):D.value&&w.value?("Owner"===(null==(o=null==(i=d.value)?void 0:i.selfInfo)?void 0:o.role)?null==(u=null==E?void 0:E.value)||u.push(Ct.dismissGroup):null==(c=null==E?void 0:E.value)||c.push(Ct.quitGroup),null==(s=null==E?void 0:E.value)||s.push(Ct.enterGroupConversation)):!D.value&&P.value?(null==(r=null==E?void 0:E.value)||r.push(Ct.deleteFriend),null==(v=null==E?void 0:E.value)||v.push(Ct.enterC2CConversation)):D.value?null==(m=null==E?void 0:E.value)||m.push((null==(p=d.value)?void 0:p.type)===(null==(C=null==(h=Y)?void 0:h.TYPES)?void 0:C.GRP_AVCHATROOM)?Ct.joinAVChatGroup:Ct.joinGroup):null==(I=null==E?void 0:E.value)||I.push(Ct.addFriend))})(),t.infoKeyList&&(I.value=t.infoKeyList.map((t=>ht[t]))),t.btnKeyList&&(E.value=t.btnKeyList.map((t=>Ct[t])))))}return(t,e)=>{const a=m,S=b,g=y;return"object"==typeof i(d)&&Object.keys(i(d)).length?(l(),u("div",{key:0,class:c(["tui-contact-info",!i(x)&&"tui-contact-info-h5"])},[i(x)?p("",!0):(l(),u("div",{key:0,class:c(["tui-contact-info-header",!i(x)&&"tui-contact-info-h5-header"])},[s("div",{class:c(["tui-contact-info-header-icon",!i(x)&&"tui-contact-info-h5-header-icon"]),onClick:B},[r(F,{file:i(W)},null,8,["file"])],2),s("div",{class:c(["tui-contact-info-header-title",!i(x)&&"tui-contact-info-h5-header-title"])},v(i(N).t("TUIContact.添加好友/群聊")),3)],2)),s("div",{class:c(["tui-contact-info-basic",!i(x)&&"tui-contact-info-h5-basic"])},[s("div",{class:c(["tui-contact-info-basic-text",!i(x)&&"tui-contact-info-h5-basic-text"])},[s("div",{class:c(["tui-contact-info-basic-text-name",!i(x)&&"tui-contact-info-h5-basic-text-name"])},v(i(ut)(i(d))),3),(l(!0),u(U,null,_(i(h),(t=>(l(),u("div",{key:t.label,class:c(["tui-contact-info-basic-text-other",!i(x)&&"tui-contact-info-h5-basic-text-other"])},v(`${i(N).t(`TUIContact.${t.label}`)}:\n ${t.data}`),3)))),128))],2),s("img",{class:c(["tui-contact-info-basic-avatar",!i(x)&&"tui-contact-info-h5-basic-avatar"]),src:i(it)(i(d))},null,10,["src"])],2),i(I)[0]?(l(),u("div",{key:1,class:c(["tui-contact-info-more",!i(x)&&"tui-contact-info-h5-more"])},[(l(!0),u(U,null,_(i(I),(t=>(l(),u("div",{key:t.key,class:c(["tui-contact-info-more-item",!i(x)&&"tui-contact-info-h5-more-item",t.labelPosition===i(Z).TOP?"tui-contact-info-more-item-top":"tui-contact-info-more-item-left"])},[s("div",{class:c(["tui-contact-info-more-item-label",!i(x)&&"tui-contact-info-h5-more-item-label"])},v(`${i(N).t(`TUIContact.${t.label}`)}`),3),s("div",{class:c(["tui-contact-info-more-item-content",!i(x)&&"tui-contact-info-h5-more-item-content"])},[t.editing?t.editType===i(tt).INPUT?(l(),n(a,{key:1,modelValue:t.data,"onUpdate:modelValue":e=>t.data=e,class:c(["tui-contact-info-more-item-content-input",!i(x)&&"tui-contact-info-h5-more-item-content-input"]),type:"text",onConfirm:e=>V(t),onKeyup:C((e=>V(t)),["enter"])},null,8,["modelValue","onUpdate:modelValue","class","onConfirm","onKeyup"])):t.editType===i(tt).TEXTAREA?(l(),n(S,{key:2,modelValue:t.data,"onUpdate:modelValue":e=>t.data=e,class:c(["tui-contact-info-more-item-content-textarea",!i(x)&&"tui-contact-info-h5-more-item-content-textarea"]),"confirm-type":"done"},null,8,["modelValue","onUpdate:modelValue","class"])):t.editType===i(tt).SWITCH?(l(),u("div",{key:3,onClick:e=>V(t)},[r(mt,{value:t.data},null,8,["value"])],8,["onClick"])):p("",!0):(l(),u("div",{key:0,class:c(["tui-contact-info-more-item-content-text",!i(x)&&"tui-contact-info-h5-more-item-content-text"])},[s("div",{class:c(["tui-contact-info-more-item-content-text-data",!i(x)&&"tui-contact-info-h5-more-item-content-text-data"])},v(t.data),3),t.editable?(l(),u("div",{key:0,class:c(["tui-contact-info-more-item-content-text-icon",!i(x)&&"tui-contact-info-h5-more-item-content-text-icon"]),onClick:e=>(t=>{t.editing=!0})(t)},[r(F,{file:i(H),width:"14px",height:"14px"},null,8,["file"])],10,["onClick"])):p("",!0)],2))],2)],2)))),128))],2)):p("",!0),s("div",{class:c(["tui-contact-info-button",!i(x)&&"tui-contact-info-h5-button"])},[(l(!0),u(U,null,_(i(E),(t=>(l(),n(g,{key:t.key,class:c(["tui-contact-info-button-item",!i(x)&&"tui-contact-info-h5-button-item",t.type===i(et).CANCEL?"tui-contact-info-button-item-cancel":"tui-contact-info-button-item-submit"]),onClick:e=>(t=>{t.onClick&&t.onClick({contactInfoData:d.value,contactInfoMoreList:I.value}),"enterGroupConversation"!==t.key&&"enterC2CConversation"!==t.key||(o("switchConversation",d.value),B())})(t)},{default:f((()=>[T(v(i(N).t(`TUIContact.${t.label}`)),1)])),_:2},1032,["class","onClick"])))),128))],2)],2)):p("",!0)}}}),[["__scopeId","data-v-68a46040"]]),St=J(t({__name:"index",props:{displayType:{type:String,default:"contactList",require:!1}},emits:["switchConversation"],setup(t,{emit:o}){const d=o,v=t,h=e(v.displayType||"contactList"),C=e(!1),m=e(!0),I=e(!0);a((()=>{m.value="selectFriend"!==(null==v?void 0:v.displayType)})),O.watch(L.CUSTOM,{isShowSelectFriendComponent:t=>{var e,a,l;if(!P&&"selectFriend"===(null==v?void 0:v.displayType))return C.value=t,void(m.value=!1);t?(C.value=!0,P&&(h.value="selectFriend",null==(e=j)||e.hideTabBar())):(C.value=!1,P&&(h.value=v.displayType,null==(l=null==(a=j)?void 0:a.showTabBar())||l.catch((()=>{}))))},currentContactInfo:t=>{var e;I.value=x||t&&"object"==typeof t&&(null==(e=Object.keys(t))?void 0:e.length)>0}});const S=t=>{var e;P&&(null==(e=j)||e.navigateTo({url:"/TUIKit/components/TUIChat/index"})),d("switchConversation",t)};return(t,e)=>i(C)?(l(),n(lt,{key:0})):i(m)?(l(),u("div",{key:1,class:c(["tui-contact",!i(x)&&"tui-contact-h5"])},[s("div",{class:c(["tui-contact-left",!i(x)&&"tui-contact-h5-left"])},[r(nt),r(pt,{class:c(["tui-contact-left-list",!i(x)&&"tui-contact-h5-left-list"])},null,8,["class"])],2),i(I)?(l(),u("div",{key:0,class:c(["tui-contact-right",!i(x)&&"tui-contact-h5-right"])},[r(It,{onSwitchConversation:S})],2)):p("",!0)],2)):p("",!0)}}),[["__scopeId","data-v-8f969de8"]]);export{St as default};
|