model = new MiniProgramRelatedLink(); $this->settingsModel = new MiniProgramRelatedSettings(); } public function getConfig(): array { $settings = $this->settingsModel->findOrEmpty(self::SETTINGS_ID); return [ 'links' => $this->model ->field(['id', 'code', 'name', 'link', 'link_label', 'secondary_link', 'secondary_label', 'sort']) ->order('sort', 'asc') ->order('id', 'asc') ->select() ->toArray(), 'verification_file' => $settings->isEmpty() ? '' : (string) $settings->getAttr('verification_file'), ]; } public function saveVerificationFile(string $file): bool { $file = trim($file); if (mb_strlen($file) > 500) { throw new ApiException('校验文件地址不能超过 500 个字符'); } $settings = $this->settingsModel->findOrEmpty(self::SETTINGS_ID); if ($settings->isEmpty()) { return (bool) $this->settingsModel ->create(['id' => self::SETTINGS_ID, 'verification_file' => $file]) ->getKey(); } return $settings->save(['verification_file' => $file]) !== false; } }