Example #1
0
    def post(self):

        parse = reqparse.RequestParser()
        parse.add_argument('mobile',
                           location='json',
                           required=True,
                           type=check_mobile)
        parse.add_argument('smscode', location='json', required=True)
        parse.add_argument('password', location='json', required=True)

        args = parse.parse_args()

        mobile = args.get('mobile')
        smscode = args.get('smscode')
        password = args.get('password')

        try:
            server_smscode = current_app.redis_store.get('sms_%s' % mobile)
        except Exception as e:
            current_app.logger.error(e)
            return jsonify(errno=RET.DBERR, errmsg="获取本地验证码失败")

        if not server_smscode:
            # 短信验证码过期
            return jsonify(errno=RET.NODATA, errmsg="短信验证码过期")

        if smscode != server_smscode.decode():
            return jsonify(errno=RET.DATAERR, errmsg="短信验证码错误")

        try:
            current_app.redis_store.delete('sms_%s' % mobile)
        except Exception as e:
            current_app.logger.error(e)

        user = User()
        user.nick_name = mobile
        user.mobile = mobile
        user.password = password

        try:
            db.session.add(user)
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            current_app.logger.error(e)
            return jsonify(errno=RET.DATAERR, errmsg="数据保存错误")

        # 状态保持
        session["user_id"] = user.id
        session["nick_name"] = user.nick_name
        session["mobile"] = user.mobile

        return jsonify(errno=RET.OK, errmsg="OK")
Example #2
0
def createsuperuser(name, password):
    """创建管理员用户"""
    if not all([name, password]):
        print('参数不足')
        return

    user = User()
    user.mobile = name
    user.nick_name = name
    user.password = password
    user.is_admin = True

    try:
        db.session.add(user)
        db.session.commit()
        print("创建成功")
    except Exception as e:
        print(e)
        db.session.rollback()