pull/632/head
Mr Chen 6 months ago
parent e6af36a34b
commit c2a8b95231
  1. 2
      panel_tools.py
  2. 31
      web/admin/setting/setting.py
  3. 99
      web/static/app/config.js
  4. 7
      web/thisdb/user.py

@ -23,7 +23,7 @@ web_dir = os.getcwd() + "/web"
os.chdir(web_dir) os.chdir(web_dir)
sys.path.append(web_dir) sys.path.append(web_dir)
from utils.firewall import firewall as MwFirewall from utils.firewall import Firewall as MwFirewall
import core.mw as mw import core.mw as mw
import thisdb import thisdb

@ -15,8 +15,7 @@ import os
from flask import Blueprint, render_template from flask import Blueprint, render_template
from flask import request from flask import request
from admin import model from admin import session
from admin.user_login_check import panel_login_required from admin.user_login_check import panel_login_required
@ -203,6 +202,34 @@ def set_ipv6_status():
mw.restartMw() mw.restartMw()
return mw.returnData(True, '设置成功!') return mw.returnData(True, '设置成功!')
# 设置面板用户
@blueprint.route('/set_name', endpoint='set_name', methods=['POST'])
@panel_login_required
def set_name():
name1 = request.form.get('name1', '')
name2 = request.form.get('name2', '')
if name1 != name2:
return mw.returnData(False, '两次输入的用户名不一致,请重新输入!')
if len(name1) < 3:
return mw.returnData(False, '用户名长度不能少于3位')
thisdb.setUserByName(session['username'], name1)
session['username'] = name1
return mw.returnData(True, '用户修改成功!')
@blueprint.route('/set_password', endpoint='set_password', methods=['POST'])
@panel_login_required
def set_password():
password1 = request.form.get('password1', '')
password2 = request.form.get('password2', '')
if password1 != password2:
return mw.returnData(False, '两次输入的密码不一致,请重新输入!')
if len(password1) < 5:
return mw.returnData(False, '用户密码不能小于5位!')
thisdb.setUserPwdByName(session['username'], password1)
return mw.returnData(True, '密码修改成功!')
# 设置站点状态 # 设置站点状态
@blueprint.route('/set_port', endpoint='set_port', methods=['POST']) @blueprint.route('/set_port', endpoint='set_port', methods=['POST'])
@panel_login_required @panel_login_required

