From 2b728186c745b598e8ccb9dcc37360eed49375f6 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 30 Oct 2025 18:58:21 +0800
Subject: [PATCH] 完成名片列表功能 完成名片筛选功能 完成查看名片详情 完成购买名片查看联系方式
---
admin/app/api/controller/plus/business/Business.php | 36 ++++++++++++++++++++++++++++++------
1 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/admin/app/api/controller/plus/business/Business.php b/admin/app/api/controller/plus/business/Business.php
index 8b4c0ad..e60799f 100644
--- a/admin/app/api/controller/plus/business/Business.php
+++ b/admin/app/api/controller/plus/business/Business.php
@@ -17,19 +17,25 @@
{
$model = new BusinessModel();
$params=$this->request->param();
+ $user = $this->getUser();
+ $currentUserId = $user ? $user['user_id'] : 0;
+ if(!empty($params['user_id'])&&$params['user_id']=='undefined'){
+ $params['user_id']=$currentUserId;
+ }
$list=$model->getList($params);
$user = $this->getUser();
$currentUserId = $user ? $user['user_id'] : 0;
$orderModel = new OrderModel();
- foreach ($list as $key => $value) {
+ foreach ($list as $key => &$value) {
// 标记是否已购买
$hasPurchased = $orderModel->checkCardPurchase($currentUserId, $value['business_card_id']);
$list[$key]['has_purchased'] = $hasPurchased;
$needDesensitization = $this->needDesensitizeCard($value, $currentUserId);
$posterType = $needDesensitization ? 'desensitization' : 'business';
$Qrcode = new Poster($value, $posterType);
- $data['mp'] = $Qrcode->getImage();
+ $value['mp'] = $Qrcode->getImage();
+ $value['posterType'] = $posterType;
// 使用封装的方法判断是否需要脱敏
if ($needDesensitization) {
$list[$key] = $this->desensitizeBusinessData($value);
@@ -124,16 +130,32 @@
/**
* 名片详情
* @param $business_card_id
- * @return array
+ * @return array|\think\response\Json
* @throws \app\common\exception\BaseException
* @throws \think\exception\DbException
*/
public function detail($business_card_id)
{
- $data = (new BusinessModel())->where(['business_card_id'=>$business_card_id])->with(['image', 'logoImage'])->find();
+ $data = (new BusinessModel())::detail($business_card_id);
if ($data) {
- $Qrcode = new Poster($data);
+ // 获取当前用户信息
+ $currentUser = $this->getUser();
+ $currentUserId = $currentUser ? $currentUser['user_id'] : 0;
+
+ // 使用封装的方法判断是否需要脱敏
+ $needDesensitization = $this->needDesensitizeCard($data, $currentUserId);
+
+ // 生成海报图
+ $posterType = $needDesensitization ? 'desensitization' : 'business';
+ $Qrcode = new Poster($data, $posterType);
$data['mp'] = $Qrcode->getImage();
+ $imageInfo = getimagesize($data['mp']);
+ $data['posterType'] = $posterType;
+
+ // 如果需要脱敏,对返回数据也进行脱敏处理
+ if ($needDesensitization) {
+ $data = $this->desensitizeBusinessData($data);
+ }
}
return $this->renderSuccess('',$data);
}
@@ -282,7 +304,9 @@
}
return $this->renderError('删除失败');
}
-
+ public function getIlk(){
+ return $this->renderSuccess('',[10=>'个人名片',20=>'企业名片']);
+ }
/**
* 获取访客列表
* @return array
--
Gitblit v1.9.2