pages-h5-chat.3aad8567.js 19 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-h5-chat"],{1359:function(e,t,i){var a=i("4053");"string"===typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);var n=i("4f06").default;n("09f3c97a",a,!0,{sourceMap:!1,shadowMode:!1})},"2c6a":function(e,t,i){var a=i("82d4");"string"===typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);var n=i("4f06").default;n("23c94668",a,!0,{sourceMap:!1,shadowMode:!1})},3309:function(e,t,i){"use strict";var a=i("4ea4");i("a9e3"),i("498a"),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(i("63c2")),s={name:"u-input",mixins:[n.default],props:{value:{type:[String,Number],default:""},type:{type:String,default:"text"},inputAlign:{type:String,default:"left"},placeholder:{type:String,default:"请输入内容"},disabled:{type:Boolean,default:!1},maxlength:{type:[Number,String],default:140},placeholderStyle:{type:String,default:"color: #c0c4cc;"},confirmType:{type:String,default:"done"},customStyle:{type:Object,default:function(){return{}}},fixed:{type:Boolean,default:!1},focus:{type:Boolean,default:!1},passwordIcon:{type:Boolean,default:!0},border:{type:Boolean,default:!1},borderColor:{type:String,default:"#dcdfe6"},autoHeight:{type:Boolean,default:!0},autocomplete:{type:String,default:"off"},selectOpen:{type:Boolean,default:!1},height:{type:[Number,String],default:""},clearable:{type:Boolean,default:!0},cursorSpacing:{type:[Number,String],default:0},selectionStart:{type:[Number,String],default:-1},selectionEnd:{type:[Number,String],default:-1},trim:{type:Boolean,default:!0},showConfirmbar:{type:Boolean,default:!0}},data:function(){return{defaultValue:this.value,inputHeight:70,textareaHeight:100,validateState:!1,focused:!1,showPassword:!1,lastValue:""}},watch:{value:function(e,t){this.defaultValue=e,e!=t&&"select"==this.type&&this.handleInput({detail:{value:e}})}},computed:{inputMaxlength:function(){return Number(this.maxlength)},getStyle:function(){var e={};return e.minHeight=this.height?this.height+"rpx":"textarea"==this.type?this.textareaHeight+"rpx":this.inputHeight+"rpx",e=Object.assign(e,this.customStyle),e},getCursorSpacing:function(){return Number(this.cursorSpacing)},uSelectionStart:function(){return String(this.selectionStart)},uSelectionEnd:function(){return String(this.selectionEnd)}},created:function(){this.$on("on-form-item-error",this.onFormItemError)},methods:{handleInput:function(e){var t=this,i=e.detail.value;this.trim&&(i=this.$u.trim(i)),this.$emit("input",i),this.defaultValue=i,setTimeout((function(){t.dispatch("u-form-item","on-form-change",i)}),40)},handleBlur:function(e){var t=this;setTimeout((function(){t.focused=!1}),100),this.$emit("blur",e.detail.value),setTimeout((function(){t.dispatch("u-form-item","on-form-blur",e.detail.value)}),40)},onFormItemError:function(e){this.validateState=e},onFocus:function(e){this.focused=!0,this.$emit("focus")},onConfirm:function(e){this.$emit("confirm",e.detail.value)},onClear:function(e){this.$emit("input","")},inputClick:function(){this.$emit("click")}}};t.default=s},"3d80":function(e,t,i){"use strict";i.r(t);var a=i("dcf1"),n=i("8ec2");for(var s in n)"default"!==s&&function(e){i.d(t,e,(function(){return n[e]}))}(s);i("ddfe");var o,r=i("f0c5"),c=Object(r["a"])(n["default"],a["b"],a["c"],!1,null,"5fecc6f6",null,!1,a["a"],o);t["default"]=c.exports},4053:function(e,t,i){var a=i("24fb");t=a(!1),t.push([e.i,'@charset "UTF-8";\n/**\n * 下方引入的为uView UI的集成样式文件,为scss预处理器,其中包含了一些"u-"开头的自定义变量\n * uView自定义的css类名和scss变量,均以"u-"开头,不会造成冲突,请放心使用 \n */.u-input[data-v-359933cf]{position:relative;flex:1;display:flex;flex-direction:row}.u-input__input[data-v-359933cf]{font-size:%?28?%;color:#303133;flex:1}.u-input__textarea[data-v-359933cf]{width:auto;font-size:%?28?%;color:#303133;padding:%?10?% 0;line-height:normal;flex:1}.u-input--border[data-v-359933cf]{border-radius:%?6?%;border-radius:4px;border:1px solid #dcdfe6}.u-input--error[data-v-359933cf]{border-color:#fa3534!important}.u-input__right-icon__item[data-v-359933cf]{margin-left:%?10?%}.u-input__right-icon--select[data-v-359933cf]{transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s,-webkit-transform .4s}.u-input__right-icon--select--reverse[data-v-359933cf]{-webkit-transform:rotate(-180deg);transform:rotate(-180deg)}',""]),e.exports=t},"47e6":function(e,t,i){"use strict";i.r(t);var a=i("ea42"),n=i("b1f9");for(var s in n)"default"!==s&&function(e){i.d(t,e,(function(){return n[e]}))}(s);i("a4e3");var o,r=i("f0c5"),c=Object(r["a"])(n["default"],a["b"],a["c"],!1,null,"359933cf",null,!1,a["a"],o);t["default"]=c.exports},"63c2":function(e,t,i){"use strict";function a(e,t,i){this.$children.map((function(n){e===n.$options.name?n.$emit.apply(n,[t].concat(i)):a.apply(n,[e,t].concat(i))}))}i("99af"),i("d81d"),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n={methods:{dispatch:function(e,t,i){var a=this.$parent||this.$root,n=a.$options.name;while(a&&(!n||n!==e))a=a.$parent,a&&(n=a.$options.name);a&&a.$emit.apply(a,[t].concat(i))},broadcast:function(e,t,i){a.call(this,e,t,i)}}};t.default=n},7474:function(e,t,i){"use strict";var a=i("4ea4");i("26e9"),i("fb6a"),i("e25e"),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=a(i("ade3")),s={data:function(){var e;return e={params:{page:1,limit:30,type:1,user_id:0,chat_key:"",id:0},formData:{type:1,op:"chat",message_type:1,message:"",from_uid:0,to_uid:0,order_no:""},socket:null,heartbeat:{},fileList:[],uploadConfig:{url:this.$request.baseUrl+"/api/upload/image",header:{Authorization:"Bearer "+uni.getStorageSync("tokens")}},userInfo:{},reconnect:0,maxConnect:10},(0,n.default)(e,"heartbeat",{timeout:5e3,timerId:null,serverId:null,reset:function(){return console.log("reset-heart"),clearInterval(this.timerId),clearInterval(this.serverId),this},start:function(e){var t=this;e&&e.send("ping"),console.log(t.timeout),t.timerId=setInterval((function(){console.log("ping"),e&&e.send("ping"),t.serverId=setInterval((function(){console.log("heart-close"),e&&e.close()}),10*t.timeout)}),t.timeout)}}),(0,n.default)(e,"messageList",[]),(0,n.default)(e,"token",""),(0,n.default)(e,"connecting",!1),(0,n.default)(e,"reload",!1),(0,n.default)(e,"loading",!1),e},onLoad:function(e){this.formData.to_uid="undefined"!=typeof e.chat_uid?e.chat_uid:0,this.formData.from_uid="undefined"!=typeof e.from_uid?e.from_uid:0,this.token="undefined"!=typeof e.token?e.token:"",this.formData.order_no=e&&"undefined"!=typeof e.order_no?e.order_no:"",this.params.chat_key=e&&"undefined"!=typeof e.chat_key?e.chat_key:"",this.formData.to_uid<=0&&(this.$u.toast("用户参数错误,请返回或刷新重试"),this.show=!1),this.getUserInfo(),this.initChat(""),uni.setNavigationBarTitle({title:1==this.formData.to_uid?this.lang.chat_custom_title:this.lang.chat_title})},updated:function(){var e=this;e.updateScroll(),document.addEventListener("visibilitychange",(function(){"hidden"==document.visibilityState&&(e.reload=!0,e.socket&&e.socket.close()),"visible"==document.visibilityState&&(e.messageList=[],e.reload=!1,e.initChat(""),e.getList())}))},methods:{substr:function(e,t){return e.slice(0,t)},showImage:function(e){uni.previewImage({current:0,urls:[e],longPressActions:{itemList:[e],success:function(e){}}})},initChat:function(e){var t=this;try{return!t.connecting&&(t.connecting=!0,t.socket=new WebSocket(this.$request.socketUrl),t.socket.onopen=function(i){t.connecting=!1,e&&(t.socket.send(JSON.stringify(e)),t.formData.message=""),t.heartbeat.start(t.socket)},t.socket.onmessage=function(e){"pong"!==e.data&&(t.heartbeat.reset().start(t.socket),t.onMessage(e.data))},t.socket.onclose=function(e){t.onClose(e)},t.socket.onerror=function(e){t.onFail(e)},!0)}catch(i){return console.log(i),t.connecting=!1,!1}},onFail:function(e){console.log(e)},onOpen:function(e){console.log(e)},onMessage:function(e){var t=e?JSON.parse(e):{};1!=t.type||this.chat_key&&this.chat_key!=t.chat_key||this.messageList.push(t)},close:function(){this.heartbeat.reset(),this.socket&&this.socket.close()},onClose:function(e){var t=this;console.log(e),this.socket.close(),t.reconnect++;var i=parseInt(5e3*Math.random()+5e3);t.reconnect<=t.maxConnect?setTimeout((function(){t.initChat("")}),i):t.$u.toast(t.lang.connect_fail)},send:function(){var e=this;if(this.formData.message_type=1,""==this.formData.message)return this.$u.toast(this.lang.input_message),!1;e.socket?(e.socket.send(JSON.stringify(this.formData)),e.heartbeat.reset().start(e.socket),e.formData.message=""):(e.initChat(JSON.stringify(this.formData)),e.formData.message="")},updateScroll:function(){var e=this;this.$nextTick((function(){var t=e.$el.querySelector(".message-box");uni.pageScrollTo({scrollTop:t.scrollHeight,duration:200})}))},uploadedSuccess:function(e){console.log(e);var t=JSON.parse(JSON.stringify(this.formData)),i=e[0].response.data;t.message=i.path,t.message_type=2,t.message_url=i.url,this.socket.send(JSON.stringify(t))},afterRead:function(){},deletePic:function(){},getUserInfo:function(){var e=this,t=this;this.$request.sendToken("/oapi/user/info",{token:this.token},"POST").then((function(i){1==i.success?(t.userInfo=i.data,t.formData.from_uid=t.userInfo.id,t.params.user_id=t.userInfo.id,t.getList(),uni.setStorageSync("otc.user_type",e.userInfo.user_type)):(e.$u.toast(i.msg),setTimeout((function(){uni.navigateTo({url:"/pages/login/login"})}),2e3))}))},getList:function(){var e=this,t=this;if(t.loading)return!1;t.loading=!0,t.params.token=this.token,this.$request.sendToken("/oapi/chat/index",t.params,"POST").then((function(i){if(t.loading=!1,1==i.success){var a=i.data.list?i.data.list.reverse():[],n=t.messageList.length;if(n>0&&a.length>0){for(var s=a,o=0;o<=n;o++)"undefined"!=typeof t.messageList[o]&&s.push(t.messageList[o]);t.messageList=s}else a.length>0&&(t.messageList=a||[]);1!=e.page&&a.length<=0&&(t.loaded=!0),1==e.page&&a.length<=0&&(t.loaded=!0)}}))}}};t.default=s},"82d4":function(e,t,i){var a=i("24fb");t=a(!1),t.push([e.i,'@charset "UTF-8";\n/**\n * 下方引入的为uView UI的集成样式文件,为scss预处理器,其中包含了一些"u-"开头的自定义变量\n * uView自定义的css类名和scss变量,均以"u-"开头,不会造成冲突,请放心使用 \n */.bar-border[data-v-5fecc6f6]{top:%?102?%;position:fixed;border-bottom:%?2?% solid rgba(241,183,98,.25);width:100%}.message-box[data-v-5fecc6f6]{margin-top:%?38?%;padding:%?0?% %?19?% %?102?%}.message-box .message-item[data-v-5fecc6f6]{margin-bottom:%?38?%}.message-box .message-item .name[data-v-5fecc6f6]{color:#bb955e;margin-bottom:%?8?%}.message-box .message-item .avatar .icon[data-v-5fecc6f6]{vertical-align:middle;width:%?46?%;height:%?46?%}.message-box .message-item .info .message .text[data-v-5fecc6f6]{max-width:80%;position:relative;background-color:#ededed;padding:%?19?%;display:inline-block;border-radius:%?8?%}.message-box .message-item .info .message .image[data-v-5fecc6f6]{width:%?120?%;height:%?100?%}.message-box .message-item .info .time[data-v-5fecc6f6]{margin:%?10?% auto;text-align:center;color:#d7dbdd;font-size:%?24?%}.message-box .message-item .text-receive[data-v-5fecc6f6]{text-align:left}.message-box .message-item .text-receive .name .text[data-v-5fecc6f6]{margin-left:%?10?%}.message-box .message-item .text-receive .message[data-v-5fecc6f6]{margin-left:%?50?%}.message-box .message-item .text-receive .message .icon[data-v-5fecc6f6]{width:%?24?%;height:%?24?%;position:absolute;left:%?-16?%;top:%?16?%;color:#ededed}.message-box .message-item .text-send[data-v-5fecc6f6]{text-align:right}.message-box .message-item .text-send .name .text[data-v-5fecc6f6]{margin-right:%?10?%}.message-box .message-item .text-send .message[data-v-5fecc6f6]{margin-right:%?50?%}.message-box .message-item .text-send .message .icon[data-v-5fecc6f6]{width:%?24?%;height:%?24?%;position:absolute;right:%?-16?%;top:%?16?%;color:#ededed}.send-box[data-v-5fecc6f6]{position:fixed;z-index:998;bottom:0;width:100%;border-top:%?2?% solid rgba(241,183,98,.25);padding-top:%?19?%;background-color:#1f1f1f}.send-box .box[data-v-5fecc6f6]{width:100%;margin-bottom:10px;display:flex}.send-box .image[data-v-5fecc6f6]{position:relative}.send-box .image .icon[data-v-5fecc6f6]{z-index:1;position:relative;width:%?48?%;height:%?48?%;vertical-align:middle;border:%?2?% solid #bb955e;padding:%?6?%;border-radius:50%;margin:0 %?10?%}.send-box .image .u-upload[data-v-5fecc6f6]{position:absolute;z-index:2;width:%?68?%;height:%?66?%;top:0;left:0}.send-box .input[data-v-5fecc6f6]{width:calc(100% - %?90?%)}.send-box .send-input[data-v-5fecc6f6]{width:100%}.send-box .send[data-v-5fecc6f6]{margin:0 %?10?%}.send-box .send .btn[data-v-5fecc6f6]{padding:0;width:%?120?%;height:%?76?%;line-height:%?76?%;border:%?2?% solid #bb955e;color:#bb955e;background-color:initial}',""]),e.exports=t},"8ec2":function(e,t,i){"use strict";i.r(t);var a=i("7474"),n=i.n(a);for(var s in a)"default"!==s&&function(e){i.d(t,e,(function(){return a[e]}))}(s);t["default"]=n.a},a4e3:function(e,t,i){"use strict";var a=i("1359"),n=i.n(a);n.a},b1f9:function(e,t,i){"use strict";i.r(t);var a=i("3309"),n=i.n(a);for(var s in a)"default"!==s&&function(e){i.d(t,e,(function(){return a[e]}))}(s);t["default"]=n.a},dcf1:function(e,t,i){"use strict";i.d(t,"b",(function(){return n})),i.d(t,"c",(function(){return s})),i.d(t,"a",(function(){return a}));var a={uUpload:i("6c02").default,uInput:i("47e6").default},n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("v-uni-view",{staticClass:"chat"},[i("v-uni-view",{staticClass:"bar-border"}),i("v-uni-view",{staticClass:"chat-box"},[i("v-uni-view",{staticClass:"message-box"},e._l(e.messageList,(function(t,a){return i("v-uni-view",{key:a,staticClass:"message-item"},[t.to_uid==e.userInfo.id?i("v-uni-view",{staticClass:"info text-receive"},[a%10==0?i("div",{staticClass:"time"},[e._v(e._s(t.time_text))]):e._e(),i("v-uni-view",{staticClass:"name"},[i("v-uni-text",{staticClass:"avatar color"},[i("v-uni-image",{staticClass:"icon",attrs:{src:"/static/icons/user-filling.png",mode:""}})],1),i("v-uni-text",{staticClass:"text"},[e._v(e._s(t.from_username_text))])],1),i("v-uni-view",{staticClass:"message"},[1==t.message_type?[i("v-uni-view",{staticClass:"text"},[e._v(e._s(t.message)),i("v-uni-image",{staticClass:"icon",attrs:{src:"/static/icons/left-gray.png",mode:""}})],1)]:[i("v-uni-image",{staticClass:"image",attrs:{src:t.message_url,mode:""},on:{click:function(i){arguments[0]=i=e.$handleEvent(i),e.showImage(t.message_url)}}})]],2)],1):i("v-uni-view",{staticClass:"info text-send"},[a%10==0?i("div",{staticClass:"time"},[e._v(e._s(t.time_text))]):e._e(),i("v-uni-view",{staticClass:"name"},[i("v-uni-text",{staticClass:"text"},[e._v(e._s(t.from_username_text))]),i("v-uni-text",{staticClass:"avatar color"},[i("v-uni-image",{staticClass:"icon",attrs:{src:"/static/icons/user-filling.png",mode:""}})],1)],1),i("v-uni-view",{staticClass:"message"},[1==t.message_type?[i("v-uni-view",{staticClass:"text"},[e._v(e._s(t.message)),i("v-uni-image",{staticClass:"icon",attrs:{src:"/static/icons/right-gray.png",mode:""}})],1)]:[i("v-uni-image",{staticClass:"image",attrs:{src:t.message_url,mode:""},on:{click:function(i){arguments[0]=i=e.$handleEvent(i),e.showImage(t.message_url)}}})]],2)],1)],1)})),1),i("v-uni-view",{staticClass:"send-box"},[i("v-uni-view",{staticClass:"box"},[i("v-uni-view",{staticClass:"image"},[i("v-uni-image",{staticClass:"icon",attrs:{src:"/static/icons/image.png",mode:""}}),i("u-upload",{attrs:{action:e.uploadConfig.url,header:e.uploadConfig.header,type:2,accept:"image",imageMode:"aspectFit","file-list":e.fileList,name:"file",maxCount:1,maxSize:10485760},on:{delete:function(t){arguments[0]=t=e.$handleEvent(t),e.deletePic.apply(void 0,arguments)},afterRead:function(t){arguments[0]=t=e.$handleEvent(t),e.afterRead.apply(void 0,arguments)},"on-uploaded":function(t){arguments[0]=t=e.$handleEvent(t),e.uploadedSuccess.apply(void 0,arguments)}}})],1),i("v-uni-view",{staticClass:"input"},[i("u-input",{staticClass:"send-input",attrs:{"border-color":"#bb955e",type:"text",border:!0,clearable:!0},model:{value:e.formData.message,callback:function(t){e.$set(e.formData,"message",t)},expression:"formData.message"}})],1),i("v-uni-view",{staticClass:"send"},[i("v-uni-button",{staticClass:"btn",on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.send()}}},[e._v(e._s(e.lang.send))])],1)],1)],1)],1)],1)},s=[]},ddfe:function(e,t,i){"use strict";var a=i("2c6a"),n=i.n(a);n.a},ea42:function(e,t,i){"use strict";i.d(t,"b",(function(){return n})),i.d(t,"c",(function(){return s})),i.d(t,"a",(function(){return a}));var a={uIcon:i("09ff").default},n=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("v-uni-view",{staticClass:"u-input",class:{"u-input--border":e.border,"u-input--error":e.validateState},style:{padding:"0 "+(e.border?20:0)+"rpx",borderColor:e.borderColor,textAlign:e.inputAlign},on:{click:function(t){t.stopPropagation(),arguments[0]=t=e.$handleEvent(t),e.inputClick.apply(void 0,arguments)}}},["textarea"==e.type?i("v-uni-textarea",{staticClass:"u-input__input u-input__textarea",style:[e.getStyle],attrs:{value:e.defaultValue,placeholder:e.placeholder,placeholderStyle:e.placeholderStyle,disabled:e.disabled,maxlength:e.inputMaxlength,fixed:e.fixed,focus:e.focus,autoHeight:e.autoHeight,"selection-end":e.uSelectionEnd,"selection-start":e.uSelectionStart,"cursor-spacing":e.getCursorSpacing,"show-confirm-bar":e.showConfirmbar},on:{input:function(t){arguments[0]=t=e.$handleEvent(t),e.handleInput.apply(void 0,arguments)},blur:function(t){arguments[0]=t=e.$handleEvent(t),e.handleBlur.apply(void 0,arguments)},focus:function(t){arguments[0]=t=e.$handleEvent(t),e.onFocus.apply(void 0,arguments)},confirm:function(t){arguments[0]=t=e.$handleEvent(t),e.onConfirm.apply(void 0,arguments)}}}):i("v-uni-input",{staticClass:"u-input__input",style:[e.getStyle],attrs:{type:"password"==e.type?"text":e.type,value:e.defaultValue,password:"password"==e.type&&!e.showPassword,placeholder:e.placeholder,placeholderStyle:e.placeholderStyle,disabled:e.disabled||"select"===e.type,maxlength:e.inputMaxlength,focus:e.focus,confirmType:e.confirmType,"cursor-spacing":e.getCursorSpacing,"selection-end":e.uSelectionEnd,"selection-start":e.uSelectionStart,"show-confirm-bar":e.showConfirmbar,autocomplete:e.autocomplete},on:{focus:function(t){arguments[0]=t=e.$handleEvent(t),e.onFocus.apply(void 0,arguments)},blur:function(t){arguments[0]=t=e.$handleEvent(t),e.handleBlur.apply(void 0,arguments)},input:function(t){arguments[0]=t=e.$handleEvent(t),e.handleInput.apply(void 0,arguments)},confirm:function(t){arguments[0]=t=e.$handleEvent(t),e.onConfirm.apply(void 0,arguments)}}}),i("v-uni-view",{staticClass:"u-input__right-icon u-flex"},[e.clearable&&""!=e.value&&e.focused?i("v-uni-view",{staticClass:"u-input__right-icon__clear u-input__right-icon__item",on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.onClear.apply(void 0,arguments)}}},[i("u-icon",{attrs:{size:"32",name:"close-circle-fill",color:"#c0c4cc"}})],1):e._e(),e.passwordIcon&&"password"==e.type?i("v-uni-view",{staticClass:"u-input__right-icon__clear u-input__right-icon__item"},[i("u-icon",{attrs:{size:"32",name:e.showPassword?"eye-fill":"eye",color:"#c0c4cc"},on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.showPassword=!e.showPassword}}})],1):e._e(),"select"==e.type?i("v-uni-view",{staticClass:"u-input__right-icon--select u-input__right-icon__item",class:{"u-input__right-icon--select--reverse":e.selectOpen}},[i("u-icon",{attrs:{name:"arrow-down-fill",size:"26",color:"#c0c4cc"}})],1):e._e()],1)],1)},s=[]}}]);