import json
import random
import datetime
from django.http import HttpResponse
from app.models import *
from tools.emailcode_send import send
from tools.get_now_time import get_now_time
from tools.get_all import *
from tools.updateInformation import *
from tools.addInformation import *
from tools.deleteinformation import *
from tools.log import log
# 生成报表
import xlwt
import os
from pathlib import Path
from openpyxl.styles import Alignment # 设置单元格文字对齐方式、自动换行
from django.utils.encoding import escape_uri_path
from tools.sendfile import sendfile
pass_salt = "username_salt"
def login(request):
"""
键值名称:result
返回值:
"密码错误!": 0
"登录成功!": 1
"未查找到账号!": 2
"数据库访问发生错误!": 3
"""
if request.method == "POST":
# 接受用户登录的账号和密码
req = json.loads(request.body)
account = req.get('account', None)
password = req.get('password', None)
# 创建返回字典
context = dict()
# 处理请求(登录验证)
try:
# 调用函数实现按照员工账号ID进行查询检索
obj = User.objects.get(email=account)
# 判断密码是否正确
if obj.password != password:
# 密码错误
context['result'] = 0
else:
# 登录成功
context['result'] = 1
res = HttpResponse(json.dumps(context))
res.set_signed_cookie("account", account, pass_salt)
right_level = int(obj.right_level)
if (right_level != 0 and right_level != 1):
res.set_cookie('right_level',2)
else:
res.set_cookie('right_level',right_level)
#写入log日志
type = "登录"
time = get_now_time()
affair = account+"登录了系统"
log(type, time, affair)
return res
except User.DoesNotExist:
# 未查找到账号
context['result'] = 2
except:
context['result'] = 3
return HttpResponse(json.dumps(context))
else:
return HttpResponse("error")
def login_veri(request):
"""
验证码登录
"""
if request.method == "POST":
req = json.loads(request.body)
account = req.get('account', None)
confirm_code = req.get('confirm_code', None)
# 通过数据库检测该账号是否已经存在
try:
# 用户已存在
obj = User.objects.get(email=account)
# 创建返回字典
context = dict()
# 处理请求 (判断验证码是否正确)
obj1 = code.objects.get(account=account)
# 验证码正确
if confirm_code == obj1.confirm_code:
context['result'] = 1
res = HttpResponse(json.dumps(context))
res.set_signed_cookie("account", account, pass_salt)
right_level = int(obj.right_level)
if (right_level != 0 and right_level != 1):
res.set_cookie('right_level',2)
else:
res.set_cookie('right_level',right_level)
#写入log日志
type = "登录"
time = get_now_time()
affair = account+"登录了系统"
log(type, time, affair)
# 验证码错误
else:
context['result'] = 0
res = HttpResponse(json.dumps(context))
return res
except User.DoesNotExist:
return HttpResponse(json.dumps({'result': 2}))
except:
context['result'] = 0
return HttpResponse(json.dumps(context))
# 注册成功,保存注册账号和密码
def register(request):
"""
键值名称:result
返回值:
"注册账号成功!":0
"注册账号失败!":1
"""
if request.method == "POST":
# 接受用户注册的账号和密码
req = json.loads(request.body)
account = req.get('account', None)
password = req.get('password', None)
# 创建返回字典
context = dict()
# 处理请求(注册信息存入数据库)
try:
# 将用户账号信息存入数据库中
User.objects.create(email=account, password=password, position="员工", right_level=2)
#写入log日志
type = "注册"
time = get_now_time()
affair = account+"注册成功"
log(type, time, affair)
context['result'] = 0
except:
# 数据库访问发生错误
context['result'] = 1
return HttpResponse(json.dumps(context))
else:
return HttpResponse("error")
# 注册界面点击下一步,判断验证码是否正确
def register_email(request):
"""
前端发送account,confirm_code(验证码)
后端返回:
result:
0:验证码错误
1:验证码正确,进行下一步
2:用户已存在
"""
if request.method == "POST":
# 接受用户注册的账号和接收到的验证码
req = json.loads(request.body)
account = req.get('account', None)
confirm_code = req.get('confirm_code', None)
# 通过数据库检测该账号是否已经存在
try:
# 用户已存在
obj = User.objects.get(email=account)
# 删除验证码信息
code.objects.filter(account=account).delete()
return HttpResponse(json.dumps({'result': 2}))
except User.DoesNotExist:
# 创建返回字典
context = dict()
# 处理请求 (判断验证码是否正确)
obj = code.objects.get(account=account)
code.objects.filter(account=account).delete()
# 验证码正确
if confirm_code == obj.confirm_code:
context['result'] = 1
# 验证码错误
else:
context['result'] = 0
response = HttpResponse(json.dumps(context))
return response
else:
return HttpResponse("error")
# 向邮箱发送验证码
def get_confirm_code(request):
# 用户点击发送验证码获取请求后
if request.method == "POST":
# 接收该用户账号(邮件)
req = json.loads(request.body)
user_email = req.get('account', None)
# user_email = request.data['account']
# 创建结果返回字典
context = dict()
try:
email_content = '%06d' % random.randint(0, 999999)
email_title = "验证码获取"
# 将验证码存入code数据库当中
code.objects.filter(account=user_email).delete()
code.objects.create(account=user_email, confirm_code=email_content)
send(user_email, email_title, email_content)
# 发送成功
context['result'] = 1
# 其他情况
except:
context['result'] = 0
return HttpResponse(json.dumps(context))
else:
return HttpResponse("error")
# 实现查询全部用户信息的业务处理
def get_all(request):
# 判断请求方式(POST)
if request.method == "POST":
# 获取参数flag,判定请求需要
req = json.loads(request.body)
flag = req.get('table_type',None)
context = dict()
# 根据参数,执行相应函数
if flag == "RoleManage":
# 查询角色全部信息
context = get_role_all(request)
elif flag == "EmployeeMana
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
warehouse_manager_back-master.zip (69个子文件)
warehouse_manager_back-master
tools
addInformation.py 5KB
emailcode_send.py 2KB
sendfile.py 1KB
get_all.py 5KB
log.py 173B
deleteinformation.py 3KB
parseData.py 157B
updateInformation.py 5KB
.gitignore 11B
get_now_time.py 119B
__pycache__
get_all.cpython-39.pyc 4KB
get_now_time.cpython-39.pyc 332B
emailcode_send.cpython-39.pyc 1KB
app
__init__.py 0B
tests.py 60B
admin.py 63B
migrations
__init__.py 0B
0001_initial.py 175B
0003_alter_ib_creation_time_alter_ob_creation_time.py 550B
0004_allreport.py 816B
0002_initial.py 9KB
apps.py 138B
models.py 14KB
templates
index2.html 2KB
search.html 816B
index.html 467B
hello.html 697B
.gitignore 11B
static
image
1.png 49KB
css
index2.css 154B
report
江西第一仓库-2022年7月报表.xls 19KB
大连港15仓库-2022年7月报表.xls 19KB
2021入职和离职人员统计.xlsx 9KB
2022入职和离职人员统计.xlsx 10KB
重庆江北一号仓库-2022年7月报表.xls 19KB
views.py 33KB
tencentMap
__init__.py 0B
tests.py 60B
admin.py 63B
migrations
__init__.py 0B
0001_initial.py 2KB
__pycache__
0001_initial.cpython-39.pyc 1KB
__init__.cpython-39.pyc 174B
apps.py 152B
models.py 2KB
__pycache__
__init__.cpython-39.pyc 163B
models.cpython-39.pyc 2KB
apps.cpython-39.pyc 448B
admin.cpython-39.pyc 204B
views.py 63B
updateTencentMaps.py 540B
warehouse_manager_back
__init__.py 0B
wsgi.py 421B
urls.py 2KB
.gitignore 11B
settings.py 4KB
asgi.py 421B
.idea
vcs.xml 180B
misc.xml 241B
dataSources.xml 680B
inspectionProfiles
profiles_settings.xml 174B
modules.xml 296B
deployment.xml 750B
.gitignore 176B
warehouse_manager_back.iml 1KB
.gitee
ISSUE_TEMPLATE.zh-CN.md 79B
manage.py 678B
.gitignore 16B
月报表.xls 6KB
共 69 条
- 1
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6828
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功