error('分销中心已关闭,该功能暂不可用', null, 101); } $user = auth_user(); // 检查分销商状态 $this->service = new AgentService($user); if ($this->service->agent && $this->service->agent->status === AgentModel::AGENT_STATUS_FORBIDDEN) { $this->error('账户已被禁用,该功能暂不可用', null, 102); } } /** * 获取分销配置 * * @return void */ public function config() { try { // 获取分销配置 $commissionConfig = ShopConfigService::getConfigs('shop.commission'); // 处理become_agent字段(如果是JSON字符串需要解析) if (isset($commissionConfig['become_agent']) && is_string($commissionConfig['become_agent'])) { $commissionConfig['become_agent'] = json_decode($commissionConfig['become_agent'], true) ?: ['type' => 'apply', 'value' => '']; } // 构建返回的配置数据 $config = [ // 基础配置 'level' => intval($commissionConfig['level'] ?? 2), 'self_buy' => intval($commissionConfig['self_buy'] ?? 0), 'invite_lock' => $commissionConfig['invite_lock'] ?? 'share', 'agent_check' => intval($commissionConfig['agent_check'] ?? 0), 'upgrade_jump' => intval($commissionConfig['upgrade_jump'] ?? 1), 'upgrade_check' => intval($commissionConfig['upgrade_check'] ?? 0), // 成为分销商条件 'become_agent' => $commissionConfig['become_agent'] ?? ['type' => 'apply', 'value' => ''], 'need_form' => intval($commissionConfig['need_form'] ?? 0), 'background_image' => !empty($commissionConfig['background_image']) ? cdnurl($commissionConfig['background_image'], true) : '', 'show_protocol' => intval($commissionConfig['show_protocol'] ?? 1), 'apply_protocol' => $commissionConfig['apply_protocol'] ?? '申请协议', // 结算配置 'reward_type' => $commissionConfig['reward_type'] ?? 'pay_price', 'reward_event' => $commissionConfig['reward_event'] ?? 'paid', 'refund_commission_reward' => intval($commissionConfig['refund_commission_reward'] ?? 1), 'refund_commission_order' => intval($commissionConfig['refund_commission_order'] ?? 1), // 分享配置 'share_title' => $commissionConfig['share_title'] ?? '我发现了一个好商品', 'share_description' => $commissionConfig['share_description'] ?? '快来看看这个优质商品,价格优惠,质量保证!', 'share_image' => !empty($commissionConfig['share_image']) ? cdnurl($commissionConfig['share_image'], true) : '', ]; $this->success('获取成功', $config); } catch (\Exception $e) { $this->error('获取配置失败: ' . $e->getMessage()); } } }