当前位置: 首页 > news >正文

vue3-vite-pinia模板

模板说明

下载

git clone https://github.com/AIxiaoHanBao/vue-template.git

module参数

node版本 16+

UI组件库 element-plus

持久化 pinia

网络请求 axios

路由 vue-router

使用说明

  1. 权限管理目录access
  2. 资源目录assets
  3. 组件目录components
  4. 页面目录pages
  5. 网络请求目录request
  6. 路由目录router
  7. 全局变量目录store

一、权限管理

accessEnum存放的是权限名的枚举

checkAccess是用于检验权限的

  • 重点说明checkAccess
import ACCESS_ENUM from "@/access/accessEnum";/*** 检查权限(判断当前登录用户是否具有某个权限)* @param loginUser 当前登录用户* @param needAccess 需要有的权限* @return boolean 有无权限*/
const checkAccess = (loginUser: any, needAccess = ACCESS_ENUM.NOT_LOGIN) => {// 获取当前登录用户具有的权限(如果没有 loginUser,则表示未登录)console.log("权限验证通过")return true;
};export default checkAccess;

自行设置条件

App.vue中自行修改

// 路由权限校验
router.beforeEach(async (to, from, next)=>{if (checkAccess(JSON.parse(localStorage?.getItem("token")??"")?.token??""),to.meta.needAccess){next()}
})

二、网络请求管理

需要修改的地方

request.ts中请求头设置

//http request 拦截器
axios.interceptors.request.use(config => {// 配置请求头// @ts-ignoreconfig.headers = {// 'Content-Type':'application/json;charset=UTF-8',"Authorization":localStorage.getItem("$_token")};return config;},error => {return Promise.reject(error);}
);

使用整合模板的请求示例代码userService.ts

import { request } from '../request.ts'
export class UserService{static async getUserInfo(id:number){return await request('/user/info',{id},"POST")}
}

三、路由管理

router/index.ts是存储主要所有路由的,想要自己添加路由在routes中自行添加

import {createRouter, createWebHashHistory } from 'vue-router'
import mainRouter from "./mainRouter.ts";const router = createRouter({// history: createWebHistory(process.env.BASE_URL),// history: createWebHashHistory(process.env.BASE_URL),history: createWebHashHistory(),routes: [...mainRouter]
})
export default router

模板路由创建mainRouter.ts

import {RouteRecordRaw} from "vue-router";
import Test1 from "../pages/Test1.vue";
import Test2 from "../pages/Test2.vue";
import ACCESS_ENUM from "../access/accessEnum.ts";const mainRouter: Array<RouteRecordRaw> = [{name: 'Test1',path: '/test1',component: Test1,meta: {needAccess: ACCESS_ENUM.NOT_LOGIN,}},{name: 'Test2',path: '/text2',component: Test2,meta: {needAccess: ACCESS_ENUM.NOT_LOGIN,}},
]
export default mainRouter

四、全局变量管理

UserStore.ts中的模板自行修改

http://www.lryc.cn/news/398693.html

相关文章:

  • 华为HCIP Datacom H12-821 卷38
  • C语言求10进制转2进制(除2取余法)
  • PHP 调用淘宝详情 API 接口的方法与实践
  • 风景区服务热线系统:智能化时代的旅游新选择
  • Linux修改配置文件后无法使用命令或无法进入桌面
  • 安卓14中Zygote初始化流程及源码分析
  • 等保一体机 | 什么是等保一体机?一台机器就能过等保吗?
  • 【活动预告】Apache IoTDB TsFile 智慧能源应用“上会”啦!
  • 【公益案例展】中国电信安全大模型——锻造安全行业能量转化的高性能引擎...
  • CV07_深度学习模块之间的缝合教学(2)--维度转换
  • Oracle字符集修改
  • k8s核心操作_k8s中的存储抽象_基本概念与NFS搭建_Deployment使用NFS进行挂载---分布式云原生部署架构搭建028
  • 数学建模·熵权法
  • 开放开源开先河(一)
  • 美团收银Android一面凉经(2024)
  • 触发器练习
  • Hadoop-25 Sqoop迁移 增量数据导入 CDC 变化数据捕获 差量同步数据 触发器 快照 日志
  • Facebook社交平台的未来发展趋势分析
  • 构建Memcached帝国:分布式部署策略与实践指南
  • Arcgis横向图例设置
  • 26.7 Django单表操作
  • Android --- Kotlin学习之路:自己写一个SDK给别的APP用(暴漏一个接口,提供学生的身高数据)
  • 租用海外服务器需要考虑哪些因素
  • php将png转为jpg,可设置压缩率
  • 华为HCIP Datacom H12-821 卷37
  • 某某会员小程序后端性能优化
  • Docker:基础概念、架构与网络模式详解
  • 全国大学生数据建模比赛c题——基于蔬菜类商品的自动定价与补货决策的研究分析
  • 【漏洞复现】飞企互联-FE企业运营管理平台 uploadAttachmentServlet—文件上传漏洞
  • 基于深度学习的语言生成