rkljw 5 ماه پیش
والد
کامیت
b7b4d7f1cc

+ 1 - 0
.gitignore

@@ -20,3 +20,4 @@ runtime/*
 # Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
 # should NOT be excluded as they contain compiler settings and other important
 # information for Eclipse / Flash Builder.
+runtime/container/scan.cache

+ 5 - 6
app/Controller/ChatController.php

@@ -22,7 +22,7 @@ use Hyperf\Context\Context;
  * Class ChatController
  * @package App\Controller
  */
-#[AutoController]
+//#[AutoController]
 class ChatController extends AbstractController
 {
     #[Inject]
@@ -53,7 +53,8 @@ class ChatController extends AbstractController
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        $requireData['user_id'] =Context::get("UserId");
+        $requireData['user_id'] = Context::get("UserId");
+        var_dump("用户id:",$requireData);
         $result = $this->chatServiceClient->addContactApply($requireData);
         return $result?Result::success($result['data']):Result::error($result['message']);
     }
@@ -181,10 +182,8 @@ class ChatController extends AbstractController
               $errorMessage = $validator->errors()->first();
               return Result::error($errorMessage);
           }
-          $requireData['user_id'] =Context::get("UserId");
-          $userIdArr = array(json_decode($requireData['user_id_arr']));
-          $requireData['user_id_arr'] = $userIdArr[0];
-          $requireData['user_id_arr'][] =Context::get("UserId");
+          $requireData['user_id'] = Context::get("UserId");
+          $requireData['user_id_arr'] = $requireData['user_id_arr'];
           var_dump($requireData);
           $result = $this->chatServiceClient->addTalkGroup($requireData);
           return $result['code']==200?Result::success($result['data']):Result::error($result['message']);

+ 116 - 0
app/Controller/CollectorController.php

@@ -0,0 +1,116 @@
+<?php
+
+declare(strict_types=1);
+namespace App\Controller;
+
+use App\JsonRpc\CollectorServiceInterface;
+use App\Tools\PublicData;
+use Hyperf\Di\Annotation\Inject;
+use Hyperf\HttpServer\Annotation\AutoController;
+use App\Tools\Result;
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
+use App\Constants\ErrorCode;
+use Hyperf\Context\Context;
+/**
+ * ClassCollectorController
+ * @package App\Controller
+ */
+
+class CollectorController extends AbstractController
+{
+    #[Inject]
+    protected ValidatorFactoryInterface $validationFactory;
+
+
+    /**
+     * @var CollectorServiceInterface
+     */
+    #[Inject]
+    private $collectorServiceClient;
+ 
+    /**
+     * 添加网站
+     * @return array
+     */
+    public function addWeb()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'name'=> 'required',
+                'url'=> 'required',
+            ],
+            [
+                'name.required' => '网站名称不能为空',
+                'url.required' => '网站地址不能为空',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+
+
+        
+        $result = $this->collectorServiceClient->addWeb($requireData);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+     /**
+     * 获取网站
+     * @return array
+     */
+    public function getWeb()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'page'=> 'required',
+                'pageSize'=> 'required',
+            ],
+            [
+                'page.required' => '第几页不能为空',
+                'pageSize.required' => '每页显示条数不能为空',
+            ]
+        );
+        if(isset($requireData['keyWord'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'keyWord'=> 'required'
+                ],
+                [
+                    'keyWord.required' => '搜索词不能为空'
+                ]
+            );
+        }
+        
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }        
+        $result = $this->collectorServiceClient->getWeb($requireData);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+
+
+    /**
+     * @return array
+     */
+    public function sendCrawler()
+    {
+        $requireData = $this->request->all();
+        $result = $this->collectorServiceClient->sendCrawler($requireData);
+
+        return $result?Result::success($result['data']):Result::error($result['message']);
+    }
+
+
+}

+ 73 - 69
app/Controller/LoginController.php

@@ -1,16 +1,17 @@
 <?php
-declare(strict_types=1);
+declare (strict_types = 1);
 namespace App\Controller;
-use \Phper666\JWTAuth\JWT;
-use Hyperf\Di\Annotation\Inject;
-use Hyperf\HttpServer\Annotation\AutoController;
-use Hyperf\Validation\Contract\ValidatorFactoryInterface;
-use App\Tools\Result;
+
 use App\JsonRpc\UserServiceInterface;
 use App\Tools\CommonService;
-use function Hyperf\Support\env;
 use App\Tools\PublicData;
-use Hyperf\Context\Context;
+use App\Tools\Result;
+use function Hyperf\Support\env;
+use Hyperf\Di\Annotation\Inject;
+use Hyperf\HttpServer\Annotation\AutoController;
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
+use \Phper666\JWTAuth\JWT;
+
 /**
  * @AutoController()
  */
