From daa9adbc0e2fded884ea9e51fbe44cd22f6756a1 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期六, 28 二月 2026 15:16:41 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 mini-program/pages/article-details/article-details.vue |   66 ++++++++++++++++++++++++++++----
 1 files changed, 57 insertions(+), 9 deletions(-)

diff --git a/mini-program/pages/article-details/article-details.vue b/mini-program/pages/article-details/article-details.vue
index 9237ad8..f4d484d 100644
--- a/mini-program/pages/article-details/article-details.vue
+++ b/mini-program/pages/article-details/article-details.vue
@@ -21,7 +21,7 @@
 						{{item.content}}
 					</view>
 					<view class="pl-item-info-list" v-if="item.multifileList && item.multifileList.length > 0">
-						<view class="pl-item-info-list-image" v-for="(child, i) in item.multifileList" :key="i" @click="yulan(child.fileFullUrl, item.multifileList)">
+						<view class="pl-item-info-list-image" v-for="(child, i) in item.multifileList" :key="i" @click.stop="yulan(child.fileFullUrl, item.multifileList)">
 							<image :src="child.fileFullUrl" mode="widthFix"></image>
 						</view>
 						<view style="width: 132rpx; height: 0;"></view>
@@ -30,13 +30,24 @@
 					<view class="pl-item-info-data">
 						<view class="pl-item-info-data-time">{{item.createDate  }}</view>
 						<view class="pl-item-info-data-list">
-							<view class="pl-item-info-data-list-item"   @click="openTwo(item.id, item)">
-								<image src="/static/icon/ic_reply2@2x.png" mode="widthFix"></image>
+							<view class="pl-item-info-data-list-item"  >
+								<button open-type="getPhoneNumber" style="border:none;" plain="true" @getphonenumber="getphonenumber" v-if="!userInfo ||!userInfo.id">
+									 <image  v-if="!userInfo ||!userInfo.id" src="/static/icon/ic_reply2@2x.png" mode="widthFix" ></image>
+								</button>
+								<image v-if="userInfo && userInfo.id" src="/static/icon/ic_reply2@2x.png" mode="widthFix"  @click="openTwo(item.id, item)"></image>
 							</view>
-							<view class="pl-item-info-data-list-item" @click.stop="dianzanpl(item)">
-								<image src="/static/icon/dianzan.png" mode="widthFix" v-if="!item.zanStatus || item.zanStatus == 0"></image>
-								<image src="/static/icon/detail_ic_zan_sel@2x.png" mode="widthFix" v-else></image>
-								<text :style="{color: (!item.zanStatus || item.zanStatus == 0) ? '#AAAAAA' : '#004096'}">{{item.zanCount}}</text>
+							<view class="pl-item-info-data-list-item" >
+								<template  v-if="userInfo && userInfo.id" >
+									<image src="/static/icon/dianzan.png" mode="widthFix" v-if="!item.zanStatus || item.zanStatus == 0"  @click.stop="dianzanpl(item)"></image>
+									<image src="/static/icon/detail_ic_zan_sel@2x.png" mode="widthFix" v-else  @click.stop="dianzanpl(item)"></image>
+									<text :style="{color: (!item.zanStatus || item.zanStatus == 0) ? '#AAAAAA' : '#004096'}"  @click.stop="dianzanpl(item)">{{item.zanCount}}</text>
+								</template>
+								<template  v-else>
+									<button open-type="getPhoneNumber" style="border:none;" plain="true" @getphonenumber="getphonenumber" v-if="!userInfo ||!userInfo.id">
+										<image src="/static/icon/dianzan.png" mode="widthFix"  ></image>
+										<text :style="{color: (!item.zanStatus || item.zanStatus == 0) ? '#AAAAAA' : '#004096'}"  >{{item.zanCount}}</text>
+									</button>
+								</template>
 							</view>
 						</view>
 					</view>
@@ -50,7 +61,7 @@
 								{{child.content}}
 							</view>
 							<view class="pl-item-info-list" v-if="child.multifileList && child.multifileList.length > 0">
-								<view class="pl-item-info-list-image" v-for="(child1, i) in child.multifileList" :key="i">
+								<view class="pl-item-info-list-image" v-for="(child1, i) in child.multifileList" :key="i" @click.stop="yulan(child1.fileFullUrl, child.multifileList)">
 									<image :src="child1.fileFullUrl" mode="widthFix"></image>
 								</view>
 								<view style="width: 132rpx; height: 0;"></view>
@@ -124,15 +135,18 @@
 				</view>
 			</view>
 		</u-popup>
+		<Login ref="login" />
 	</view>
 </template>
 
 <script>
 	import { mapState } from 'vuex'
 	import { dateConversion } from '@/utils/utils.js'
+	import Login from '@/components/login/login.vue'
 	export default {
+		components: { Login },
 		computed: {
-			...mapState(['userInfo', 'token'])
+			...mapState(['userInfo', 'token','recshopid','recuserid'])
 		},
 		data() {
 			return {
@@ -165,8 +179,30 @@
 			}
 		},
 		methods: {
+			// 鎺堟潈鎵嬫満鍙�
+			getphonenumber(e) {
+				if (e.detail.errMsg === 'getPhoneNumber:ok') {
+					this.$u.api.wxPhone({
+						code: e.detail.code,
+						shopId:this.recshopid,
+						recId:this.recuserid,
+						openid: this.openid
+					}).then(res => {
+						if (res.code === 200) {
+							this.$store.commit('setUserInfo', res.data.member)
+							this.$store.commit('setToken', res.data.token)
+							 this.$store.commit('setRecShopId','')
+							 this.$store.commit('setRecUserId','')
+						}
+					})
+				}
+			},
 			// 鐐硅禐
 			dianzanpl(item) {
+				if (!this.userInfo) {
+					this.$refs.login.open()
+					return;
+				}
 				if (!item.zanStatus || item.zanStatus == 0) {
 					this.$u.api.zanCreate({
 						objId: item.id,
@@ -281,6 +317,10 @@
 			},
 			// 璇勮
 			sendComment() {
+				if (!this.userInfo) {
+					this.$refs.login.open()
+					return;
+				}
 				if (!this.value && this.multifileList.length === 0) return uni.showToast({
 					title: '璇勮鍐呭涓嶈兘涓虹┖',
 					icon: 'none'
@@ -346,6 +386,10 @@
 				})
 			},
 			shoucang(type) {
+				if (!this.userInfo) {
+					this.$refs.login.open()
+					return;
+				}
 				if (type === 1) {
 					this.$u.api.cancelbatch({
 						ids: this.info.id,
@@ -367,6 +411,10 @@
 				}
 			},
 			dianzan(type) {
+				if (!this.userInfo) {
+					this.$refs.login.open()
+					return;
+				}
 				if (type === 1) {
 					this.$u.api.zanCancel({
 						objId: this.info.id,

--
Gitblit v1.9.3