def changeNickname(request): _user = request.user nickname = request.POST.get("nickname", None) if not nickname: return Jsonify({ "status": False, "error": "1101", "error_message": "信息不足, 请重新输入。" }) userList = User.objects.filter(nickname=nickname) if userList: return Jsonify({ "status": False, "error": "1108", "error_message": "昵称已被注册, 请重新输入。" }) user = User.objects.filter(uid=_user['uid']) if user: user = user[0] user.nickname = nickname user.save() return Jsonify({ "status": True, "error": "", "error_message": "", "addresslist": dictPolish(model_to_dict(user)) }) else: return Jsonify({ "status": False, "error": "1113", "error_message": "用户不存在。" })
def changePassword(request): # _user = request.user password = request.POST.get("password", None) phone = request.POST.get("phone", None) code = request.POST.get("code", None) if not password or not phone or not code: return Jsonify({ "status": False, "error": "1101", "error_message": "信息不足, 请重新输入。" }) _user = User.objects.filter(phone=phone) if _user: _user = _user[0] user = model_to_dict(_user) mobsms = MobSMS('148f6c0a15c12') status = mobsms.verify_sms_code(86, phone, code) logger.debug(status) logger.debug(type(status)) if status == 200: salt = Salt() timestamp = str(int(math.floor(time.time()))) _hash = salt.hash( salt.md5(password) + "|" + user['username'] + "|" + timestamp) password = salt.md5(_hash + salt.md5(password)) _user.password = password _user.salt = _hash _user.save() return Jsonify({"status": True, "error": "", "error_message": ""}) else: return Jsonify({ "status": False, "error": "1119", "error_message": "验证码验证失败。" }) else: return Jsonify({ "status": False, "error": "1113", "error_message": "用户不存在。" }) # if password == _user.password: # return Jsonify({"status":False, "error":"1112", "error_message":"密码未改变, 请重新输入。"}) #重新生成password和salt存入数据库, 并将新的session发给客户端。 # salt = Salt() # timestamp = str(int(math.floor(time.time()))) # _hash = salt.hash(salt.md5(user['password']) + "|" + user['username'] + "|" + timestamp) # password = salt.md5(_hash+salt.md5(user['password'])) # _user.password = password # _user.salt = _hash # _user.save() # user = model_to_dict(_user) # user["session"] = updateSession(user) return Jsonify({ "status": True, "error": "", "error_message": "", "user": dictPolish(user) })
def getPackageList(self): currentPackage = self.headPackage resultList = [] while currentPackage: current_dict = dictPolish(model_to_dict(currentPackage)) resultList.append(current_dict) currentPackage = currentPackage.nextPackage return resultList
def toDict(self): _order = model_to_dict(self) if self.courier: _order['courier_id'] = self.courier.employee.id _order['courier_name'] = self.courier.employee.name else: _order['courier_id'] = "" _order['courier_name'] = "" return dictPolish(_order)
def loginByPhone(request): """ login by phone, return dynamic session. """ phone = request.POST.get('phone', None) user_password = request.POST.get('password', None) if not (phone and user_password): return Jsonify({ "status": False, "error": "1101", "error_message": "信息不足, 请输入手机号和密码" }) user = User.objects.filter(phone=phone) salt = Salt() if not user: return Jsonify({ "status": False, "error": "1107", "error_message": "手机号未注册, 请首先注册。" }) user = model_to_dict(user[0]) if user['password'] == salt.md5(user['salt'] + salt.md5(user_password)): user['session'] = updateSession(user) #some info is not allowed to be known by clients del user['salt'] del user['password'] del user['register'] del user['loginIp'] del user['lastLogin'] return Jsonify({ "status": True, "error": "", "error_message": "", "user": dictPolish(user) }) else: return Jsonify({ "status": False, "error": "1106", "error_message": "密码有误, 请重新输入" })
except Exception, e: logger.error("upload error") logger.error(e) return Jsonify({ "status": False, "error": "1109", "error_message": "图片上传失败, 使用默认图片。" }) del (user['registerTime']) del (user['loginIp']) del (user['password']) return Jsonify({ "status": True, "error": "", "error_message": "", "user": dictPolish(user) }) def sendCode(request): """ Generate and save code, send by message to user. This code can never be sent or saved by client. """ phone = request.GET.get("phone", None) code = request.GET.get("code", None) if not phone or not code: return Jsonify({ "status": False, "error": "1101", "error_message": "输入信息不足。"
def toDict(self): result = model_to_dict(self.headPackage) result["vid"] = self.vid result["end_date"] = result["start_date"] + timedelta(result["days"]) return dictPolish(result)