当前位置:   article > 正文

vue3 + uniapp 开发,请求,响应,路由守卫等信息,开发前必看_uniapp vue3 路由守卫

uniapp vue3 路由守卫

uni.request 先进行封装

  1. import baseUrl from './config.js'
  2. const request = {}
  3. const headers = {}
  4. request.globalRequest = (url, method, data, power) => {
  5. // 权限判断 因为有的接口请求头可能需要添加的参数不一样,所以这里做了区分
  6. // 1 == 不通过access_token校验的接口
  7. // 2 == 文件下载接口列表
  8. const token = uni.getStorageSync('token')
  9. switch (power) {
  10. case 1:
  11. // headers['Authorization'] = 'Basic a3N1ZGk6a3N1ZGk='
  12. break;
  13. default:
  14. headers['Authorization'] = 'Bearer ' + token
  15. break;
  16. }
  17. return uni.request({
  18. timeout:60000,
  19. url: baseUrl + url,
  20. method,
  21. data: data,
  22. dataType: 'json',
  23. header: headers
  24. }).then(res => {
  25. return res.data
  26. }).catch(parmas => {
  27. switch (parmas.code) {
  28. case 401:
  29. uni.clearStorageSync()
  30. break
  31. default:
  32. uni.showToast({
  33. title: parmas.message,
  34. icon: 'none'
  35. })
  36. return Promise.reject()
  37. break
  38. }
  39. })
  40. }
  41. export default request

config.js 

  1. let baseUrl = ""
  2. if (process.env.NODE_ENV === 'development') {
  3. baseUrl = '' // 开发环境
  4. } else {
  5. baseUrl = '' // 生产环境
  6. }
  7. export default baseUrl

路由用的

gowiny-uni-router  

用的还行,挺方便的

roter/index.js

  1. import { createRouter } from '@gowiny/uni-router'
  2. import PAGE_DATA from '@/pages.json';
  3. const router = createRouter({
  4. pageData:PAGE_DATA
  5. })
  6. router.beforeEach((to,from)=>{
  7. if(to.path !== '/pages/login/index' && !uni.getStorageSync('token')){
  8. return {
  9. to:{//需要跳转的新页面
  10. path:'/pages/login/index',
  11. },
  12. navType:'push'//跳转方式
  13. }
  14. }
  15. if(to.path == '/pages/login/index' && uni.getStorageSync('token')){
  16. return {
  17. to:{//需要跳转的新页面
  18. path:'/pages/index/index',
  19. },
  20. navType:'pushTab'//跳转方式
  21. }
  22. }
  23. })
  24. export default router

 gowiny-uni-router: uniapp 的 vue3版本的 路由守卫

这里是router 的链接地址

api.js

  1. import request from '@/util/request.js'
  2. const api = {}
  3. // 登录
  4. api.login = (data) => request.globalRequest(``, 'POST', data, 1)
  5. // GET请求方式
  6. api.close = (params) => request.globalRequest(``,'GET', {}, 1)
  7. api.list = () => request.globalRequest('','post')

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号