- 密码进行md5加密传输
cnpm install --save js-md5
import md5 from 'js-md5'
md5(this.password)
- 优雅的处理async和await
cnpm install await-to-js --save
main.js:将方法挂载全局,也可在封装请求的时候统一做to的处理
import Vue from 'vue'
import to from 'await-to-js'
Vue.prototype.$to = to
使用:
注意:
1.判断错误信息执行操作后一定要return,不然后续操作会顺序执行
2.不要用解构的形式直接获取响应的某个字段,因为如果请求失败,res就是undefined,直接就会报错
也可以使用res接收返回的数据进行判断处理,不过多描述,详见https://blog.grossman.io/how-to-write-async-await-without-try-catch-blocks-in-javascript/
async handleLogin() {
if (this.loginForm.username !== '' && this.loginForm.password !== '') {
this.loading = true
let password = md5(this.loginForm.password)
const [err, res] = await this.$to(this.login({ account: this.loginForm.username, password }))
if (err) {
this.loading = false
return
}
this.$router.push({ name: 'home' })
} else {
this.$message.error('请输入用户名密码!')
}
}
- 图片预览插件:v-viewer
https://github.com/mirari/v-viewer
- 滚动条:vuescroll
https://vuescrolljs.yvescoding.org/zh/guide/#%E4%BB%8B%E7%BB%8D
- 拖拽组件插件:vuedraggable