예제 #1
0
 def add(self, username='', work_id=''):
     if username:
         user = User(username=username, user_type='NORMAL', work_id=work_id)
         db.session.add(user)
         db.session.commit()
         return user
     return None
예제 #2
0
    def post(self):
        json_data = request.get_json()
        if not json_data:
            print('No data in this post. aborting')
            abort(400)

        username = json_data['username']
        age = int(json_data['age'])
        birthday = datetime.strptime(json_data['birthday'], "%Y-%m-%d")

        if not username or not age or not birthday:
            print("API-Create-post: Username or age or birthday missing")
            abort(400)
        if User.query_single_by_username(username):
            print("API-Create-post: Username already exists")
            abort(500)

        user = User(
            username=username,
            age=age,
            birthday=birthday
        )
        print(user)
        user.put()
        return user.to_json()
예제 #3
0
def register():
    form = RegisterForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User()
        user.set_attrs(form.data)
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('web.login'))
    else:
        return render_template('auth/register.html', form=form)
예제 #4
0
def login():
    content = request.get_json()
    code = str(content['code'])
    sessionKey, openid = getUserInfo(code)
    res = User.query.filter_by(openid=openid).first()
    # 如果没有查询到用户id,则注册一个新的用户
    if res is None:
        u = User(openid=openid,
                 session_key=sessionKey,
                 token="",
                 expiration_time=utils.getSecondTime() + TOKEN_TIMEOUT)
        db.session.add(u)
        db.session.commit()

    # 为用户生成token
    token = utils.calculateHashCodeForString(openid +
                                             str(utils.getMilliTime()))
    res = User.query.filter_by(openid=openid).first()
    if res is not None:
        res.token = token
        res.expiration_time = utils.getSecondTime() + TOKEN_TIMEOUT
        db.session.commit()

    return jsonify(token=token)