quanwei
2 days ago 04102f7237efefa744090ed7c25f7b5d0807b679
mobile/pages/plus/business/detail.vue
@@ -10,21 +10,25 @@
            <!-- 操作按钮区域 -->
            <view class="action-buttons">
               <view class="action-btn" @click="makePhoneCall(businessInfo.mobile)">
                  <text class="btn-icon">📞</text>
                  <image src="@/static/icon/bddh.png" class="btn-icon"></image>
                  <text class="btn-text">拨打电话</text>
               </view>
               <view class="action-btn" @click="shareToWechat">
                  <text class="btn-icon">💬</text>
                  <image src="@/static/wx.png" class="btn-icon"></image>
                  <text class="btn-text">分享微信</text>
               </view>
               <view class="action-btn" @click="openLocation(businessInfo)">
                  <text class="btn-icon">📍</text>
                  <image src="@/static/icon/address_icon.png" class="btn-icon"></image>
                  <text class="btn-text">导航地址</text>
               </view>
               <button open-type="share" class="action-btn">
                  <text class="btn-icon">➤</text>
                  <image src="@/static/icon/fenx.png" class="btn-icon"></image>
                  <text class="btn-text">分享名片</text>
               </button>
               <view class="action-btn" @click="contactWithChat">
                  <image src="@/static/icon/communication.png" class="btn-icon"></image>
                  <text class="btn-text">在线聊天</text>
               </view>
            </view>
            <!-- 名片简介 -->
