1. uuid

  1. import uuid from 'uuid/v4' // npm i -S uuid
  2. mounted () {
  3. let sid = ''
  4. if (localStorage.getItem('sid')) {
  5. sid = localStorage.getItem('sid')
  6. } else {
  7. sid = uuid()
  8. localStorage.setItem('sid', sid)
  9. }
  10. this.$store.commit('setSid', sid) // 存储到store,方便其他地方使用
  11. },

2. bcrypt: 数据加密

  1. import bcrypt from 'bcrypt'
  2. // 数据加密
  3. await bcrypt.hash(body.password, 5)
  4. // 密码比对
  5. await bcrypt.compare(body.password, user.password)

3. moment: 时间格式化

  1. import moment from 'moment'
  2. import 'moment/locale/zh-cn' // 引用中文的时候引用此库
  3. moment().format*('YYYY-MM-DD HH:mm:ss') // 格式化日期
  4. moment(date).isBefore(moment().subtract(7, 'days')) // 超过7天

4. dayjs:代替moment,比moment更小

5. jsonwebtoken: 跨域认证解决方案(jwt)

  1. import jwt from 'jsonwebtoken'
  2. import moment from 'dayjs'
  3. const payload = jwt.decode(token)
  4. // 当前时间在过期时间之前
  5. if (moment().isBefore(moment(payload.exp * 1000))) {
  6. store.commit('setToken', token)
  7. store.commit('setUserInfo', userInfo)
  8. store.commit('setIsLogin', true)
  9. } else {
  10. localStorage.clear()
  11. }