老师,这样写可以吗

老师,这样写可以吗

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//index.js
 
const router = require('koa-router')()
const { User } = require('./db/model')
const loginCheck = require('./utils/loginCheck')
router.get('/login', loginCheck, async (ctx, next) => {
  const { username, password } = ctx.query
  const user = await User.findOne({
    username,
    password,
  })
  if (user != null && user.password) {
    ctx.session.userInfo = user
    ctx.body = {
      errno: 0,
      data: user,
    }
    return
  }
  ctx.body = {
    errno: -1,
    message: '用户名或密码错误',
  }
})
router.post('/register', async (ctx, next) => {
  ctx.request.body = {
    username: 'zhangsan',
    password: 'abc',
  }
  const { username, password } = ctx.request.body
  User.create({
    username,
    password,
  })
 
  const userList = User.find({
    username,
    password,
  })
  if (!userList != null) {
    ctx.body = {
      errno: 0,
      data: '注册成功',
    }
  }
})


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,代码是可以的。如果更贴近实际的话,可以在注册路由中加上判断是否用户已存在,如果存在提示‘已有用户’,不存在则注册,会更好一些。

祝学习愉快!

  • 闪电打雷躲树下 提问者 #1
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    //index.js
     
    const router = require('koa-router')()
    const { User } = require('./db/model')
    const loginCheck = require('./utils/loginCheck')
    router.get('/login', loginCheck, async (ctx, next) => {
      const { username, password } = ctx.query
      const user = await User.findOne({
        username,
        password,
      })
      if (user != null && user.password) {
        ctx.session.userInfo = user
        ctx.body = {
          errno: 0,
          data: user,
        }
        return
      }
      ctx.body = {
        errno: -1,
        message: '用户名或密码错误',
      }
    })
    router.post('/register', async (ctx, next) => {
      ctx.request.body = {
        username: 'zhangsan',
        password: 'abc',
      }
      const { username, password } = ctx.request.body
      //判断已有用户
      if (User.find(username)) {
        ctx.body = '用户已经存在'
      }
      User.create({
        username,
        password,
      })
     
      const userList = User.find({
        username,
        password,
      })
     
      if (userList != null) {
        ctx.body = {
          errno: 0,
          data: '注册成功',
        }
      }
    })

    老师是这样吗

    2022-11-11 11:00:00
  • if判断中还需要加上return;阻断下面代码创建

    https://img1.sycdn.imooc.com//climg/636dc7240934d46905790159.jpg

    2022-11-11 11:53:10
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码