Exemple #1
0
def add():
    model_user = User()
    model_user.nickname = "郭大爷{0}号".format(random.randint(600, 800))
    model_user.mobile = "1312332234"
    model_user.email = "*****@*****.**"
    db.session.add(model_user)
    db.session.commit()
    return 'nickname:{0}'.format(model_user.nickname)
Exemple #2
0
def set():
    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
    nickname = req['nickname'] if 'nickname' in req else ''
    email = req['email'] if 'email' in req else ''
    mobile = req['mobile'] if 'mobile' 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 ''
    id = req['id'] if 'id' in req else '0'

    if nickname is None or len(nickname) < 1:
        resp['code'] = -1
        resp['msg'] = "nickname failed"
        return jsonify(resp)

    if email is None or len(email) < 1:
        resp['code'] = -1
        resp['msg'] = "email failed"
        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'] = "email failed"
        return jsonify(resp)

    user_info = User.query.filter(User.uid == id).first()
    if user_info:
        model_user = user_info
    else:
        model_user = User()
        model_user.updated_time = getCurrentDate()
        model_user.created_time = getCurrentDate()

    if login_pwd != default_pwd:
        model_user.login_salt = UserService.genSalt()
        model_user.login_pwd = UserService.genePwd(login_pwd,
                                                   model_user.login_salt)

    model_user.nickname = nickname
    model_user.email = email
    model_user.mobile = mobile
    model_user.login_name = login_name

    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)
Exemple #3
0
def register():
    if request.method == "GET":
        return ops_render("SignIn/register.html")

    resp = {'code': 200, 'msg': '操作成功~~', 'data': {}}
    req = request.values

    username = req['username'] if 'username' in req else ''
    nickname = req['nickname'] if 'nickname' in req else ''
    password = req['password'] if 'password' in req else ''
    email = req['email'] if 'email' in req else ''

    User_info = User.query.filter_by(login_name=username).first()
    if User_info:
        resp['code'] = -1
        resp['msg'] = "已有此账号!"
        return jsonify(resp)

    salt = UserService.geneSalt()
    print(salt)
    password = UserService.genePwd(password, salt)

    model_User_info = User()
    model_User_info.created_time = getCurrentDate()
    model_User_info.login_name = username
    model_User_info.nickname = nickname
    model_User_info.login_salt = salt
    model_User_info.login_pwd = password
    model_User_info.email = email
    model_User_info.updated_time = getCurrentDate()
    db.session.add(model_User_info)
    db.session.commit()
    return jsonify(resp)
Exemple #4
0
def set():
    default_pwd = "******"
    if request.method == "GET":
        resp_data = {}
        req = request.args
        uid = int(req.get("id", 0))
        user_info = None
        if uid:
            user_info = User.query.filter_by(uid=uid).first()
        resp_data['user_info'] = user_info
        return ops_render("account/set.html", resp_data)
    elif request.method == "POST":

        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 None
        mobile = req['mobile'] if 'mobile' in req else None
        email = req['email'] if 'email' in req else None
        login_name = req['login_name'] if 'login_name' in req else None
        login_pwd = req['login_pwd'] if 'login_pwd' in req else None

        if not all([nickname, mobile, email, login_name, login_pwd]):
            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 = getCurrentData()
            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 default_pwd != login_pwd:
            model_user.login_pwd = UserService.genePwd(login_pwd,
                                                       model_user.login_salt)
        model_user.updated_time = getCurrentData()

        db.session.add(model_user)
        db.session.commit()
        return jsonify(resp)
 def get_user_by_email(self, email: str) -> User:
     sql = "SELECT * FROM users WHERE email = %s"
     val = (email, )
     self.cursor.execute(sql, val)
     resultset = self.cursor.fetchall()
     if self.cursor.rowcount > 0:
         user = User(
             username=resultset[0][1],
             password_hash=resultset[0][2],
             email=resultset[0][3],
         )
         user._id = resultset[0]
         return user
     return
Exemple #6
0
def set():
    default_pwd = "******"
    if request.method == "GET":
        resp_data = {}
        req = request.args
        uid = req.get("id", 0)
        user_info = None
        if uid:
            user_info = User.query.filter_by(uid=uid).first()
        resp_data["user_info"] = user_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 ""
    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 ""

    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.updated_time = getCurrentDate()
    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)
