Config.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace app\controller\admin;
  3. use app\extra\basic\Base;
  4. use app\middleware\AuthMiddleware;
  5. use app\model\system\SystemConfig;
  6. use LinFly\Annotation\Route\Controller;
  7. use LinFly\Annotation\Route\Route;
  8. use support\Request;
  9. use support\Response;
  10. use Webman\Annotation\Middleware;
  11. #[Controller(prefix: "/api/config"),Middleware(AuthMiddleware::class)]
  12. class Config extends Base
  13. {
  14. /**
  15. * 获取配置信息
  16. */
  17. #[Route(path: "list",methods: "get")]
  18. public function getConfigList(Request $request): Response
  19. {
  20. try {
  21. $type = $request->get("type","service");
  22. $data = (new SystemConfig)->where("type",$type)->where("status",1)->field("name,value")->select()->toArray();
  23. $result = [];
  24. foreach ($data as $item) {
  25. $result[$item['name']] = $item['value'];
  26. }
  27. if ($type == "sms") {
  28. $result['channel'] = $this->getSmsChannel();
  29. $result['login_sms'] = '您的验证码为:${code},请勿泄露于他人!';
  30. }
  31. return successTrans("success.data",$result);
  32. } catch (\Throwable $throwable) {
  33. return error($throwable->getMessage());
  34. }
  35. }
  36. /**
  37. * 保存通用配置
  38. * @param Request $request
  39. * @return Response
  40. */
  41. #[Route(path: "save",methods: "post")]
  42. public function setConfigData(Request $request): Response
  43. {
  44. try {
  45. $param = $request->post();
  46. if (isset($param['data']['channel'])) unset($param['data']['channel']);
  47. foreach ($param['data'] as $k => $v){
  48. if(is_array($v)) $v = implode(",",$v);
  49. sConf($param['type'].'.'.$k, $v);
  50. }
  51. return successTrans("success.data",[]);
  52. } catch (\Throwable $exception){
  53. return error($exception->getMessage());
  54. }
  55. }
  56. }