@@ -106,6 +110,9 @@
         }
         this.getSettingBackground()
      },
      onShow() {
         this.getBusinessDetail();
      },
      methods: {
         back() {
            uni.navigateBack();
@@ -115,6 +122,18 @@
            // 预览图片
            uni.previewImage({
               urls: [_this.businessInfo.mp],
               longPressActions: {
                  itemList: ['转发给朋友', '保存图片', '收藏', '翻译图片中的文字', '提取文字'],
                  success: function(data) {
                     if (data.tapIndex == 1) {
                        _this.recordVisit(20)
                     }
                     console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
                  },
                  fail: function(err) {
                     console.log(err.errMsg);
                  }
               },
               complete: function(res) {
                  console.log(res);
               }
@@ -142,11 +161,11 @@
            });
         },
         // 记录访问
         recordVisit() {
         recordVisit(type = 10) {
            let _this = this;
            const params = {
               business_card_id: _this.business_card_id,
               type: 10
               type: type
            };
            _this._post('plus.business.saving/add', params, function() {
               // 无需处理返回结果
@@ -175,7 +194,16 @@
            } else {
               this.showError('暂未填写微信');
            }
         },
         },/*
         // 通过聊天联系
         contactWithChat() {
            console.log(this.businessInfo);
            if (!this.businessInfo) return;
            uni.navigateTo({
               url: `/pages/plus/business/chat/chat?user_id=${this.businessInfo.user_id}&business_card_id=${this.business_card_id}&nickName=${this.businessInfo.name}`
            });
         }, */
         // 打开地图
         openLocation(businessInfo) {
            let address = businessInfo.region.province + ' ' + businessInfo.region.city + ' ' + businessInfo.region
@@ -184,45 +212,22 @@
               this.showError('暂无地址信息');
               return;
            }
            // 使用腾讯地图API进行地理编码
            const apiKey = 'LS7BZ-NHSWK-CWOJQ-AJC7Y-H5HE2-UGBWR';
            const url = `https://apis.map.qq.com/ws/geocoder/v1/?address=${encodeURIComponent(address)}&key=${apiKey}`;
            uni.request({
               url: url,
               success: (res) => {
                  if (res.data.status === 0 && res.data.result) {
                     const location = res.data.result.location;
                     uni.openLocation({
                        latitude: location.lat,
                        longitude: location.lng,
                        name: address,
                        address: address,
                        scale: 18
                     });
                  } else {
                     // 地理编码失败,使用默认方式
                     uni.openLocation({
                        latitude: 0,
                        longitude: 0,
                        name: address,
                        address: address,
                        scale: 18
                     });
                  }
               },
               fail: () => {
                  // 请求失败,使用默认方式
                  uni.openLocation({
                     latitude: 0,
                     longitude: 0,
                     name: address,
                     address: address,
                     scale: 18
                  });
            console.log(businessInfo.latitude);
            console.log(businessInfo.longitude);
            let latitude = Number(businessInfo.latitude)
            let longitude = Number(businessInfo.longitude)
            uni.openLocation({
               latitude: latitude,
               longitude: longitude,
               name: businessInfo.address,
               address: address,
               scale: 18,
               complete: function(res) {
                  console.log(res);
               }
            });
         },
         // 分享名片
         shareCard() {
@@ -233,6 +238,7 @@
         },
         // 跳转到平台
         goToPlatform() {
            uni.setStorageSync('shop_supplier_id', 1)
            uni.navigateTo({
               url: '/pages/shop/shop?shop_supplier_id=1'
            });
@@ -244,6 +250,7 @@
               user_id: _this.businessInfo.user_id
            }, function(res) {
               if (res.data.list) {
                  uni.setStorageSync('shop_supplier_id', res.data.list.shop_supplier_id)
                  uni.navigateTo({
                     url: '/pages/shop/shop?shop_supplier_id=' + res.data.list.shop_supplier_id
                  });
@@ -288,7 +295,8 @@
               if (res.code === 1) {
                  // 跳转到收银台支付
                  uni.redirectTo({
                     url: '/pages/order/cashier?order_id=' + res.data.order_id + '&order_type=100'
                     url: '/pages/plus/business/cashier?order_id=' + res.data.order_id +
                        '&order_type=100'
                  });
               } else {
                  this.showError(res.msg || '支付失败');
@@ -296,30 +304,39 @@
            }, (err) => {
               this.showError('支付失败,请重试');
            });
         },
         // 在线聊天
         contactWithChat() {
            console.log(this.businessInfo);
            if (!this.businessInfo) return;
            uni.navigateTo({
               url: `/pages/plus/business/chat/chat?user_id=${this.businessInfo.user_id}&business_card_id=${this.business_card_id}&nickName=${this.businessInfo.name}`
            });
         }
      },
      onShareAppMessage() {
         if (this.businessInfo) {
            return {
               title: `${this.businessInfo.name}的电子名片`,
               path: `/pages/plus/business/detail?business_card_id=${this.business_card_id}&referee_id=${this.getUserId()}`
               path: `/pages/plus/business/detail?business_card_id=${this.business_card_id}&referee_id=${this.businessInfo.user_id}`
            };
         }
         return {
            title: '电子名片',
            path: `/pages/plus/business/detail?business_card_id=${this.business_card_id}`
            path: `/pages/plus/business/detail?business_card_id=${this.business_card_id}&referee_id=${this.businessInfo.user_id}`
         };
      },
      onShareTimeline() {
         if (this.businessInfo) {
            return {
               title: `${this.businessInfo.name}的电子名片`,
               path: `/pages/plus/business/detail?business_card_id=${this.business_card_id}&referee_id=${this.getUserId()}`
               path: `/pages/plus/business/detail?business_card_id=${this.business_card_id}&referee_id=${this.businessInfo.user_id}`
            };
         }
         return {
            title: '电子名片',
            path: `/pages/plus/business/detail?business_card_id=${this.business_card_id}`
            path: `/pages/plus/business/detail?business_card_id=${this.business_card_id}&referee_id=${this.businessInfo.user_id}`
         };
      }
   };
@@ -439,9 +456,12 @@
         flex: 1;
         line-height: normal;
         background: #ffffff00;
         padding: 0;
         .btn-icon {
            font-size: 56rpx;
            width: 56rpx;
            height: 56rpx;
            margin-bottom: 12rpx;
         }
@@ -478,6 +498,13 @@
            font-size: 28rpx;
            color: #666;
            line-height: 1.6;
            white-space: normal;
            word-break: break-word;
            word-wrap: break-word;
            overflow-wrap: break-word;
            overflow: hidden;
            max-width: 100%;
            line-height: 1.4;
         }
      }
   }
@@ -562,7 +589,7 @@
      gap: 10rpx;
      .create-card-btn {
         background: linear-gradient(90deg, #0078d7, #00b4ff);
         background: linear-gradient(90deg, #ff1529, #ff435f);
         color: #fff;
         font-weight: bold;
         padding: 10rpx 0;
@@ -681,7 +708,7 @@
            .confirm-btn {
               color: #fff;
               background-color: #37bde6;
               background-color: #D41003;
            }
         }
      }