项目问题

来源:14-1 课程总结

啁啾良

2022-04-22

  1. 删除文章的 author 已经对应上 用户的 _id 删除文章传的时候也是对应传的文章 _id 还是报500错误 icode已经在param跟form中都添加了 接口报 500错误 错误提示为Internal Server Error ,传递的参数 http://apis.imooc.com/api/posts/626178cbb558154f0392fd47?icode=784D21A26AE995BC icode: 784D21A26AE995BC
    {icode: “784D21A26AE995BC”}
    icode: “784D21A26AE995BC” param 跟form 都有

2。上传图片 图片大小84k idcode 也都加了 const Icode = '784D21A26AE995BC’
axios.interceptors.request.use(config => {
config.params = { …config.params, icode: Icode }
if (config.method === ‘post’) {
config.data = { …config.data, icode: Icode }
} else if (config.method === ‘delete’) {
config.data = { …config.data, icode: Icode }
} else if (config.method === ‘patch’) {
config.data = { …config.data, icode: Icode }
}
store.commit(‘setLoading’, true)
store.commit(‘setError’, { status: false, message: ‘’ })
return config
})
也是报500错误

3.创建文章之后并不能在专题栏中看到,说明没有实际添加到数据中,但是接口创建文章时候200 数据也是返回正常

写回答

3回答

张轩

2022-04-22

同学你好

课程接口都是调试过 正常可以使用的 http://api.vikingship.xyz/public/swagger/index.html

请把你的代码库(git)提供给我吧,我在本地帮你调试一下,帮你解决一下这几个问题

1
4
啁啾良
好了么老师
2022-04-22
共4条回复

啁啾良

提问者

2022-04-23

老师不好意思再问一下,这两个代码有什么区别
6262db1500018c2009220247.jpg 老师在问下 那个 创建文章时候要填写的 column 字段 是从哪里来的 这是我请求的数据 curl -X GET "http://api.vikingship.xyz/api/user/current" -H "accept: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7Il9pZCI6IjYyNjJkZWFkZmMwZjkzMDk5N2IwM2FiOCIsImVtYWlsIjoiMTExMXFxcUBxcS5jb20iLCJuaWNrTmFtZSI6IjEyMyIsInBhc3N3b3JkIjoiJDJhJDEwJGRsNEpOdlhwWHBiYnVSLk1wdTRHck8yaFhYOVp2VUFaUWJkOGFFejRNNkU1akpjc2JWQlF1Iiwicm9sZSI6eyJfaWQiOiI1ZTYwNjk4YmRiNjBmNjRiNTdlMzYxMzMiLCJuYW1lIjoibm9ybWFsVXNlciIsIl9fdiI6MCwiY3JlYXRlZEF0IjoiMjAyMC0wMy0wNVQwMjo1Mjo1OS44MDhaIiwiYWNjZXNzIjoidXNlciJ9LCJfX3YiOjAsImNyZWF0ZWRBdCI6IjIwMjItMDQtMjJUMTY6NTg6MjEuMDY2WiJ9LCJleHAiOjE2NTEyNTE1NTAsImlhdCI6MTY1MDY0Njc1MH0.xaJ3ycAzRRsRHAJK8iYURFQNg0QfJdVfUtZ4BZQP9io"     获取的用户数据中并没有column

{
  "code": 0,
  "data": {
    "_id": "6262deadfc0f930997b03ab8",
    "email": "1111qqq@qq.com",
    "nickName": "123"
  },
  "msg": "请求成功"}


0
0

张轩

2022-04-22

同学你好

你新问的问题:为什么没法持久话登陆状态,是因为你在 GlobalHeader直接删除了这个状态

GlobalHeader.vue 45 行

const exitLogin = store1.commit('logout')
你这里应该是点击以后调用对应的方法,不是直接调用。。。

// 比如
const handleLogout = () => {
    store.commit('logout')
}
然后模版:<dropdown-item>
<a href="#" class="dropdown-item" @click="handleLogout">退出登陆</a>
</dropdown-item>
// 还有为什么 store中 isLogin 一开始你设置为 true? 我没搞懂你的逻辑
user: { isLogin: false }

第一个问题 第二个问题:请直接使用 7-5 的代码axios 拦截器的代码,你那样写不正确,那样会造成发送 POST 请求的时候,不会使用 Formdata 的数据而直接转换成了普通的 object。你可以看一下你现在上传以后的请求,Payload 中不是Formdata 类型的数据。main.ts 修改为

config.params = { ...config.params, icode: Icode }
if (config.data instanceof FormData) {
    config.data.append('icode', Icode)
} else {
    // 普通的 body 对象,添加到 data 中
    config.data = { ...config.data, icode: Icode }
}

亲测已经上传成功,如图,特别注意payload 中的数据类型

//img.mukewang.com/szimg/6262592b09fe4fec16641452.jpg

第一个问题也是一样,你搞混乱了 delete 的数据。修改以后就可用了。

第三个问题,你在 store 中写错了,直接将返回的所有数据保存到了 store 中,而不是对应的新的 post 数据。

createPost (state, newPost) {
    state.posts.data[newPost._id] = newPost
},

应该为
createPost(state, { data }) {
    state.posts.data[data._id] = data
},


同学提个建议:我觉得你是clone 了所有代码,然后在上面修改这种方式来学习的,这样很容易出现各种问题,建议你跟着课程一点点的编码,这样要好很多,出现问题也知道从哪里下手。

0
5
啁啾良
回复
张轩
curl -X GET "http://api.vikingship.xyz/api/user/current" -H "accept: application/json" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7Il9pZCI6IjYyNjJkZWFkZmMwZjkzMDk5N2IwM2FiOCIsImVtYWlsIjoiMTExMXFxcUBxcS5jb20iLCJuaWNrTmFtZSI6IjEyMyIsInBhc3N3b3JkIjoiJDJhJDEwJGRsNEpOdlhwWHBiYnVSLk1wdTRHck8yaFhYOVp2VUFaUWJkOGFFejRNNkU1akpjc2JWQlF1Iiwicm9sZSI6eyJfaWQiOiI1ZTYwNjk4YmRiNjBmNjRiNTdlMzYxMzMiLCJuYW1lIjoibm9ybWFsVXNlciIsIl9fdiI6MCwiY3JlYXRlZEF0IjoiMjAyMC0wMy0wNVQwMjo1Mjo1OS44MDhaIiwiYWNjZXNzIjoidXNlciJ9LCJfX3YiOjAsImNyZWF0ZWRBdCI6IjIwMjItMDQtMjJUMTY6NTg6MjEuMDY2WiJ9LCJleHAiOjE2NTEyNTE1NTAsImlhdCI6MTY1MDY0Njc1MH0.xaJ3ycAzRRsRHAJK8iYURFQNg0QfJdVfUtZ4BZQP9io" { "code": 0, "data": { "_id": "6262deadfc0f930997b03ab8", "email": "1111qqq@qq.com", "nickName": "123" }, "msg": "请求成功" }
2022-04-23
共5条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程