Exemple #7
0
def register():
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(email=form.email.data, password=form.password.data)
        db.session.add(user)
        db.session.commit()
        # token = user.generate_confirmation_token()
        # send_email(user.email, 'Confirm Your Account',
        #            'auth/email/confirm', user=user, token=token)
        # flash('A confirmation email has been sent to you by email.')
        return redirect(url_for('admin.login'))
    return render_template('admin/register.html', form=form)
Exemple #8
0
def register():
    resp = {'code': 200, 'msg': '操作成功~', 'data': {}}
    req = request.values

    name = req['name'] if 'name' in req else ''
    password = req['password'] if 'password' in req else ''
    identification = req['identification'] if 'identification' in req else ''
    gender = req['gender'] if 'gender' in req else ''

    if name is None or len(name) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的姓名"
        return jsonify(resp)

    if password is None or len(password) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的密码"
        return jsonify(resp)

    user_info = User()

    user_info.name = name
    user_info.password = password
    user_info.identification = identification
    user_info.sex = gender

    db.session.add(user_info)
    db.session.commit()
    return jsonify(resp)
 def _load_users(self):
     if not os.path.exists(self._user_filepath):
         return
     with open(self._user_filepath, "r") as infile:
         data: List[dict] = None
         try:
             data = json.load(infile)
         except Exception as err:
             print("user.dat: File was Empty")
             return
         for d in data:
             user = User(
                 username=d["_username"],
                 email=d["_email"],
                 password_hash=d["_password_hash"],
             )
             user._id = d["_id"]
             user.follows = d["follows"]
             if user._id > self._accumulate_user_id:
                 self._accumulate_user_id = user._id
             self._users.append(user)
     print("user.dat: File Loaded")
Exemple #10
0
def add():
    form = UserForm()
    if form.validate_on_submit():
        try:
            user = User(form.login_name.data, form.login_pwd.data,
                        form.status.data)
            db.session.add(user)
            db.session.commit()
            flash("添加管理员成功!")
            return redirect(url_for('.index'))
        except:
            flash("添加管理员失败!", category="error")
    return render_template('/user/add.html', form=form)
Exemple #11
0
 def register(self, username: str, email: str, password: str) -> User:
     if not self.db.username_is_unique(
             username) or not self.db.email_is_unique(email):
         return
     new_user = self.db.create_user(
         User(
             username=username,
             email=email,
             password_hash=gen_pwd_hsh(password),
         ))
     if new_user is None:
         raise Exception("Could not Create User")
     return new_user
Exemple #12
0
 def search_user_node(tel):
     # db = get_db()
     db = driver.session()
     tel = str(tel)
     expression = "match(node:user)where node.tel=\'" + tel + "\' return node "
     result = db.run(expression)
     userList = []
     for record in result:
         temp = User(record['node'])
         if temp:  # 如果查找到了,直接返回python化后的neo4j结点
             return temp
         else:
             return None
