lgy 18 hours ago
parent
commit
0338104c5f

+ 41 - 0
server/application/api/controller/ZskkDefaultApiController.php

@@ -42,4 +42,45 @@ class ZskkDefaultApiController extends ZskkDefaultController {
         //返回数据
         return $output;
     }
+
+    public function getDecryptData($data)
+    {
+        $key = 'zLxapoeqWYpoeqWY';
+        $info = $this->decrypt($key,$data);
+        if(empty($info))
+        {
+            return '数据解析失败';
+        }else{
+            $arr = json_decode(base64_decode($info),true);
+            if(empty($arr))
+            {
+                return '数据解析失败,失败原因:数据加密前未进行base64转换';
+            }
+            return $arr;
+        }
+    }
+
+    public static function encrypt($key, $str)
+    {
+        if($str) {
+            $iv = str_repeat("\0", openssl_cipher_iv_length('SM4-CBC'));
+            $ciphertext = openssl_encrypt($str, 'SM4-CBC', $key, OPENSSL_RAW_DATA, $iv);
+            return base64_encode($ciphertext);
+        }
+        return $str;
+
+    }
+
+    /*
+     * 国密4解密
+     * str 解密字符串
+     */
+    public static function decrypt($key, $str)
+    {
+        if($str) {
+            $iv = str_repeat("\0", openssl_cipher_iv_length('SM4-CBC'));
+            return openssl_decrypt(base64_decode($str), 'SM4-CBC', $key, OPENSSL_RAW_DATA, $iv);
+        }
+        return $str;
+    }
 }

+ 21 - 0
server/application/api/controller/butt/ButtController.php

@@ -397,4 +397,25 @@ class ButtController extends ZskkDefaultApiController
         $data = $service->getExamReport($param);
         return $this->success($data);
     }
+
+    public function saveDmExam(ButtService $service)
+    {
+        $params = Request::param(false);
+        $data = $this->getDecryptData($params['data']);
+        var_dump($data);die;
+        if(is_array($data))
+        {
+            // todo
+            $service->saveDmExam($data);
+        }else{
+            $this->throwError($data,9001);
+        }
+        return $this->success('success');
+    }
+
+    public function saveDmReport()
+    {
+        $params = Request::param(false);
+
+    }
 }

+ 6 - 0
server/application/api/servies/butt/ButtService.php

@@ -2199,4 +2199,10 @@ class ButtService extends ZskkDefaultService {
             return '邮件发送失败: '.$mail->ErrorInfo;
         }
     }
+
+    public function saveDmExam($data)
+    {
+        $arr = $this->makeExamData($data);
+
+    }
 }

+ 1 - 0
server/route/route.php

@@ -192,6 +192,7 @@ Route::group('', function () {
     Route::post('butt/getConfirmExam', 'app\api\controller\butt\ButtController/getConfirmExams');
     Route::post('butt/saveReport', 'app\api\controller\butt\ButtController/save_report');
     Route::post('butt/saveExam', 'app\api\controller\butt\ButtController/save_exam');
+    Route::post('butt/saveDmExam', 'app\api\controller\butt\ButtController/saveDmExam');
     Route::post('butt/register', 'app\api\controller\butt\ButtController/register');
     Route::post('butt/saveFile', 'app\api\controller\butt\ButtController/saveFile');
     Route::post('butt/search', 'app\api\controller\butt\ButtController/exam_search');