from django.shortcuts import HttpResponse from apps.api import models as m_api from django.views.decorators.http import require_http_methods, require_POST, require_GET from apps.api.common import CaesarCypherClass, Base64CypherClass from apps.api.config import Config config = Config() caesar = CaesarCypherClass() base64 = Base64CypherClass() # Create your views here. @require_POST def get_config(request): """ 获取系统配置的接口,通过identity标识字段查询param参数并返回,如果使用加密版数据库则根据加密方式进行解密后返回 :param request: identity标识字段 :return: 获取到的参数param """ try: identity = request.POST.get("param") if config.getconfig("isCypher"): # 启用加密数据库 param_base64 = m_api.SysConfig.objects.using("cypher").filter(identity=identity).first().param if config.getconfig("CypherMethod") == "caesar": # 加密方式为Caesar param = caesar.caesar_decode(param_base64) return HttpResponse(param) else: # 加密方式为Base64 param = base64.base64_decode_str(base64, param_base64) return HttpResponse(param) else: # 不加密的数据库 param = m_api.SysConfig.objects.using("default").filter(identity=identity).first().param return HttpResponse(param) except Exception as e: print(f"报错了:{e}") return HttpResponse(f"报错了:{e}") @require_POST def add_config(request): try: pass except Exception as e: print(f"报错了:{e}") return HttpResponse(f"报错了:{e}")