def POST(self): data = web.input( sid="", name="", birthday="", phone="", sex="", message="" ) if not data.sid: return json.dumps({'err': '请输入学号!'}) if not data.name: return json.dumps({'err': '请输入姓名!'}) person = User.getBy(studentId=data.sid, studentName=data.name) if person: print("Already Registerd!") """ TODO : 给出过渡页面,提示用户已经注册 """ return json.dumps({'success': '已经注册, 请直接登录', 'action': 'signin'}) else: # 未注册 student = Student.getBy(studentId=data.sid, studentName=data.name) if student == None: # 学号&姓名无效 # self.page.errinfo = "学生身份验证出错,请输入正确的学生信息." # print self.page.errinfo # return render.order.signup(page = self.page) return json.dumps({'err': '学生身份验证出错,请输入正确的学生信息.'}) weixinId = "" if hasattr(self.session, 'weixinId'): weixinId = self.session.weixinId del self.session.weixinId User(dict( studentId=data.sid, studentName=data.name, sex=self.getSexId(data.sex), birthday=data.birthday, phone=data.phone, shortMessage=data.message, weixinId=weixinId, lastOrderTime="0000-00-00", addTime=web.SQLLiteral("NOW()"), isLock=False )).insert() self.session.name = data.name self.session.sid = data.sid self.session.phone = data.phone self.session.role = "student" self.session.logged = True return json.dumps({'success': '注册成功', 'action': 'info'})
def POST(self): data = web.input(req='', sid='', name='') if data.req == 'check': web.header('Content-Type', 'application/json') if data.sid == '': return "{}" try: if User.getBy(studentId=data.sid): # 是已注册的学生 return json.dumps({'valid': '2'}) else: if Student.getBy(studentId=data.sid): # 是学生,但尚未注册 return json.dumps({'valid': '1'}) else: return json.dumps({'valid': '0'}) except Exception as err: return json.dumps({}) elif data.req == 'submit': web.header('Content-Type', 'application/json') if data.sid == '': return json.dumps({'errinfo': "请输入您的学号"}) if data.name == '': return json.dumps({'errinfo': "请输入您的姓名"}) try: user = User.getBy(studentId=data.sid, studentName=data.name) if user == None: # 学生身份验证失败 return json.dumps({'errinfo': "您输入的学号和姓名不匹配,请检查后重试."}) else: self.session.name = user.studentName self.session.sid = user.studentId self.session.phone = user.phone self.session.role = "student" self.session.logged = True if hasattr(self.session, 'weixinId'): user.weixinId = self.session.weixinId user.update() del self.session.weixinId return json.dumps({'successinfo': '登陆成功,正在跳转'}) except Exception as err: return json.dumps({'errinfo': '出现错误: ' + err}) else: return web.Forbidden()
def checkMatch(self, sid, name): if sid == '': return -1 if name == '': return -2 try: student = Student.getBy(studentId=sid, studentName=name) if student: # 学生身份验证通过 Order.refresh_orders() user = User.getBy(studentId=sid, studentName=name) if user: # 已注册 if user.isLock: # 被锁定 return 2 else: # 有效 return 1 else: # 没有注册 return 3 else: return 0 # 验证出错 except Exception as err: print err return -3 # 系统出现错误