Exemple #13
0
def reset_token(token):
    # 如果当前用户已经登陆就不可能需要重置密码(直接redirect到home)
    if current_user.is_authenticated:
        return redirect(url_for('home.home'))
    user = User.verify_reset_token(token=token)
    if user is None:
        flash('That is an invalid or expired token', category='warning')
        return redirect(url_for('reset_request.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        import random
        # 生成盐(用来给密码加密)可以用python自带的secrets
        salt = ''.join(
            [random.choice('0123456789abcdefABCDEF') for i in range(12)])
        # 将数据库中的login_pwd 和login_salt 更新
        user.login_pwd = passwd_gen(pwd=form.password.data, salt=salt)
        user.login_salt = salt
        db.session.commit()
        flash(message='Your password has been updated!', category='success')
        return redirect(url_for('login.login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Exemple #14
0
def register():
    # 如果用户已经登入就没必要注册(直接重定向到home)
    if current_user.is_authenticated:
        return redirect(url_for('home.home'))
    # 创建表单对象
    form = RegistrationForm(csrf_secret=app.config['SECRET_KEY'])
    if form.validate_on_submit():
        import random
        # 生成盐(用来给密码加密)可以用python自带的secrets
        salt = ''.join([random.choice('0123456789abcdefABCDEF') for i in range(12)])
        form.validate_username(form.username)
        form.validate_email(form.email)
        # 创建User对象将提交上来的注册表单数据放在user_info中
        user_info = User(login_name=form.username.data,
                         email=form.email.data,
                         login_pwd=passwd_gen(form.password.data, salt),
                         login_salt=salt)
        # 向数据库插入 user_info
        db.session.add(user_info)
        db.session.commit()
        flash(message=f'Account created for {form.username.data}!', category='success')
        return redirect(url_for('login.login'))
    return render_template('register.html', title='Registration', form=form)
Exemple #15
0
def set():
    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)
    # POST
    resp = {
        'code':200,
        'msg':"操作成功",
        'datat':{}
    }

    # 获取前端ajax传递的data
    req = request.values
    id = req['id'] if 'id' in req else 0
    nickname = req['nickname'] if 'id' in req else ''
    mobile = req['mobile'] if 'id' in req else ''
    email = req['email'] if 'id' in req else ''
    login_name = req['login_name'] if 'id' in req else ''
    login_pwd = req['login_pwd'] if 'id' 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(login_pwd) < 6:
        resp['code'] = -1
        resp['msg'] = "请输入规范的登录密码"
        return jsonify(resp)

    # 筛选
    is_exits = User.query.filter(User.login_name == login_name,User.uid != id).first()
    if is_exits:
        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()
        # 生成16位的加密字符串
        model_user.login_salt = UserService.generateSalt()
    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email
    model_user.login_name = login_name
    if user_info and user_info.uid == 1:
        resp['code'] = -1
        resp['msg'] = "该用户为Bruce"
        return jsonify(resp)

    model_user.login_pwd =  UserService.generatePwd(login_pwd,model_user.login_salt)
    # 插入格式化的时间
    model_user.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()     
    return jsonify(resp)
Exemple #16
0
def set():
    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:
        if user_info and user_info.uid == 1:
            resp['code'] = -1
            resp['msg'] = "该用户是演示账号,不准修改密码和登录用户名~~"
            return jsonify(resp)

        model_user.login_pwd = UserService.genePwd(login_pwd,
                                                   model_user.login_salt)

    model_user.updated_time = getCurrentDate()
    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)
Exemple #17
0
def setPwd():
    default_pwd = "******"
    if request.method == 'GET':
        req = request.args
        uid = int(req.get('id'), 0)
        info = None
        if uid:
            info = User.query.filter_by(uid=uid).one_or_none()
        return ops_render("account/set.html", info=info)

    resp = {'code': 200, 'msg': '操作成功', 'data': {}}
    req = request.values
    # 尽量不要使用id作为变量名, 内建函数 id()
    user_id = ParamsValidator.GetORSetValue(req, 'id', value=0)
    nickname = ParamsValidator.GetORSetValue(req, 'nickname', value="")
    mobile = ParamsValidator.GetORSetValue(req, 'mobile', value="")
    email = ParamsValidator.GetORSetValue(req, 'email', value="")
    login_name = ParamsValidator.GetORSetValue(req, 'login_name', value="")
    login_pwd = ParamsValidator.GetORSetValue(req, 'login_pwd', value="")

    if ParamsValidator.DataRequired(nickname):
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的姓名"
    elif ParamsValidator.DataRequired(mobile):
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的手机号码"
    elif ParamsValidator.DataRequired(email):
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的邮箱"
    elif ParamsValidator.DataRequired(login_name):
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的登录用户名"
    elif ParamsValidator.DataRequired(login_pwd):
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的登录密码"
    elif User.query.filter(User.login_name == login_name, User.uid != user_id).one_or_none():
        resp['code'] = -1
        resp['msg'] = "该登录名已存在,请换一个试试"
    else:
        user_info = User.query.filter_by(uid=user_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:
            if user_info and user_info.uid == 1:
                resp['code'] = -1
                resp['msg'] = "该用户是演示账号,不准修改密码和登录用户名"
                return jsonify(resp)
            # 当前密码 等于 默认密码的时候, 不更新密码  todo 只有输入密码不等于默认密码的时候才更新密码
            model_user.login_pwd = UserService.genePwd(login_pwd, model_user.login_salt)
        model_user.updated_time = getCurrentDate()
        db.session.add(model_user)
        db.session.commit()

    return jsonify(resp)
Exemple #18
0
def resetpwd():
    #设置默认密码,如果改变则说明修改过了
    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
        #传递到前端html文件
        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(login_pwd) < 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.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)
Exemple #19
0
def set_page():
    default_pwd = '******'  # 定义个默认密码显示

    if request.method == 'GET':
        resp_data = {}
        req = request.args
        uid = int(req.get('id', 0))
        user_info = None
        if uid:
            user_info = User.query.filter_by(uid=uid).first()
        resp_data['user_info'] = user_info

        back_url = UrlManager.buildUrl('/account/index')

        if user_info.status != 1:  # 如果状态不是1,返回列表
            return redirect(back_url)

        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) < 11:  # 判断手机长度
        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(login_pwd) < 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()  # 获取uid,判断是否存在,存在是更新,否则就新增
    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  # 变更登录名
    model_user.login_salt = UserService.geneSalt()

    if login_pwd != default_pwd:
        model_user.login_pwd = UserService.genePwd(
            login_pwd, model_user.login_salt)  # 判断用户是否修改密码,如果修改变更登录密码

    model_user.updated_time = getCurrentDate()

    # app.logger.info(user_info)
    db.session.add(model_user)  # 增加用户信息
    # app.logger.info(model_user)
    db.session.commit()  # 统一提交

    response = make_response(json.dumps(resp))
    # # 设置了cookie,那么就能设置统一拦截器,防止客户端没有cookie而能进入后台,同时定义cookie的加密方式geneAuthCode
    response.set_cookie(app.config['AUTH_COOKIE_NAME'], '%s#%s' %
                        (UserService.geneAuthCode(model_user), model_user.uid),
                        60 * 60 * 24 * 120)  # 生成cookie形式为 16进制加密字符#uid,保存120天
    return response
Exemple #20
0
def set():
    default_pwd = "******"  #用于后面的判断是否对密码进行了修改
    # 要把current-user传进来,用于layout 中的个人设置页面
    current_user = session.current_user
    #如果方法是GET就直接展示页面,同时获取uid,用于识别要编辑的用户id,注意与current_user是两码事
    if request.method == "GET":
        req = request.args
        uid = int(req.get("id", 0))
        info = None
        if uid:
            info = User.query.filter_by(
                uid=uid).first()  #通过uid我们可以获取到该用户信息然后显示在页面上,用于修改
        return render_template("account/set.html",
                               current_user=current_user,
                               info=info)

    #如果方法是POST,那么获取数据,数据来自于set.js,这里省去了之前用过的form形式的收集数据的方法
    resp = {'code': 200, 'msg': '操作成功', 'data': {}}
    req = request.values  #参数较多是用values, 参数少时用args

    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)

    #查看是否已经重复,同时User.uid != id 是兼顾修改时用的。因为修改时是可能出现重复的,比如用户并没有修改登录名称
    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.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)