@ -310,10 +310,28 @@ function modifyAuthPath() {
}); });
} }
function setPassword(a) { function setPassword() {
if(a == 1) { layer.open({
p1 = $("#p1").val(); type: 1,
p2 = $("#p2").val(); area: ["350px",'auto'],
title: '修改密码',
closeBtn: 1,
shift: 5,
shadeClose: false,
btn:["修改","关闭","随机"],
content: "<div class='bt-form'>\
<div class='line'>\
<span class='tname'>密码</span>\
<div class='info-r'><input class='bt-input-text' type='text' name='password1' id='p1' value='' placeholder='新的密码' style='width:70%'/></div>\
</div>\
<div class='line'>\
<span class='tname'>重复</span>\
<div class='info-r'><input class='bt-input-text' type='text' name='password2' id='p2' value='' placeholder='再输一次' style='width:70%' /></div>\
</div>\
</div>",
yes:function(){
var p1 = $("#p1").val();
var p2 = $("#p2").val();
if(p1 == "" || p1.length < 8) { if(p1 == "" || p1.length < 8) {
layer.msg('面板密码不能少于8位!', {icon: 2}); layer.msg('面板密码不能少于8位!', {icon: 2});
return return
@ -353,42 +371,36 @@ function setPassword(a) {
} }
},'json'); },'json');
return; return;
},
btn3: function(){
var pwd = randomStrPwd(12);
$("#p1").val(pwd);
$("#p2").val(pwd);
layer.msg('请在修改前记录好您的新密码!',{time:2000});
return false;
}
});
} }
function setUserName() {
layer.open({ layer.open({
type: 1, type: 1,
area: "290px", area: ["350px",'auto'],
title: '修改密码', title: '修改面板用户名',
closeBtn: 1, closeBtn: 1,
shift: 5, shift: 5,
shadeClose: false, shadeClose: false,
content: "<div class='bt-form pd20 pb70'>\ btn:["确定","取消","随机"],
<div class='line'>\ content: "<div class='bt-form pd20'>\
<span class='tname'>密码</span>\ <div class='line'><span class='tname'>用户名</span>\
<div class='info-r'><input class='bt-input-text' type='text' name='password1' id='p1' value='' placeholder='新的密码' style='width:100%'/></div>\ <div class='info-r'><input class='bt-input-text' type='text' name='password1' id='p1' value='' placeholder='新的用户名' style='width:70%'/></div>\
</div>\ </div>\
<div class='line'>\ <div class='line'>\
<span class='tname'>重复</span>\ <span class='tname'>重复</span>\
<div class='info-r'><input class='bt-input-text' type='text' name='password2' id='p2' value='' placeholder='再输一次' style='width:100%' /></div>\ <div class='info-r'><input class='bt-input-text' type='text' name='password2' id='p2' value='' placeholder='再输一次' style='width:70%'/></div>\
</div>\ </div>\
<div class='bt-form-submit-btn'>\ </div>",
<span style='float: left;' title='随机密码' class='btn btn-default btn-sm' onclick='randPwd(10)'>随机</span>\ yes: function(){
<button type='button' class='btn btn-danger btn-sm' onclick=\"layer.closeAll()\">关闭</button>\
<button type='button' class='btn btn-success btn-sm' onclick=\"setPassword(1)\">修改</button>\
</div>\
</div>"
});
}
function randPwd(){
var pwd = randomStrPwd(12);
$("#p1").val(pwd);
$("#p2").val(pwd);
layer.msg(lan.bt.pass_rep_ps,{time:2000})
}
function setUserName(a) {
if(a == 1) {
p1 = $("#p1").val(); p1 = $("#p1").val();
p2 = $("#p2").val(); p2 = $("#p2").val();
if(p1 == "" || p1.length < 3) { if(p1 == "" || p1.length < 3) {
@ -409,27 +421,14 @@ function setUserName(a) {
} }
},'json'); },'json');
return return
},
btn3:function(){
var pwd = randomStrPwd(12);
$("#p1").val(pwd);
$("#p2").val(pwd);
layer.msg('请在修改前记录好您的用户名!',{time:2000});
return false;
} }
layer.open({
type: 1,
area: "290px",
title: '修改面板用户名',
closeBtn: 1,
shift: 5,
shadeClose: false,
content: "<div class='bt-form pd20 pb70'>\
<div class='line'><span class='tname'>用户名</span>\
<div class='info-r'><input class='bt-input-text' type='text' name='password1' id='p1' value='' placeholder='新的用户名' style='width:100%'/></div>\
</div>\
<div class='line'>\
<span class='tname'>重复</span>\
<div class='info-r'><input class='bt-input-text' type='text' name='password2' id='p2' value='' placeholder='再输一次' style='width:100%'/></div>\
</div>\
<div class='bt-form-submit-btn'>\
<button type='button' class='btn btn-danger btn-sm' onclick=\"layer.closeAll()\">关闭</button>\
<button type='button' class='btn btn-success btn-sm' onclick=\"setUserName(1)\">修改</button>\
</div>\
</div>"
}) })
} }

@ -88,6 +88,13 @@ def updateUserLoginTime():
mw.M('users').field(__field).where('id=?', (1,)).update({'login_time':now_time}) mw.M('users').field(__field).where('id=?', (1,)).update({'login_time':now_time})
return True return True
def setUserByName(name, new_name):
return mw.M('users').where("name=?", (name,)).setField('name', new_name.strip())
def setUserPwdByName(name, password):
pwd = mw.md5(password)
return mw.M('users').where("name=?", (name,)).setField('password', pwd)
def setUserByRoot( def setUserByRoot(
name: str | None = None, name: str | None = None,
password: str | None = None, password: str | None = None,

Loading…
Cancel
Save