From a752d2e79de94561eaf276a270f1c2638e188bc9 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Mon, 28 Mar 2022 21:58:45 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E5=A2=9E=E5=8A=A0apilogin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- safesite/urls.py | 1 + safesite/views.py | 23 +++++++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/safesite/urls.py b/safesite/urls.py index e77940ef..d6535459 100644 --- a/safesite/urls.py +++ b/safesite/urls.py @@ -182,6 +182,7 @@ urlpatterns = [ path('gchandle',views.gchandle), path('menutree',views.menutree), path('setup',views.setup), + path('api/login', views.apilogin), path('api/company',views.apicompany), path('drapi',views.drapi), path('api/miss',views.apimiss), diff --git a/safesite/views.py b/safesite/views.py index 8d7f5cef..72589564 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -663,8 +663,27 @@ def init_permission(user,req): }) req.session['permissions'] = permission_dict - - +def apilogin(req): + """ + json登录 + """ + data = json.loads(req.body.decode('utf-8')) + username = data['username'] + password = data['password'] + user = User.objects.filter(username=username, deletemark=1, usecomp__enabled=True) + if user.exists(): + if check_password(password, user[0].epassword): + req.session['userid'] = user[0].userid + req.session.set_expiry(60*40) + init_permission(user[0],req) + return JsonResponse({'code':1}) + else: + msg = '密码错误' + return JsonResponse({'code':0, 'msg':msg}) + else: + msg = '用户不存在或被禁用' + return JsonResponse({'code':0, 'msg':msg}) + def login(req): if req.session.get('userid', None): return redirect('index') From 3b5c67b5e5dac4d7641cd9954159312fbcdd90be Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 8 Apr 2022 22:59:42 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E9=83=A8=E5=88=86=E5=9C=B0=E6=96=B9?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0apichecklogin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- safesite/views.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/safesite/views.py b/safesite/views.py index 72589564..8b612b66 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -144,18 +144,22 @@ def check_session(req): # 存储文件 - +@apicheck_login def upfile(req): username = User.objects.get(userid=req.session['userid']).username + try: + upfile = req.FILES['upfile'] + except KeyError: + return JsonResponse({"code": 0, "msg": "未获取到文件"}) file_name = (time.strftime('%Y%m%d%H%M%S') + '_' + - req.FILES['upfile'].name).replace('#', '号') + upfile.name).replace('#', '号') user_upload_folder = os.path.join('media', username) if not os.path.exists(user_upload_folder): os.mkdir(user_upload_folder) filepath = os.path.join(user_upload_folder, file_name) filepath = filepath.replace('\\', '/') with open(filepath, 'wb') as f: - f.write(req.FILES['upfile'].read()) + f.write(upfile.read()) return JsonResponse({"code": 1, "filename": file_name, "filepath": filepath}) # html页面 @@ -2007,7 +2011,7 @@ def grouphandle(req): else: return JsonResponse({"code": 0}) - +@apicheck_login def troublehandle(req): a = req.GET.get('a') if a == 'detail': @@ -4467,9 +4471,9 @@ def apisafecert(req): return HttpResponse(transjson(total, a), content_type="application/json") elif a == 'listself': userid = req.session['userid'] - cardnum = Userprofile.objects.get(user__userid=userid).cardnum + # cardnum = Userprofile.objects.get(user__userid=userid).cardnum a = Safecert.objects.filter( - cardnum=cardnum).order_by('id') # 无deletemark + user__userid=userid).order_by('id') # 无deletemark total = a.count() if req.GET.get('sort'): a = a.order_by(req.GET.get('sort')) @@ -5507,6 +5511,7 @@ def apinotice(req): @transaction.atomic def apioperation(req): a = req.GET.get('a') + logger.info(req.get_full_path()) userid = req.session['userid'] if a == 'add': userid = req.session['userid'] @@ -8618,6 +8623,7 @@ def equipmentfig(req): #责任制 +@apicheck_login def getresbilitydata(req): a = req.GET.get('a') userid = req.session['userid'] @@ -8714,6 +8720,7 @@ def getresbilitydata(req): #操作规程 +@apicheck_login def getprodata(req): a = req.GET.get('a') userid = req.session['userid'] @@ -8804,6 +8811,7 @@ def getprodata(req): a = ReaderOperproce.objects.filter(readid=id).values('id','readeruser__name','readertime') total = a.count() return HttpResponse(transjson(total,a),content_type="application/json") + def checkprojects(req): a = req.GET.get('a') userid = req.session['userid'] From bd6787da62b1e6de00097733276ce8c2945653ef Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sat, 9 Apr 2022 10:44:44 +0800 Subject: [PATCH 03/17] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E4=BD=9C=E4=B8=9A?= =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E4=BB=A5=E5=8F=8Amissimg=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- safesite/views.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/safesite/views.py b/safesite/views.py index 8b612b66..a6f85c60 100644 --- a/safesite/views.py +++ b/safesite/views.py @@ -4133,7 +4133,7 @@ def apimiss(req): obj.lesson = data['lesson'] obj.missnum = 'WS'+time.strftime('%Y%m%d%H%M%S') obj.usecomp = Partment.objects.get(partid=companyid) - if 'missimg' in data: + if 'missimg' in data and data['missimg']: obj.missimg = '?'.join(data['missimg']) obj.save() yjjs_ws.delay(companyid) @@ -5283,6 +5283,20 @@ def apitool(req): # Questioncat.objects.filter(usecomp__partname='广安厂').update(parent=None, link=',', deletemark=1) # print(Questioncat.objects.filter(name='冬季四防安全生产知识').values('usecomp__partname')) return JsonResponse({"code":1}) + elif a == 'check_part': + objs = [] + for i in Partment.objects.exclude(parentid=None, deletemark=1).values('partid', 'parentid', 'partlink'): + if str(i['parentid']) not in i['partlink']: + print(i) + parent = Partment.objects.get(partid=i['parentid']) + partlink = parent.partlink + str(parent.partid) + ',' + obj = Partment.objects.get(partid=i['partid']) + obj.partlink = partlink + obj.save() + print("调整后") + print(partlink) + + return JsonResponse({"code":1}) @@ -5511,7 +5525,7 @@ def apinotice(req): @transaction.atomic def apioperation(req): a = req.GET.get('a') - logger.info(req.get_full_path()) + # logger.info(req.get_full_path()) userid = req.session['userid'] if a == 'add': userid = req.session['userid'] @@ -5922,7 +5936,7 @@ def apioperation(req): tolist = list(User.objects.filter( userid__in=sprs).values_list('openid', flat=True)) send_wechatmsgs.delay(postdict, tolist) - return JsonResponse({"code": 1}) + return JsonResponse({"code": 1}) elif a == 'spzy': data = json.loads(req.body.decode('utf-8')) zyid = data['zyid'] From c4a886c4db864b5d6b22310bea0f1298ff046283 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sat, 9 Apr 2022 22:10:58 +0800 Subject: [PATCH 04/17] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=AA=E4=BA=BA?= =?UTF-8?q?=E8=A1=8C=E4=B8=BA=E8=A7=82=E5=AF=9F=E7=BB=9F=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=E6=8D=AE&=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- safesite/edu/views.py | 4 +++- safesite/templates/observe.html | 9 ++++++++- safesite/templates/personalp.html | 14 ++++++++++++-- safesite/views.py | 16 ++++++++++++++-- safesite/viewsn.py | 11 +++++++++++ 5 files changed, 48 insertions(+), 6 deletions(-) diff --git a/safesite/edu/views.py b/safesite/edu/views.py index 45b269f5..506eb3ba 100644 --- a/safesite/edu/views.py +++ b/safesite/edu/views.py @@ -22,7 +22,7 @@ from django.core.serializers.json import DjangoJSONEncoder from io import StringIO import operator import jwt -from ..views import getcompany,fenye,transjson,upfile +from ..views import apicheck_login, getcompany,fenye,transjson,upfile def index(req): return render(req,'edulessonindex.html') @@ -63,6 +63,8 @@ def selectDate(req): startnum,endnum=fenye(req) a = a.order_by('-submittime')[startnum:endnum].values('id','num','title','user__name','desciption','submittime','type','cate__name','url','downnum') return HttpResponse(transjson(total,a),content_type="application/json") + +@apicheck_login def api(req): a = req.GET.get('a') #首页列表 diff --git a/safesite/templates/observe.html b/safesite/templates/observe.html index 70930dcf..458e5483 100644 --- a/safesite/templates/observe.html +++ b/safesite/templates/observe.html @@ -57,8 +57,15 @@