| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- // +----------------------------------------------------------------------
- // | saiadmin [ saiadmin快速开发框架 ]
- // +----------------------------------------------------------------------
- namespace plugin\saiadmin\app\logic\miniProgram;
- use plugin\saiadmin\app\model\miniProgram\MiniProgramRelatedLink;
- use plugin\saiadmin\app\model\miniProgram\MiniProgramRelatedSettings;
- use plugin\saiadmin\basic\think\BaseLogic;
- use plugin\saiadmin\exception\ApiException;
- /**
- * 小程序相关链接逻辑层
- */
- class MiniProgramRelatedLinksLogic extends BaseLogic
- {
- private const SETTINGS_ID = 1;
- private MiniProgramRelatedSettings $settingsModel;
- public function __construct()
- {
- $this->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;
- }
- }
|