Exemple #21
0
def set():
    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)
    # post请求
    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 ''
    print('新增的用户信息',nickname,mobile,email,login_name,login_pwd)

    if nickname is None or len(nickname)<1:
        resp['code'] = 0
        resp['msg'] = '请输入正确的昵称'
        return jsonify(resp)
    if mobile is None or len(mobile)<1:
        resp['code'] = 0
        resp['msg'] = '请输入正确的手机号'
        return jsonify(resp)
    if email is None or len(email)<1:
        resp['code'] = 0
        resp['msg'] = '请输入正确的邮箱'
        return jsonify(resp)
    if login_name is None or len(login_name)<1:
        resp['code'] = 0
        resp['msg'] = '请输入正确的登录名称'
        return jsonify(resp)
    if login_pwd is None or len(login_pwd)<6:
        resp['code'] = 0
        resp['msg'] = '请输入正确的密码'
        return jsonify(resp)

    is_exsits = User.query.filter(User.login_name == login_name).first()
    if is_exsits:
        resp['code'] = 0
        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.generateSalt()
        
    
    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email
    model_user.login_name = login_name
    # if user_info.id == User.uid:
    #     resp['code'] = 0
    #     resp['msg'] = '该用户不可修改'
    #     return jsonify(resp)
    model_user.login_pwd = UserService.genertePwd(login_pwd,model_user.login_salt)
    # if login_pwd != default_pwd

    model_user.updated_time = getCurrentDate()
    db.session.add(model_user)
    db.session.commit()

    return jsonify(resp)
