首页 > 其他分享 >一、day1,项目初始化

一、day1,项目初始化

时间:2023-09-12 23:22:32浏览次数:49  
标签:初始化 vue 项目 admin day1 state router import arco

一、前端初始化

1、配置前端环境
image

2、创建项目,使用命令vue create xiangoj-fontend
3、创建vue3.0项目
image

image

image

image

4、在IDEA打开项目并且运行
image

5、设置pretier,让代码更规范,否则会运行报错,快捷键是ctrl+alt+L
image
image

二、引入arco.design

1、进入arco design官方文档(vue版本),地址是https://arco.design/vue/docs/start
2、在使用npm之前,为npm配置淘宝镜像,命令是
npm config set registry https://registry.npm.taobao.org
image

3、使用npm安装,在项目main.js完整引入
image
4、可能main.js文件使用''会报错,这里我们使用"",main.js修改后如下:

import { createApp } from "vue";
import App from "./App.vue";
import ArcoVue from "@arco-design/web-vue";
import "@arco-design/web-vue/dist/arco.css";
import router from "./router";
import store from "./store";
createApp(App).use(ArcoVue).use(store).use(router).mount("#app");

三、路由,vuex和权限校验

1、在header里实现路由跳转

router.afterEach((to, from, faile) => {
selectKeys.value = [to.path];
});

2、引入vuex进行全局状态管理,建立user.ts

import { StoreOptions } from "vuex";

export default {
namespaced: true,
state: () => ({
loginUser: {
userName: "未登录",
role: "",
},
}),
actions: {
getLoginUser({ commit, state }, payload) {
commit("updateUser", { userName: "鱼皮" });
},
},
mutations: {
updateUser(state, payload) {
state.loginUser = payload;
state.role = "admin";
},
},
} as StoreOptions;

3、在router上添加meta字段

{
path: "/admin",
name: "管理员面板",
component: AdminView,
meta: {
access: "admin",
}

4、在app.vue上进行权限校验

import { useRouter } from "vue-router";
import { useStore } from "vuex";

const router = useRouter();
const store = useStore();

router.beforeEach((to, from, next) => {
// 仅管理员可见,判断当前用户是否有权限
if (to.meta?.access === "admin") {
if (store.state.user.loginUser?.role !== "admin") {
next("/noAuth");
return;
}
}
next();
})

标签:初始化,vue,项目,admin,day1,state,router,import,arco
From: https://www.cnblogs.com/senior-shef/p/17696424.html

相关文章

  • Spring Boot构建web项目01
    配置:破解版IDEA2019.3.3Maven--3.6.3java--1.8(8)jdk--8  打开IDEA,new一个project,选择SpringInitializr 改写maven管理和java版本8 选择web项目    添加指定父级工程信息和java版本依赖<modelVersion>4.0.0</modelVersion><parent><gro......
  • 信息系统项目管理师教程(第四版) 第一章 信息化发展 学习笔记1-20230911
    第一章《信息化发展》 学习要点:1、信息的基本概念、信息的7个质量属性。2、信息系统的概念、特点或用途、抽象模型、信息系统生命周期。3、信息化、信息化系统。4、工业互联网(四大层级)、车联网(体系框架、链接方式、应用场景)。5、农业农村现代化、乡村振兴战略、两化融合与......
  • drf-day12
    昨日回顾基于自定义用户表签发token1、前端(postman、web、appp、小程序)发送http请求,携带用户名和密码,通过中间件到达后端2、后端request.data取出用户名和密码3、拿着用户名和密码去数据库中查询,有没有4、如果有就说明登陆成功5、签发token:通过当前用户得到payload(自动生......
  • 【记录贴】使用项目管理软件管理大型复杂项目是种什么体验?
    随着手上的几个项目陆续验收交付,现在我又接了一个新项目,这次是一个中大型的软件开发项目。大型项目具有规模大、周期长、团队成员构成复杂、影响因素多等特征,所以我在项目推进过程中遇到了很多困难,想跟大家分享交流下;但所涉及的内容较多,这篇先分享下需求管理方面的内容。我在一开始......
  • 【记录贴】使用项目管理软件管理大型复杂项目是种什么体验?
    随着手上的几个项目陆续验收交付,现在我又接了一个新项目,这次是一个中大型的软件开发项目。大型项目具有规模大、周期长、团队成员构成复杂、影响因素多等特征,所以我在项目推进过程中遇到了很多困难,想跟大家分享交流下;但所涉及的内容较多,这篇先分享下需求管理方面的内容。 我在......
  • bilibili B站:makefile 编译Linux C/C++项目快速入门
    视频摘自:https://www.bilibili.com/video/BV1vg41177zT    ......
  • 【Leetcode】解题报告Day1~Day2
    解题报告Day11.2235.两数之和给你两个整数num1和num2,返回这两个整数的和。示例1:输入:num1=12,num2=5输出:17解释:num1是12,num2是5,它们的和是12+5=17,因此返回17。示例2:输入:num1=-10,num2=4输出:-6解释:num1+num2=-6,因此返回-6。提示:......
  • react native项目安装需求
    1.创建RN项目2.安装路由依赖3.redux需求安装redux依赖4.第三方组件库5.打包及各种其他操作 安装指定依赖注意:**link**链接库已在RN(reactnative)0.60版本开始支持自动链接,不需要再手动link!!! ###2.安装路由依赖#####安装所需包npminstall@react-navigation/native##......
  • 软件开发文档大全(项目管理、开发、实施、交付、评审、投标支撑)
    前言:在软件开发过程中,项目管理、开发、实施文档是至关重要的一部分。这些文档不仅为项目提供了清晰的规划和指导,还有助于确保项目按时、按质量完成。本文将详细介绍这些文档的内容及其在软件开发过程中的作用。软件开发全文档获取:Q+:262086839一、项目管理文档项目背景和目标......
  • 敏捷项目管理与传统项目管理的区别?一目了然
    从事项目管理行业的人应该都知道,项目管理领域有两种管理方式:传统项目管理和敏捷项目管理。很多人在团队引入敏捷的时候,会有一个疑惑,传统项目管理和敏捷项目管理的区别分别是什么? 什么是瀑布式项目管理?瀑布式项目管理是一种传统的项目管理方式。在瀑布式项目管理中,项目的整体管理过......