添加后台管理新版本静默检测功能
This commit is contained in:
parent
af890001b4
commit
8ccfe0a4e0
@ -19,5 +19,6 @@ urlpatterns = [
|
||||
path('forget_pwd/',views.forget_pwd,name='forget_pwd'), # 忘记密码
|
||||
path('send_email_vcode/',views.send_email_vcode,name='send_email_vcode'), # 忘记密码发送邮件验证码
|
||||
path('admin_register_code/',views.admin_register_code,name='register_code_manage'), # 注册邀请码管理
|
||||
path('check_update/',views.check_update,name='check_update'), # 检测版本更新
|
||||
|
||||
]
|
||||
@ -8,7 +8,8 @@ from django.core.paginator import Paginator,PageNotAnInteger,EmptyPage,InvalidPa
|
||||
from app_admin.decorators import superuser_only,open_register
|
||||
from django.core.exceptions import ObjectDoesNotExist
|
||||
from django.db.models import Q
|
||||
import json,datetime,hashlib,random
|
||||
import datetime
|
||||
import requests
|
||||
from app_doc.models import *
|
||||
from app_admin.models import *
|
||||
from app_admin.utils import *
|
||||
@ -761,3 +762,10 @@ def admin_setting(request):
|
||||
defaults={'value': attachment_size, 'types': 'doc'}
|
||||
)
|
||||
return render(request, 'app_admin/admin_setting.html', locals())
|
||||
|
||||
|
||||
# 检测版本更新
|
||||
def check_update(request):
|
||||
url = 'https://gitee.com/api/v5/repos/zmister/MrDoc/tags'
|
||||
resp = requests.get(url,timeout=5).json()
|
||||
return JsonResponse({'status':True,'data':resp[-1]})
|
||||
|
||||
@ -5,3 +5,4 @@ pillow==6.2.2
|
||||
pyppeteer==0.0.25
|
||||
loguru==0.4.1
|
||||
djangorestframework==3.9.1
|
||||
requests
|
||||
@ -75,6 +75,7 @@
|
||||
{% if debug %}
|
||||
<blockquote class="layui-elem-quote">当前站点处于Debug调试模式</blockquote>
|
||||
{% endif %}
|
||||
<blockquote id="check_update_div" class="layui-elem-quote" style="border-left: 5px solid #ff213b !important;display: none;">检测到新版本发布,请及时更新!下载地址:<a href="https://github.com/zmister2016/MrDoc" target="_blank">GitHub</a>、<a href="https://gitee.com/zmister/MrDoc" target="_blank">码云</a></blockquote>
|
||||
{% block content %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
@ -109,6 +110,40 @@
|
||||
content: $('#dashang_img')
|
||||
});
|
||||
})
|
||||
|
||||
</script>
|
||||
<script async>
|
||||
// 检测版本更新
|
||||
checkUpdate = function(){
|
||||
$.get("{% url 'check_update' %}",function(r){
|
||||
console.log(r)
|
||||
if(r.status){
|
||||
var new_version = r.data.name.slice(1,5)
|
||||
var current_version = '{{mrdoc_version}}'
|
||||
// 如果存在新版本,顶部提示div
|
||||
if(new_version > current_version){
|
||||
$("#check_update_div").show()
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
var check_update = window.localStorage.getItem('check_update')
|
||||
// console.log(check_update)
|
||||
// 如果没有检测过,立即检测
|
||||
if(check_update == null){
|
||||
checkUpdate();
|
||||
window.localStorage.setItem('check_update',new Date().getTime())
|
||||
}else{
|
||||
// 如果上次检测时间距今超过5天,再次检测
|
||||
var time_diff = (new Date().getTime() - check_update)/86400000
|
||||
// console.log(time_diff)
|
||||
if(time_diff > 5){
|
||||
checkUpdate()
|
||||
window.localStorage.setItem('check_update',new Date().getTime())
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
{% block custom_script %}
|
||||
{% endblock %}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user