Config.php 2.5 KB

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