MiniProgramPlatformInfoLogic.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | saiadmin [ saiadmin快速开发框架 ]
  4. // +----------------------------------------------------------------------
  5. namespace plugin\saiadmin\app\logic\miniProgram;
  6. use plugin\saiadmin\app\model\miniProgram\MiniProgramPlatformInfo;
  7. use plugin\saiadmin\basic\think\BaseLogic;
  8. /**
  9. * 小程序平台信息逻辑层
  10. */
  11. class MiniProgramPlatformInfoLogic extends BaseLogic
  12. {
  13. private const CONFIG_ID = 1;
  14. private const FIELDS = [
  15. 'mini_program_logo',
  16. 'mini_program_name',
  17. 'official_account_qrcode',
  18. 'official_account_name',
  19. 'customer_service_phone',
  20. 'customer_service_wechat',
  21. 'company_name',
  22. 'company_address',
  23. 'introduction',
  24. ];
  25. public function __construct()
  26. {
  27. $this->model = new MiniProgramPlatformInfo();
  28. }
  29. public function getConfig(): array
  30. {
  31. $model = $this->model->findOrEmpty(self::CONFIG_ID);
  32. if (!$model->isEmpty()) {
  33. return $model->toArray();
  34. }
  35. return array_merge(['id' => self::CONFIG_ID], array_fill_keys(self::FIELDS, ''));
  36. }
  37. public function saveConfig(array $data): bool
  38. {
  39. $payload = [];
  40. foreach (self::FIELDS as $field) {
  41. $payload[$field] = trim((string) ($data[$field] ?? ''));
  42. }
  43. $model = $this->model->findOrEmpty(self::CONFIG_ID);
  44. if ($model->isEmpty()) {
  45. $payload['id'] = self::CONFIG_ID;
  46. return (bool) $this->model->create($payload)->getKey();
  47. }
  48. return $model->save($payload) !== false;
  49. }
  50. }