python学习
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from flask import Blueprint,request,redirect
|
||||
from common.libs.Helper import ops_render,iPagination
|
||||
from flask import Blueprint,request,redirect,jsonify
|
||||
from common.libs.Helper import ops_render,iPagination,getCurrentDate
|
||||
from common.libs.UrlManager import UrlManager
|
||||
from common.libs.user.UserService import UserService
|
||||
from common.models.User import User
|
||||
from common.models.log.AppAccessLog import AppAccessLog
|
||||
from sqlalchemy import or_
|
||||
route_account = Blueprint( 'account_page',__name__ )
|
||||
from application import app,db
|
||||
@route_account.route( "/index" )
|
||||
@@ -13,12 +15,17 @@ def index():
|
||||
page = int(req['p']) if ('p' in req and req['p']) else 1
|
||||
query = User.query
|
||||
|
||||
if 'mix_kw' in req:
|
||||
rule = or_( User.nickname.ilike( "%{0}%".format( req['mix_kw'] ) ),User.mobile.ilike( "%{0}%".format( req['mix_kw'] ) ))
|
||||
query = query.filter( rule )
|
||||
if 'status' in req and int( req['status'] ) > -1:
|
||||
query = query.filter( User.status == int( req['status']) )
|
||||
page_params = {
|
||||
'total': query.count(),
|
||||
'page_size': app.config['PAGE_SIZE'],
|
||||
'page': page,
|
||||
'display': app.config['PAGE_DISPLAY'],
|
||||
'url': '/account/index'
|
||||
'url': request.full_path.replace( "&p={}".format(page),"")
|
||||
}
|
||||
|
||||
pages = iPagination(page_params)
|
||||
@@ -29,6 +36,8 @@ def index():
|
||||
|
||||
resp_data['list'] = list
|
||||
resp_data['pages'] = pages
|
||||
resp_data['search_con'] = req
|
||||
resp_data['status_mapping'] = app.config['STATUS_MAPPING']
|
||||
return ops_render("account/index.html", resp_data)
|
||||
|
||||
@route_account.route( "/info" )
|
||||
@@ -48,6 +57,111 @@ def info():
|
||||
|
||||
return ops_render("account/info.html", resp_data)
|
||||
|
||||
@route_account.route( "/set" )
|
||||
@route_account.route( "/set" ,methods=["GET", "POST"])
|
||||
def set():
|
||||
return ops_render( "account/set.html" )
|
||||
default_pwd = "******"
|
||||
if request.method == "GET":
|
||||
resp_data = {}
|
||||
req = request.args
|
||||
uid = int( req.get( "id",0))
|
||||
info = None
|
||||
if uid:
|
||||
info = User.query.filter_by( uid = uid ).first()
|
||||
resp_data['info'] = info
|
||||
return ops_render( "account/set.html",resp_data)
|
||||
resp = { 'code':200,'msg':'操作成功~~','data':{} }
|
||||
req = request.values
|
||||
|
||||
id = req['id'] if 'id' in req else 0
|
||||
nickname = req['nickname'] if 'nickname' in req else ''
|
||||
mobile = req['mobile'] if 'mobile' in req else ''
|
||||
email = req['email'] if 'email' in req else ''
|
||||
login_name = req['login_name'] if 'login_name' in req else ''
|
||||
login_pwd = req['login_pwd'] if 'login_pwd' in req else ''
|
||||
|
||||
if nickname is None or len( nickname ) < 1:
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "请输入符合规范的姓名~~"
|
||||
return jsonify( resp )
|
||||
|
||||
if mobile is None or len( mobile ) < 1:
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "请输入符合规范的手机号码~~"
|
||||
return jsonify( resp )
|
||||
|
||||
if email is None or len( email ) < 1:
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "请输入符合规范的邮箱~~"
|
||||
return jsonify( resp )
|
||||
|
||||
if login_name is None or len( login_name ) < 1:
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "请输入符合规范的登录用户名~~"
|
||||
return jsonify( resp )
|
||||
|
||||
if login_pwd is None or len( email ) < 6:
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "请输入符合规范的登录密码~~"
|
||||
return jsonify( resp )
|
||||
|
||||
has_in = User.query.filter( User.login_name == login_name,User.uid!= id).first()
|
||||
if has_in:
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "该登录名已存在,请换一个试试~~"
|
||||
return jsonify(resp)
|
||||
|
||||
user_info = User.query.filter_by(uid=id).first()
|
||||
if user_info:
|
||||
model_user = user_info
|
||||
else:
|
||||
model_user = User()
|
||||
model_user.created_time = getCurrentDate()
|
||||
model_user.login_salt = UserService.geneSalt()
|
||||
|
||||
model_user.nickname = nickname
|
||||
model_user.mobile = mobile
|
||||
model_user.email = email
|
||||
model_user.login_name = login_name
|
||||
|
||||
if login_pwd != default_pwd:
|
||||
model_user.login_pwd = UserService.genePwd( login_pwd,model_user.login_salt )
|
||||
|
||||
model_user.created_time = getCurrentDate()
|
||||
|
||||
db.session.add( model_user )
|
||||
db.session.commit()
|
||||
return jsonify(resp)
|
||||
|
||||
@route_account.route("/ops",methods = [ "POST" ])
|
||||
def ops():
|
||||
resp = {'code': 200, 'msg': '操作成功~~', 'data': {}}
|
||||
req = request.values
|
||||
|
||||
id = req['id'] if 'id' in req else 0
|
||||
act = req['act'] if 'act' in req else ''
|
||||
if not id :
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "请选择要操作的账号~~"
|
||||
return jsonify(resp)
|
||||
|
||||
if act not in [ 'remove','recover' ] :
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "操作有误,请重试~~"
|
||||
return jsonify(resp)
|
||||
|
||||
user_info = User.query.filter_by(uid=id).first()
|
||||
if not user_info:
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "指定账号不存在~~"
|
||||
return jsonify(resp)
|
||||
|
||||
if act == "remove":
|
||||
user_info.status = 0
|
||||
elif act == "recover":
|
||||
user_info.status = 1
|
||||
|
||||
user_info.update_time = getCurrentDate()
|
||||
db.session.add(user_info)
|
||||
db.session.commit()
|
||||
return jsonify(resp)
|
||||
|
||||
|
||||
@@ -36,9 +36,15 @@ def login():
|
||||
return jsonify(resp)
|
||||
|
||||
if user_info.login_pwd != UserService.genePwd(login_pwd, user_info.login_salt):
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "请输入正确的登录用户名和密码-2~~"
|
||||
return jsonify(resp)
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "请输入正确的登录用户名和密码-2~~"
|
||||
return jsonify(resp)
|
||||
|
||||
if user_info.status !=1:
|
||||
resp['code'] = -1
|
||||
resp['msg'] = "帐号已被禁用,请联系管理员处理~~"
|
||||
return jsonify(resp)
|
||||
|
||||
|
||||
response = make_response(json.dumps(resp))
|
||||
response.set_cookie(app.config['AUTH_COOKIE_NAME'], '%s#%s' % (
|
||||
|
||||
Reference in New Issue
Block a user