Exemple #22
0
def set():
    default_pwd = "******"
    if request.method == "GET":
        resp_data = {}
        req = request.args
        uid = int(req.get("id", 0))
        user_info = None
        if uid:
            user_info = User.query.filter_by(uid=uid).first()
        resp_data['user_info'] = user_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) < 11:
        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(login_pwd) < 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.mobile = 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.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()

    return jsonify(resp)
Exemple #23
0
def set():
    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()
        current_user = g.current_user
        communities = Community.query.filter(
            Community.platform_id == current_user.platform_id)
        resp_data['info'] = info
        resp_data['communities'] = communities
        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
    platform_id = req['platform_id'] if 'platform_id' in req else ''
    platform_name = req['platform_name'] if 'platform_name' in req else ''
    community_id = req['community_id'] if 'community_id' in req else ''
    community_name = req['community_name'] if 'community_name' in req else ''
    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 ''
    benefit = req['benefit'] if 'benefit' in req else 0

    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 login_name is None or len(login_name) < 1:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的登录用户名~~"
        return jsonify(resp)

    if login_pwd is None or len(login_pwd) < 3:
        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)

    benefit = Decimal(benefit).quantize(Decimal('0.00'))
    if benefit < 0:
        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.platform_id = platform_id
        model_user.platform_name = platform_name
        model_user.community_id = community_id
        model_user.community_name = community_name
        model_user.email = email
        model_user.benefit = 0.00
        model_user.created_time = getCurrentDate()
        model_user.login_salt = UserService.geneSalt()

    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.login_name = login_name
    model_user.login_pwd = UserService.genePwd(login_pwd,
                                               model_user.login_salt)
    model_user.benefit = benefit

    model_user.updated_time = getCurrentDate()
    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)
Exemple #24
0
def leaderApplicationApprove():
    resp = {'code': 200, 'msg': '审核操作成功~~', 'data': {}}
    print(request)
    req = request.values
    id = int(req['id']) if 'id' in req else 0
    member_id = int(req['member_id']) if 'member_id' in req else 0
    community_name = req['community_name'] if 'community_name' in req else ''
    province = req['province'] if 'province' in req else ''
    city = req['city'] if 'city' in req else ''
    description = req['description'] if 'description' in req else ''
    pickups = req['pickups'] if 'pickups' in req else ''
    name = req['name'] if 'name' in req else ''
    mobile = req['mobile'] if 'mobile' 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 ''
    email = req['email'] if 'email' in req else ''

    has_in = Community.query.filter(Community.name == community_name).first()
    if has_in:
        resp['code'] = -1
        resp['msg'] = "该社区名已存在,请换一个试试~~"
        return jsonify(resp)

    model_community = Community()
    model_community.platform_id = g.current_user.platform_id
    model_community.platform_name = g.current_user.platform_name
    model_community.name = community_name
    model_community.province = province
    model_community.city = city
    model_community.description = description
    model_community.pickups = pickups

    db.session.add(model_community)
    db.session.commit()

    community = Community.query.filter_by(
        platform_id=g.current_user.platform_id, name=community_name).first()

    model_user = User()
    model_user.platform_id = community.platform_id
    model_user.platform_name = community.platform_name
    model_user.community_id = community.id
    model_user.community_name = community.name
    model_user.email = email
    model_user.benefit = 0.00
    model_user.created_time = getCurrentDate()
    model_user.login_salt = UserService.geneSalt()
    model_user.nickname = name
    model_user.mobile = mobile
    model_user.login_name = login_name
    model_user.login_pwd = UserService.genePwd(login_pwd,
                                               model_user.login_salt)
    model_user.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()

    member = Member.query.filter_by(id=member_id).first()
    ApplicationService.changeCommunity(member.platform_id, member_id,
                                       community.id, community.name)

    application = Application.query.filter_by(id=id).first()
    application.status = 1
    db.session.add(application)
    db.session.commit()

    return jsonify(resp)
