diff --git a/Server/application/cunkebao/controller/distribution/ChannelController.php b/Server/application/cunkebao/controller/distribution/ChannelController.php index a58a5c04..ab8fa447 100644 --- a/Server/application/cunkebao/controller/distribution/ChannelController.php +++ b/Server/application/cunkebao/controller/distribution/ChannelController.php @@ -10,7 +10,6 @@ use think\Db; use think\Exception; use think\facade\Env; use think\facade\Cache; -use think\facade\Log; use Endroid\QrCode\QrCode; use Endroid\QrCode\ErrorCorrectionLevel; use EasyWeChat\Factory; @@ -122,6 +121,7 @@ class ChannelController extends BaseController 'code' => $channel['code'], 'phone' => $channel['phone'] ?: '', 'wechatId' => $channel['wechatId'] ?: '', + 'companyId' => (int)$companyId, // 返回companyId,方便小程序自动跳转 'createType' => $channel['createType'], 'status' => $channel['status'], 'totalCustomers' => (int)$channel['totalCustomers'], @@ -876,10 +876,8 @@ class ChannelController extends BaseController 'expireTime' => time() + 86400, 'createTime' => time() ]); - Log::info('生成小程序码 - 存储映射到数据库,scene: ' . $scene . ', companyId: ' . $companyId); } catch (\Exception $e) { // 如果表不存在,尝试创建表 - Log::warning('存储映射关系失败,尝试创建表: ' . $e->getMessage()); $this->createSceneTokenTable(); // 重试一次 try { @@ -891,7 +889,7 @@ class ChannelController extends BaseController 'createTime' => time() ]); } catch (\Exception $e2) { - Log::error('重试存储映射关系失败: ' . $e2->getMessage()); + // 静默失败,不影响主流程 } } @@ -949,13 +947,6 @@ class ChannelController extends BaseController $sceneCacheKey = 'channel_register_scene_' . $scene; Cache::set($sceneCacheKey, $token, 86400); - // 验证数据库和缓存是否存储成功 - $dbToken = Db::name('distribution_channel_scene_token') - ->where('scene', $scene) - ->where('expireTime', '>', time()) - ->value('token'); - $cacheToken = Cache::get($sceneCacheKey); - Log::info('生成小程序码 - scene: ' . $scene . ', 数据库验证: ' . ($dbToken ? '成功' : '失败') . ', 缓存验证: ' . ($cacheToken ? '成功' : '失败')); // 调用接口生成小程序码 // 注意:page 必须是小程序里已经存在且发布过的页面路径 @@ -1176,9 +1167,6 @@ class ChannelController extends BaseController ]); } - // 记录接收到的参数 - Log::info('registerByQrCode - 接收到的token参数: ' . $token . ', 长度: ' . strlen($token) . ', 是否为32位MD5: ' . (preg_match('/^[a-f0-9]{32}$/i', $token) ? '是' : '否')); - // 判断传入的是scene(32位MD5)还是token(base64编码) // 如果是32位MD5字符串,则从数据库或缓存中查找对应的token if (strlen($token) == 32 && preg_match('/^[a-f0-9]{32}$/i', $token)) { @@ -1190,14 +1178,12 @@ class ChannelController extends BaseController if ($sceneData && !empty($sceneData['token'])) { $realToken = $sceneData['token']; - Log::info('registerByQrCode - 从数据库获取token成功,scene: ' . $token); } else { // 如果数据库中没有,尝试从缓存获取 $sceneCacheKey = 'channel_register_scene_' . $token; $realToken = Cache::get($sceneCacheKey); if (empty($realToken)) { - Log::warning('registerByQrCode - 数据库和缓存中均未找到token,scene: ' . $token); return json([ 'code' => 400, 'success' => false, @@ -1205,12 +1191,9 @@ class ChannelController extends BaseController 'data' => null ]); } - Log::info('registerByQrCode - 从缓存获取token成功,scene: ' . $token); } $token = $realToken; - } else { - Log::info('registerByQrCode - 识别为token(非scene),直接使用,token长度: ' . strlen($token)); } // 解析token @@ -1369,6 +1352,7 @@ class ChannelController extends BaseController 'code' => $channel['code'], 'phone' => $channel['phone'] ?: '', 'wechatId' => $channel['wechatId'] ?: '', + 'companyId' => (int)$companyId, // 返回companyId,方便小程序自动跳转 'createType' => $channel['createType'], 'status' => $channel['status'], 'totalCustomers' => (int)$channel['totalCustomers'], @@ -1416,9 +1400,8 @@ class ChannelController extends BaseController ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分销渠道小程序码scene和token映射表';"; Db::execute($sql); - Log::info('创建scene和token映射表成功'); } catch (\Exception $e) { - Log::error('创建scene和token映射表失败: ' . $e->getMessage()); + // 静默失败 } } }