def route_logout(req: Request, res: Response): res.cookies.set('session_id', '; max-age=0') res.json({ 'code': 0, 'msg': '登出成功', 'data': {}, })
def update(req: Request, res: Response): form = req.body todo_id = form['id'] t = Todo.find_by(id=todo_id) u = current_user(req) if t is None: return res.json({ 'code': 400, 'msg': 'todo {} 不存在'.format(todo_id), }) # todo 项的 id 与当前用户的 id 一样(有权限更新) # 才能编辑 if (u is None and t.user_id > 0) or u.id != t.user_id: res.json({ 'code': 401, 'msg': 'Unauthorized', }) else: form.pop('id') new_t = Todo.update(todo_id, form) log(form) res.json({ 'code': 0, 'msg': '', 'data': new_t.json(), })
def delete(req: Request, res: Response): todo_id = req.body['id'] Todo.delete(todo_id) res.json({ 'code': 0, 'msg': '删除成功', })
def add(req: Request, res: Response): """ 用于增加新 todo 的路由函数 """ u = current_user(req) if u is None: return res.json({ 'code': 401, 'msg': 'Unauthorized', }) form = req.body t = Todo.add(form, u.id) res.json({ 'code': 0, 'msg': '添加 todo 成功', 'data': t.json(), })
def index(req: Request, res: Response): """ todo 首页的路由函数 """ try: user_id = int(req.query['userId']) except: return res.json({ 'code': 400, 'msg': '参数错误', }) todos = Todo.find_all(user_id=user_id) res.json({ 'code': 0, 'msg': '', 'data': [t.json() for t in todos], })
def route_passport_status(req: Request, res: Response): """ 登录页面的路由函数 """ user_current = current_user(req) if user_current: res.json({ 'code': 0, 'msg': 'success', 'data': { 'username': user_current.username, 'id': user_current.id, }, }) else: res.json({ 'code': 401, 'msg': 'Unauthorized', 'data': {}, })
def route_register(req: Request, res: Response): if 'username' in req.body and 'password' in req.body: u, result = User.register( dict( username=req.body['username'], password=req.body['password'], )) if u is None: res.json({ 'code': 400, 'msg': result, 'data': {}, }) else: res.json({ 'code': 0, 'msg': '注册成功', 'data': { 'username': u.username, 'id': u.id, } }) else: res.json({ 'code': 400, 'msg': '缺乏参数 username 或 password', 'data': {}, })
def route_login(req: Request, res: Response): if 'username' in req.body and 'password' in req.body: u = User.login( dict( username=req.body['username'], password=req.body['password'], )) if u is None: res.json({ 'code': 400, 'msg': '用户名或密码错误', 'data': {}, }) else: # 下面是把用户名存入 cookie 中 # headers['Set-Cookie'] = 'user={}'.format(u.username) session_id = random_string() form = dict( session_id=session_id, user_id=u.id, ) Session.new(form) res.cookies.set('session_id', session_id) res.json({ 'code': 0, 'msg': '登录成功', 'data': { 'username': u.username, 'id': u.id, } }) else: res.json({ 'code': 400, 'msg': '缺乏参数 username 或 password', 'data': {}, })