增加客服按钮新消息闪动,逻辑如下:

1、加载首页时保存一次客服消息总数,之后每5秒查询一次最新的总数并对数据进行比对,两条数据存储到localStorage中
2、切换到我的盛安页面后新增interval,每2秒调取一次数据进行比对
3、打开客服聊天离开页面时将最新的客服总数替换掉localStorage中数据
This commit is contained in:
1378012178@qq.com 2025-02-11 14:16:34 +08:00
parent 8b04e2471c
commit a3042d40d0
5 changed files with 1754 additions and 899 deletions

View File

@ -2078,7 +2078,8 @@
"pagePath": "pages/my/index",
"iconPath": "static/tabbar/bottom4_1.png",
"selectedIconPath": "static/tabbar/bottom4_2.png",
"text": "我的盛安"
"text": "我的盛安",
"badge": ""
}
]
}

File diff suppressed because it is too large Load Diff

View File

@ -1,16 +1,19 @@
<template>
<view>
<view style="width: 100%;padding-bottom: 140rpx;padding-top: 40rpx;" @click="guanbi">
<view style="display: flex;flex-direction: column;" v-for="(item,index) in ListItem" :key='index' >
<view style="display: flex;flex-direction: column;" v-for="(item,index) in ListItem" :key='index'>
<view style="margin-top: 15rpx;width: 100%;text-align: center;font-size: 26rpx;color: #999999;">
{{item.createTime}}</view>
{{item.createTime}}
</view>
<view v-if="item.userId === userId" style="width: 83%;margin-left: 15%;">
<view class="chat-listitem" style="float: right;">
<rich-text @longpress="copy(item.content)" v-if="item.content && item.messageType === 3" :nodes="item.content"></rich-text>
<view @longpress="copy(item.content)" v-if="item.content && item.messageType === 1" class="chat-listitem-text" style="margin-right: 20rpx;">{{item.content}}</view>
<image @tap="viewImg(item.content)" v-if="item.content && item.messageType === 2" :src="item.content"
style="height: 200rpx;width: 200rpx;margin-right: 20rpx;"></image>
<rich-text @longpress="copy(item.content)" v-if="item.content && item.messageType === 3"
:nodes="item.content"></rich-text>
<view @longpress="copy(item.content)" v-if="item.content && item.messageType === 1"
class="chat-listitem-text" style="margin-right: 20rpx;">{{item.content}}</view>
<image @tap="viewImg(item.content)" v-if="item.content && item.messageType === 2"
:src="item.content" style="height: 200rpx;width: 200rpx;margin-right: 20rpx;"></image>
<view>
<image v-if="item.avatar" :src="item.avatar" class="chat-listitem-image"></image>
<image v-else src="../../static/logo.png" class="chat-listitem-image"></image>
@ -20,12 +23,13 @@
<view v-if="item.userId != userId" style="width: 83%;margin-right: 15%;">
<view class="chat-listitem" style="float: left;margin-left: 10rpx;">
<view>
<image :src="item.avatar?item.avatar:'../../static/logo.png'" class="chat-listitem-image"></image>
<image :src="item.avatar?item.avatar:'../../static/logo.png'" class="chat-listitem-image">
</image>
</view>
<view v-if="item.content && item.messageType === 1" class="chat-listitem-text1"
style="margin-left: 20rpx;">{{item.content}}</view>
<image @tap="viewImg(item.content)" v-if="item.content && item.messageType === 2" :src="item.content"
style="height: 200rpx;width: 200rpx;margin-left: 20rpx;"></image>
<image @tap="viewImg(item.content)" v-if="item.content && item.messageType === 2"
:src="item.content" style="height: 200rpx;width: 200rpx;margin-left: 20rpx;"></image>
</view>
</view>
</view>
@ -43,7 +47,9 @@
<!-- 更多功能 相册-拍照-红包 -->
<view class="more-layer" :class="{hidden:hideMore}">
<view class="list">
<view class="box" @tap="chooseImage"><view class="icon tupian2"></view></view>
<view class="box" @tap="chooseImage">
<view class="icon tupian2"></view>
</view>
<!-- <view class="box" @tap="camera"><view class="icon paizhao"></view></view> -->
</view>
</view>
@ -59,7 +65,7 @@
<view class="textbox">
<view class="text-mode" :class="isVoice?'hidden':''">
<view class="box">
<textarea auto-height="true" @confirm='setChatSave(1)' v-model="content"/>
<textarea auto-height="true" @confirm='setChatSave(1)' v-model="content" />
</view>
<view class="em" @tap="chooseEmoji">
<view class="icon biaoqing"></view>
@ -84,7 +90,7 @@
data() {
return {
videos: [],
charShow:0,
charShow: 0,
connected: false,
connecting: false,
msg: false,
@ -120,28 +126,509 @@
chatConversationId: '',
byUserId: '',
//
textMsg:'',
textMsg: '',
//
msgList:[],
msgImgList:[],
myuid:0,
isVoice:false,
msgList: [],
msgImgList: [],
myuid: 0,
isVoice: false,
//
popupLayerClass:'',
popupLayerClass: '',
// more
hideMore:true,
hideMore: true,
//
hideEmoji:true,
emojiList:[
[{"url":"100.gif",alt:"[微笑]"},{"url":"101.gif",alt:"[伤心]"},{"url":"102.gif",alt:"[美女]"},{"url":"103.gif",alt:"[发呆]"},{"url":"104.gif",alt:"[墨镜]"},{"url":"105.gif",alt:"[哭]"},{"url":"106.gif",alt:"[羞]"},{"url":"107.gif",alt:"[哑]"},{"url":"108.gif",alt:"[睡]"},{"url":"109.gif",alt:"[哭]"},{"url":"110.gif",alt:"[囧]"},{"url":"111.gif",alt:"[怒]"},{"url":"112.gif",alt:"[调皮]"},{"url":"113.gif",alt:"[笑]"},{"url":"114.gif",alt:"[惊讶]"},{"url":"115.gif",alt:"[难过]"},{"url":"116.gif",alt:"[酷]"},{"url":"117.gif",alt:"[汗]"},{"url":"118.gif",alt:"[抓狂]"},{"url":"119.gif",alt:"[吐]"},{"url":"120.gif",alt:"[笑]"},{"url":"121.gif",alt:"[快乐]"},{"url":"122.gif",alt:"[奇]"},{"url":"123.gif",alt:"[傲]"}],
[{"url":"124.gif",alt:"[饿]"},{"url":"125.gif",alt:"[累]"},{"url":"126.gif",alt:"[吓]"},{"url":"127.gif",alt:"[汗]"},{"url":"128.gif",alt:"[高兴]"},{"url":"129.gif",alt:"[闲]"},{"url":"130.gif",alt:"[努力]"},{"url":"131.gif",alt:"[骂]"},{"url":"132.gif",alt:"[疑问]"},{"url":"133.gif",alt:"[秘密]"},{"url":"134.gif",alt:"[乱]"},{"url":"135.gif",alt:"[疯]"},{"url":"136.gif",alt:"[哀]"},{"url":"137.gif",alt:"[鬼]"},{"url":"138.gif",alt:"[打击]"},{"url":"139.gif",alt:"[bye]"},{"url":"140.gif",alt:"[汗]"},{"url":"141.gif",alt:"[抠]"},{"url":"142.gif",alt:"[鼓掌]"},{"url":"143.gif",alt:"[糟糕]"},{"url":"144.gif",alt:"[恶搞]"},{"url":"145.gif",alt:"[什么]"},{"url":"146.gif",alt:"[什么]"},{"url":"147.gif",alt:"[累]"}],
[{"url":"148.gif",alt:"[看]"},{"url":"149.gif",alt:"[难过]"},{"url":"150.gif",alt:"[难过]"},{"url":"151.gif",alt:"[坏]"},{"url":"152.gif",alt:"[亲]"},{"url":"153.gif",alt:"[吓]"},{"url":"154.gif",alt:"[可怜]"},{"url":"155.gif",alt:"[刀]"},{"url":"156.gif",alt:"[水果]"},{"url":"157.gif",alt:"[酒]"},{"url":"158.gif",alt:"[篮球]"},{"url":"159.gif",alt:"[乒乓]"},{"url":"160.gif",alt:"[咖啡]"},{"url":"161.gif",alt:"[美食]"},{"url":"162.gif",alt:"[动物]"},{"url":"163.gif",alt:"[鲜花]"},{"url":"164.gif",alt:"[枯]"},{"url":"165.gif",alt:"[唇]"},{"url":"166.gif",alt:"[爱]"},{"url":"167.gif",alt:"[分手]"},{"url":"168.gif",alt:"[生日]"},{"url":"169.gif",alt:"[电]"},{"url":"170.gif",alt:"[炸弹]"},{"url":"171.gif",alt:"[刀子]"}],
[{"url":"172.gif",alt:"[足球]"},{"url":"173.gif",alt:"[瓢虫]"},{"url":"174.gif",alt:"[翔]"},{"url":"175.gif",alt:"[月亮]"},{"url":"176.gif",alt:"[太阳]"},{"url":"177.gif",alt:"[礼物]"},{"url":"178.gif",alt:"[抱抱]"},{"url":"179.gif",alt:"[拇指]"},{"url":"180.gif",alt:"[贬低]"},{"url":"181.gif",alt:"[握手]"},{"url":"182.gif",alt:"[剪刀手]"},{"url":"183.gif",alt:"[抱拳]"},{"url":"184.gif",alt:"[勾引]"},{"url":"185.gif",alt:"[拳头]"},{"url":"186.gif",alt:"[小拇指]"},{"url":"187.gif",alt:"[拇指八]"},{"url":"188.gif",alt:"[食指]"},{"url":"189.gif",alt:"[ok]"},{"url":"190.gif",alt:"[情侣]"},{"url":"191.gif",alt:"[爱心]"},{"url":"192.gif",alt:"[蹦哒]"},{"url":"193.gif",alt:"[颤抖]"},{"url":"194.gif",alt:"[怄气]"},{"url":"195.gif",alt:"[跳舞]"}],
[{"url":"196.gif",alt:"[发呆]"},{"url":"197.gif",alt:"[背着]"},{"url":"198.gif",alt:"[伸手]"},{"url":"199.gif",alt:"[耍帅]"},{"url":"200.png",alt:"[微笑]"},{"url":"201.png",alt:"[生病]"},{"url":"202.png",alt:"[哭泣]"},{"url":"203.png",alt:"[吐舌]"},{"url":"204.png",alt:"[迷糊]"},{"url":"205.png",alt:"[瞪眼]"},{"url":"206.png",alt:"[恐怖]"},{"url":"207.png",alt:"[忧愁]"},{"url":"208.png",alt:"[眨眉]"},{"url":"209.png",alt:"[闭眼]"},{"url":"210.png",alt:"[鄙视]"},{"url":"211.png",alt:"[阴暗]"},{"url":"212.png",alt:"[小鬼]"},{"url":"213.png",alt:"[礼物]"},{"url":"214.png",alt:"[拜佛]"},{"url":"215.png",alt:"[力量]"},{"url":"216.png",alt:"[金钱]"},{"url":"217.png",alt:"[蛋糕]"},{"url":"218.png",alt:"[彩带]"},{"url":"219.png",alt:"[礼物]"},]
hideEmoji: true,
emojiList: [
[{
"url": "100.gif",
alt: "[微笑]"
}, {
"url": "101.gif",
alt: "[伤心]"
}, {
"url": "102.gif",
alt: "[美女]"
}, {
"url": "103.gif",
alt: "[发呆]"
}, {
"url": "104.gif",
alt: "[墨镜]"
}, {
"url": "105.gif",
alt: "[哭]"
}, {
"url": "106.gif",
alt: "[羞]"
}, {
"url": "107.gif",
alt: "[哑]"
}, {
"url": "108.gif",
alt: "[睡]"
}, {
"url": "109.gif",
alt: "[哭]"
}, {
"url": "110.gif",
alt: "[囧]"
}, {
"url": "111.gif",
alt: "[怒]"
}, {
"url": "112.gif",
alt: "[调皮]"
}, {
"url": "113.gif",
alt: "[笑]"
}, {
"url": "114.gif",
alt: "[惊讶]"
}, {
"url": "115.gif",
alt: "[难过]"
}, {
"url": "116.gif",
alt: "[酷]"
}, {
"url": "117.gif",
alt: "[汗]"
}, {
"url": "118.gif",
alt: "[抓狂]"
}, {
"url": "119.gif",
alt: "[吐]"
}, {
"url": "120.gif",
alt: "[笑]"
}, {
"url": "121.gif",
alt: "[快乐]"
}, {
"url": "122.gif",
alt: "[奇]"
}, {
"url": "123.gif",
alt: "[傲]"
}],
[{
"url": "124.gif",
alt: "[饿]"
}, {
"url": "125.gif",
alt: "[累]"
}, {
"url": "126.gif",
alt: "[吓]"
}, {
"url": "127.gif",
alt: "[汗]"
}, {
"url": "128.gif",
alt: "[高兴]"
}, {
"url": "129.gif",
alt: "[闲]"
}, {
"url": "130.gif",
alt: "[努力]"
}, {
"url": "131.gif",
alt: "[骂]"
}, {
"url": "132.gif",
alt: "[疑问]"
}, {
"url": "133.gif",
alt: "[秘密]"
}, {
"url": "134.gif",
alt: "[乱]"
}, {
"url": "135.gif",
alt: "[疯]"
}, {
"url": "136.gif",
alt: "[哀]"
}, {
"url": "137.gif",
alt: "[鬼]"
}, {
"url": "138.gif",
alt: "[打击]"
}, {
"url": "139.gif",
alt: "[bye]"
}, {
"url": "140.gif",
alt: "[汗]"
}, {
"url": "141.gif",
alt: "[抠]"
}, {
"url": "142.gif",
alt: "[鼓掌]"
}, {
"url": "143.gif",
alt: "[糟糕]"
}, {
"url": "144.gif",
alt: "[恶搞]"
}, {
"url": "145.gif",
alt: "[什么]"
}, {
"url": "146.gif",
alt: "[什么]"
}, {
"url": "147.gif",
alt: "[累]"
}],
[{
"url": "148.gif",
alt: "[看]"
}, {
"url": "149.gif",
alt: "[难过]"
}, {
"url": "150.gif",
alt: "[难过]"
}, {
"url": "151.gif",
alt: "[坏]"
}, {
"url": "152.gif",
alt: "[亲]"
}, {
"url": "153.gif",
alt: "[吓]"
}, {
"url": "154.gif",
alt: "[可怜]"
}, {
"url": "155.gif",
alt: "[刀]"
}, {
"url": "156.gif",
alt: "[水果]"
}, {
"url": "157.gif",
alt: "[酒]"
}, {
"url": "158.gif",
alt: "[篮球]"
}, {
"url": "159.gif",
alt: "[乒乓]"
}, {
"url": "160.gif",
alt: "[咖啡]"
}, {
"url": "161.gif",
alt: "[美食]"
}, {
"url": "162.gif",
alt: "[动物]"
}, {
"url": "163.gif",
alt: "[鲜花]"
}, {
"url": "164.gif",
alt: "[枯]"
}, {
"url": "165.gif",
alt: "[唇]"
}, {
"url": "166.gif",
alt: "[爱]"
}, {
"url": "167.gif",
alt: "[分手]"
}, {
"url": "168.gif",
alt: "[生日]"
}, {
"url": "169.gif",
alt: "[电]"
}, {
"url": "170.gif",
alt: "[炸弹]"
}, {
"url": "171.gif",
alt: "[刀子]"
}],
[{
"url": "172.gif",
alt: "[足球]"
}, {
"url": "173.gif",
alt: "[瓢虫]"
}, {
"url": "174.gif",
alt: "[翔]"
}, {
"url": "175.gif",
alt: "[月亮]"
}, {
"url": "176.gif",
alt: "[太阳]"
}, {
"url": "177.gif",
alt: "[礼物]"
}, {
"url": "178.gif",
alt: "[抱抱]"
}, {
"url": "179.gif",
alt: "[拇指]"
}, {
"url": "180.gif",
alt: "[贬低]"
}, {
"url": "181.gif",
alt: "[握手]"
}, {
"url": "182.gif",
alt: "[剪刀手]"
}, {
"url": "183.gif",
alt: "[抱拳]"
}, {
"url": "184.gif",
alt: "[勾引]"
}, {
"url": "185.gif",
alt: "[拳头]"
}, {
"url": "186.gif",
alt: "[小拇指]"
}, {
"url": "187.gif",
alt: "[拇指八]"
}, {
"url": "188.gif",
alt: "[食指]"
}, {
"url": "189.gif",
alt: "[ok]"
}, {
"url": "190.gif",
alt: "[情侣]"
}, {
"url": "191.gif",
alt: "[爱心]"
}, {
"url": "192.gif",
alt: "[蹦哒]"
}, {
"url": "193.gif",
alt: "[颤抖]"
}, {
"url": "194.gif",
alt: "[怄气]"
}, {
"url": "195.gif",
alt: "[跳舞]"
}],
[{
"url": "196.gif",
alt: "[发呆]"
}, {
"url": "197.gif",
alt: "[背着]"
}, {
"url": "198.gif",
alt: "[伸手]"
}, {
"url": "199.gif",
alt: "[耍帅]"
}, {
"url": "200.png",
alt: "[微笑]"
}, {
"url": "201.png",
alt: "[生病]"
}, {
"url": "202.png",
alt: "[哭泣]"
}, {
"url": "203.png",
alt: "[吐舌]"
}, {
"url": "204.png",
alt: "[迷糊]"
}, {
"url": "205.png",
alt: "[瞪眼]"
}, {
"url": "206.png",
alt: "[恐怖]"
}, {
"url": "207.png",
alt: "[忧愁]"
}, {
"url": "208.png",
alt: "[眨眉]"
}, {
"url": "209.png",
alt: "[闭眼]"
}, {
"url": "210.png",
alt: "[鄙视]"
}, {
"url": "211.png",
alt: "[阴暗]"
}, {
"url": "212.png",
alt: "[小鬼]"
}, {
"url": "213.png",
alt: "[礼物]"
}, {
"url": "214.png",
alt: "[拜佛]"
}, {
"url": "215.png",
alt: "[力量]"
}, {
"url": "216.png",
alt: "[金钱]"
}, {
"url": "217.png",
alt: "[蛋糕]"
}, {
"url": "218.png",
alt: "[彩带]"
}, {
"url": "219.png",
alt: "[礼物]"
}, ]
],
//
onlineEmoji:{"100.gif":"AbNQgA.gif","101.gif":"AbN3ut.gif","102.gif":"AbNM3d.gif","103.gif":"AbN8DP.gif","104.gif":"AbNljI.gif","105.gif":"AbNtUS.gif","106.gif":"AbNGHf.gif","107.gif":"AbNYE8.gif","108.gif":"AbNaCQ.gif","109.gif":"AbNN4g.gif","110.gif":"AbN0vn.gif","111.gif":"AbNd3j.gif","112.gif":"AbNsbV.gif","113.gif":"AbNwgs.gif","114.gif":"AbNrD0.gif","115.gif":"AbNDuq.gif","116.gif":"AbNg5F.gif","117.gif":"AbN6ET.gif","118.gif":"AbNcUU.gif","119.gif":"AbNRC4.gif","120.gif":"AbNhvR.gif","121.gif":"AbNf29.gif","122.gif":"AbNW8J.gif","123.gif":"AbNob6.gif","124.gif":"AbN5K1.gif","125.gif":"AbNHUO.gif","126.gif":"AbNIDx.gif","127.gif":"AbN7VK.gif","128.gif":"AbNb5D.gif","129.gif":"AbNX2d.gif","130.gif":"AbNLPe.gif","131.gif":"AbNjxA.gif","132.gif":"AbNO8H.gif","133.gif":"AbNxKI.gif","134.gif":"AbNzrt.gif","135.gif":"AbU9Vf.gif","136.gif":"AbUSqP.gif","137.gif":"AbUCa8.gif","138.gif":"AbUkGQ.gif","139.gif":"AbUFPg.gif","140.gif":"AbUPIS.gif","141.gif":"AbUZMn.gif","142.gif":"AbUExs.gif","143.gif":"AbUA2j.gif","144.gif":"AbUMIU.gif","145.gif":"AbUerq.gif","146.gif":"AbUKaT.gif","147.gif":"AbUmq0.gif","148.gif":"AbUuZV.gif","149.gif":"AbUliF.gif","150.gif":"AbU1G4.gif","151.gif":"AbU8z9.gif","152.gif":"AbU3RJ.gif","153.gif":"AbUYs1.gif","154.gif":"AbUJMR.gif","155.gif":"AbUadK.gif","156.gif":"AbUtqx.gif","157.gif":"AbUUZ6.gif","158.gif":"AbUBJe.gif","159.gif":"AbUdIO.gif","160.gif":"AbU0iD.gif","161.gif":"AbUrzd.gif","162.gif":"AbUDRH.gif","163.gif":"AbUyQA.gif","164.gif":"AbUWo8.gif","165.gif":"AbU6sI.gif","166.gif":"AbU2eP.gif","167.gif":"AbUcLt.gif","168.gif":"AbU4Jg.gif","169.gif":"AbURdf.gif","170.gif":"AbUhFS.gif","171.gif":"AbU5WQ.gif","172.gif":"AbULwV.gif","173.gif":"AbUIzj.gif","174.gif":"AbUTQs.gif","175.gif":"AbU7yn.gif","176.gif":"AbUqe0.gif","177.gif":"AbUHLq.gif","178.gif":"AbUOoT.gif","179.gif":"AbUvYF.gif","180.gif":"AbUjFU.gif","181.gif":"AbaSSJ.gif","182.gif":"AbUxW4.gif","183.gif":"AbaCO1.gif","184.gif":"Abapl9.gif","185.gif":"Aba9yR.gif","186.gif":"AbaFw6.gif","187.gif":"Abaiex.gif","188.gif":"AbakTK.gif","189.gif":"AbaZfe.png","190.gif":"AbaEFO.gif","191.gif":"AbaVYD.gif","192.gif":"AbamSH.gif","193.gif":"AbaKOI.gif","194.gif":"Abanld.gif","195.gif":"Abau6A.gif","196.gif":"AbaQmt.gif","197.gif":"Abal0P.gif","198.gif":"AbatpQ.gif","199.gif":"Aba1Tf.gif","200.png":"Aba8k8.png","201.png":"AbaGtS.png","202.png":"AbaJfg.png","203.png":"AbaNlj.png","204.png":"Abawmq.png","205.png":"AbaU6s.png","206.png":"AbaaXn.png","207.png":"Aba000.png","208.png":"AbarkT.png","209.png":"AbastU.png","210.png":"AbaB7V.png","211.png":"Abafn1.png","212.png":"Abacp4.png","213.png":"AbayhF.png","214.png":"Abag1J.png","215.png":"Aba2c9.png","216.png":"AbaRXR.png","217.png":"Aba476.png","218.png":"Abah0x.png","219.png":"Abdg58.png"},
webSocketTask:null,
onlineEmoji: {
"100.gif": "AbNQgA.gif",
"101.gif": "AbN3ut.gif",
"102.gif": "AbNM3d.gif",
"103.gif": "AbN8DP.gif",
"104.gif": "AbNljI.gif",
"105.gif": "AbNtUS.gif",
"106.gif": "AbNGHf.gif",
"107.gif": "AbNYE8.gif",
"108.gif": "AbNaCQ.gif",
"109.gif": "AbNN4g.gif",
"110.gif": "AbN0vn.gif",
"111.gif": "AbNd3j.gif",
"112.gif": "AbNsbV.gif",
"113.gif": "AbNwgs.gif",
"114.gif": "AbNrD0.gif",
"115.gif": "AbNDuq.gif",
"116.gif": "AbNg5F.gif",
"117.gif": "AbN6ET.gif",
"118.gif": "AbNcUU.gif",
"119.gif": "AbNRC4.gif",
"120.gif": "AbNhvR.gif",
"121.gif": "AbNf29.gif",
"122.gif": "AbNW8J.gif",
"123.gif": "AbNob6.gif",
"124.gif": "AbN5K1.gif",
"125.gif": "AbNHUO.gif",
"126.gif": "AbNIDx.gif",
"127.gif": "AbN7VK.gif",
"128.gif": "AbNb5D.gif",
"129.gif": "AbNX2d.gif",
"130.gif": "AbNLPe.gif",
"131.gif": "AbNjxA.gif",
"132.gif": "AbNO8H.gif",
"133.gif": "AbNxKI.gif",
"134.gif": "AbNzrt.gif",
"135.gif": "AbU9Vf.gif",
"136.gif": "AbUSqP.gif",
"137.gif": "AbUCa8.gif",
"138.gif": "AbUkGQ.gif",
"139.gif": "AbUFPg.gif",
"140.gif": "AbUPIS.gif",
"141.gif": "AbUZMn.gif",
"142.gif": "AbUExs.gif",
"143.gif": "AbUA2j.gif",
"144.gif": "AbUMIU.gif",
"145.gif": "AbUerq.gif",
"146.gif": "AbUKaT.gif",
"147.gif": "AbUmq0.gif",
"148.gif": "AbUuZV.gif",
"149.gif": "AbUliF.gif",
"150.gif": "AbU1G4.gif",
"151.gif": "AbU8z9.gif",
"152.gif": "AbU3RJ.gif",
"153.gif": "AbUYs1.gif",
"154.gif": "AbUJMR.gif",
"155.gif": "AbUadK.gif",
"156.gif": "AbUtqx.gif",
"157.gif": "AbUUZ6.gif",
"158.gif": "AbUBJe.gif",
"159.gif": "AbUdIO.gif",
"160.gif": "AbU0iD.gif",
"161.gif": "AbUrzd.gif",
"162.gif": "AbUDRH.gif",
"163.gif": "AbUyQA.gif",
"164.gif": "AbUWo8.gif",
"165.gif": "AbU6sI.gif",
"166.gif": "AbU2eP.gif",
"167.gif": "AbUcLt.gif",
"168.gif": "AbU4Jg.gif",
"169.gif": "AbURdf.gif",
"170.gif": "AbUhFS.gif",
"171.gif": "AbU5WQ.gif",
"172.gif": "AbULwV.gif",
"173.gif": "AbUIzj.gif",
"174.gif": "AbUTQs.gif",
"175.gif": "AbU7yn.gif",
"176.gif": "AbUqe0.gif",
"177.gif": "AbUHLq.gif",
"178.gif": "AbUOoT.gif",
"179.gif": "AbUvYF.gif",
"180.gif": "AbUjFU.gif",
"181.gif": "AbaSSJ.gif",
"182.gif": "AbUxW4.gif",
"183.gif": "AbaCO1.gif",
"184.gif": "Abapl9.gif",
"185.gif": "Aba9yR.gif",
"186.gif": "AbaFw6.gif",
"187.gif": "Abaiex.gif",
"188.gif": "AbakTK.gif",
"189.gif": "AbaZfe.png",
"190.gif": "AbaEFO.gif",
"191.gif": "AbaVYD.gif",
"192.gif": "AbamSH.gif",
"193.gif": "AbaKOI.gif",
"194.gif": "Abanld.gif",
"195.gif": "Abau6A.gif",
"196.gif": "AbaQmt.gif",
"197.gif": "Abal0P.gif",
"198.gif": "AbatpQ.gif",
"199.gif": "Aba1Tf.gif",
"200.png": "Aba8k8.png",
"201.png": "AbaGtS.png",
"202.png": "AbaJfg.png",
"203.png": "AbaNlj.png",
"204.png": "Abawmq.png",
"205.png": "AbaU6s.png",
"206.png": "AbaaXn.png",
"207.png": "Aba000.png",
"208.png": "AbarkT.png",
"209.png": "AbastU.png",
"210.png": "AbaB7V.png",
"211.png": "Abafn1.png",
"212.png": "Abacp4.png",
"213.png": "AbayhF.png",
"214.png": "Abag1J.png",
"215.png": "Aba2c9.png",
"216.png": "AbaRXR.png",
"217.png": "Aba476.png",
"218.png": "Abah0x.png",
"219.png": "Abdg58.png"
},
webSocketTask: null,
timer: null,
reconnectCn: 1
};
@ -152,6 +639,7 @@
this.byUserId = d.byUserId
this.chatConversationId = d.chatConversationId;
this.connect();
this.$queue.setData('kfHaveNewMsg', false)
},
computed: {
showMsg() {
@ -166,11 +654,11 @@
}
}
},
onShow(){
onShow() {
// websocket
this.webSocketTask.onMessage((res) => {
let data = JSON.parse(res.data);
console.log("消息及处理",data)
console.log("消息及处理", data)
});
},
mounted() {
@ -179,6 +667,7 @@
// }, 3000);
},
onUnload() {
this.selectMsg()
// uni.closeSocket({
// success: () => {
// console.info("退")
@ -186,21 +675,42 @@
// })
this.reconnectCn = 101;
uni.closeSocket({
code:500,
complete:(res)=>{
console.log("主动断开",res);
code: 500,
complete: (res) => {
console.log("主动断开", res);
}
})
uni.hideLoading();
clearInterval(this.timer);
this.timer = null;
},
methods:{
guanbi(){
methods: {
selectMsg() {
let that = this
let data = {
userId: uni.getStorageSync('userId'),
focusedUserId: '0',
// userName:this.order.userName
}
// app/chat/insertChatConversation
this.$Request.postJson('/app/chat/insertChatConversation', data).then(res => {
if (res.data) {
that.$Request.get('/app/chat/selectChatContent?page=1&limit=1000&chatConversationId=' + res
.data.chatConversationId).then(
res => {
if (res.data) {
// isRefresh
that.$queue.setData('keFuLastMsgCount', res.data.totalCount);
}
});
}
})
},
guanbi() {
this.hideDrawer();
},
showChar(index){
this.charShow!=this.charShow
showChar(index) {
this.charShow != this.charShow
},
copy(content) {
uni.showModal({
@ -294,7 +804,7 @@
},
fail(err) {
//
console.log("--------------"+JSON.stringify(err))
console.log("--------------" + JSON.stringify(err))
}
});
// WebSocket
@ -309,7 +819,7 @@
uni.hideLoading()
console.info("监听WebSocket错误" + res)
});
uni.onSocketMessage(function (res) {
uni.onSocketMessage(function(res) {
console.log('收到服务器内容:' + JSON.stringify(res));
setTimeout(() => {
that.hideDrawer();
@ -321,7 +831,7 @@
that.startRecive = false
that.msg = false
console.log('onClose', res)
if(this.reconnectCn<maxReconnectMaxCn){
if (this.reconnectCn < maxReconnectMaxCn) {
this.reconnectCn = this.reconnectCn + 1;
this.connect();
}
@ -334,20 +844,22 @@
//
getTimeOrListItem1() {
console.log("接受数据测试");
this.$Request.get('/app/chat/selectChatContent?page=1&limit=1000&chatConversationId=' + this.chatConversationId).then(
this.$Request.get('/app/chat/selectChatContent?page=1&limit=1000&chatConversationId=' + this
.chatConversationId).then(
res => {
this.ListItem = [];
if (res.data) {
var time = '';
res.data.list.forEach(d => {
var sf=this.checkBrackets(d.content)
if(sf==true){
var sss=this.replaceEmoji(d.content);
d.content=sss;
d.messageType=3;
var sf = this.checkBrackets(d.content)
if (sf == true) {
var sss = this.replaceEmoji(d.content);
d.content = sss;
d.messageType = 3;
}
this.ListItem.push(d);
});
console.log('jjj')
this.ListItem = this.ListItem.reverse();
setTimeout(() => {
uni.pageScrollTo({
@ -390,8 +902,8 @@
chatConversationId: this.chatConversationId,
}
if(data.messageType==2){
data.width="100"
if (data.messageType == 2) {
data.width = "100"
}
data = JSON.stringify(data);
@ -437,47 +949,47 @@
});
},
//
setPicSize(content){
setPicSize(content) {
// aspectFit
let maxW = uni.upx2px(350);//350
let maxH = uni.upx2px(350);//350
if(content.w>maxW||content.h>maxH){
let scale = content.w/content.h;
content.w = scale>1?maxW:maxH*scale;
content.h = scale>1?maxW/scale:maxH;
let maxW = uni.upx2px(350); //350
let maxH = uni.upx2px(350); //350
if (content.w > maxW || content.h > maxH) {
let scale = content.w / content.h;
content.w = scale > 1 ? maxW : maxH * scale;
content.h = scale > 1 ? maxW / scale : maxH;
}
return content;
},
//(+)
showMore(){
showMore() {
this.isVoice = false;
this.hideEmoji = true;
if(this.hideMore){
if (this.hideMore) {
this.hideMore = false;
this.openDrawer();
}else{
} else {
this.hideDrawer();
}
},
//
openDrawer(){
openDrawer() {
this.popupLayerClass = 'showLayer';
},
//
hideDrawer(){
hideDrawer() {
this.popupLayerClass = '';
setTimeout(()=>{
setTimeout(() => {
this.hideMore = true;
this.hideEmoji = true;
},150);
}, 150);
},
//
chooseImage(){
chooseImage() {
this.getImage('album');
},
//
camera(){
camera() {
let that = this
uni.chooseVideo({
count: 1,
@ -501,12 +1013,12 @@
})
},
// or
getImage(type){
getImage(type) {
this.hideDrawer();
uni.chooseImage({
sourceType:[type],
sourceType: [type],
sizeType: ['original', 'compressed'], //
success: (res)=>{
success: (res) => {
for (let i = 0; i < res.tempFilePaths.length; i++) {
this.$queue.showLoading("上传中...");
uni.uploadFile({ //
@ -525,46 +1037,46 @@
});
},
//
chooseEmoji(){
chooseEmoji() {
this.hideMore = true;
if(this.hideEmoji){
if (this.hideEmoji) {
this.hideEmoji = false;
this.openDrawer();
}else{
} else {
this.hideDrawer();
}
},
//
addEmoji(em){
this.content+=em.alt;
addEmoji(em) {
this.content += em.alt;
},
//ing,
textareaFocus(){
if(this.popupLayerClass=='showLayer' && this.hideMore == false){
textareaFocus() {
if (this.popupLayerClass == 'showLayer' && this.hideMore == false) {
this.hideDrawer();
}
},
//
replaceEmoji(str){
let replacedStr = str.replace(/\[([^(\]|\[)]*)\]/g,(item, index)=>{
for(let i=0;i<this.emojiList.length;i++){
replaceEmoji(str) {
let replacedStr = str.replace(/\[([^(\]|\[)]*)\]/g, (item, index) => {
for (let i = 0; i < this.emojiList.length; i++) {
let row = this.emojiList[i];
for(let j=0;j<row.length;j++){
for (let j = 0; j < row.length; j++) {
let EM = row[j];
if(EM.alt==item){
if (EM.alt == item) {
//线使
//100.gifhttps://www.xxx.com/emoji/100.gif onlinePathhttps://www.xxx.com/emoji/
let onlinePath = 'https://s2.ax1x.com/2019/04/12/'
let imgstr = '<img src="'+onlinePath+this.onlineEmoji[EM.url]+'">';
let imgstr = '<img src="' + onlinePath + this.onlineEmoji[EM.url] + '">';
return imgstr;
}
}
}
});
return '<div style="display: flex;align-items: center;word-wrap:break-word;">'+replacedStr+'</div>';
return '<div style="display: flex;align-items: center;word-wrap:break-word;">' + replacedStr + '</div>';
},
discard(){
discard() {
return;
}
}
@ -572,9 +1084,11 @@
</script>
<style lang="scss" scoped>
@import "@/static/HM-chat/css/style.scss";
/deep/.popup-layer{
/deep/.popup-layer {
width: 100%;
}
page {
background-color: #F7F7F7;
}
@ -614,6 +1128,7 @@
word-break: break-all;
border-radius: 10rpx;
}
.chat-listitem-text1 {
/* color: #FFFFFF; */
background: #FFFFFF;
@ -626,6 +1141,7 @@
word-break: break-all;
border-radius: 10rpx;
}
.chat-listitem-image-type4 {
/* color: #FFFFFF; */
background: #FFFFFF;
@ -651,7 +1167,7 @@
border-radius: 70rpx;
height: 70rpx;
color: #FFF;
background:#005DFF;
background: #005DFF;
margin: 5rpx 10rpx 0;
line-height: 70rpx;
}

View File

@ -154,7 +154,6 @@
this.pickVal=data.target.value;
this.pickVal2=data.target.value;
this.cityData=this.cityArr[0][this.pickVal2[0]].AreaName+'-'+this.cityArr[1][this.pickVal2[1]].AreaName+'-'+this.cityArr[2][this.pickVal2[2]].AreaName
},
//
pluginclass(e) {

View File

@ -175,7 +175,8 @@
<image style="padding: 3rpx;" src="../../static/my-gong-14.png" mode=""></image>
<span class="my-use-list-text">申请业务员</span>
</view>
<view class="my-use-list" v-if="blIsYwy=='1'" @click="useToUrl('/pages/my/applySalesperson/mySalesperson')">
<view class="my-use-list" v-if="blIsYwy=='1'"
@click="useToUrl('/pages/my/applySalesperson/mySalesperson')">
<image style="padding: 3rpx;" src="../../static/my-gong-13.png" mode=""></image>
<span class="my-use-list-text">我是业务员</span>
</view>
@ -183,7 +184,8 @@
<image style="padding: 3rpx;" src="../../static/my-gong-15.png" mode=""></image>
<span class="my-use-list-text">申请分销员</span>
</view>
<view class="my-use-list" v-if="blIsFxy=='1'" @click="useToUrl('/pages/my/applyDistributor/myDistributor')">
<view class="my-use-list" v-if="blIsFxy=='1'"
@click="useToUrl('/pages/my/applyDistributor/myDistributor')">
<image style="padding: 3rpx;" src="../../static/my-gong-16.png" mode=""></image>
<span class="my-use-list-text">我是分销员</span>
</view>
@ -191,7 +193,8 @@
<image style="padding: 3rpx;" src="../../static/my-gong-11.png" mode=""></image>
<span class="my-use-list-text">申请渠道商</span>
</view>
<view class="my-use-list" v-if="blIsQds=='1'" @click="useToUrl('/pages/my/channelMerchants/myMerchants')">
<view class="my-use-list" v-if="blIsQds=='1'"
@click="useToUrl('/pages/my/channelMerchants/myMerchants')">
<image style="padding: 3rpx;" src="../../static/my-gong-12.png" mode=""></image>
<span class="my-use-list-text">我是渠道商</span>
</view>
@ -203,7 +206,7 @@
<image style="padding: 3rpx;" src="../../static/my-gong-12.png" mode=""></image>
<span class="my-use-list-text">我是代理商</span>
</view> -->
<!-- <view class="my-use-list" @click="useToUrl('/pages/my/myteam')">
<!-- <view class="my-use-list" @click="useToUrl('/pages/my/myteam')">
<image style="padding: 3rpx;" src="../../static/my-gong-9.png" mode=""></image>
<span class="my-use-list-text">我的团队</span>
</view> -->
@ -229,10 +232,12 @@
</span>
<span v-if="item.type=='104'">/
</span>
<span v-if="item.type!='104'" style="font-size: 12px;color: #848484;= -webkit-text-decoration-line: line-through;text-decoration-line: line-through;margin-left: 5px;">
<span v-if="item.type!='104'"
style="font-size: 12px;color: #848484;= -webkit-text-decoration-line: line-through;text-decoration-line: line-through;margin-left: 5px;">
{{item.oldPrice}}
</span>
<span v-if="item.type!='104'&&(item.type=='105'||item.type=='106')" style="font-size: 12px;color: #848484;-webkit-text-decoration-line: line-through;text-decoration-line: line-through;margin-left: 5px;">
<span v-if="item.type!='104'&&(item.type=='105'||item.type=='106')"
style="font-size: 12px;color: #848484;-webkit-text-decoration-line: line-through;text-decoration-line: line-through;margin-left: 5px;">
/{{item.serviceCount?item.serviceCount:''}}
</span>
<span v-if="item.type=='104'">{{item.oldPrice}}/</span>
@ -257,7 +262,7 @@
</view>
<view class="prompt-text">-当你累了 想起盛安到家-</view>
<view class="kefu" @click="goMsg">
<image src="../../static/kefu.png" mode=""></image>
<image :class="{'blinking': haveNewMsg}" src="../../static/kefu.png" mode=""></image>
<!--<span>联系客服</span>-->
</view>
</view>
@ -293,10 +298,12 @@
vipNameType: '',
dataList: [],
tagsData: [],
blIsJjr:'',//1 0
blIsFxy:'',//1 0
blIsYwy:'',//1 0
blIsQds:'',//1 0
blIsJjr: '', //1 0
blIsFxy: '', //1 0
blIsYwy: '', //1 0
blIsQds: '', //1 0
kfInterval: null, //
haveNewMsg: false, //
}
},
onLoad(e) {
@ -329,11 +336,27 @@
this.avatar = '../../static/logo.png'
this.isVip = 0
}
this.haveNewMsg = false
if (this.kfInterval == null) {
this.kfInterval = setInterval(() => {
this.selectMsg()
}, 2000)
}
},
methods: {
danxiang(){
selectMsg() {
let keFuLastMsgCount = this.$queue.getData('keFuLastMsgCount');
let keFuNewMsgCount = this.$queue.getData('keFuNewMsgCount');
if (keFuLastMsgCount == undefined) {
if (keFuNewMsgCount != 0) this.haveNewMsg = true
} else {
if (keFuNewMsgCount != undefined && keFuNewMsgCount > keFuLastMsgCount) this.haveNewMsg = true
}
},
danxiang() {
uni.navigateTo({
url:'/pages/my/fuwuGengduo'
url: '/pages/my/fuwuGengduo'
})
},
getUserInfo() {
@ -346,10 +369,10 @@
this.avatar = res.data.avatar ? res.data.avatar : '../../static/logo.png'
this.isAuthentication = res.data.isAuthentication
this.isAgency = res.data.isAgency ? res.data.isAgency : 0; //广 1 2
this.blIsJjr=res.data.blIsJjr;//
this.blIsFxy=res.data.blIsFxy;//
this.blIsYwy=res.data.blIsYwy;//
this.blIsQds=res.data.blIsQds;//
this.blIsJjr = res.data.blIsJjr; //
this.blIsFxy = res.data.blIsFxy; //
this.blIsYwy = res.data.blIsYwy; //
this.blIsQds = res.data.blIsQds; //
this.money = res.data.money
this.couponnum = res.data.member
@ -387,9 +410,9 @@
}
});
},
qiye(){
qiye() {
uni.navigateTo({
url:'/pages/shop/qiyeListMy'
url: '/pages/shop/qiyeListMy'
})
},
goMsg() { //
@ -755,21 +778,25 @@
itemClick(item) {
let limit = 10;
let page = 1;
if(item.type=='104'){
if (item.type == '104') {
uni.navigateTo({
url:'/pages/my/serviceOderDrtail?id='+item.id+'&limit='+limit+'&page='+page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
url: '/pages/my/serviceOderDrtail?id=' + item.id + '&limit=' + limit + '&page=' + page +
'&name=' + 'index' + '&isCanCoupon=' + item.isCanCoupon
})
}else if(item.type=='105'){
} else if (item.type == '105') {
uni.navigateTo({
url:'/pages/my/cikarDrtail?id='+item.id+'&limit='+limit+'&page='+page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
url: '/pages/my/cikarDrtail?id=' + item.id + '&limit=' + limit + '&page=' + page +
'&name=' + 'index' + '&isCanCoupon=' + item.isCanCoupon
})
}else if(item.type=='106'){
} else if (item.type == '106') {
uni.navigateTo({
url:'/pages/my/fuwuliaochengDetail?id='+item.id+'&limit='+limit+'&page='+page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
url: '/pages/my/fuwuliaochengDetail?id=' + item.id + '&limit=' + limit + '&page=' + page +
'&name=' + 'index' + '&isCanCoupon=' + item.isCanCoupon
})
}else{
} else {
uni.navigateTo({
url:'/pages/my/fuwuDateil?id='+item.id+'&limit='+limit+'&page='+page+'&name='+'index'+'&isCanCoupon='+item.isCanCoupon
url: '/pages/my/fuwuDateil?id=' + item.id + '&limit=' + limit + '&page=' + page +
'&name=' + 'index' + '&isCanCoupon=' + item.isCanCoupon
})
}
}
@ -1022,7 +1049,7 @@
}
.my-serve-view {
width:86%;
width: 86%;
margin: 10px auto;
display: flex;
flex-direction: row;
@ -1032,14 +1059,14 @@
.my-use-list {
width: 33%;
margin-top:15px;
margin-top: 15px;
display: flex;
flex-direction: column;
align-items: center;
}
.my-serve-list {
width:22%;
width: 22%;
display: flex;
flex-direction: column;
align-items: center;
@ -1066,9 +1093,11 @@
margin-left: 8px;
margin-top: 5px;
}
.width {
width: 94%;
}
.my-serve {
background: #FFFFFF;
border-radius: 21rpx;
@ -1143,7 +1172,7 @@
.my-head-mian-top-view-chong,
.my-head-mian-top-view-ming {
width:260rpx;
width: 260rpx;
height: 58rpx;
line-height: 58rpx;
text-align: center;
@ -1164,7 +1193,7 @@
.my-head-mian-top-view-qian {
width: 100%;
color: #333;
background-image: linear-gradient(to left, rgba(255, 236, 222, 0.7),rgba(255, 255, 255, 0.8));
background-image: linear-gradient(to left, rgba(255, 236, 222, 0.7), rgba(255, 255, 255, 0.8));
margin: 0 auto;
border-radius: 20rpx 20rpx 0 0;
height: 76rpx;
@ -1340,4 +1369,29 @@
color: #fff;
text-align: center;
}
/* 定义闪烁动画 */
@keyframes blink {
0%,
100% {
opacity: 1;
/* 初始和结束状态透明度为1 */
}
50% {
opacity: 0.2;
/* 中间状态透明度降低 */
}
}
/* 应用动画到图片 */
.blinking {
animation: blink 1s infinite;
/* 'blink' 是动画名, '1s' 是持续时间, 'infinite' 表示无限循环 */
width: 50px;
/* 假设设置了宽度 */
height: auto;
/* 自动调整高度 */
}
</style>