Exemple #25
0
def create_user(body):  # noqa: E501
    """Create user

    This can only be done by the logged in user. # noqa: E501

    :param body: Created user object
    :type body:

    :rtype: object
    """
    logging.warning(body)
    password = body.get('password').encode('utf-8')
    salt = bcrypt.gensalt()
    password_hash = bcrypt.hashpw(password, salt).decode('utf-8')

    email_lower = body.get("email").lower()
    username = body.get("username")

    existing_user = User.query.filter_by(email_lower=email_lower).one_or_none()
    if existing_user:
        return "User already exists", 400

    if username:
        existing_username = User.query.filter_by(
            username=username).one_or_none()
        if existing_username:
            return "Username already exists", 400

    new_user = User()
    new_user.email = body.get("email")
    new_user.email_lower = email_lower
    if username:
        new_user.username = username
    new_user.native_language = body.get('nativeLanguage') or 'GB'
    new_user.language_i_want_to_learn = body.get('languageIWantToLearn')
    new_user.has_studied_foreign_language = body.get(
        'hasStudiedForeignLanguage')
    new_user.password_hash = password_hash
    db.session.add(new_user)
    # here we says that db.session.add(new_user) is a pending transaction. This will allow us to get its id
    db.session.flush()

    for language_studied in body.get('languageHistory'):
        lh = LanguageHistory(user_id=new_user.id)
        lh.language = language_studied.get('language')
        lh.years_of_study = language_studied.get('yearsOfStudy')
        lh.proficiency_level = language_studied.get('proficiencyLevel')
        db.session.add(lh)

    db.session.commit()

    user_schema = UserSchema()
    access_token = create_access_token(identity=email_lower)

    response = {
        'success': True,
        'message': 'User created successfully',
        'accessToken': access_token,
        'currentUser': user_schema.dump(new_user)
    }
    return response, 200
Exemple #26
0
def set():
    default_pwd = '******'
    # 展示账户详情
    if request.method == 'GET':
        resp_data = {}
        req = request.args
        uid = int(req.get('id',0))
        user_info = None
        if uid :
            user_info = User.query.filter_by(uid=uid).first()
        resp_data['user_info'] = user_info
        return ops_render( "account/set.html",resp_data )
    
    # 新建账户
    req = request.values
    resp = {'code':200,'msg':'操作成功','data':{}}

    id = req['id'] if 'id' in req else ''
    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(login_pwd) < 1:
        resp['code'] = -1
        resp['msg'] = '请输入符合规范的登录密码~~'
        return jsonify(resp)
    # 如果新增用户,只需判断新增的用户名和数据库用户名是否相等即可
    # 如果是修改用户,需要判断除当前用户外还有没有相同的用户名
    # filter方法可以传入多个参数进行判断
    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.login_salt = UserService.geneSalt()
        model_user.created_time = getCurrentDate()

    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email
    model_user.login_name = login_name
    model_user.update_time = getCurrentDate()
    if login_pwd != default_pwd:
        model_user.login_pwd = UserService.genePwd(login_pwd,model_user.login_salt)
    # else:
    #     model_user.login_pwd = UserService.genePwd(default_pwd,model_user.login_salt)
        

    db.session.add(model_user)
    db.session.commit()

    return jsonify(resp)
Exemple #27
0
def set():
    default_pwd = "*****"
    if request.method == "GET":
        resp_data = {}
        req = request.args
        uid = int(req.get("id", 0))
        user_info = None
        if uid:
            user_info = User.query.filter_by(uid=uid).first()

        if user_info.nickname == app.config['SUPER_ADMIN']:
            return redirect(UrlManager.buildUrl('/account/index'))

        resp_data['user_info'] = user_info
        resp_data['current'] = 'user'
        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) < 11:
        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(login_pwd) < 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.login_salt = UserService.geneSalt()
        model_user.created_time = getCurrentDate()

    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.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()

    return jsonify(resp)
