|
@@ -47,12 +47,14 @@
|
|
|
</uni-easyinput>
|
|
|
</view>
|
|
|
<view class="right">
|
|
|
- <view class="right_1">
|
|
|
- <text class="iconfont icon-aixin"></text>
|
|
|
+ <view class="right_1" @tap.stop="toLike('0')">
|
|
|
+ <text v-if="info.is_like" class="iconfont icon-aixin1"></text>
|
|
|
+ <text v-else class="iconfont icon-aixin"></text>
|
|
|
<text>{{like||0}}</text>
|
|
|
</view>
|
|
|
- <view class="right_1">
|
|
|
- <text class="iconfont icon-shoucang1"></text>
|
|
|
+ <view class="right_1" @tap.stop="toLike('1')">
|
|
|
+ <text v-if="info.is_collect" class="iconfont icon-shoucang"></text>
|
|
|
+ <text v-else class="iconfont icon-shoucang1"></text>
|
|
|
<text>{{collect||0}}</text>
|
|
|
</view>
|
|
|
<view class="right_1" @click="pageScroll">
|
|
@@ -137,6 +139,34 @@
|
|
|
res = await that.$api(`/article/${that.id}`, 'GET', {})
|
|
|
if (res.errcode == '0') {
|
|
|
res.data.zhType = that.searchDict(res.data.type, 'type')
|
|
|
+ if (that.user._id) {
|
|
|
+ const like = await that.$api(`/like`, 'GET', {
|
|
|
+ source: res.data._id,
|
|
|
+ user: that.user._id,
|
|
|
+ type: '0'
|
|
|
+ });
|
|
|
+ if (like.errcode == '0' && like.total > 0) res.data.is_like = true
|
|
|
+ else res.data.is_like = false
|
|
|
+ const collect = await that.$api(`/like`, 'GET', {
|
|
|
+ source: res.data._id,
|
|
|
+ user: that.user._id,
|
|
|
+ type: '1'
|
|
|
+ });
|
|
|
+ if (collect.errcode == '0' && collect.total > 0) res.data.is_collect = true
|
|
|
+ else res.data.is_collect = false
|
|
|
+ const likenum = await that.$api(`/like`, 'GET', {
|
|
|
+ source: res.data._id,
|
|
|
+ type: '0',
|
|
|
+ limit: 1
|
|
|
+ });
|
|
|
+ if (likenum.errcode == '0') that.$set(that, `like`, likenum.total)
|
|
|
+ const collectnum = await that.$api(`/like`, 'GET', {
|
|
|
+ source: res.data._id,
|
|
|
+ type: '1',
|
|
|
+ limit: 1
|
|
|
+ });
|
|
|
+ if (collectnum.errcode == '0') that.$set(that, `collect`, collectnum.total)
|
|
|
+ }
|
|
|
that.$set(that, `info`, res.data)
|
|
|
uni.setNavigationBarTitle({
|
|
|
title: res.data.contact_name
|
|
@@ -212,6 +242,41 @@
|
|
|
}).exec();
|
|
|
}, 100);
|
|
|
});
|
|
|
+ },
|
|
|
+ // 点赞/取消点赞
|
|
|
+ async toLike(type) {
|
|
|
+ const that = this;
|
|
|
+ const info = that.info
|
|
|
+ let res;
|
|
|
+ let like;
|
|
|
+ if (type == '0') like = info.is_like
|
|
|
+ else like = info.is_collect
|
|
|
+ if (like == false) {
|
|
|
+ const form = {
|
|
|
+ user: that.user._id,
|
|
|
+ source: info._id,
|
|
|
+ type: type,
|
|
|
+ create_time: moment().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
+ }
|
|
|
+ res = await that.$api(`/like`, 'POST', form);
|
|
|
+ if (res.errcode == '0') {
|
|
|
+ that.clearPage();
|
|
|
+ that.search()
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ res = await that.$api(`/like`, 'GET', {
|
|
|
+ source: info._id,
|
|
|
+ user: that.user._id,
|
|
|
+ type: type
|
|
|
+ });
|
|
|
+ if (res.errcode == '0' && res.total > 0) {
|
|
|
+ await that.$api(`/like/${res.data[0]._id}`, 'DELETE', {})
|
|
|
+ that.clearPage();
|
|
|
+ that.search()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
// 发送
|
|
|
async toSend(content) {
|