def post(self): try: password = self.get_argument('password') confirm_password = self.get_argument('confirm_password') verify_code = self.get_argument('verify_code') telephone = self.get_argument('telephone') except MissingArgumentError: return self.error(MISSING_PARAMS) change_time = datetime.now() if password != confirm_password: return self.error(ENTERED_PASSWORD_DIFFER) if str(verify_code) != Verify.get_verify_code(RESET_PASSWORD_VERIFY_CODE_TYPE, telephone): return self.error(MISMATCHED_VERIFY_CODE) user = User.get_user_by_telephone(telephone) if not user: return self.error(TELEPHONE_NOT_REGISTER) password = encrypt_password(password) user.update(password=password, update_time=change_time) user_auth = UserAuth.get_by_user_id(user.id) user_auth.clear_access_token() notify_change_password.delay(user.id, change_time) return self.render({ 'status': 0, })
def post(self, *args, **kwargs): try: telephone = self.get_argument('telephone') password = self.get_argument('password') except MissingArgumentError: return self.error(MISSING_PARAMS) if not verify_telephone(telephone): return self.error(PHONE_NOT_RIGHT) password = encrypt_password(password) user = User.get_user_by_telephone(telephone) if not user: return self.error(TELEPHONE_NOT_REGISTER) if password != user.password: return self.error(MISMATCHED_PASSWORD) try: access_token = gen_access_token(user.id) UserAuth.update_access_token(user.id, access_token) rst = { 'status': 0, 'data': { 'user': user.jsonify(), 'access_token': access_token, }, } return self.render(rst) except Exception as e: logger.error(u'用户登录失败。telephone:[%s], Error:[%s]' % (telephone, e)) return self.error(SYSTEM_ERROR)