Ver Fonte

0903-h01-1

Zory há 2 semanas atrás
pai
commit
37419a56fe

+ 1 - 1
app/controller/admin/Account.php

@@ -58,7 +58,7 @@ class Account extends Base
         try {
             $param = $this->_valid([
                 "id.require" => "参数错误"
-            ]);
+            ],$request->method());
             if (!is_array($param)) return error($param);
             $group = (new CpaAccountGroup)->where("account_id",$param['id'])->findOrEmpty();
             if ($group->isEmpty()) return error("组织信息错误");

+ 71 - 0
app/controller/admin/Config.php

@@ -0,0 +1,71 @@
+<?php
+
+namespace app\controller\admin;
+
+use app\extra\basic\Base;
+use app\extra\tools\OssRegionExtend;
+use app\middleware\AuthMiddleware;
+use app\model\system\SystemConfig;
+use LinFly\Annotation\Attributes\Route\Controller;
+use LinFly\Annotation\Attributes\Route\GetMapping;
+use LinFly\Annotation\Attributes\Route\Middleware;
+use LinFly\Annotation\Attributes\Route\PostMapping;
+use support\Request;
+use support\Response;
+
+
+#[Controller("/api/config"),Middleware(AuthMiddleware::class)]
+class Config extends Base
+{
+
+    #[GetMapping('list')]
+    public function getConfigList(Request $request): Response
+    {
+        try {
+            $type = $request->get("type","service");
+            $data = (new SystemConfig)->where("type",$type)->where("status",1)->field("name,value")->select()->toArray();
+            $result = [];
+            foreach ($data as $item) {
+                $result[$item['name']] = $item['value'];
+            }
+            if ($type == "sms") {
+                $result['channel'] = $this->getSmsChannel();
+                $result['login_sms'] = '您的验证码为:${code},请勿泄露于他人!';
+            }
+            return successTrans("success.data",$result);
+        } catch (\Throwable $throwable) {
+            return error($throwable->getMessage());
+        }
+    }
+
+    #[PostMapping("save")]
+    public function setConfigData(Request $request): Response
+    {
+        try {
+            $param = $request->post();
+            if (isset($param['data']['channel'])) unset($param['data']['channel']);
+            foreach ($param['data'] as $k => $v){
+                if(is_array($v)) $v = implode(",",$v);
+                sConf($param['type'].'.'.$k, $v);
+            }
+            return successTrans("success.data",[]);
+        } catch (\Throwable $exception){
+            return error($exception->getMessage());
+        }
+    }
+
+    #[GetMapping("regin")]
+    public function getConfigRegin(): Response
+    {
+        try {
+            return successTrans(100010,[
+                "oss"       => OssRegionExtend::OssRegion(),
+                "cos"       => OssRegionExtend::CosRegion(),
+                "qiniu"     => OssRegionExtend::QiniuRegion(),
+            ]);
+        } catch (\Exception $exception) {
+            return error($exception->getMessage());
+        }
+    }
+
+}

+ 35 - 0
app/controller/api/Home.php

@@ -0,0 +1,35 @@
+<?php
+
+namespace app\controller\api;
+
+use app\extra\basic\Base;
+use app\middleware\HomeMiddleware;
+use app\model\cpa\CpaPage;
+use LinFly\Annotation\Attributes\Route\Controller;
+use LinFly\Annotation\Attributes\Route\GetMapping;
+use LinFly\Annotation\Attributes\Route\Middleware;
+use support\Request;
+use support\Response;
+
+#[Controller("/web"),Middleware(HomeMiddleware::class)]
+class Home extends Base
+{
+
+    #[GetMapping('portal')]
+    public function getDesignData(Request $request): Response
+    {
+        try {
+            $param = $request->all();
+            if (empty($param['pageId'])) return error("参数错误");
+            $page = (new CpaPage)->where("link_code",$param['pageId'])->findOrEmpty();
+            if ($page->isEmpty()) return error("数据错误");
+            return success("success",[
+                "title"     => $page['title'],
+                "design"    => $page['content']
+            ]);
+        } catch (\Throwable $th) {
+            return error($th->getMessage());
+        }
+    }
+
+}

+ 24 - 0
app/middleware/HomeMiddleware.php

@@ -0,0 +1,24 @@
+<?php
+
+namespace app\middleware;
+
+use Webman\Http\Request;
+use Webman\Http\Response;
+use Webman\MiddlewareInterface;
+
+class HomeMiddleware implements MiddlewareInterface
+{
+
+    public function process(Request $request, callable $handler): Response
+    {
+        $response = $request->method() == 'OPTIONS' ? response('',204) : $handler($request);
+        $response->withHeaders([
+            'Access-Control-Allow-Credentials' => 'true',
+            'Access-Control-Allow-Origin' => $request->header('origin', '*'),
+            'Access-Control-Allow-Methods' => $request->header('access-control-request-method', '*'),
+            'Access-Control-Allow-Headers' => $request->header('access-control-request-headers', '*'),
+        ]);
+        return $response;
+    }
+
+}