Exemple #28
0
def set():
    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)
    # POST  更新数据库
    resp = {'code': 200, 'msg': "操作成功", 'data': {}}
    # ajax 发送的数据
    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(login_pwd) < 6:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的密码"
        return jsonify(resp)

    is_exsits = User.query.filter(User.login_name == login_name,
                                  User.uid != id).first()
    if is_exsits:
        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.generateSalt()

    model_user.nickname = nickname
    model_user.mobile = mobile
    model_user.email = email

    model_user.uid = 4
    model_user.avatar = 1
    model_user.login_name = login_name
    if user_info and user_info.uid == 1:
        resp['code'] = -1
        resp['msg'] = "该用户为Dws,不允许修改"
        return jsonify(resp)
    model_user.login_pwd = UserService.generatePwd(login_pwd,
                                                   model_user.login_salt)
    model_user.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()
    return jsonify(resp)
Exemple #29
0
def author():
    if request.method == "GET":
        resp_data = {}
        if request.headers.getlist("X-Forwarded-For"):
            ip = request.headers.getlist("X-Forwarded-For")[0]
        else:
            ip = request.remote_addr
        req = request.values
        page = int(req['p']) if ('p' in req and req['p']) else 1
        offset = (page - 1) * 20
        author = str(req.get('author', ''))

        userinfo = User.query.filter_by(login_name=author).first()
        if userinfo:
            author = userinfo.nickname

        list = Wenzhang.query.filter_by(name=author).order_by(
            Wenzhang.articleid.desc()).offset(offset).limit(20).all()

        query = Biaoqian.query
        biaoqianlist = query.order_by(Biaoqian.biaoqianID.desc())
        query = Heji.query
        hejilist = query.filter_by(name=author).order_by(Heji.hejiID.desc())

        # 按热度顺序推最高的十个
        tuijianlist = Wenzhang.query.filter_by(name=author).order_by(
            Wenzhang.hits.desc()).limit(10).all()
        resp_data['page'] = page
        resp_data['list'] = list
        resp_data['hejilist'] = hejilist
        resp_data['biaoqianlist'] = biaoqianlist
        resp_data['tuijianlist'] = tuijianlist
        resp_data['current'] = 'index'

        # 修改浏览数
        blog_log_info = Log.query.first()
        if blog_log_info:
            model_log_info = blog_log_info

            model_log_info.updated_time = getFormatDate()
            model_log_info.hits = int(blog_log_info.hits) + 1

        else:
            model_log_info = Log()
            model_log_info.hits = 1

            model_log_info.updated_time = getFormatDate()
        resp_data['model_log_info'] = model_log_info
        db.session.add(model_log_info)
        db.session.commit()

        r = denglulog(ip, author + "首页")
        g.current_user = check_login()

        return ops_render("blog/info.html", resp_data)

    resp = {'code': 200, 'msg': '操作成功~', 'data': {}}
    info = check_login()
    req = request.values
    id = int(req['id']) if 'id' in req and req['id'] else 0
    name = req['name'] if 'name' in req else ''

    main_image = "/upload/" + str(
        req['main_image']) if 'main_image' in req else ''
    jianjie = req['jianjie'] if 'jianjie' in req else ''

    user_info = User.query.filter_by(uid=id).first()
    if user_info:
        model_user_info = user_info
    else:
        model_user_info = User()
    model_user_info.headportraitadress = main_image

    model_user_info.jianjie = jianjie
    model_user_info.updated_time = getFormatDate()
    db.session.add(model_user_info)
    db.session.commit()

    return jsonify(resp)
Exemple #30
0
def set():
    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 None
    mobile = req['mobile'] if 'mobile' in req else None
    email = req['email'] if 'email' in req else None
    login_name = req['login_name'] if 'login_name' in req else None
    login_pwd = req['login_pwd'] if 'login_pwd' in req else None

    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'] = "请输入符合规范的email"
        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(login_pwd) < 6:
        resp['code'] = -1
        resp['msg'] = "请输入符合规范的登陆密码"
        return jsonify(resp)
    # 新增的时候判断是否存在相同用户,编辑的时候用户名本身已经存在,所以 不等于id的还有没有和它一样的
    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.updated_time = getCurrentDate()

    db.session.add(model_user)
    db.session.commit()

    return jsonify(resp)