main
zouyanyan 5 months ago
parent c0f6c1743c
commit e14669f438

@ -2,8 +2,8 @@
"name" : "瑜伽汇",
"appid" : "__UNI__B6E0086",
"description" : "瑜伽汇",
"versionName" : "1.0.9",
"versionCode" : 109,
"versionName" : "1.0.11",
"versionCode" : 1011,
"transformPx" : false,
"app-plus" : {
"flexible" : true,
@ -154,9 +154,9 @@
"nativePlugins" : {
"JG-JCore" : {
"JPUSH_APPKEY_ANDROID" : "d5edb270e4b1cc29616e1dd5",
"JPUSH_APPKEY_IOS" : "",
"JPUSH_CHANNEL_ANDROID" : "",
"JPUSH_CHANNEL_IOS" : "",
"JPUSH_APPKEY_IOS" : "developer-default",
"JPUSH_CHANNEL_ANDROID" : "d5edb270e4b1cc29616e1dd5",
"JPUSH_CHANNEL_IOS" : "developer-default",
"__plugin_info__" : {
"name" : "极光推送 JCore 官方 SDK",
"description" : "极光推送 JCore 官方 SDK HBuilder 插件版本",

@ -13,7 +13,7 @@
<view class="chat-time" v-if="item.fromtime != ''">{{changeTime(item.fromtime)}}</view>
<view class="msg-m msg-left" v-if="item.fromuser !== userid">
<view class="user-img" >
<image class="uimg" :src="item.headimg" @error="handleImageError($event,index)"></image>
<image class="uimg" :src="item.headimg" @error="handleImageError($event,index)" mode="aspectFill"></image>
<text class="uname">{{item.fromname}}</text>
</view>
@ -85,7 +85,7 @@
</view>
<view class="msg-m msg-right" v-if="item.fromuser == userid">
<view class="user-img" >
<image class="uimg" :src="item.headimg" @error="handleImageError($event,index)" ></image>
<image class="uimg" :src="item.headimg" @error="handleImageError($event,index)" mode="aspectFill"></image>
<!-- <text class="uname">我</text> -->
<text class="uname">{{item.fromname}}</text>
</view>
@ -978,11 +978,16 @@
console.log(res);
uni.hideLoading();
var rdata=JSON.parse(res.data);
console.log(rdata);
if(rdata.data&&rdata.data.originUrl){
var url=rdata.data&&rdata.data.originUrl?rdata.data.originUrl:'';
console.log("音频上传中",rdata);
if(rdata.data){
var url=rdata.data;
data.content= url;
console.log(data);
// // 信息发送聊天框
// this.unshiftmsg.push(data);
// rindex=this.unshiftmsg.length-1;
// // 跳转到最后一条数据 与前面的:id进行对照
// this.screendo(this.unshiftmsg.length - 1);
// 消息发送
this.onSendWS(data,rindex);
}
@ -1135,7 +1140,7 @@
},
updateChatList(chatlastinfo){
// 更新聊天列表记录
var chatlist = myCache("chatlist");
var chatlist = myCache("chatlist-"+this.userid);
if(chatlist&&chatlist.length>0){
var ifexist=0;
chatlist.forEach((cell,i)=>{
@ -1149,12 +1154,12 @@
chatlist.unshift(chatlastinfo);
}
// 重新保存聊天记录
myCache("chatlist",chatlist);
myCache("chatlist-"+this.userid,chatlist);
}
else{
chatlist=[];
chatlist.push(chatlastinfo);
myCache("chatlist",chatlist);
myCache("chatlist-"+this.userid,chatlist);
}
},
//输入框高度

@ -13,7 +13,7 @@
<view class="chat-time" v-if="item.fromtime != ''">{{changeTime(item.fromtime)}}</view>
<view class="msg-m msg-left" v-if="item.fromuser !== userid">
<view class="user-img" >
<image class="uimg" :src="item.headimg" @error="handleImageError($event,index)"></image>
<image class="uimg" :src="item.headimg" @error="handleImageError($event,index)" mode="aspectFill"></image>
<text class="uname">{{item.fromname}}</text>
</view>
@ -85,7 +85,7 @@
</view>
<view class="msg-m msg-right" v-if="item.fromuser == userid">
<view class="user-img" >
<image class="uimg" :src="item.headimg" @error="handleImageError($event,index)" ></image>
<image class="uimg" :src="item.headimg" @error="handleImageError($event,index)" mode="aspectFill"></image>
<!-- <text class="uname">我</text> -->
<text class="uname">{{item.fromname}}</text>
</view>
@ -210,7 +210,7 @@
<view class="order">
<view class="lcon">
<view class="lhtxt">群聊名称</view>
<view class="ltxt">{{info.name||'未设置'}}</view>
<view class="ltxt">{{info.chatName||'未设置'}}</view>
</view>
<view class="lcon">
<view class="lhtxt">群公告</view>
@ -334,7 +334,7 @@
this.info=JSON.parse(decodeURIComponent(options.data));
console.log("chat",this.info)
// 会话标题
var title = this.info.showGroupName;
var title = this.info.chatName;
uni.setNavigationBarTitle({
title: title,
});
@ -1116,10 +1116,15 @@
uni.hideLoading();
var rdata=JSON.parse(res.data);
console.log(rdata);
if(rdata.data&&rdata.data.originUrl){
var url=rdata.data&&rdata.data.originUrl?rdata.data.originUrl:'';
if(rdata.data){
var url=rdata.data;
data.content= url;
console.log(data);
// // 信息发送聊天框
// this.unshiftmsg.push(data);
// rindex=this.unshiftmsg.length-1;
// // 跳转到最后一条数据 与前面的:id进行对照
// this.screendo(this.unshiftmsg.length - 1);
// 消息发送
this.onSendWS(data,rindex);
}
@ -1275,7 +1280,7 @@
},
updateChatList(chatlastinfo){
// 更新聊天列表记录
var chatlist = myCache("chatlist");
var chatlist = myCache("chatlist-"+this.userid);
if(chatlist&&chatlist.length>0){
var ifexist=0;
chatlist.forEach((cell,i)=>{
@ -1289,12 +1294,12 @@
chatlist.unshift(chatlastinfo);
}
// 重新保存聊天记录
myCache("chatlist",chatlist);
myCache("chatlist-"+this.userid,chatlist);
}
else{
chatlist=[];
chatlist.push(chatlastinfo);
myCache("chatlist",chatlist);
myCache("chatlist-"+this.userid,chatlist);
}
},
//输入框高度

@ -157,6 +157,18 @@
},
onShow(){
// this.loadData();
// id:"coach",
// name:'教练',
// id:"customerService",
// name:'客服',
// id:"adviser",
// name:'课程顾问',
// id:"storeManager",
// name:'店长',
// id:"groupchat",
// name:'群聊',
// id:"consumer",
// name:'学员',
},
onPullDownRefresh() {
console.log('onPullDownRefresh');
@ -178,79 +190,110 @@
delta: 1
});
},
// 获取群信息
async getGroupInfo(id) {
const {data: res} = await uni.$http.get('/api/group/find/'+id);
if(res.data){
var data = res.data;
// info.name=data.name;
// info.img=data.headImage||'/static/image/qltx.png';
// info.notice=data.notice;
// info.remarkNickName=data.remarkNickName;
// info.showNickName=data.showNickName;
// info.showGroupName=data.showGroupName;
// info.remarkGroupName=data.remarkGroupName;
// info.customerService=data.customerService;
// info.instructor=data.instructor;
// info.productId=data.productId;
// info.productName=data.productName;
}
},
// 跳转聊天框
gotoGroup(item){
console.log(item);
// 直接跳转到聊天框
var timestamp = new Date().getTime();
var info={
chatId: "privatechat-" + this.userid +"-"+ item.friendId,
chatType: (this.tabCurrentIndex==0?"coach":(this.tabCurrentIndex==1?"customerService":(this.tabCurrentIndex==2?"adviser":
(this.tabCurrentIndex==3?"storeManager":(this.tabCurrentIndex==4?"groupchat":(this.tabCurrentIndex==5?"consumer":"")))))),
chatName: item.friendNickName,
chatAvatar: item.friendHeadImage,
chatTime: timestamp,
userid: this.userid,
friendId: item.friendId, // 会话对象
minId: null, // 已读消息的最大id
sort: this.tabCurrentIndex==4?"groupchat":"privatechat", // privatechat 私聊 groupchat 群聊
from: "message" // yh 用户咨询进入聊天框,message 从消息进入聊天框
}
// id:"coach",
// name:'教练',
// id:"customerService",
// name:'客服',
// id:"adviser",
// name:'课程顾问',
// id:"storeManager",
// name:'店长',
// id:"groupchat",
// name:'群聊',
// id:"consumer",
// name:'学员',
console.log(info);
if(this.tabCurrentIndex==0){
// 教练
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
else if(this.tabCurrentIndex==1){
// 客服
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
else if(this.tabCurrentIndex==2){
// 顾问
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
else if(this.tabCurrentIndex==3){
// 店长
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
else if(this.tabCurrentIndex==4){
if(this.tabCurrentIndex==4){
// 群聊
// this.getGroupInfo(item.id);
var chatid="groupchat-" + item.id;
var info={
chatId: chatid,
groupId: item.id,
chatName: item.name,
chatAvatar: item.headImage?item.headImage:'/static/image/kfr.png',
chatTime: timestamp,
friendId: item.customerService,
teacherId: item.instructor,
minId: "",
sort:"groupchat", // privatechat 私聊 groupchat 群聊
from:"message", // yh 用户咨询进入聊天框,message 从消息进入聊天框
notice: item.notice,
remarkNickName: item.remarkNickName,
remarkGroupName: item.remarkGroupName,
showNickName: item.showNickName,
showGroupName: item.showGroupName,
reason: item.reason,
customerService: item.customerService,
instructor: item.instructor,
productId: item.productId,
productName: item.productName
}
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/groupchat?data=${data}`
});
}
else if(this.tabCurrentIndex==5){
// 学员
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
else{
// 直接跳转到聊天框
var info={
chatId: "privatechat-" + this.userid +"-"+ item.friendId,
chatType: (this.tabCurrentIndex==0?"coach":(this.tabCurrentIndex==1?"customerService":(this.tabCurrentIndex==2?"adviser":
(this.tabCurrentIndex==3?"storeManager":(this.tabCurrentIndex==4?"groupchat":(this.tabCurrentIndex==5?"consumer":"")))))),
chatName: item.friendNickName,
chatAvatar: item.friendHeadImage,
chatTime: timestamp,
userid: this.userid,
friendId: item.friendId, // 会话对象
minId: null, // 已读消息的最大id
sort: this.tabCurrentIndex==4?"groupchat":"privatechat", // privatechat 私聊 groupchat 群聊
from: "message" // yh 用户咨询进入聊天框,message 从消息进入聊天框
}
console.log(info);
if(this.tabCurrentIndex==0){
// 教练
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
else if(this.tabCurrentIndex==1){
// 客服
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
else if(this.tabCurrentIndex==2){
// 顾问
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
else if(this.tabCurrentIndex==3){
// 店长
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
else if(this.tabCurrentIndex==5){
// 学员
var data=encodeURIComponent(JSON.stringify(info));
uni.navigateTo({
url: `/pages/chat/chat?data=${data}`
});
}
}
},
loadData(){

@ -12,8 +12,8 @@
<view v-if="grouplist.length==0 && loadStatus=='nomore'" class="nodata">暂无消息~</view>
<view class="listcell">
<u-swipe-action :options="options" v-for="(info, index) in grouplist" :key="index" @click="$u.throttle(actionClick(info,index), 2000)" >
<view class="lcon" @click="gotoGroup(info,index)">
<u-swipe-action ref="swipeRef" :options="options" v-for="(info, index) in grouplist" :key="index" @click="$u.throttle(actionClick(info,index), 2000)" >
<view class="lcon" @click="gotoGroup(info,index)" :key="index" @longpress="handleLongPress(info,index)">
<view class="limg">
<image class="img" :src="info.img" mode="aspectFill"></image>
</view>
@ -96,7 +96,7 @@
if(this.heartbeatInterval){
clearInterval(this.heartbeatInterval); // 停止心跳包发送
}
// 从缓存聊天群里获取聊天群列表 chatlist
// 从缓存聊天群里获取聊天群列表
this.loadData();
},
onPullDownRefresh() {
@ -128,6 +128,25 @@
next();
},
methods: {
handleLongPress(info,index) {
console.log(index);
this.$refs.swipeRef[index].open()
// var that=this;
// uni.showModal({
// title: '提示',
// content: "确定要删除此聊天记录吗?",
// cancelText: '取消',
// confirmText: '确定',
// success: ress => {
// if (ress.confirm) {
// // myCache(info.id,"");
// // that.grouplist.splice(index, 1);
// // that.$forceUpdate();
// // myCache("chatlist-"+this.userid,that.grouplist);
// }
// }
// });
},
// 删除
actionClick(info,index) {
console.log(info,index);
@ -142,7 +161,7 @@
myCache(info.id,"");
that.grouplist.splice(index, 1);
that.$forceUpdate();
myCache("chatlist",that.grouplist);
myCache("chatlist-"+this.userid,that.grouplist);
}
}
});
@ -361,7 +380,7 @@
// 当前消息未读数据消除
this.grouplist[index]["sl"]=0;
this.$forceUpdate();
myCache("chatlist",this.grouplist);
myCache("chatlist-"+this.userid,this.grouplist);
// 去聊天室
if(chat.sort=="privatechat"){
// 私聊
@ -422,7 +441,7 @@
async getgroupsmembers(){
// 获取聊天群列表
this.grouplist=[];
var chatlist=myCache("chatlist")?myCache("chatlist"):[];
var chatlist=myCache("chatlist-"+this.userid)?myCache("chatlist-"+this.userid):[];
chatlist.forEach(cell=>{
if(cell.userid==this.userid){
this.grouplist.push(cell);
@ -439,7 +458,7 @@
var that=this;
setTimeout(() => {
that.reorder();
myCache("chatlist",that.grouplist);
myCache("chatlist-"+this.userid,that.grouplist);
}, 300);
// socket接收实时消息
@ -482,7 +501,7 @@
this.$forceUpdate();
// 重新排序
this.reorder();
myCache("chatlist",this.grouplist);
myCache("chatlist-"+this.userid,this.grouplist);
}
}
}
@ -505,7 +524,7 @@
this.$forceUpdate();
// 重新排序
this.reorder();
myCache("chatlist",this.grouplist);
myCache("chatlist-"+this.userid,this.grouplist);
}
}
}
@ -542,7 +561,7 @@
}
// 重新排序 保存缓存
this.reorder();
myCache("chatlist",this.grouplist);
myCache("chatlist-"+this.userid,this.grouplist);
// 聊天框消息缓存
var msgchat=myCache(info.id);
if(ifexist==0||!msgchat){
@ -597,7 +616,7 @@
}
// 重新排序
this.reorder();
myCache("chatlist",this.grouplist);
myCache("chatlist-"+this.userid,this.grouplist);
var msgchat=myCache(info.id);
if(ifexist==0||!msgchat){
// 第一条聊天记录保存缓存
@ -654,7 +673,7 @@
}
// 重新排序 保存缓存
this.reorder();
myCache("chatlist",this.grouplist);
myCache("chatlist-"+this.userid,this.grouplist);
// 聊天框消息缓存
var msgchat=myCache(info.id);
if(ifexist==0||!msgchat){
@ -710,7 +729,7 @@
}
// 重新排序
this.reorder();
myCache("chatlist",this.grouplist);
myCache("chatlist-"+this.userid,this.grouplist);
var msgchat=myCache(info.id);
if(ifexist==0||!msgchat){
// 第一条聊天记录保存缓存

@ -257,31 +257,6 @@
});
}
},
groupListChange(chatlastinfo){
// 消息群列表更新
var chatlist = myCache("chatlist");
if(chatlist&&chatlist.length>0){
var ifexist=0;
chatlist.forEach((cell,i)=>{
if(cell.id==chatlastinfo.id){
ifexist++;
chatlist[i]=chatlastinfo;
}
});
if(ifexist==0){
// 新增的添加
chatlist.unshift(chatlastinfo);
}
// 重新保存聊天列表记录
myCache("chatlist",chatlist);
}
else{
chatlist=[];
chatlist.push(chatlastinfo);
myCache("chatlist",chatlist);
}
},
gocourse(){
// 课程表
uni.navigateTo({

Loading…
Cancel
Save