def login(): if request.method == 'GET': return render_template(THEMES + 'users/login.html') else: username = request.form['username'] password = request.form['password'] password = common.hashPwd(password) res = usersModels.users.checkpassword(username, password, request.remote_addr) if res["code"]: model = usersModels.users() # 实例化一个对象,将查询结果逐一添加给对象的属性 model.id = res["msg"].id model.username = res["msg"].username model.avatar = res["msg"].avatar model.nickname = res["msg"].nickname model.score = res["msg"].score if res["msg"].group: model.group = authorModels.authGroup.find_by_id( res["msg"].group).title else: model.group = "普通会员" login_user(model) return json.dumps({"code": 0, "msg": "登陆成功!"}) else: return json.dumps({"code": 1, "msg": res["msg"]})
def register(): username = request.form['username'] password = request.form['password'] nickname = request.form['nickname'] if len(password) < 6: return json.dumps({"code": 1, "msg": "密码格式错误"}) password = common.hashPwd(password) res = usersModels.users.check_username(username) if res: return json.dumps({"code": 1, "msg": "用户名已存在"}) else: # 初始化role 并插入数据库 role = usersModels.users( username=username, password=password, nickname=nickname, email='', description='', avatar="/static/uploads/avatar/{}.png".format(random.randint( 1, 10)), sex=3, login_num=0, score=0, group=0, status=1, register_ip=request.remote_addr, birthday='0001-01-01 00:00:00', reg_time=time.strftime('%Y-%m-%d %H:%M:%S'), update_time=time.strftime('%Y-%m-%d %H:%M:%S')) MysqlDB.session.add(role) MysqlDB.session.flush() MysqlDB.session.commit() return json.dumps({"code": 0, "msg": "注册成功!"})
def setting(): if request.method == 'GET': data = models.config.all() # print(data) result = data return render_template('admin/system/setting.html', top_nav='system', activity_nav='setting', data=result) else: from_data = request.form from_data = from_data.to_dict() # 是否修改管理员密码 if from_data['password']: from_data['password'] = common.hashPwd(from_data['password']) else: from_data.pop('password') # 不修改密码,删除键值 # 站点关闭/开启 if 'toggle_web_site' in from_data.keys(): from_data['toggle_web_site'] = 1 else: from_data['toggle_web_site'] = 0 # 用户模块关闭/开启 if 'is_users' in from_data.keys(): from_data['is_users'] = 1 else: from_data['is_users'] = 0 for i in from_data: models.config.update({"name": i, "value": from_data[i]}) return json.dumps({"code": 0, "msg": "保存成功!"})
def index(): # 判断是否安装程序,避免出现重装的BUG if os.path.isfile(root_path + '/.install'): return redirect("/") else: if request.method == 'GET': return render_template('installer/index.html') else: from_data = request.form.to_dict() admin_user = from_data["admin_user"] admin_psw = common.hashPwd(from_data["admin_psw"]) create_db_res = create_db(from_data["mysql_ip"], from_data["mysql_user"], from_data["mysql_psw"], from_data["mysql_port"], from_data["mysql_name"], admin_user, admin_psw) if create_db_res: mysql_res = "mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8".format( from_data["mysql_user"], from_data["mysql_psw"], from_data["mysql_ip"], from_data["mysql_port"], from_data["mysql_name"]) mongo_res = "mongodb://{}:{}/cache".format( from_data["mongo_ip"], from_data["mongo_port"]) edit_config(mysql_res, mongo_res) subprocess.Popen("python3 {}/app/task/restart.py".format( os.getcwd()), shell=True) return json.dumps({"code": 0, "msg": "完成!"}) else: return json.dumps({ "code": 1, "msg": "Mysql数据库无法连接,或者未建立,请检查后重新安装!" })
def login(): if request.method == 'GET': return render_template('admin/index/login.html') else: username = request.form['username'] password = request.form['password'] password = common.hashPwd(password) res = models.config.checkpassword(username, password) if res["code"]: session['is_login'] = True session['username'] = username return json.dumps({"code": 0, "msg": "登录成功,正在跳转..."}) else: return json.dumps({"code": 1, "msg": res["msg"]})
def setting(): if request.method == 'GET': if current_user.get_id() is not None: result = usersModels.users.find_by_id(current_user.id) return render_template(THEMES + 'users/setting.html', data=result) else: return redirect(url_for('/._index')) else: if current_user.get_id() is not None: from_data = request.form from_data = from_data.to_dict() from_data['id'] = current_user.id if int(from_data['formtype']) == 1: from_data.pop('formtype') # 是否修改密码 if from_data['password']: from_data['password'] = common.hashPwd(from_data['password']) else: from_data.pop('password') # 不修改密码,删除键值 usersModels.users.update(from_data) return json.dumps({"code": 0, "msg": "完成!"}) else: return json.dumps({"code": 1, "msg": "未登陆!"})
def users_edit(id): if request.method == 'GET': group_list = authorModels.authGroup.all() group_list_data = [] for item in group_list: group_list_data.append({"id":item.id, "title":item.title}) if id: data_list = models.users.find_by_id(id) result = {} result["id"] = data_list.id result["username"] = data_list.username result["password"] = data_list.password result["nickname"] = data_list.nickname result["email"] = data_list.email result["description"] = data_list.description result["group"] = data_list.group result["avatar"] = data_list.avatar result["sex"] = data_list.sex result["score"] = data_list.score result["files_disk_id"] = data_list.files_disk_id result["status"] = data_list.status else: nickname = ["菜刀诗人", "SUONGLO", "你是哪块小饼干呐", "-夕凉_", "散漫的Taco", "奥特曼", "渡尘烟", "知意南风", "绿色橘生", "花胖胖", "侬本多情", "情欲孤独", "麦记花"] files_disk_id = systemModels.config.get_config('files_disk_id') result = { 'id': '0' , 'username': '' , 'password': '' , 'nickname': random.choice(nickname) , 'email': '' , 'description': '素面朝天浅笑吟,倾国倾城两相宜.' , 'score': 0 , 'group': 0 , 'avatar': "/static/uploads/avatar/{}.png".format(random.randint(1, 10)) , 'sex': 3 , 'files_disk_id': files_disk_id , 'status': 1 } return render_template('admin/users/edit.html', top_nav='users', activity_nav='edit', data=result, group_list=group_list_data) else: from_data = request.form from_data = from_data.to_dict() # 是否修改密码 if from_data['password']: from_data['password'] = common.hashPwd(from_data['password']) else: from_data.pop('password') # 不修改密码,删除键值 if "status" in request.form.keys(): from_data['status'] = 1 else: from_data['status'] = 0 if id != 0: models.users.update(from_data) return json.dumps({"code": 0, "msg": "完成!"}) else: checkName = models.users.check_username(from_data['username']) if checkName is None: # 初始化role 并插入数据库 role = models.users( username=from_data['username'], password=from_data['password'], nickname=from_data['nickname'], email=from_data['email'], description=from_data['description'], avatar=from_data['avatar'], sex=from_data['sex'], login_num=0, score=from_data['score'], group=from_data['group'], status=from_data['status'], register_ip='127.0.0.1', birthday='0001-01-01 00:00:00', reg_time=time.strftime('%Y-%m-%d %H:%M:%S'), update_time=time.strftime('%Y-%m-%d %H:%M:%S') ) MysqlDB.session.add(role) MysqlDB.session.flush() MysqlDB.session.commit() return json.dumps({"code": 0, "msg": "完成!"}) else: return json.dumps({"code": 1, "msg": "用户名已存在!"})