@@ -27,50 +28,53 @@ class LoginController extends AbstractController
     private $userServiceClient;
     public function login(Jwt $jwt)
     {
-        $reqData =  $this->request->all();
+//        $this->logger->info("验证之前");
+
+        $reqData = $this->request->all();
         $validator = $this->validationFactory->make(
             $reqData,
             [
                 'username' => 'required',
                 'password' => 'required',
-                'type'     =>'required'
+                'type' => 'required',
             ],
             [
                 'username.required' => '用户名不能为空',
                 'password.required' => '密码不能为空',
-                'type.required'     => '登录方式必填'
+                'type.required' => '登录方式必填',
             ]
         );
 
-        if ($validator->fails()){
+        if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
         $comm = new CommonService();
         $ip = $comm->userIp();
         $redis = $this->container->get(\Hyperf\Redis\Redis::class);
-        $code = $redis->get('code'.$ip);
-        if(empty($code)){
+        $code = $redis->get('code' . $ip);
+        if (empty($code)) {
             return Result::error("验证码已过期");
         }
-        var_dump("验证码:",$code);
-        if(strtolower($code)!=$reqData['captcha']){
+        var_dump("验证码:", $code);
+        if (strtolower($code) != $reqData['captcha']) {
             return Result::error("验证码错误");
         }
+        //$reqData
         $where = [];
-        if($reqData['type'] ==1){//密码登录
+        if ($reqData['type'] == 1) { //密码登录
             $where = [
-                'user_name'=>$reqData['username'],
+                'user_name' => $reqData['username'],
             ];
         }
 //        $this->logger->info("验证之前");
         $userInfos = $this->userServiceClient->verifyUserInfo($where);
-        if($userInfos['code']==0){
+        if ($userInfos['code'] == 0) {
             return Result::error("用户名或密码错误");
         }
-        var_dump("用户信息:",$userInfos);
+        var_dump("用户信息:", $userInfos);
 //        $this->logger->info("验证用户返回值:", $userInfos);
-        if(md5(md5($reqData['password']).$userInfos['data']['salt']) != $userInfos['data']['password']){
+        if (md5(md5($reqData['password']) . $userInfos['data']['salt']) != $userInfos['data']['password']) {
             return Result::error("用户名或密码错误");
         }
         $userData = [
@@ -98,24 +102,24 @@ class LoginController extends AbstractController
     public function checkVerifyCode(Jwt $jwt)
     {
         //其它信息暂时不管 先以openid
-        $reqData =  $this->request->all();
+        $reqData = $this->request->all();
         $validator = $this->validationFactory->make(
             $reqData,
             [
-                'token' => 'required'
+                'token' => 'required',
             ],
             [
-                'token.required' => 'token不能为空'
+                'token.required' => 'token不能为空',
             ]
         );
-        if ($validator->fails()){
+        if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
         $userInfo = $jwt->getClaimsByToken($reqData['token']);
-        if($userInfo){
-            return Result::success(['token'=>$reqData['token']]);
-        }else{
+        if ($userInfo) {
+            return Result::success(['token' => $reqData['token']]);
+        } else {
             return Result::error("token无效");
         }
     }
@@ -126,40 +130,40 @@ class LoginController extends AbstractController
     public function registerOrLogin(Jwt $jwt)
     {
         //获取access_token
-        $reqData =  $this->request->all();
+        $reqData = $this->request->all();
         $validator = $this->validationFactory->make(
             $reqData,
             [
-                'code' => 'required'
+                'code' => 'required',
             ],
             [
-                'code.required' => 'code不能为空'
+                'code.required' => 'code不能为空',
             ]
         );
 
-        if ($validator->fails()){
+        if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
 
-        $url = env("WECHAT")."cgi-bin/token?appid=".env("APPID")."&secret=".env("APP_SECRET")."&grant_type=client_credential";
-        $result =  PublicData::http_get($url);
-        $accessTokenData = json_decode($result,true);
+        $url = env("WECHAT") . "cgi-bin/token?appid=" . env("APPID") . "&secret=" . env("APP_SECRET") . "&grant_type=client_credential";
+        $result = PublicData::http_get($url);
+        $accessTokenData = json_decode($result, true);
         //获取openid
-        $url = env("WECHAT")."sns/jscode2session?appid=".env("APPID")."&secret=".env("APP_SECRET")."&js_code=".$reqData['loginCode']."&grant_type=authorization_code";
-        $result =  PublicData::http_get($url);
-        $openInfoData = json_decode($result,true);
-        if(isset($openInfoData['errcode']) && in_array($openInfoData['errcode'],[40163,40029])){
-            return  Result::error($openInfoData['errmsg']);
+        $url = env("WECHAT") . "sns/jscode2session?appid=" . env("APPID") . "&secret=" . env("APP_SECRET") . "&js_code=" . $reqData['loginCode'] . "&grant_type=authorization_code";
+        $result = PublicData::http_get($url);
+        $openInfoData = json_decode($result, true);
+        if (isset($openInfoData['errcode']) && in_array($openInfoData['errcode'], [40163, 40029])) {
+            return Result::error($openInfoData['errmsg']);
         }
         $data = [
             'code' => $reqData['code'],
-            'openid'=>$openInfoData['openid']
+            'openid' => $openInfoData['openid'],
         ];
         // 将数组转换为JSON字符串
         $jsonData = json_encode($data);
         // 初始化cURL会话
-        $ch = curl_init(env("WECHAT")."wxa/business/getuserphonenumber?access_token=".$accessTokenData['access_token']);
+        $ch = curl_init(env("WECHAT") . "wxa/business/getuserphonenumber?access_token=" . $accessTokenData['access_token']);
 
         // 设置cURL选项 Todo 这里有一万个wc 封装成post方法就报错,后期再研究
         curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@@ -167,51 +171,51 @@ class LoginController extends AbstractController
         curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
         curl_setopt($ch, CURLOPT_HTTPHEADER, [
             'Content-Type: application/json',
-            'Content-Length: ' . strlen($jsonData)
+            'Content-Length: ' . strlen($jsonData),
         ]);
         // 执行cURL会话
         $response = curl_exec($ch);
         // 检查是否有错误发生
-        if(curl_errno($ch)){
-            return  Result::error("获取手机号失败");
+        if (curl_errno($ch)) {
+            return Result::error("获取手机号失败");
         }
         // 关闭cURL会话
         curl_close($ch);
-        $response = json_decode($response,true);
-        if($response['errcode']=='40029'){
-            return  Result::error($openInfoData['errmsg']);
+        $response = json_decode($response, true);
+        if ($response['errcode'] == '40029') {
+            return Result::error($openInfoData['errmsg']);
         }
-       // 打印响应内容
-        var_dump($openInfoData,$response);
+        // 打印响应内容
+        var_dump($openInfoData, $response);
         //根据openid 获取token
 
         $checkUserInfo = $this->userServiceClient->verifyUserInfo([
-            'user_name'=>$response['phone_info']['purePhoneNumber']
+            'user_name' => $response['phone_info']['purePhoneNumber'],
         ]);
-        if($checkUserInfo['code']==0){
+        if ($checkUserInfo['code'] == 0) {
             $salt = rand(1, 999999);
             $createUserData = [
-                'user_name'=>$response['phone_info']['purePhoneNumber'],
+                'user_name' => $response['phone_info']['purePhoneNumber'],
                 'salt' => $salt,
-                'password'=>$openInfoData['openid'],
-                'type_id'=>20000
+                'password' => $openInfoData['openid'],
+                'type_id' => 20000,
             ];
-            $checkUserInfo =  $this->userServiceClient->createUser($createUserData);
+            $checkUserInfo = $this->userServiceClient->createUser($createUserData);
         }
         //根据openid和手机号判断是否注册,未注册直接注册
         $wechatReqData = [
-            'openid'=>$openInfoData['openid'],
-            'purePhoneNumber'=>$response['phone_info']['purePhoneNumber']
+            'openid' => $openInfoData['openid'],
+            'purePhoneNumber' => $response['phone_info']['purePhoneNumber'],
         ];
         $wechatInfo = $this->userServiceClient->getWechatInfo($wechatReqData);
-        if($wechatInfo['code']==0){
+        if ($wechatInfo['code'] == 0) {
             $wechatData = [
-                'openid'=>$openInfoData['openid'],
-                'phoneNumber'=>$response['phone_info']['phoneNumber'],
-                'purePhoneNumber'=>$response['phone_info']['purePhoneNumber'],
-                'countryCode'=>$response['phone_info']['countryCode'],
-                'watermark'=>json_encode($response['phone_info']['watermark']),
-                'user_id'=>$checkUserInfo['data']['id']
+                'openid' => $openInfoData['openid'],
+                'phoneNumber' => $response['phone_info']['phoneNumber'],
+                'purePhoneNumber' => $response['phone_info']['purePhoneNumber'],
+                'countryCode' => $response['phone_info']['countryCode'],
+                'watermark' => json_encode($response['phone_info']['watermark']),
+                'user_id' => $checkUserInfo['data']['id'],
             ];
             $this->userServiceClient->addWechatInfo($wechatData);
         }
@@ -219,7 +223,7 @@ class LoginController extends AbstractController
         $userData = [
             'uid' => $checkUserInfo['data']['id'], // 如果使用单点登录,必须存在配置文件中的sso_key的值,一般设置为用户的id
             'user_name' => $response['phone_info']['phoneNumber'],
-            'mobile' => $checkUserInfo['data']['mobile']??'',
+            'mobile' => $checkUserInfo['data']['mobile'] ?? '',
             'email' => $checkUserInfo['data']['email'],
 //            'rong_token' => $userInfos['data']['rong_token'],
             'level_id' => $checkUserInfo['data']['level_id'],
@@ -246,8 +250,8 @@ class LoginController extends AbstractController
         $h = $this->request->getHeaders();
 //        var_dump($this->request->getHeaders());
 //        $a= 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwaHBlcjY2Ni9qd3QiLCJ1aWQiOjMyLCJ1c2VyX25hbWUiOiIxIiwicm9sZV9pZCI6MSwibW9iaWxlIjoiMTU4MDEyNDU3NTUiLCJlbWFpbCI6IjVAcXEuY29tIiwicm9uZ190b2tlbiI6IiIsImxldmVsX2lkIjo4LCJqd3Rfc2NlbmUiOiJkZWZhdWx0IiwianRpIjoiZGVmYXVsdF82Njc1MjJkZDQ3YWYxMi41MTE5MjI5MiIsImlhdCI6MTcxODk1MjY2OSwibmJmIjoxNzE4OTUyNjY5LCJleHAiOjE3MjE1NDQ2Njl9.e0JW8fgNrwBdFgmQ8GNtES2ME1SbcbIih5MsQWzT6sk';
-        $arr =  $jwt->getClaimsByToken($h['token'][0]);
-        var_dump($h['token'][0],"+++++++++++",$arr,"===####");
+        $arr = $jwt->getClaimsByToken($h['token'][0]);
+        var_dump($h['token'][0], "+++++++++++", $arr, "===####");
         return $this->response->json(['code' => 0, 'msg' => 'success', 'data' => ['a' => 1]]);
     }
-}
+}

+ 467 - 0
app/Controller/OrderController.php

@@ -0,0 +1,467 @@
+<?php
+
+declare (strict_types = 1);
+
+namespace App\Controller;
+
+use App\JsonRpc\OrderServiceInterface;
+use App\Tools\Result;
+use Hyperf\Context\Context;
+use Hyperf\Di\Annotation\Inject;
+use Hyperf\HttpServer\Contract\RequestInterface;
+use Hyperf\HttpServer\Contract\ResponseInterface;
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
+
+/**
+ * Class OrderController
+ * @package App\Controller
+ */
+class OrderController extends AbstractController
+{
+    #[Inject]
+    protected ValidatorFactoryInterface $validationFactory;
+
+    /**
+     * @var OrderServiceInterface
+     */
+    #[Inject]
+    private $orderServiceClient;
+    public function index(RequestInterface $request, ResponseInterface $response)
+    {
+        return $response->raw('Hello Hyperf!');
+    }
+
+    /***
+     * 状态说明
+     */
+    public function getStauts()
+    {
+        $data['order'] = [
+            1 => '通过',
+            2 => '驳回',
+            3 => '撤回',
+            4 => '修改',
+            5 => '过期',
+            6 => '待审核',
+            7 => '结束',
+        ];
+        $data['order_ad'] = [
+            1 => '待投放',
+            2 => '驳回',
+            3 => '撤回',
+            4 => '修改',
+            5 => '过期',
+            6 => '待审核',
+            7 => '结束',
+            8 => '投放中',
+        ];
+        return Result::success($data);
+
+    }
+    /**
+     * 查询广告位
+     */
+    public function getAD()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'width' => 'required',
+                'height' => 'required',
+                'starttime' => 'required',
+                'endtime' => 'required',
+                'pageSize' => 'required',
+                'page' => 'required',
+
+            ],
+            [
+                'width.required' => '图片宽度不能为空',
+                'height.required' => '图片高度不能为空',
+                'starttime.required' => '广告开始时间不能为空',
+                'endtime.required' => '广告结束时间不能为空',
+                'pageSize.required' => '显示条数不能为空',
+                'page.required' => '分页不能为空',
+
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->orderServiceClient->getAD($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+
+    /**
+     * 根据网站查找广告位
+     */
+    public function getWebsiteAd()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'width' => 'required',
+                'height' => 'required',
+                'starttime' => 'required',
+                'endtime' => 'required',
+
+            ],
+            [
+                'width.required' => '图片宽度不能为空',
+                'height.required' => '图片高度不能为空',
+                'starttime.required' => '广告开始时间不能为空',
+                'endtime.required' => '广告结束时间不能为空',
+
+            ]
+        );
+        if (!empty($requireData['website_id'])) {
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'website_id' => 'required',
+                    'pageSize' => 'required',
+                    'page' => 'required',
+
+                ],
+                [
+                    'website_id.required' => '网站id不能为空',
+                    'pageSize.required' => '显示条数不能为空',
+                    'page.required' => '分页不能为空',
+
+                ]
+            );
+        }
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+
+        $result = $this->orderServiceClient->getWebsiteAd($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function getOrderListAdmin()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'pageSize' => 'required',
+                'page' => 'required',
+
+            ],
+            [
+                'pageSize.required' => '显示条数不能为空',
+                'page.required' => '分页不能为空',
+
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->orderServiceClient->getOrderListAdmin($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+
+    /**
+     * 添加订单
+     */
+    public function addAD()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+
+                'name' => 'required',
+                'width' => 'required',
+                'height' => 'required',
+                'starttime' => 'required',
+                'endtime' => 'required',
+                'imgurl' => 'required',
+                'imgsrc' => 'required',
+                'pid' => 'required',
+            ],
+            [
+                'name.required' => '广告名称不能为空',
+                'width.required' => '图片宽度不能为空',
+                'height.required' => '图片高度不能为空',
+                'starttime.required' => '广告开始时间不能为空',
+                'endtime.required' => '广告结束时间不能为空',
+                'imgurl.required' => '图片广告链接不能为空',
+                'imgsrc.required' => '图片广告地址不能为空',
+                'pid.required' => '广告位id不能为空',
+
+            ]
+        );
+
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $commaSeparatedString = $requireData['pid'];
+        $array = explode(",", $commaSeparatedString);
+        $requireData['pid'] = $array;
+        $result = $this->orderServiceClient->addAD($requireData);
+        // return $requireData;
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 获取订单列表
+     */
+    public function getOrderList()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'pageSize' => 'required',
+                'page' => 'required',
+            ],
+            [
+                'pageSize.required' => '显示条数不能为空',
+                'page.required' => '分页不能为空',
+
+            ]
+        );
+        if (isset($requireData['status'])) {
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'status' => 'required',
+                ],
+                [
+                    'status.required' => '状态不能为空',
+                ]
+            );
+        }
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->orderServiceClient->getOrderList($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 获取订单详情
+     */
+    public function getOrderDetail()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'order_id' => 'required',
+                'pageSize' => 'required',
+                'page' => 'required',
+            ],
+            [
+                'name.required' => '订单id不能为空',
+                'pageSize.required' => '显示条数不能为空',
+                'page.required' => '分页不能为空',
+
+            ]
+        );
+
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->orderServiceClient->getOrderDetail($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /***
+     * 撤回订单
+     */
+    public function cancelOrder()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'order_id' => 'required',
+            ],
+            [
+                'name.required' => '订单id不能为空',
+            ]
+        );
+
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->orderServiceClient->cancelOrder($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+
+    }
+    // 获取订单详情
+    public function getOrderDetailAdmin()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required',
+            ],
+            [
+                'id.required' => '订单id不能为空',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+
+        $result = $this->orderServiceClient->getOrderDetailAdmin($requireData);
+
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 删除订单
+     */
+    public function delOrderAD()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+
+                'id' => 'required',
+
+            ],
+            [
+                'id.required' => 'id不能为空',
+
+                'order_id' => 'required',
+            ],
+            [
+                'name.required' => '订单id不能为空',
+
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+
+        $result = $this->orderServiceClient->getOrderDetailAdmin($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    //审核订单状态
+    public function applyOrderStatusAdmin()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required',
+            ],
+            [
+                'id.required' => 'id不能为空',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->orderServiceClient->applyOrderStatusAdmin($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    //修改订单价格
+    public function editPriceOrderAdmin()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required',
+                'price' => 'required|decimal:2',
+
+            ],
+            [
+                'id.required' => 'id不能为空',
+                'price.required' => '价格不能为空',
+                'price.decimal' => '价格格式不正确',
+
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->orderServiceClient->editPriceOrderAdmin($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function rejectOrderAdmin()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required',
+                'reason' => 'required',
+            ],
+            [
+                'id.required' => 'id不能为空',
+                'reason.required' => '原因不能为空',
+
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->orderServiceClient->rejectOrderAdmin($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+
+    }
+    public function endOrderAdmin()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required',
+
+            ],
+            [
+                'id.required' => 'id不能为空',
+
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->orderServiceClient->endOrderAdmin($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function delOrderAdmin()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required',
+
+            ],
+            [
+                'id.required' => 'id不能为空',
+
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->orderServiceClient->delOrderAdmin($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+}

+ 44 - 0
app/JsonRpc/CollectorService.php

@@ -0,0 +1,44 @@
+<?php
+
+namespace App\JsonRpc;
+
+use Hyperf\RpcClient\AbstractServiceClient;
+
+class CollectorService extends AbstractServiceClient implements CollectorServiceInterface
+{
+    /**
+     * 定义对应服务提供者的服务名称
+     * @var string
+     */
+    protected string $serviceName = 'CollectorService';
+    /**
+     * 定义对应服务提供者的服务协议
+     * @var string
+     */
+    protected string $protocol = 'jsonrpc-http';
+
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function addWeb(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+     /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function getWeb(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+     /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function sendCrawler(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+}

+ 21 - 0
app/JsonRpc/CollectorServiceInterface.php

@@ -0,0 +1,21 @@
+<?php
+
+namespace App\JsonRpc;
+
+interface CollectorServiceInterface
+{
+    /**
+     * @param array $data
+     */
+    public function addWeb(array $data);
+
+    /**
+     * @param array $data
+     */
+    public function getWeb(array $data);
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function sendCrawler(array $data);
+}

+ 110 - 0
app/JsonRpc/OrderService.php

@@ -0,0 +1,110 @@
+<?php
+
+namespace App\JsonRpc;
+
+use Hyperf\RpcClient\AbstractServiceClient;
+
+class OrderService extends AbstractServiceClient implements OrderServiceInterface
+{
+    /**
+     * 定义对应服务提供者的服务名称
+     * @var string
+     */
+    protected string $serviceName = 'OrderService';
+    /**
+     * 定义对应服务提供者的服务协议
+     * @var string
+     */
+    protected string $protocol = 'jsonrpc-http';
+
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getAD(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteAd(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getOrderListAdmin(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function getOrderDetailAdmin(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function applyOrderStatusAdmin(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function editPriceOrderAdmin(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function rejectOrderAdmin(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function endOrderAdmin(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function delOrderAdmin(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addAD(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getOrderList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getOrderDetail(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function cancelOrder(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function delOrderAD(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+
+}

+ 65 - 0
app/JsonRpc/OrderServiceInterface.php

@@ -0,0 +1,65 @@
+<?php
+
+namespace App\JsonRpc;
+
+interface OrderServiceInterface
+{
+    /**
+     * @param array $data
+     */
+    public function getAD(array $data);
+    /**
+     * @param array $data
+     */
+    public function getWebsiteAd(array $data);
+    /**
+     * @param array $data
+     */
+    public function getOrderListAdmin(array $data);
+    /**
+     * @param array $data
+     */
+    public function getOrderDetailAdmin(array $data);
+    /**
+     * @param array $data
+     */
+    public function applyOrderStatusAdmin(array $data);
+    /**
+     * @param array $data
+     */
+    public function editPriceOrderAdmin(array $data);
+    /**
+     * @param array $data
+     */
+    public function rejectOrderAdmin(array $data);
+    /**
+     * @param array $data
+     */
+    public function endOrderAdmin(array $data);
+    /**
+     * @param array $data
+     */
+    public function delOrderAdmin(array $data);
+
+    /**
+     * @param array $data
+     */
+    public function addAD(array $data);
+    /**
+     * @param array $data
+     */
+    public function getOrderList(array $data);
+    /**
+     * @param array $data
+     */
+    public function getOrderDetail(array $data);
+    /**
+     * @param array $data
+     */
+    public function cancelOrder(array $data);
+    /**
+     * @param array $data
+     */
+    public function delOrderAD(array $data);
+
+}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 191 - 198
composer.lock


+ 11 - 0
config/api/chat.php

@@ -1,5 +1,16 @@
 <?php
 
 declare(strict_types=1);
+use App\Controller\ChatController;
 use Hyperf\HttpServer\Router\Router;
+use App\Middleware\Auth\FooMiddleware;
+Router::addGroup(
+    '/chat', function () {
+            Router::get('/addContactApply', [ChatController::class, 'addContactApply']);
+            Router::post('/updateContactApply', [ChatController::class, 'updateContactApply']);
+            Router::get('/getTalkSessionList', [ChatController::class, 'getTalkSessionList']);
+            Router::post('/addTalkGroup', [ChatController::class, 'addTalkGroup']);
+        },
+       ['middleware' => [FooMiddleware::class]]
+);
 

+ 47 - 0
config/api/collector.php

@@ -0,0 +1,47 @@
+<?php
+
+declare(strict_types=1);
+
+use App\Controller\CollectorController;
+use App\Middleware\Auth\FooMiddleware;
+use Hyperf\HttpServer\Router\Router;
+
+Router::addGroup(
+    '/collector', function () {
+        Router::get('/index', [CollectorController::class, 'index']);
+
+        //添加网站
+        Router::post('/addWeb', [CollectorController::class, 'addWeb']);
+        //修改网站
+        Router::get('/upWeb', [CollectorController::class, 'upWeb']);
+        //查看并搜索网站
+        Router::get('/getWeb', [CollectorController::class, 'getWeb']);
+        //删除网站
+        Router::get('/delWeb', [CollectorController::class, 'delWeb']);
+
+        //查看任务
+        Router::get('/getRule', [CollectorController::class, 'getRule']);
+        //添加规则
+        Router::get('/addRule', [CollectorController::class, 'addRule']);
+        //修改规则
+        Router::get('/upRule', [CollectorController::class, 'upRule']);
+        //删除规则
+        Router::get('/delRule', [CollectorController::class, 'delRule']);
+
+        //采集数据
+        Router::get('/addInfo', [CollectorController::class, 'addInfo']);
+        //修改资讯
+        Router::get('/upInfo', [CollectorController::class, 'upInfo']);
+        //删除资讯
+        Router::get('/delInfo', [CollectorController::class, 'delInfo']);
+
+        //导入数据
+        Router::get('/addArt', [CollectorController::class, 'addArt']);
+        //关联导航
+        Router::get('/addCatid', [CollectorController::class, 'addCatid']);
+        //开始采集
+        Router::post('/sendCrawler', [CollectorController::class, 'sendCrawler']);
+        
+    },
+    ['middleware' => [FooMiddleware::class]]
+);

+ 47 - 47
config/api/order.php

@@ -1,47 +1,47 @@
-<?php
-
-declare (strict_types = 1);
-use App\Controller\OrderController;
-use App\Middleware\Auth\FooMiddleware;
-use Hyperf\HttpServer\Router\Router;
-
-Router::addGroup(
-    '/order', function () {
-        //测试
-        Router::get('/index', [OrderController::class, 'index']);
-        //查询广告  1
-        Router::post('/getAD', [OrderController::class, 'getAD']);
-        //添加订单 1
-        Router::post('/addAD', [OrderController::class, 'addAD']);
-        //获取订单列表 1
-        Router::post('/getOrderList', [OrderController::class, 'getOrderList']);
-        //获取订单详情  1
-        Router::post('/getOrderDetail', [OrderController::class, 'getOrderDetail']);
-        //撤回订单 1
-        Router::post('/cancelOrder', [OrderController::class, 'cancelOrder']);
-        //删除广告
-        Router::post('/delOrderAD', [OrderController::class, 'delOrderAD']);
-
-        //后台管理
-        //获取订单列表 1
-        Router::post('/getOrderListAdmin', [OrderController::class, 'getOrderListAdmin']);
-        //获取订单详情 1
-        Router::post('/getOrderDetailAdmin', [OrderController::class, 'getOrderDetailAdmin']);
-
-        //获取广告列表 1
-        Router::post('/getADList', [OrderController::class, 'getADList']);
-        //获取广告详情 2
-        Router::post('/getADDetail', [OrderController::class, 'getADDetail']);
-        //添加广告
-        Router::post('/addADAdmin', [OrderController::class, 'addAD']);
-        //修改广告
-        Router::post('/editAD', [OrderController::class, 'editAD']);
-        //删除广告
-        Router::post('/delAD', [OrderController::class, 'delAD']);
-        //驳回  结束   修改价格
-        Router::post('/editOrderStatus', [OrderController::class, 'editOrderStatus']);
-
-    },
-    ['middleware' => [FooMiddleware::class]]
-    
-);
+<?php
+
+declare (strict_types = 1);
+use App\Controller\OrderController;
+use App\Middleware\Auth\FooMiddleware;
+use Hyperf\HttpServer\Router\Router;
+
+Router::addGroup(
+    '/order', function () {
+        //测试
+        Router::get('/index', [OrderController::class, 'index']);
+        //查询广告  1
+        Router::post('/getAD', [OrderController::class, 'getAD']);
+        //添加订单 1
+        Router::post('/addAD', [OrderController::class, 'addAD']);
+        //获取订单列表 1
+        Router::post('/getOrderList', [OrderController::class, 'getOrderList']);
+        //获取订单详情  1
+        Router::post('/getOrderDetail', [OrderController::class, 'getOrderDetail']);
+        //撤回订单 1
+        Router::post('/cancelOrder', [OrderController::class, 'cancelOrder']);
+        //删除广告
+        Router::post('/delOrderAD', [OrderController::class, 'delOrderAD']);
+
+        //后台管理
+        //获取订单列表 1
+        Router::post('/getOrderListAdmin', [OrderController::class, 'getOrderListAdmin']);
+        //获取订单详情 1
+        Router::post('/getOrderDetailAdmin', [OrderController::class, 'getOrderDetailAdmin']);
+
+        //获取广告列表 1
+        Router::post('/getADList', [OrderController::class, 'getADList']);
+        //获取广告详情 2
+        Router::post('/getADDetail', [OrderController::class, 'getADDetail']);
+        //添加广告
+        Router::post('/addADAdmin', [OrderController::class, 'addAD']);
+        //修改广告
+        Router::post('/editAD', [OrderController::class, 'editAD']);
+        //删除广告
+        Router::post('/delAD', [OrderController::class, 'delAD']);
+        //驳回  结束   修改价格
+        Router::post('/editOrderStatus', [OrderController::class, 'editOrderStatus']);
+
+    },
+    ['middleware' => [FooMiddleware::class]]
+    
+);

+ 1 - 0
config/api/public.php

@@ -19,6 +19,7 @@ Router::addGroup(
         //添加投诉举报
         Router::post('/addComplaint', [PublicController::class, 'addComplaint']);
 
+
         //修改投诉举报
         Router::addRoute(['GET', 'POST'], '/upComplaint', [PublicController::class, 'upComplaint']);
         //投诉举报列表

+ 2 - 2
config/autoload/server.php

@@ -40,6 +40,8 @@ return [
         ],
     ],
     'settings' => [
+        'document_root' => BASE_PATH . '/public',
+        'enable_static_handler' => true,
         Constant::OPTION_ENABLE_COROUTINE => true,
         Constant::OPTION_WORKER_NUM => swoole_cpu_num(),
         Constant::OPTION_PID_FILE => BASE_PATH . '/runtime/hyperf.pid',
@@ -49,8 +51,6 @@ return [
         Constant::OPTION_MAX_REQUEST => 100000,
         Constant::OPTION_SOCKET_BUFFER_SIZE => 2 * 1024 * 1024,
         Constant::OPTION_BUFFER_OUTPUT_SIZE => 2 * 1024 * 1024,
-        'document_root' => BASE_PATH . '/public',
-        'enable_static_handler' => true,
     ],
     'callbacks' => [
         Event::ON_WORKER_START => [Hyperf\Framework\Bootstrap\WorkerStartCallback::class, 'onWorkerStart'],

+ 20 - 3
config/autoload/services.php

@@ -17,7 +17,7 @@ return [
             'service' => \App\JsonRpc\AuthorityServiceInterface::class,
             // 直接对指定的节点进行消费,通过下面的 nodes 参数来配置服务提供者的节点信息
             'nodes' => [
-                ['host' => '127.0.0.1', 'port' =>9504],
+                ['host' => '127.0.0.1', 'port' => 9504],
             ],
         ],
         [
@@ -74,7 +74,24 @@ return [
                 ['host' => '127.0.0.1', 'port' => 9507],
             ],
         ],
+        [
+            //广告订单服务
+            'name' => 'OrderService',
+            'service' => \App\JsonRpc\OrderServiceInterface::class,
+            // 直接对指定的节点进行消费,通过下面的 nodes 参数来配置服务提供者的节点信息
+            'nodes' => [
+                ['host' => '127.0.0.1', 'port' => 9508],
+            ],
+        ],
+        [
+            //广告订单服务
+            'name' => 'CollectorService',
+            'service' => \App\JsonRpc\CollectorServiceInterface::class,
+
+            // 直接对指定的节点进行消费,通过下面的 nodes 参数来配置服务提供者的节点信息
+            'nodes' => [
+                ['host' => '127.0.0.1', 'port' => 9509],
+            ],
+        ],
     ],
 ];
-
-

+ 15 - 13
config/routes.php

@@ -1,6 +1,6 @@
 <?php
 
-declare(strict_types=1);
+declare (strict_types = 1);
 /**
  * This file is part of Hyperf.
  *
@@ -15,7 +15,6 @@ Router::addRoute(['GET', 'POST', 'HEAD'], '/index', 'App\Controller\IndexControl
 Router::addRoute(['GET', 'POST', 'HEAD'], '/download', 'App\Controller\IndexController@download');
 Router::get('/api/getData', 'App\Controller\LoginController@getData');
 
-
 Router::get('/favicon.ico', function () {
     return '';
 });
@@ -24,14 +23,17 @@ Router::addServer('ws', function () {
     Router::get('/', 'App\Controller\WebSocketController');
 });
 
-require __DIR__.'/api/user.php';
-require __DIR__.'/api/public.php';
-require __DIR__.'/api/ad.php';
-require __DIR__.'/api/complaint.php';
-require __DIR__.'/api/authority.php';
-require __DIR__.'/api/chat.php';
-require __DIR__.'/api/link.php';
-require __DIR__.'/api/login.php';
-require __DIR__.'/api/news.php';
-require __DIR__.'/api/website.php';
-require __DIR__.'/api/web.php';
+require __DIR__ . '/api/user.php';
+require __DIR__ . '/api/public.php';
+require __DIR__ . '/api/ad.php';
+require __DIR__ . '/api/complaint.php';
+require __DIR__ . '/api/authority.php';
+require __DIR__ . '/api/chat.php';
+require __DIR__ . '/api/link.php';
+require __DIR__ . '/api/login.php';
+require __DIR__ . '/api/news.php';
+require __DIR__ . '/api/website.php';
+require __DIR__ . '/api/web.php';
+require __DIR__ . '/api/order.php';
+require __DIR__ . '/api/collector.php';
+

+ 0 - 197
runtime/container/proxy/App_Controller_LoginController.proxy.php

@@ -1,197 +0,0 @@
-<?php
-
-declare (strict_types=1);
-namespace App\Controller;
-
-use Phper666\JWTAuth\JWT;
-use Hyperf\Di\Annotation\Inject;
-use Hyperf\HttpServer\Annotation\AutoController;
-use Hyperf\Validation\Contract\ValidatorFactoryInterface;
-use App\Tools\Result;
-use App\JsonRpc\UserServiceInterface;
-use App\Tools\CommonService;
-use function Hyperf\Support\env;
-use App\Tools\PublicData;
-use Hyperf\Context\Context;
-/**
- * @AutoController()
- */
-class LoginController extends AbstractController
-{
-    use \Hyperf\Di\Aop\ProxyTrait;
-    use \Hyperf\Di\Aop\PropertyHandlerTrait;
-    function __construct()
-    {
-        if (method_exists(parent::class, '__construct')) {
-            parent::__construct(...func_get_args());
-        }
-        $this->__handlePropertyHandler(__CLASS__);
-    }
-    #[Inject]
-    protected ValidatorFactoryInterface $validationFactory;
-    /**
-     * @var UserServiceInterface
-     */
-    #[Inject]
-    private $userServiceClient;
-    public function login(Jwt $jwt)
-    {
-        $reqData = $this->request->all();
-        $validator = $this->validationFactory->make($reqData, ['username' => 'required', 'password' => 'required', 'type' => 'required'], ['username.required' => '用户名不能为空', 'password.required' => '密码不能为空', 'type.required' => '登录方式必填']);
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $comm = new CommonService();
-        $ip = $comm->userIp();
-        $redis = $this->container->get(\Hyperf\Redis\Redis::class);
-        $code = $redis->get('code' . $ip);
-        if (empty($code)) {
-            return Result::error("验证码已过期");
-        }
-        var_dump("验证码:", $code);
-        if (strtolower($code) != $reqData['captcha']) {
-            return Result::error("验证码错误");
-        }
-        $where = [];
-        if ($reqData['type'] == 1) {
-            //密码登录
-            $where = ['user_name' => $reqData['username']];
-        }
-        //        $this->logger->info("验证之前");
-        $userInfos = $this->userServiceClient->verifyUserInfo($where);
-        if ($userInfos['code'] == 0) {
-            return Result::error("用户名或密码错误");
-        }
-        var_dump("用户信息:", $userInfos);
-        //        $this->logger->info("验证用户返回值:", $userInfos);
-        if (md5(md5($reqData['password']) . $userInfos['data']['salt']) != $userInfos['data']['password']) {
-            return Result::error("用户名或密码错误");
-        }
-        $userData = [
-            'uid' => $userInfos['data']['id'],
-            // 如果使用单点登录,必须存在配置文件中的sso_key的值,一般设置为用户的id
-            'user_name' => $userInfos['data']['user_name'],
-            'mobile' => $userInfos['data']['mobile'],
-            'email' => $userInfos['data']['email'],
-            //            'rong_token' => $userInfos['data']['rong_token'],
-            'level_id' => $userInfos['data']['level_id'],
-            'type_id' => $userInfos['data']['type_id'],
-        ];
-        var_dump($userData);
-        // 使用默认场景登录
-        $token = $jwt->getToken('default', $userData);
-        $data = ['token' => $token->toString(), 'exp' => $jwt->getTTL($token->toString())];
-        return Result::success($data);
-    }
-    /**
-     * @return void
-     */
-    public function checkVerifyCode(Jwt $jwt)
-    {
-        //其它信息暂时不管 先以openid
-        $reqData = $this->request->all();
-        $validator = $this->validationFactory->make($reqData, ['token' => 'required'], ['token.required' => 'token不能为空']);
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $userInfo = $jwt->getClaimsByToken($reqData['token']);
-        if ($userInfo) {
-            return Result::success(['token' => $reqData['token']]);
-        } else {
-            return Result::error("token无效");
-        }
-    }
-    /**
-     * 注册或登陆
-     * @return void
-     */
-    public function registerOrLogin(Jwt $jwt)
-    {
-        //获取access_token
-        $reqData = $this->request->all();
-        $validator = $this->validationFactory->make($reqData, ['code' => 'required'], ['code.required' => 'code不能为空']);
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $url = env("WECHAT") . "cgi-bin/token?appid=" . env("APPID") . "&secret=" . env("APP_SECRET") . "&grant_type=client_credential";
-        $result = PublicData::http_get($url);
-        $accessTokenData = json_decode($result, true);
-        //获取openid
-        $url = env("WECHAT") . "sns/jscode2session?appid=" . env("APPID") . "&secret=" . env("APP_SECRET") . "&js_code=" . $reqData['loginCode'] . "&grant_type=authorization_code";
-        $result = PublicData::http_get($url);
-        $openInfoData = json_decode($result, true);
-        if (isset($openInfoData['errcode']) && in_array($openInfoData['errcode'], [40163, 40029])) {
-            return Result::error($openInfoData['errmsg']);
-        }
-        $data = ['code' => $reqData['code'], 'openid' => $openInfoData['openid']];
-        // 将数组转换为JSON字符串
-        $jsonData = json_encode($data);
-        // 初始化cURL会话
-        $ch = curl_init(env("WECHAT") . "wxa/business/getuserphonenumber?access_token=" . $accessTokenData['access_token']);
-        // 设置cURL选项 Todo 这里有一万个wc 封装成post方法就报错,后期再研究
-        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-        curl_setopt($ch, CURLOPT_POST, true);
-        curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
-        curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json', 'Content-Length: ' . strlen($jsonData)]);
-        // 执行cURL会话
-        $response = curl_exec($ch);
-        // 检查是否有错误发生
-        if (curl_errno($ch)) {
-            return Result::error("获取手机号失败");
-        }
-        // 关闭cURL会话
-        curl_close($ch);
-        $response = json_decode($response, true);
-        if ($response['errcode'] == '40029') {
-            return Result::error($openInfoData['errmsg']);
-        }
-        // 打印响应内容
-        var_dump($openInfoData, $response);
-        //根据openid 获取token
-        $checkUserInfo = $this->userServiceClient->verifyUserInfo(['user_name' => $response['phone_info']['purePhoneNumber']]);
-        if ($checkUserInfo['code'] == 0) {
-            $salt = rand(1, 999999);
-            $createUserData = ['user_name' => $response['phone_info']['purePhoneNumber'], 'salt' => $salt, 'password' => $openInfoData['openid'], 'type_id' => 20000];
-            $checkUserInfo = $this->userServiceClient->createUser($createUserData);
-        }
-        //根据openid和手机号判断是否注册,未注册直接注册
-        $wechatReqData = ['openid' => $openInfoData['openid'], 'purePhoneNumber' => $response['phone_info']['purePhoneNumber']];
-        $wechatInfo = $this->userServiceClient->getWechatInfo($wechatReqData);
-        if ($wechatInfo['code'] == 0) {
-            $wechatData = ['openid' => $openInfoData['openid'], 'phoneNumber' => $response['phone_info']['phoneNumber'], 'purePhoneNumber' => $response['phone_info']['purePhoneNumber'], 'countryCode' => $response['phone_info']['countryCode'], 'watermark' => json_encode($response['phone_info']['watermark']), 'user_id' => $checkUserInfo['data']['id']];
-            $this->userServiceClient->addWechatInfo($wechatData);
-        }
-        var_dump($checkUserInfo);
-        $userData = [
-            'uid' => $checkUserInfo['data']['id'],
-            // 如果使用单点登录,必须存在配置文件中的sso_key的值,一般设置为用户的id
-            'user_name' => $response['phone_info']['phoneNumber'],
-            'mobile' => $checkUserInfo['data']['mobile'] ?? '',
-            'email' => $checkUserInfo['data']['email'],
-            //            'rong_token' => $userInfos['data']['rong_token'],
-            'level_id' => $checkUserInfo['data']['level_id'],
-            'type_id' => $checkUserInfo['data']['type_id'],
-        ];
-        // 使用默认场景登录
-        $token = $jwt->getToken('default', $userData);
-        $data = ['token' => $token->toString(), 'exp' => $jwt->getTTL($token->toString())];
-        return Result::success($data);
-    }
-    public function httpPost()
-    {
-    }
-    # http头部必须携带token才能访问的路由
-    public function getData(Jwt $jwt)
-    {
-        //        var_dump($this->UserId);
-        $h = $this->request->getHeaders();
-        //        var_dump($this->request->getHeaders());
-        //        $a= 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwaHBlcjY2Ni9qd3QiLCJ1aWQiOjMyLCJ1c2VyX25hbWUiOiIxIiwicm9sZV9pZCI6MSwibW9iaWxlIjoiMTU4MDEyNDU3NTUiLCJlbWFpbCI6IjVAcXEuY29tIiwicm9uZ190b2tlbiI6IiIsImxldmVsX2lkIjo4LCJqd3Rfc2NlbmUiOiJkZWZhdWx0IiwianRpIjoiZGVmYXVsdF82Njc1MjJkZDQ3YWYxMi41MTE5MjI5MiIsImlhdCI6MTcxODk1MjY2OSwibmJmIjoxNzE4OTUyNjY5LCJleHAiOjE3MjE1NDQ2Njl9.e0JW8fgNrwBdFgmQ8GNtES2ME1SbcbIih5MsQWzT6sk';
-        $arr = $jwt->getClaimsByToken($h['token'][0]);
-        var_dump($h['token'][0], "+++++++++++", $arr, "===####");
-        return $this->response->json(['code' => 0, 'msg' => 'success', 'data' => ['a' => 1]]);
-    }
-}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 2
runtime/container/scan.cache


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است