Bläddra i källkod

新增测试接口

liyan 9 månader sedan
förälder
incheckning
645b607449

+ 2 - 0
watermark_generate/app.py

@@ -1,5 +1,6 @@
 from flask import Flask, jsonify
 
+from watermark_generate.controller.function_test import test
 from watermark_generate.controller.watermark_generate_controller import generator
 from watermark_generate.exceptions import BusinessException
 
@@ -8,6 +9,7 @@ from watermark_generate.exceptions import BusinessException
 def create_app():
     app = Flask(__name__)
     app.register_blueprint(generator)
+    app.register_blueprint(test)
 
     @app.errorhandler(BusinessException)
     def handle_business_exception(ex):

+ 62 - 0
watermark_generate/controller/function_test.py

@@ -0,0 +1,62 @@
+"""
+功能测试http接口
+"""
+
+from flask import Blueprint, request, send_file, jsonify
+
+from watermark_generate.exceptions import BusinessException
+from watermark_generate import logger
+from watermark_generate.tools import sign_verify
+
+test = Blueprint('test', __name__)
+
+
+
+@test.route('/test/sign', methods=['POST'])
+def test_sign():
+    """
+    远程测试签名功能
+    raw_data: 待签名的原文信息
+
+    :return: 签名值,公钥证书
+    """
+    data = request.json
+    logger.info(f'sign test request: {data}')
+    # 获取请求参数
+    raw_data = data.get('raw_data')
+
+    if raw_data is None:
+        raise BusinessException(message='原文不可为空', code=-1)
+
+    sign_data, public_key = sign_verify.get_sign(raw_data)
+
+    return jsonify({'sign_data': sign_data, 'public_key': public_key}), 200
+
+
+@test.route('/test/verify', methods=['POST'])
+def test_verify():
+    """
+    远程测试验签功能
+    raw_data: 待签名的原文信息
+    sign_data: 签名值
+    public_key: 签名公钥
+
+    :return: 验签结果
+    """
+    data = request.json
+    logger.info(f'sign test request: {data}')
+    # 获取请求参数
+    raw_data = data.get('raw_data')
+    sign_data = data.get('sign_data')
+    public_key = data.get('public_key')
+
+    if raw_data is None:
+        raise BusinessException(message='原文不可为空', code=-1)
+    if sign_data is None:
+        raise BusinessException(message='签名值不可为空', code=-1)
+    if public_key is None:
+        raise BusinessException(message='公钥不可为空', code=-1)
+
+    verify_result = sign_verify.verify_sign(raw_data, sign_data, public_key)
+
+    return jsonify({'verify_result': verify_result}), 200

+ 9 - 7
watermark_generate/controller/watermark_generate_controller.py

@@ -2,7 +2,7 @@
 数据集图片处理http接口
 """
 
-from flask import Blueprint, request, send_file, jsonify
+from flask import Blueprint, request, jsonify
 
 from watermark_generate.exceptions import BusinessException
 from watermark_generate import logger
@@ -26,18 +26,20 @@ def get_file_extension(filename):
 @generator.route('/model/watermark/embed', methods=['POST'])
 def watermark_embed():
     """
-    上传图片,嵌入密码标签,进行处理、
-    label: 密码标签
-    file: 上传的图像
+    上传模型代码压缩包文件路径,进行代码修改后,返回修改后的模型代码压缩包位置
+    model_file: 模型代码压缩包文件绝对路径
+    model_value: 模型名称
+    model_type: 模型类型
 
-    :return: 成功:处理完成的图像二进制流 失败:{code: -1, msg:'错误信息'}
+    :return: 处理完成的模型代码压缩包绝对路径
     """
-    logger.info(f'watermark embed request: {request.json}')
-    # 获取请求参数
     data = request.json
+    logger.info(f'watermark embed request: {data}')
+    # 获取请求参数
     model_file = data.get('model_file')
     model_value = data.get('model_value')
     model_type = data.get('model_type')
+
     if model_file is None:
         raise BusinessException(message='模型代码路径不可为空', code=-1)
     if model_value is None: