MpWXPluginsService.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace services\common;
  3. use common\components\Service;
  4. use common\enums\StatusEnum;
  5. use common\models\common\MpwxPlugins;
  6. /**
  7. * 小程序插件service
  8. */
  9. class MpWXPluginsService extends Service
  10. {
  11. /**
  12. * 创建小程序插件配置
  13. *
  14. * @param string $addons_name
  15. * @param array $plugins
  16. *
  17. * @return void
  18. */
  19. public function create(string $addons_name, array $plugins)
  20. {
  21. if (empty($plugins)) {
  22. return;
  23. }
  24. $ids = [];
  25. // 写入
  26. foreach ($plugins['backend'] as $plugin) {
  27. if (!isset($plugin['name'], $plugin['plugins'])) {
  28. continue;
  29. }
  30. $res = MpwxPlugins::setData([
  31. 'addons_name' => $addons_name,
  32. 'name' => $plugin['name'],
  33. 'plugins' => $plugin['plugins'],
  34. ]);
  35. if ($res === false) {
  36. continue;
  37. }
  38. $ids[] = $res['id'];
  39. }
  40. MpwxPlugins::deleteAll([
  41. 'and',
  42. ['=', 'addons_name', $addons_name],
  43. ['=', 'status', StatusEnum::ENABLED],
  44. ['not in', 'id', $ids]
  45. ]);
  46. }
  47. }