11
This commit is contained in:
@@ -1,53 +1,56 @@
|
||||
<template>
|
||||
<view class="content-circle-box" :index="index">
|
||||
<view @tap="linkToBusinessCard(item.user_id)">
|
||||
<MyAvatar :src="item.user.avatar" :desc="item.user.nickname || item.user.id" :isGroup="false" size="66"></MyAvatar>
|
||||
<MyAvatar :src="item.user.avatar" :desc="item.user.nickname || item.user.id" :isGroup="false" size="48"></MyAvatar>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="content-name" @tap="linkToBusinessCard(item.user_id)">{{ item.user.nickname || item.user.remark }}</view>
|
||||
<view class="content-desc">{{ item.body }}</view>
|
||||
<view class="content-desc">
|
||||
<u--text :lines="5" :text="item.body" />
|
||||
</view>
|
||||
<!-- 图片,视频 -->
|
||||
<view class="content-img" v-if="item.files!=null&&item.files.length>0">
|
||||
<!-- //只有一张图时候 -->
|
||||
<view v-if="item.files.length==1&&item.releaseType==1" class="u-flex u-row-left u-col-center"
|
||||
style="width:100%;min-height: 200rpx;">
|
||||
<u-image width="280rpx" :src="cdn(item.files[0])" mode="widthFix"
|
||||
@tap="previewImg(0, item)">
|
||||
<u-loading slot="loading"></u-loading>
|
||||
<view slot="error" class="u-flex u-row-left u-col-center"
|
||||
style="font-size: 24rpx;width: 200rpx;height: 100rpx;margin-top: -50rpx;">
|
||||
<u-icon name="photo" size="100" label="加载失败" label-pos="bottom"></u-icon>
|
||||
</view>
|
||||
<!-- //只有一张图时候 -->
|
||||
<view v-if="item.files.length==1&&item.releaseType==1"
|
||||
class="u-flex u-row-left u-col-center"
|
||||
style="width:100%;min-height: 200rpx;">
|
||||
<u-image width="280rpx" :src="cdn(item.files[0])" mode="widthFix" @tap="previewImg(0)">
|
||||
<u-loading-icon slot="loading"></u-loading-icon>
|
||||
<view slot="error"
|
||||
class="u-flex u-row-left u-col-center"
|
||||
style="font-size: 24rpx;width: 200rpx;height: 100rpx;margin-top: -50rpx;">
|
||||
<u-icon name="photo" size="100" label="加载失败" label-pos="bottom"></u-icon>
|
||||
</view>
|
||||
</u-image>
|
||||
</view>
|
||||
<!-- 有多张图的时候 -->
|
||||
<view v-if="item.files.length > 1&&item.releaseType==1">
|
||||
<view class="content-img-more u-m-b-20">
|
||||
<uni-grid :column="3" showBorder borderColor="#FFF" hover-class="none" :highlight="false">
|
||||
<uni-grid-item v-for="(src, index) in item.files" :key="index" :index="index">
|
||||
<view class="slot-btn">
|
||||
<u-image @tap="previewImg(index)" :src="cdn(src)" width="180rpx" height="180rpx" mode="aspectFill" border-radius="10"></u-image>
|
||||
</view>
|
||||
</uni-grid-item>
|
||||
</uni-grid>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<!-- 视频 -->
|
||||
<view class="u-m-b-30 u-m-t-30 u-flex u-row-left u-col-center"
|
||||
v-if="item.files.length > 0&&item.releaseType==2" @tap="previewImg(0, item)">
|
||||
<view v-if="vuex_OSPlat=='ios'">
|
||||
<u-image width="280rpx" :src="getVideoPoster(item.files[0])" mode="widthFix">
|
||||
<u-loading-icon slot="loading"></u-loading-icon>
|
||||
</u-image>
|
||||
</view>
|
||||
<!-- 有多张图的时候 -->
|
||||
<view v-if="item.files.length > 1&&item.releaseType==1">
|
||||
<view class="content-img-more u-m-b-20">
|
||||
<u-grid :col="3" :border="false" hover-class="none">
|
||||
<u-grid-item v-for="(src, index) in item.files" :index="index" :custom-style="girdItemCustomStyle">
|
||||
<view @tap="previewImg(index, item)" class="slot-btn">
|
||||
<u-image :src="cdn(src)" width="180rpx" height="180rpx" mode="aspectFill" border-radius="10"></u-image>
|
||||
</view>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<!-- 视频 -->
|
||||
<view class="u-m-b-30 u-m-t-30 u-flex u-row-left u-col-center"
|
||||
v-if="item.fileList.length > 0&&item.releaseType==2" @tap="previewImg(0, item)">
|
||||
<view v-if="vuex_OSPlat=='ios'">
|
||||
<u-image width="280rpx" :src="getVideoPoster(item.fileList[0])" mode="widthFix">
|
||||
<u-loading slot="loading"></u-loading>
|
||||
</u-image>
|
||||
</view>
|
||||
<view v-else class="u-flex u-row-center u-col-center"
|
||||
style="border: 1rpx solid #36648b;width:280rpx;height:120rpx;border-radius: 16rpx;">
|
||||
<u-icon name="play-circle" size="48" color="#36648b"
|
||||
label="点击查看视频" label-pos="bottom"></u-icon>
|
||||
</view>
|
||||
<view v-else class="u-flex u-row-center u-col-center"
|
||||
style="border: 1rpx solid #36648b;width:280rpx;height:120rpx;border-radius: 16rpx;">
|
||||
<u-icon name="play-circle" size="48" color="#36648b"
|
||||
label="点击查看视频" label-pos="bottom"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 地点 -->
|
||||
@@ -58,43 +61,42 @@
|
||||
|
||||
<!-- 相对时间 点赞按钮等 -->
|
||||
<view class="relavivetime" :id="`comment-${'null'}-${index}`">
|
||||
<view class="time u-flex u-col-center">
|
||||
<view class="time">
|
||||
<view>{{ item.created_at }}</view>
|
||||
<view @click="deleteCircle(item,index)" style="color:#36648b;margin-left: 20rpx;" v-if="item.user_id==selfInfo.userID">删除</view>
|
||||
</view>
|
||||
|
||||
<view class="icon-box u-flex u-row-between u-col-center">
|
||||
<view @tap="clickThumb(item,index)" class="u-m-r-6 u-p-t-4">
|
||||
<u-icon v-if="item.isPraise==false" size="38" name="heart" color="#36648b"></u-icon>
|
||||
<u-icon v-if="item.isPraise==true" size="38" name="heart-fill" color="#36648b"></u-icon>
|
||||
<u-icon v-if="item.is_liked==false" size="24" name="heart" color="#36648b"></u-icon>
|
||||
<u-icon v-if="item.is_liked==true" size="24" name="heart-fill" color="#36648b"></u-icon>
|
||||
</view>
|
||||
<view @tap="handleComment(item.id, null, index)" class="u-m-l-6 u-p-t-2">
|
||||
<u-icon size="40" name="chat" color="#36648b"></u-icon>
|
||||
<view @tap="handleComment(null, index)" class="u-m-l-6 u-p-t-2">
|
||||
<u-icon size="24" name="chat" color="#36648b"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 点赞人 评论 -->
|
||||
<view class="msg-box">
|
||||
<view class="thumbinfo u-border-bottom" v-if="item.praise!=null&&item.praise.length">
|
||||
<view class="thumbinfo u-border-bottom" v-if="item.likes!=null&&item.likes.length">
|
||||
<uni-icons size="30" type="heart" color="#36648b" class="u-m-r-10"></uni-icons>
|
||||
<text class="thumbinfo-name" v-for="(userInfo, pindex) in item.praise" :index="pindex"
|
||||
<text class="thumbinfo-name" v-for="(userInfo, pindex) in item.likes" :index="pindex"
|
||||
:key="pindex" @tap="linkToBusinessCard(userInfo.userId)">
|
||||
{{ userInfo.nickame }}{{ pindex != item.praise.length - 1 ? ',' : '' }}
|
||||
{{ userInfo.nickame }}{{ pindex != item.likes.length - 1 ? ',' : '' }}
|
||||
</text>
|
||||
</view>
|
||||
<view class="comment" v-if="item.comments!=null&&item.comments.length">
|
||||
<view class="comment-box" v-for="(comment, commentIndex) in item.comments" :index="commentIndex"
|
||||
:key="commentIndex" hover-class="comment-hover-class"
|
||||
:id="`comment-${item.id}-${index}`"
|
||||
@tap="handleComment(item.id, comment, index)">
|
||||
<text class="comment-box-name" v-if="!comment.reply_user_id">{{ comment.replyUser.nickname }}:</text>
|
||||
<text class="comment-box-name" v-if="comment.reply_user_id">
|
||||
{{ comment.replyUser.nickname }}
|
||||
<view class="comment-box" v-for="(comment, commentIndex) in item.comments" :index="comment.id"
|
||||
:key="comment.id" hover-class="comment-hover-class"
|
||||
:id="`comment-${item.id}-${comment.id}`"
|
||||
@tap="handleComment(comment, index)">
|
||||
<text class="comment-box-name">
|
||||
{{ comment.user.nickname }}
|
||||
<text class="callback u-m-l-4 u-m-r-4">回复</text>
|
||||
</text>
|
||||
<text v-if="comment.reply_user_id" class="comment-box-name">{{ comment.replyUser.nickname }}:</text>
|
||||
<text class="comment-box-content">{{ comment.content }}</text>
|
||||
<text v-if="comment.reply_user_id" class="comment-box-name">{{ comment.user.nickname }}:</text>
|
||||
<text class="comment-box-content">{{ comment.body }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -105,6 +107,7 @@
|
||||
<script>
|
||||
import MyAvatar from "@/components/MyAvatar/index.vue";
|
||||
import videoPlayer from '@/components/videoPlayer.vue';
|
||||
import util from "@/util/index.js";
|
||||
export default{
|
||||
components:{videoPlayer ,MyAvatar},
|
||||
props:{
|
||||
@@ -125,13 +128,52 @@
|
||||
},
|
||||
},
|
||||
data(){
|
||||
console.log(this.item);
|
||||
//console.log(this.item);
|
||||
return {
|
||||
|
||||
girdItemCustomStyle:{
|
||||
padding: '0',
|
||||
margin:'0',
|
||||
border:'1rpx solid #f2f6fc'
|
||||
},
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
|
||||
clickThumb(item,index){
|
||||
this.$emit('userEvent',{type:'clickThumb',item,index});
|
||||
},
|
||||
deleteCircle(item,index){
|
||||
this.$emit('userEvent',{type:'deleteCircle',item,index});
|
||||
},
|
||||
handleComment(comment,index){
|
||||
this.$emit('userEvent',{type:'handleComment',comment,index});
|
||||
},
|
||||
linkToBusinessCard(userID){
|
||||
this.$emit('userEvent',{type:'linkToBusinessCard',userID});
|
||||
},
|
||||
//查看大图或者预览视频
|
||||
previewImg(current) {
|
||||
const data = this.item;
|
||||
let that=this;
|
||||
let releaseType= data.releaseType;
|
||||
let fileList=[...data.files];
|
||||
if(releaseType==2){
|
||||
that.previewVideoSrc=fileList[0];
|
||||
that.previewVideoFlag=true;
|
||||
}else{
|
||||
fileList=fileList.map(item=>this.cdn(item));
|
||||
uni.previewImage({
|
||||
current:current,
|
||||
urls: fileList,
|
||||
});
|
||||
return;
|
||||
}
|
||||
},
|
||||
getVideoPoster(videoSrc){
|
||||
console.log("video",videoSrc);
|
||||
return "http://192.168.31.125:9090/we-chat/images/friendCircle/1715421601709.mp4";
|
||||
//return videoSrc;
|
||||
},
|
||||
cdn:util.cdn
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -262,6 +304,8 @@
|
||||
|
||||
.time {
|
||||
color: $uni-text-color-grey;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.icon-box {
|
||||
@@ -285,5 +329,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.content-img-more{
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<view class="content" id="content">
|
||||
<u-navbar
|
||||
@leftClick="goto('/pages/workbench/index/index')"
|
||||
@leftClick="leftClick"
|
||||
bgColor="transparent"
|
||||
title="朋友圈"
|
||||
title-size="36"
|
||||
@@ -14,7 +14,7 @@
|
||||
<u-icon name="camera" color="#fff" size="32"></u-icon>
|
||||
</view>
|
||||
</u-navbar>
|
||||
<scroll-view :scroll-x="false" :scroll-y="true" v-show="showInput==false" class="scrollView"
|
||||
<scroll-view :scroll-x="false" :scroll-y="true" class="scrollView"
|
||||
:scroll-with-animation="scrollWithAnimation" :scroll-top="scrollTop" @scroll="scrolling"
|
||||
@scrolltolower="loadMore"
|
||||
:style="'height:'+scrollViewHeight+'px'">
|
||||
@@ -32,14 +32,14 @@
|
||||
<view class="">{{ selfInfo.bio }}</view>
|
||||
</view>
|
||||
|
||||
<view v-if="vuex_friendCircleUnreadCount>0" style="display: flex;justify-content: center;">
|
||||
<view v-if="unreadCount>0" style="display: flex;justify-content: center;">
|
||||
<view @click="clearUnReadCount()"
|
||||
style="width: 300rpx;height:70rpx;line-height:70rpx;background-color: #333333;color: #ffffff;border-radius:10rpx;display: flex;align-items: center;">
|
||||
<view style="width:80rpx;padding:0 10rpx;">
|
||||
<MyAvatar :src="selfInfo.faceURL" class="headimg" desc=" " size="24"/>
|
||||
</view>
|
||||
<view style="flex:1;">
|
||||
{{vuex_friendCircleUnreadCount}}条新信息
|
||||
{{unreadCount}}条新信息
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -49,7 +49,7 @@
|
||||
<!-- circleData是vuex变量,不在本页面定义 -->
|
||||
<template v-if="circleData!=null&&circleData.length>0">
|
||||
<template v-for="(item, index) in circleData" >
|
||||
<CircleItem :key="index" :index="index" :item="item"></CircleItem>
|
||||
<CircleItem :key="index" :index="index" :item="item" @userEvent="onUserEvent"></CircleItem>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
@@ -59,92 +59,18 @@
|
||||
</template>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<!-- 为了实现模拟键盘随着内容的选择而固定位置 -->
|
||||
<template v-if="showInput==true">
|
||||
<scroll-view :scroll-x="false" :scroll-y="true" :scroll-top="currentTop" @touchstart="closeInputModel"
|
||||
:style="'width:100%;height:'+scrollViewHeight+'px;'">
|
||||
<view @click="closeInputModel" class="content-circle-box">
|
||||
<view>
|
||||
<MyAvatar :src="currentItem.avatar" :isGroup="false" size="66"></MyAvatar>
|
||||
</view>
|
||||
<view class="content">
|
||||
<view class="content-name">{{ currentItem.nickname }}</view>
|
||||
<view class="content-desc">{{ currentItem.content }}</view>
|
||||
<view class="content-img" v-if="currentItem.files!=null&¤tItem.files.length>0">
|
||||
<view v-if="currentItem.files.length==1&¤tItem.releaseType==1"
|
||||
class="u-flex u-row-left u-col-center" style="width:100%;min-height: 200rpx;">
|
||||
<u-image width="280rpx" :src="currentItem.files[0]" mode="widthFix">
|
||||
<u-loading slot="loading"></u-loading>
|
||||
<view slot="error" class="u-flex u-row-left u-col-center"
|
||||
style="font-size: 24rpx;width: 200rpx;height: 100rpx;margin-top: -50rpx;">
|
||||
<u-icon name="photo" size="100" label="加载失败" label-pos="bottom"></u-icon>
|
||||
</view>
|
||||
</u-image>
|
||||
</view>
|
||||
<!-- 有多张图的时候 -->
|
||||
<view v-if="currentItem.files.length > 1&¤tItem.releaseType==1">
|
||||
<view class="content-img-more u-m-b-20">
|
||||
<u-grid :col="3" :border="false" hover-class="none">
|
||||
<u-grid-item v-for="(src, index) in currentItem.files" :index="index" :custom-style="girdItemCustomStyle">
|
||||
<view class="slot-btn">
|
||||
<u-image :src="src" width="180rpx" height="180rpx" mode="aspectFill" border-radius="10"></u-image>
|
||||
</view>
|
||||
</u-grid-item>
|
||||
</u-grid>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<view v-if="currentItem.releaseType==2" class="u-m-b-20 u-m-t-20 u-flex u-row-left u-col-center">
|
||||
<view class="u-flex u-row-left u-col-center" style="height: 120rpx;border-radius: 16rpx;">
|
||||
<u-icon name="play-circle" size="48" color="#36648b"
|
||||
label="此处不支持观看视频" label-pos="bottom" :margin-left="20" :margin-right="20"></u-icon>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 地点 -->
|
||||
<view v-if="(currentItem.address&¤tItem.address.chooseFlag)==true" class="u-line-2 u-m-t-10 u-m-b-10"
|
||||
style="font-size: 30rpx;color: #36648b;">
|
||||
<u-icon name="map" color="#36648b" size="30" :custom-style="{marginLeft:'-4rpx'}"></u-icon>
|
||||
<text> {{ currentItem.address.name}}</text>
|
||||
</view>
|
||||
<!-- 点赞人 评论 -->
|
||||
<view class="msg-box">
|
||||
<view class="thumbinfo" v-if="currentItem.praise!=null&¤tItem.praise.length>0">
|
||||
<uni-icons type="heart" class="thumbinfo-icon"></uni-icons>
|
||||
<text class="thumbinfo-name" v-for="(userInfo, pindex) in currentItem.praise"
|
||||
:key="pindex">
|
||||
{{ userInfo.nickname }}{{ pindex != currentItem.praise.length - 1 ? ',' : '' }}
|
||||
</text>
|
||||
</view>
|
||||
<view class="comment" v-if="currentItem.comments!=null&¤tItem.comments.length>0">
|
||||
<view class="comment-box" v-for="(comment, cindex) in currentItem.comments" :key="cindex" :index="cindex"
|
||||
hover-class="comment-hover-class">
|
||||
<text class="comment-box-name" v-if="!comment.reply_user_id">{{ comment.replyUser.nickname }}:</text>
|
||||
<text class="comment-box-name" v-if="comment.reply_user_id">
|
||||
{{ comment.replyUser.nickname }}<text class="callback u-m-l-4 u-m-r-4">回复</text>
|
||||
</text>
|
||||
<text v-if="comment.reply_user_id" class="comment-box-name">{{ comment.replyUser.nickname }}:</text>
|
||||
<text class="comment-box-content">{{ comment.body }}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<u-overlay :show="showInput" @click="showInput = false">
|
||||
<view class="input-box" style="height: 100rpx;" @tap.stop>
|
||||
<view class="input-box-flex">
|
||||
<view class="input-box-flex-grow">
|
||||
<input :adjust-position="false" type="text" class="content" id="input" v-model="content"
|
||||
:confirm-type="'send'" :confirm-hold="true" placeholder-style="color:#DDD;" :cursor-spacing="6"
|
||||
:placeholder="placeholder" :focus="true" @confirm="sendMsg" />
|
||||
</view>
|
||||
<u-button class="btn" type="primary" size="mini" @tap.prevent.stop="sendMsg">发送</u-button>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</template>
|
||||
|
||||
|
||||
<view class="input-box" v-show="showInput" style="height: 100rpx;">
|
||||
<view class="input-box-flex">
|
||||
<view class="input-box-flex-grow">
|
||||
<input :adjust-position="false" type="text" class="content" id="input" v-model="content"
|
||||
:confirm-type="'send'" :confirm-hold="true" placeholder-style="color:#DDD;" :cursor-spacing="6"
|
||||
:placeholder="placeholder" :focus="showInput" @blur="blurInput" @confirm="sendMsg" />
|
||||
</view>
|
||||
<button class="btn" type="primary" size="mini" @touchend.prevent="sendMsg">发送</button>
|
||||
</view>
|
||||
</view>
|
||||
</u-overlay>
|
||||
|
||||
<!-- 视频预览 -->
|
||||
<view v-if="previewVideoFlag==true">
|
||||
@@ -180,7 +106,7 @@
|
||||
circleData() {
|
||||
return this.$store.getters.storeCircleData;
|
||||
},
|
||||
vuex_friendCircleUnreadCount() {
|
||||
unreadCount() {
|
||||
return this.$store.getters.storeCircleUnreadCount;
|
||||
},
|
||||
last_unread_item() {
|
||||
@@ -255,21 +181,22 @@
|
||||
},
|
||||
onLoad:function(){
|
||||
let that=this;
|
||||
this.platFrom= this.$u.os();
|
||||
console.log("onload",this.platFrom);
|
||||
let param={
|
||||
this.platFrom= this.$u.os();
|
||||
console.log("onload",this.platFrom);
|
||||
let param={
|
||||
page:1,
|
||||
limit:this.limit,
|
||||
moreFlag:false
|
||||
};
|
||||
this.$store.dispatch('circle/getFriendCircleInfo');
|
||||
this.getCircleDataList(param);
|
||||
uni.$on("handleFriendCircle", function(friendCircleMessage) {
|
||||
console.log("监听到朋友圈动态有更新",friendCircleMessage);
|
||||
let id= friendCircleMessage.content.id;
|
||||
let newPraise= friendCircleMessage.content.praise;
|
||||
let newPraise= friendCircleMessage.content.likes;
|
||||
const index = that.circleData.findIndex(i => i.id ==id);
|
||||
that.circleData[index].praise=JSON.parse(newPraise);
|
||||
if(friendCircleMessage.content.isPraise&&friendCircleMessage.userId!=that.selfInfo.userID){
|
||||
that.circleData[index].likes=JSON.parse(newPraise);
|
||||
if(friendCircleMessage.content.is_liked&&friendCircleMessage.userId!=that.selfInfo.userID){
|
||||
that.$store.dispatch('circle/updateUnreadCount',1);
|
||||
}
|
||||
})
|
||||
@@ -293,7 +220,7 @@
|
||||
methods: {
|
||||
goto:util.goto,
|
||||
clearUnReadCount(){
|
||||
this.$store.dispatch('circle/updateUnreadCount',0-this.vuex_friendCircleUnreadCount);
|
||||
this.$store.dispatch('circle/updateUnreadCount',0-this.unreadCount);
|
||||
},
|
||||
//初始化朋友圈
|
||||
getCircleDataList:function(param){
|
||||
@@ -368,32 +295,31 @@
|
||||
clickThumb(item,index) {
|
||||
let that=this;
|
||||
let flag=true;
|
||||
item.isPraise = !item.isPraise;
|
||||
if (item.isPraise) {
|
||||
item.praise.push({
|
||||
item.is_liked = !item.is_liked;
|
||||
if (item.is_liked) {
|
||||
item.likes.push({
|
||||
userId: this.selfInfo.userID,
|
||||
userName: this.selfInfo.nickname
|
||||
});
|
||||
} else {
|
||||
const index = item.praise.findIndex(i => i.userId == this.selfInfo.userID);
|
||||
item.praise.splice(index, 1);
|
||||
const index = item.likes.findIndex(i => i.userId == this.selfInfo.userID);
|
||||
item.likes.splice(index, 1);
|
||||
flag=false;
|
||||
}
|
||||
console.log("当前动态下标",index);
|
||||
console.log("点赞列表",item);
|
||||
let param={
|
||||
id:item.id,
|
||||
praise:JSON.stringify(item.praise),
|
||||
isPraise:flag
|
||||
likes:JSON.stringify(item.likes),
|
||||
is_liked:flag
|
||||
};
|
||||
friendCircleZan(param).then(res => {
|
||||
if(res.code==200){
|
||||
console.log("点赞更新成功",res.data);
|
||||
item.praise=JSON.parse(res.data.praise);
|
||||
that.circleData[index]=item;
|
||||
}else{
|
||||
item.isPraise = !item.isPraise;
|
||||
}
|
||||
this.$store.dispatch('circle/like',param).then(res=>{
|
||||
console.log("点赞更新成功",res.data);
|
||||
item.likes=JSON.parse(res.data.likes);
|
||||
that.circleData[index]=item;
|
||||
}).catch(e=>{
|
||||
item.is_liked = !item.is_liked;
|
||||
console.log("评论失败",e);
|
||||
});
|
||||
},
|
||||
//跳转到名片
|
||||
@@ -436,12 +362,12 @@
|
||||
},
|
||||
|
||||
//点击评论 唤出输入框和键盘
|
||||
handleComment(id, comment, index) {
|
||||
handleComment(comment, index) {
|
||||
let that = this;
|
||||
this.content = '';
|
||||
that.currentItem = that.circleData[index];
|
||||
that.currentTop = 0;
|
||||
this.id = id;
|
||||
this.id = that.currentItem.id;
|
||||
this.commentInfo = comment || {};
|
||||
this.placeholder = '评论:';
|
||||
if (comment) {
|
||||
@@ -451,7 +377,7 @@
|
||||
this.placeholder = `评论:`;
|
||||
} else {
|
||||
// xxx评论...
|
||||
this.placeholder = `回复${comment.replyUser.nickname}:`;
|
||||
this.placeholder = `回复${comment.user.nickname}:`;
|
||||
}
|
||||
}
|
||||
this.showInput = true;
|
||||
@@ -463,32 +389,16 @@
|
||||
return;
|
||||
}
|
||||
let param={
|
||||
reply_user_id:that.selfInfo.userID,
|
||||
reply_user_id:that.commentInfo?.user_id || '',
|
||||
body:that.content,
|
||||
friendCircleId:that.id
|
||||
id:that.currentItem.id
|
||||
};
|
||||
//如果被回复的动态发表人不是自己本人
|
||||
if(that.commentInfo.reply_user_id!=that.selfInfo.userID){
|
||||
param.reply_user_id=that.commentInfo.reply_user_id;
|
||||
param.replyUserName=that.commentInfo.replyUser.nickname;
|
||||
}
|
||||
console.log("新增动态的评论",param);
|
||||
this.circleData.forEach(item => {
|
||||
if (item.id == that.id) {
|
||||
if(item.comment!=null&&item.comment.length>0){
|
||||
item.comment.push(param);
|
||||
}
|
||||
else{
|
||||
item.comment=[param];
|
||||
}
|
||||
that.$u.api.friendCircle.handleComment(param).then(res => {
|
||||
if(res.code==200){
|
||||
console.log("评论更新成功");
|
||||
}
|
||||
});
|
||||
}
|
||||
this.$store.dispatch('circle/comment',param).then(res=>{
|
||||
console.log("评论失败1",res);
|
||||
that.closeInputModel();
|
||||
}).catch(e=>{
|
||||
console.log("评论失败",e);
|
||||
});
|
||||
that.closeInputModel();
|
||||
},
|
||||
|
||||
//查看大图或者预览视频
|
||||
@@ -516,11 +426,6 @@
|
||||
this.commentInfo = {};
|
||||
uni.hideKeyboard();
|
||||
},
|
||||
//失去焦点触发
|
||||
blurInput() {
|
||||
this.closeInputModel();
|
||||
},
|
||||
|
||||
|
||||
//选择发表朋友圈的方式
|
||||
toChooseRelease: function(index) {
|
||||
@@ -584,6 +489,22 @@
|
||||
return "http://192.168.31.125:9090/we-chat/images/friendCircle/1715421601709.mp4";
|
||||
//return videoSrc;
|
||||
},
|
||||
leftClick(e){
|
||||
this.goto('/pages/workbench/index/index',"2");
|
||||
},
|
||||
onUserEvent(e){
|
||||
switch(e.type){
|
||||
case 'clickThumb':
|
||||
this.clickThumb(e.item,e.index);
|
||||
break;
|
||||
case 'handleComment':
|
||||
this.handleComment(e.comment,e.index);
|
||||
break;
|
||||
case 'linkToBusinessCard':
|
||||
this.linkToBusinessCard(e.userID);
|
||||
break;
|
||||
}
|
||||
},
|
||||
cdn:util.cdn
|
||||
},
|
||||
};
|
||||
@@ -824,8 +745,9 @@
|
||||
|
||||
.btn {
|
||||
margin-left: 20rpx;
|
||||
//background-color: $u-type-success;
|
||||
background-color: $uni-color-success;
|
||||
border: none;
|
||||
width: 60px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<view v-if="releaseType!=0" class="uploadBox">
|
||||
<u-grid :col="3" :border="false" hover-class="none">
|
||||
<template v-if="tempFilePaths.length>0">
|
||||
<u-grid-item v-for="(item,index) in tempFilePaths" :index="index" :custom-style="girdItemCustomStyle">
|
||||
<u-grid-item v-for="(item,index) in tempFilePaths" :key="index" :index="index" :custom-style="girdItemCustomStyle">
|
||||
<view @click="delTempFile(index)"
|
||||
style="width: 200rpx; display: flex; flex-direction: row;align-items: flex-start;justify-content: flex-end;position: relative;left: 32rpx;top:32rpx; z-index: 999;">
|
||||
<u-icon name="close-circle" size="32" color="#fa3534"></u-icon>
|
||||
@@ -39,7 +39,7 @@
|
||||
</u-grid-item>
|
||||
</template>
|
||||
<template v-if="(tempFilePaths.length<9&&releaseType==1)||(tempFilePaths.length<1&&releaseType==2)">
|
||||
<u-grid-item @click="chooseFile()" :custom-style="girdItemCustomStyle2">
|
||||
<u-grid-item @click="chooseFile()" :custom-style="girdItemCustomStyle2">
|
||||
<view class="slot-btn" hover-class="slot-btn__hover">
|
||||
<u-icon name="plus" size="80" :color="$u.color['lightColor']"></u-icon>
|
||||
</view>
|
||||
@@ -391,18 +391,19 @@
|
||||
let size= that.tempFilePaths.length;
|
||||
if(index==size){
|
||||
console.log("文件全部上传完成",files);
|
||||
params.fileList=JSON.stringify(files);
|
||||
params.files=JSON.stringify(files);
|
||||
that.submitPublish(params);
|
||||
uni.hideLoading();
|
||||
return;
|
||||
}
|
||||
let filePath=that.tempFilePaths[index];
|
||||
let obj = {
|
||||
filePath:filePath,
|
||||
savePath: "friendCircle" //文件存放目录
|
||||
savePath: "circle" //文件存放目录
|
||||
}
|
||||
|
||||
upload(filePath).then(res1=>{
|
||||
//批量上传
|
||||
|
||||
//单个上传
|
||||
upload(filePath,obj).then(res1=>{
|
||||
if(res1.code === 0 ){
|
||||
console.log("第"+(index+1)+"个文件上传完成",res1);
|
||||
let fileUrl= res1.data[0].file_name;
|
||||
@@ -419,7 +420,7 @@
|
||||
|
||||
submitPublish(param){
|
||||
let that=this;
|
||||
console.error('submitPublish');
|
||||
console.error('submitPublish');
|
||||
uni.$u.http.post('/friendcircle/create',param).then(res => {
|
||||
let newCircle=res;
|
||||
if(newCircle.address!=null&&newCircle.address.length>0){
|
||||
@@ -445,7 +446,7 @@
|
||||
}
|
||||
let circleDataList=[...this.circleData];
|
||||
circleDataList.unshift(newCircle);
|
||||
that.$u.vuex('circleData', circleDataList);
|
||||
that.$store.commit('circle/SET_LIST',circleDataList);
|
||||
that.btnLoading = false;
|
||||
uni.hideLoading();
|
||||
uni.navigateBack();
|
||||
@@ -492,9 +493,9 @@
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: rgb(244, 245, 246);
|
||||
border-radius: 10rpx;
|
||||
border:1rpx solid $u-border-color
|
||||
//background: rgb(244, 245, 246);
|
||||
//border-radius: 10rpx;
|
||||
//border:1rpx solid $u-border-color
|
||||
}
|
||||
|
||||
.slot-btn__hover {
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</uni-list>
|
||||
<u-gap :height="10"></u-gap>
|
||||
<uni-list>
|
||||
<uni-list-item title="扫一扫" thumb="/static/images/workbench/03.png" :thumbSize="thumbSize" to="/pages/workbench/friend-circle/friend-circle" showArrow></uni-list-item>
|
||||
<uni-list-item title="扫一扫" thumb="/static/images/workbench/03.png" :thumbSize="thumbSize" to="/pages/common/scan" showArrow></uni-list-item>
|
||||
<uni-list-item title="摇一摇" thumb="/static/images/workbench/05.png" :thumbSize="thumbSize" to="/pages/workbench/friend-circle/friend-circle" showArrow></uni-list-item>
|
||||
<uni-list-item title="看一看" thumb="/static/images/workbench/06.png" :thumbSize="thumbSize" to="/pages/workbench/friend-circle/friend-circle" showArrow></uni-list-item>
|
||||
<uni-list-item title="听一听" thumb="/static/images/workbench/06.png" :thumbSize="thumbSize" to="/pages/workbench/friend-circle/friend-circle" showArrow></uni-list-item>
|
||||
|
||||
Reference in New Issue
Block a user