mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-17 07:49:01 +00:00
perf: 去掉单独的flash msg (#7013)
* perf: 去掉单独的flash msg perf: 修改使用库 * fix: guangbug * pref: 修改 context Co-authored-by: ibuler <ibuler@qq.com> Co-authored-by: xinwen <coderWen@126.com>
This commit is contained in:
@@ -14,7 +14,8 @@ def sign(secret, data):
|
||||
digest = hmac.HMAC(
|
||||
key=secret.encode('utf8'),
|
||||
msg=data.encode('utf8'),
|
||||
digestmod=hmac._hashlib.sha256).digest()
|
||||
digestmod=hmac._hashlib.sha256
|
||||
).digest()
|
||||
signature = base64.standard_b64encode(digest).decode('utf8')
|
||||
# signature = urllib.parse.quote(signature, safe='')
|
||||
# signature = signature.replace('+', '%20').replace('*', '%2A').replace('~', '%7E').replace('/', '%2F')
|
||||
@@ -39,9 +40,9 @@ class DingTalkRequests(BaseRequest):
|
||||
invalid_token_errcodes = (ErrorCode.INVALID_TOKEN,)
|
||||
|
||||
def __init__(self, appid, appsecret, agentid, timeout=None):
|
||||
self._appid = appid
|
||||
self._appsecret = appsecret
|
||||
self._agentid = agentid
|
||||
self._appid = appid or ''
|
||||
self._appsecret = appsecret or ''
|
||||
self._agentid = agentid or ''
|
||||
|
||||
super().__init__(timeout=timeout)
|
||||
|
||||
@@ -74,7 +75,7 @@ class DingTalkRequests(BaseRequest):
|
||||
def post(self, url, json=None, params=None,
|
||||
with_token=False, with_sign=False,
|
||||
check_errcode_is_0=True,
|
||||
**kwargs):
|
||||
**kwargs) -> dict:
|
||||
pass
|
||||
post = as_request(post)
|
||||
|
||||
@@ -86,11 +87,10 @@ class DingTalkRequests(BaseRequest):
|
||||
|
||||
timestamp = str(int(time.time() * 1000))
|
||||
signature = sign(self._appsecret, timestamp)
|
||||
accessKey = self._appid
|
||||
|
||||
params['timestamp'] = timestamp
|
||||
params['signature'] = signature
|
||||
params['accessKey'] = accessKey
|
||||
params['accessKey'] = self._appid
|
||||
|
||||
def request(self, method, url,
|
||||
with_token=False, with_sign=False,
|
||||
@@ -102,15 +102,16 @@ class DingTalkRequests(BaseRequest):
|
||||
|
||||
data = super().request(
|
||||
method, url, with_token=with_token,
|
||||
check_errcode_is_0=check_errcode_is_0, **kwargs)
|
||||
check_errcode_is_0=check_errcode_is_0, **kwargs
|
||||
)
|
||||
return data
|
||||
|
||||
|
||||
class DingTalk:
|
||||
def __init__(self, appid, appsecret, agentid, timeout=None):
|
||||
self._appid = appid
|
||||
self._appsecret = appsecret
|
||||
self._agentid = agentid
|
||||
self._appid = appid or ''
|
||||
self._appsecret = appsecret or ''
|
||||
self._agentid = agentid or ''
|
||||
|
||||
self._request = DingTalkRequests(
|
||||
appid=appid, appsecret=appsecret, agentid=agentid,
|
||||
|
@@ -69,8 +69,8 @@ class FeiShu(RequestMixin):
|
||||
"""
|
||||
|
||||
def __init__(self, app_id, app_secret, timeout=None):
|
||||
self._app_id = app_id
|
||||
self._app_secret = app_secret
|
||||
self._app_id = app_id or ''
|
||||
self._app_secret = app_secret or ''
|
||||
|
||||
self._requests = FeishuRequests(
|
||||
app_id=app_id,
|
||||
|
@@ -8,12 +8,12 @@ from common.message.backends import exceptions as exce
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
def digest(corpid, corpsecret):
|
||||
def digest(corp_id, corp_secret):
|
||||
md5 = hashlib.md5()
|
||||
md5.update(corpid.encode())
|
||||
md5.update(corpsecret.encode())
|
||||
digest = md5.hexdigest()
|
||||
return digest
|
||||
md5.update(corp_id.encode())
|
||||
md5.update(corp_secret.encode())
|
||||
dist = md5.hexdigest()
|
||||
return dist
|
||||
|
||||
|
||||
def update_values(default: dict, others: dict):
|
||||
|
@@ -47,9 +47,9 @@ class WeComRequests(BaseRequest):
|
||||
invalid_token_errcodes = (ErrorCode.INVALID_TOKEN,)
|
||||
|
||||
def __init__(self, corpid, corpsecret, agentid, timeout=None):
|
||||
self._corpid = corpid
|
||||
self._corpsecret = corpsecret
|
||||
self._agentid = agentid
|
||||
self._corpid = corpid or ''
|
||||
self._corpsecret = corpsecret or ''
|
||||
self._agentid = agentid or ''
|
||||
|
||||
super().__init__(timeout=timeout)
|
||||
|
||||
@@ -79,9 +79,9 @@ class WeCom(RequestMixin):
|
||||
"""
|
||||
|
||||
def __init__(self, corpid, corpsecret, agentid, timeout=None):
|
||||
self._corpid = corpid
|
||||
self._corpsecret = corpsecret
|
||||
self._agentid = agentid
|
||||
self._corpid = corpid or ''
|
||||
self._corpsecret = corpsecret or ''
|
||||
self._agentid = agentid or ''
|
||||
|
||||
self._requests = WeComRequests(
|
||||
corpid=corpid,
|
||||
|
@@ -275,7 +275,7 @@ class Time:
|
||||
last = timestamp
|
||||
|
||||
|
||||
def bulk_get(d, *keys, default=None):
|
||||
def bulk_get(d, keys, default=None):
|
||||
values = []
|
||||
for key in keys:
|
||||
values.append(d.get(key, default))
|
||||
|
@@ -1,5 +1,6 @@
|
||||
from django.core.cache import cache
|
||||
from django.shortcuts import reverse
|
||||
from django.shortcuts import redirect
|
||||
|
||||
from .random import random_string
|
||||
|
||||
@@ -8,6 +9,17 @@ __all__ = ['FlashMessageUtil']
|
||||
|
||||
|
||||
class FlashMessageUtil:
|
||||
"""
|
||||
跳转到通用msg页面
|
||||
message_data: {
|
||||
'title': '',
|
||||
'message': '',
|
||||
'error': '',
|
||||
'redirect_url': '',
|
||||
'confirm_button': '',
|
||||
'cancel_url': ''
|
||||
}
|
||||
"""
|
||||
@staticmethod
|
||||
def get_key(code):
|
||||
key = 'MESSAGE_{}'.format(code)
|
||||
@@ -29,3 +41,8 @@ class FlashMessageUtil:
|
||||
def gen_message_url(cls, message_data):
|
||||
code = cls.get_message_code(message_data)
|
||||
return reverse('common:flash-message') + f'?code={code}'
|
||||
|
||||
@classmethod
|
||||
def gen_and_redirect_to(cls, message_data):
|
||||
url = cls.gen_message_url(message_data)
|
||||
return redirect(url)
|
||||
|
@@ -20,21 +20,21 @@ class FlashMessageMsgView(TemplateView):
|
||||
if not message_data:
|
||||
return HttpResponse('Message code error')
|
||||
|
||||
title, message, redirect_url, confirm_button, cancel_url = bulk_get(
|
||||
message_data, 'title', 'message', 'redirect_url', 'confirm_button', 'cancel_url'
|
||||
)
|
||||
items = ('title', 'message', 'error', 'redirect_url', 'confirm_button', 'cancel_url')
|
||||
title, msg, error, redirect_url, confirm_btn, cancel_url = bulk_get(message_data, items)
|
||||
|
||||
interval = message_data.get('interval', 3)
|
||||
auto_redirect = message_data.get('auto_redirect', True)
|
||||
has_cancel = message_data.get('has_cancel', False)
|
||||
context = {
|
||||
'title': title,
|
||||
'messages': message,
|
||||
'message': msg,
|
||||
'error': error,
|
||||
'interval': interval,
|
||||
'redirect_url': redirect_url,
|
||||
'auto_redirect': auto_redirect,
|
||||
'confirm_button': confirm_button,
|
||||
'confirm_button': confirm_btn,
|
||||
'has_cancel': has_cancel,
|
||||
'cancel_url': cancel_url,
|
||||
}
|
||||
return self.render_to_response(context)
|
||||
return self.render_to_response(context)
|
||||
|
Reference in New Issue
Block a user