上节课我们讲了图片上传,今天我们来讲打卡。
需求
用户填写文字内容,上传图片,发送后首页列表可以展示出来。
功能流程
上传图片后前端获得图片地址,再把用户输入的文字内容 content 和 image 发到后端,后端插入记录到 card 表。
代码
routes/index.js
1
2
3
4
|
//打卡
router.post('/card',auth, async (ctx, next) => {
return indexApi.addCard(ctx)
})
|
api/index.js
1
2
3
4
5
6
7
8
|
const addCard = async(ctx) => {
const userId = ctx.state.userId
const content =ctx.request.body.content
const image = ctx.request.body.image
await cardModel.addCard(userId,content,image)
ctx.body = resp.succeed()
return
}
|
model/cardmodel.js
1
2
3
4
5
|
const addCard = async(userId,content,image)=>{
let sql = "insert into `card` (user_id,content,image)values(?,?,?) "
const insertData = await mysql.exec(sql,[userId,content,image])
return insertData.insertId
}
|
运行
1
2
3
4
5
6
|
POST http://localhost:3000/card
{
"content":"test",
"image":"https://cdn.guojiang.club/Fo6qftIGMQq8uM7ANRdWs9Kskow5"
}
|
总结
打卡功能就讲完了,你掌握了吗?有问题欢迎到群里和志同道合的小伙伴一起交流。
下节课我们讲解点赞,继续加油吧,Let’s go!