config = ConfigModel::column('value', 'name'); } public function isEnable() { return boolval($this->config['split_enable'] ?? 0); } public function getMode() { return $this->config['split_mode'] ?? 'wechat'; } public function isHuifuMode() { if ($this->getMode() === 'huifu') { return true; } $provider = $this->config['split_provider'] ?? 'auto'; if ($provider === 'huifu') { return true; } if ($provider === 'auto' && class_exists('\\addons\\shopro_huifu\\library\\Bridge')) { return \addons\shopro_huifu\library\Bridge::isHuifuMiniProgramChannel('wxMiniProgram'); } return false; } public function shouldSkipWallet() { return in_array($this->getMode(), ['wechat', 'huifu', 'both']); } public function getTiming() { return $this->config['split_timing'] ?? 'payed'; } public function getAmountSource() { return $this->config['split_amount_source'] ?? 'mixed'; } public function getMaxRate() { return floatval($this->config['split_max_rate'] ?? 30); } public function getRetryMax() { return intval($this->config['split_retry_max'] ?? 5); } public function getRetryInterval() { return intval($this->config['split_retry_interval'] ?? 300); } public function getPlatformReceiverAccount() { return $this->config['platform_receiver_account'] ?? ''; } public function getPlatformReceiverName() { return $this->config['platform_receiver_name'] ?? '平台'; } public function getPlatformHuifuId() { return $this->config['platform_huifu_id'] ?? ''; } public function all() { return $this->config; } }