def login(): form = LoginForm().validate() openid = get_openid(form.code.data) if openid is None: raise NotFound('找不到openid') member_client = MemberClient.query.filter_by(openid=openid, client_type=1).first() if not member_client: with db.auto_commit(): member = Member() member.nickname = form.nickName.data member.sex = form.gender.data member.avatar = form.avatarUrl.data db.session.add(member) with db.auto_commit(): member_client = MemberClient() member_client.member_id = member.id member_client.client_type = 1 member_client.openid = openid db.session.add(member_client) else: member = member_client.member scope = 'UserScope' if member.auth == 1 and member.status == 1 else 'AdminScope' token = gene_token(id=member.id, scope=scope) return jsonify({'token': token})
def save_to_db(self): if self.id.data: member = Member.query.get(int(self.id.data)) else: member = Member() member.name = self.name.data member.display_name = self.display_name.data member.bio = self.bio.data member.email = self.email.data member.facebook = self.facebook.data member.phone = self.phone.data if self.member_avatar.data: member.avatar = upload(self.member_avatar.data) db.session.add(member) db.session.commit()