|
|
|
# coding:utf-8
|
|
|
|
|
|
|
|
# ---------------------------------------------------------------------------------
|
|
|
|
# MW-Linux面板
|
|
|
|
# ---------------------------------------------------------------------------------
|
|
|
|
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
|
|
|
# ---------------------------------------------------------------------------------
|
|
|
|
# Author: midoks <midoks@163.com>
|
|
|
|
# ---------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
import io
|
|
|
|
import time
|
|
|
|
|
|
|
|
from flask import Blueprint, render_template
|
|
|
|
from flask import make_response
|
|
|
|
from flask import Response
|
|
|
|
from flask import request,g
|
|
|
|
|
|
|
|
from admin.common import isLogined
|
|
|
|
from admin.user_login_check import panel_login_required
|
|
|
|
from admin import cache,session
|
|
|
|
from admin import model
|
|
|
|
import core.mw as mw
|
|
|
|
|
|
|
|
|
|
|
|
blueprint = Blueprint('dashboard', __name__, url_prefix='/', template_folder='../../templates')
|
|
|
|
@blueprint.route('/')
|
|
|
|
@panel_login_required
|
|
|
|
def index():
|
|
|
|
return render_template('default/index.html')
|
|
|
|
|
|
|
|
|
|
|
|
# ---------------------------------------------------------------------------------
|
|
|
|
# 定义登录入口相关方法
|
|
|
|
# ---------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
# 验证码
|
|
|
|
@blueprint.route('/code')
|
|
|
|
def code():
|
|
|
|
import utils.vilidate as vilidate
|
|
|
|
vie = vilidate.vieCode()
|
|
|
|
codeImage = vie.GetCodeImage(80, 4)
|
|
|
|
out = io.BytesIO()
|
|
|
|
codeImage[0].save(out, "png")
|
|
|
|
session['code'] = mw.md5(''.join(codeImage[1]).lower())
|
|
|
|
|
|
|
|
img = Response(out.getvalue(), headers={'Content-Type': 'image/png'})
|
|
|
|
return make_response(img)
|
|
|
|
|
|
|
|
@blueprint.route('/login')
|
|
|
|
def login():
|
|
|
|
return render_template('default/login.html')
|
|
|
|
|
|
|
|
# 检查是否登录
|
|
|
|
@blueprint.route('/check_login',methods=['GET','POST'])
|
|
|
|
def check_login():
|
|
|
|
if isLogined():
|
|
|
|
return "true"
|
|
|
|
return "false"
|
|
|
|
|
|
|
|
# 执行登录操作
|
|
|
|
@blueprint.route('/do_login', endpoint='do_login', methods=['POST'])
|
|
|
|
def do_login():
|
|
|
|
|
|
|
|
username = request.form.get('username', '').strip()
|
|
|
|
password = request.form.get('password', '').strip()
|
|
|
|
code = request.form.get('code', '').strip()
|
|
|
|
|
|
|
|
if 'code' in session:
|
|
|
|
if session['code'] != mw.md5(code):
|
|
|
|
return mw.returnData(False, code_msg)
|
|
|
|
|
|
|
|
print(username, password, code)
|
|
|
|
print(cache,session)
|
|
|
|
|
|
|
|
return mw.returnData(1, '登录成功,正在跳转...')
|