live.js 6.5 KB

1
  1. "use strict";const e=require("../../common/vendor.js"),m=require("../../api/home.js"),u=require("../../common/assets.js");var g="ws://192.168.10.170:7114/app/webSocket",c=null,r=!1,h=null;const v={data(){return{icon:"公告:",icon2:"广播:",text1:"组件功能丰富多端兼容让您快速集成开箱即用",text2:"丰富多端兼容让您快速集成开箱即用",srcAvatar:"",acttab:0,value:"",talkdisabled:!1,placeholderText:"请输入内容",showadd:!1,autoplay:!0,userinfo:"",path:"http://192.168.10.170/dev-api",livedata:{},bufferRate:0,playDuration:0,videoContext:"",thistime:e.index.$u.timeFormat(new Date,"yyyy-mm-dd hh:MM:ss"),codeimg:"",userid:"4",liveId:"5",upDown:!0,isLongPress:!1,timeout:null,list1:[{name:"讨论"},{name:"资料"}],talklist:[],scrollIntoView:"",showWelcomeMessage:!1,messageContent:""}},mounted(){this.initSocket();var o=this;e.index.$on("initSocket",()=>{o.initSocket()}),e.index.$on("sendMsg",i=>{o.sendMsg(i)}),e.index.$on("closeWebSocket",()=>{o.closeWebSocket()}),this.getEWechatSdk(),this.userinfo=JSON.parse(e.index.getStorageSync("userInfo")),this.getliving(),this.gettalklist()},onReady:function(o){this.videoContext=e.index.createVideoContext("myVideo")},onLoad(){},methods:{gettalklist(){const o={id:this.liveId};m.gettextlist(o).then(i=>{i.code==200&&(this.talklist=i.data,this.$nextTick(()=>{this.scrollIntoView=`list_${this.talklist.length-1}`}))})},longPress(){this.timeout=setTimeout(()=>{this.isLongPress=!0,e.index.saveImageToPhotosAlbum({filePath:this.livedata.qwQrCode,success:()=>{e.index.showToast({title:"保存成功"})},fail:()=>{e.index.showToast({title:"保存失败",icon:"none"})}})},500)},cancelLongPress(){clearTimeout(this.timeout),this.isLongPress=!1},getliving(){this.gettalklist();const o={id:this.liveId};m.getlive(o).then(i=>{i.code==200?(this.livedata=i.data,this.codeimg=i.data.qwQrCode,this.livedata.status==2?(this.autoplay=!0,this.videoContext.seek(this.livedata.nowDuration)):(this.autoplay=!1,this.placeholderText="直播开始才能发言讨论",this.talkdisabled=!0)):e.index.showToast({title:i.msg,icon:"none",duration:2e3})})},addwechat(){this.showadd=!this.showadd},open(){},close(){this.showadd=!this.showadd},tabClick(o){this.acttab=o.index,o.index==0&&this.$nextTick(()=>{this.gettalklist()})},getEWechatSdk(){let o="";/(Android)/i.test(navigator.userAgent)?o="jWeixin":/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)?o="wx":o="jWeixin",e.index.setStorageSync("wxSdk",o)},closeWebSocket(){h!=null&&e.index.closeSocket(),clearInterval(c)},reConnect(){var o=this;try{e.index.closeSocket()}catch{}setTimeout(function(){o.initSocket()},1e4)},initSocket(){var o=this;h=e.index.connectSocket({url:g+"?userId=666&liveId=777&AppToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI2NjYiLCJpYXQiOjE3NTE4NzQ0NzEsImV4cCI6MTc4MzQxMDQ3MX0.3uxTTb0qXygmaY9ItovMclxJCNhNEi6kFEqmfLGg4lP2PYzCPODsVjW4PjXNu6EYsl5eYyESltHWcwBnaNkilQ&signature=ff21bfb41ddd5f2e31d6f5bf32ec565aab9c518614d139fa26727468ce701237&userType=0&timestamp=666",multiple:!0,success:i=>{clearInterval(c),e.index.onSocketMessage(l=>{const n=JSON.parse(l.data);this.talklist.push(n.data),this.$nextTick(()=>{this.scrollIntoView=`list_${this.talklist.length-1}`}),n.cmd=="deleteId"?e.index.$emit("deleteId"):n.cmd=="init"?e.index.$emit("init",n.data):n.cmd=="reload"?e.index.$emit("reload"):n.cmd=="sendStatus"?e.index.$emit("sendStatus",n.data):n.data.cmd=="entry"&&(this.showWelcomeMessage=!0,e.index.$emit("entry",n.data),console.log(n.data))})},error:i=>{e.index.$emit("websocket",0)}}),e.index.onSocketOpen(()=>{r=!0,console.log("WebSocket连接已打开!!"),e.index.showToast({title:"插件已打开",icon:"none"})}),e.index.onSocketClose(()=>{r=!1,clearInterval(c),console.log("WebSocket连接已关闭!"),e.index.showToast({title:"插件离线",icon:"none"}),o.reConnect()}),e.index.onSocketError(()=>{r=!1,clearInterval(c),console.log("WebSocket连接打开失败"),e.index.showToast({title:"插件离线",icon:"none"}),e.index.showModal({content:"聊天连接失败是否重新尝试连接",success(){o.reConnect()}})})},sendMsg(){if(r){const o={liveId:this.livedata.liveId,userId:this.userinfo.userId,userType:0,cmd:"sendMsg",msg:this.value,nickName:this.userinfo.nickName,avatar:this.userinfo.avatar};this.value==""?e.index.showToast({title:"不能发送空消息",icon:"none"}):h.send({data:JSON.stringify(o),success:()=>{console.log("发送成功"),this.value=""},fail:()=>{console.log("发送失败")}})}}}};if(!Array){const o=e.resolveComponent("u-tabs"),i=e.resolveComponent("u-avatar"),l=e.resolveComponent("u-input"),n=e.resolveComponent("u-icon"),t=e.resolveComponent("u-popup");(o+i+l+n+t)()}const f=()=>"../../uni_modules/uview-plus/components/u-tabs/u-tabs.js",x=()=>"../../uni_modules/uview-plus/components/u-avatar/u-avatar.js",_=()=>"../../uni_modules/uview-plus/components/u-input/u-input.js",w=()=>"../../uni_modules/uview-plus/components/u-icon/u-icon.js",k=()=>"../../uni_modules/uview-plus/components/u-popup/u-popup.js";Math||(f+x+_+w+k)();function y(o,i,l,n,t,a){return e.e({a:t.upDown},t.upDown?{b:t.path+t.livedata.videoUrl,c:t.autoplay,d:t.livedata.liveImgUrl}:{},{e:e.o(a.tabClick),f:e.p({list:t.list1,inactiveStyle:"color:#888",itemStyle:"width:120rpx;height: 80rpx;"}),g:e.o(s=>a.getliving()),h:u._imports_0$3,i:t.upDown,j:e.o(s=>t.upDown=!t.upDown),k:u._imports_1$4,l:!t.upDown,m:e.o(s=>t.upDown=!t.upDown),n:t.acttab==0},t.acttab==0?e.e({o:e.f(t.talklist,(s,d,p)=>e.e({a:"81fcd0c9-1-"+p,b:e.p({src:s.avatar,size:"30"}),c:s.userId==t.userinfo.userId&&s.cmd=="sendMsg"},s.userId==t.userinfo.userId&&s.cmd=="sendMsg"?{}:{},{d:s.userType==1},s.userType==1?{}:{},{e:e.t(s.nickName),f:e.t(s.msg),g:s.index,h:`list_${d}`,i:s.cmd=="sendMsg"})),p:t.showWelcomeMessage},t.showWelcomeMessage?{q:e.f(t.talklist,(s,d,p)=>e.e({a:s.userType==1},s.userType==1?{}:{},{b:e.t(s.nickName),c:e.t(s.msg),d:s.index,e:`list_${d}`,f:s.cmd=="entry"||s.cmd=="out"}))}:{},{r:t.scrollIntoView,s:e.o(s=>t.value=s),t:e.p({placeholder:t.placeholderText,border:"none",customStyle:"background:#f1f7f7;padding:12rpx;padding-left:40rpx",shape:"circle",modelValue:t.value}),v:e.o((...s)=>a.sendMsg&&a.sendMsg(...s))}):{},{w:t.acttab==1},t.acttab==1?{x:t.livedata.liveDesc,y:!t.livedata.liveDesc}:{},{z:u._imports_2$1,A:e.o((...s)=>a.addwechat&&a.addwechat(...s)),B:e.o(s=>t.showadd=!t.showadd),C:e.p({name:"close",size:"18"}),D:t.codeimg,E:e.o((...s)=>a.longPress&&a.longPress(...s)),F:e.o((...s)=>a.cancelLongPress&&a.cancelLongPress(...s)),G:e.o(a.close),H:e.o(a.open),I:e.p({show:t.showadd,round:"20rpx",bgColor:"#fffee1"})})}const S=e._export_sfc(v,[["render",y],["__scopeId","data-v-81fcd0c9"]]);wx.createPage(S);