mirror of
				https://github.com/pure-admin/pure-admin-thin.git
				synced 2025-11-04 17:44:48 +08:00 
			
		
		
		
	feat: 新增路由代码
This commit is contained in:
		
							parent
							
								
									03d9b2b6f8
								
							
						
					
					
						commit
						4d41bccfbf
					
				@ -3,7 +3,7 @@ import vue from "@vitejs/plugin-vue";
 | 
			
		||||
import { viteBuildInfo } from "./info";
 | 
			
		||||
import svgLoader from "vite-svg-loader";
 | 
			
		||||
import vueJsx from "@vitejs/plugin-vue-jsx";
 | 
			
		||||
import { viteMockServe } from "vite-plugin-mock";
 | 
			
		||||
// import { viteMockServe } from "vite-plugin-mock";
 | 
			
		||||
import { configCompressPlugin } from "./compress";
 | 
			
		||||
// import ElementPlus from "unplugin-element-plus/vite";
 | 
			
		||||
import { visualizer } from "rollup-plugin-visualizer";
 | 
			
		||||
@ -16,7 +16,7 @@ export function getPluginsList(
 | 
			
		||||
  VITE_CDN: boolean,
 | 
			
		||||
  VITE_COMPRESSION: ViteCompression
 | 
			
		||||
) {
 | 
			
		||||
  const prodMock = true;
 | 
			
		||||
  // const prodMock = true;
 | 
			
		||||
  const lifecycle = process.env.npm_lifecycle_event;
 | 
			
		||||
  return [
 | 
			
		||||
    vue(),
 | 
			
		||||
@ -38,16 +38,16 @@ export function getPluginsList(
 | 
			
		||||
    svgLoader(),
 | 
			
		||||
    // ElementPlus({}),
 | 
			
		||||
    // mock支持
 | 
			
		||||
    viteMockServe({
 | 
			
		||||
      mockPath: "mock",
 | 
			
		||||
      localEnabled: command === "serve",
 | 
			
		||||
      prodEnabled: command !== "serve" && prodMock,
 | 
			
		||||
      injectCode: `
 | 
			
		||||
          import { setupProdMockServer } from './mockProdServer';
 | 
			
		||||
          setupProdMockServer();
 | 
			
		||||
        `,
 | 
			
		||||
      logger: false
 | 
			
		||||
    }),
 | 
			
		||||
    // viteMockServe({
 | 
			
		||||
    //   mockPath: "mock",
 | 
			
		||||
    //   localEnabled: command === "serve",
 | 
			
		||||
    //   prodEnabled: command !== "serve" && prodMock,
 | 
			
		||||
    //   injectCode: `
 | 
			
		||||
    //       import { setupProdMockServer } from './mockProdServer';
 | 
			
		||||
    //       setupProdMockServer();
 | 
			
		||||
    //     `,
 | 
			
		||||
    //   logger: false
 | 
			
		||||
    // }),
 | 
			
		||||
    // 打包分析
 | 
			
		||||
    lifecycle === "report"
 | 
			
		||||
      ? visualizer({ open: true, brotliSize: true, filename: "report.html" })
 | 
			
		||||
 | 
			
		||||
@ -6,5 +6,5 @@ type Result = {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export const getAsyncRoutes = () => {
 | 
			
		||||
  return http.request<Result>("get", "/getAsyncRoutes");
 | 
			
		||||
  return http.request<Result>("get", "/getRouters");
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@ import { debounce, getKeyList } from "@pureadmin/utils";
 | 
			
		||||
import { ascending, filterTree, filterNoPermissionTree } from "@/router/utils";
 | 
			
		||||
 | 
			
		||||
export const usePermissionStore = defineStore({
 | 
			
		||||
  id: "pure-permission",
 | 
			
		||||
  id: "ag-permission",
 | 
			
		||||
  state: () => ({
 | 
			
		||||
    // 静态路由生成的菜单
 | 
			
		||||
    constantMenus,
 | 
			
		||||
 | 
			
		||||
@ -76,11 +76,13 @@ class PureHttp {
 | 
			
		||||
          return config;
 | 
			
		||||
        }
 | 
			
		||||
        /** 请求白名单,放置一些不需要token的接口(通过设置请求白名单,防止token过期后再请求造成的死循环问题) */
 | 
			
		||||
        const whiteList = ["/refreshToken", "/login"];
 | 
			
		||||
        const whiteList = ["/refreshToken", "/login", "/captchaImage"];
 | 
			
		||||
        return whiteList.some(v => config.url.indexOf(v) > -1)
 | 
			
		||||
          ? config
 | 
			
		||||
          : new Promise(resolve => {
 | 
			
		||||
              const data = getToken();
 | 
			
		||||
 | 
			
		||||
              console.log("当前token:" + data.accessToken);
 | 
			
		||||
              if (data) {
 | 
			
		||||
                const now = new Date().getTime();
 | 
			
		||||
                const expired = parseInt(data.expires) - now <= 0;
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,9 @@ import {
 | 
			
		||||
  getIsRememberMe,
 | 
			
		||||
  savePassword,
 | 
			
		||||
  getPassword,
 | 
			
		||||
  removePassword
 | 
			
		||||
  removePassword,
 | 
			
		||||
  setToken,
 | 
			
		||||
  DataInfo
 | 
			
		||||
} from "@/utils/auth";
 | 
			
		||||
 | 
			
		||||
import dayIcon from "@/assets/svg/day.svg?component";
 | 
			
		||||
@ -81,6 +83,13 @@ const onLogin = async (formEl: FormInstance | undefined) => {
 | 
			
		||||
        captchaCodeKey: ruleForm.captchaCodeKey
 | 
			
		||||
      }).then(res => {
 | 
			
		||||
        if (res.code === 0) {
 | 
			
		||||
          // 登录成功后 将token存储到sessionStorage中
 | 
			
		||||
          const tokenData: DataInfo<Number> = {
 | 
			
		||||
            accessToken: res.data.token,
 | 
			
		||||
            expires: undefined,
 | 
			
		||||
            refreshToken: ""
 | 
			
		||||
          };
 | 
			
		||||
          setToken(tokenData);
 | 
			
		||||
          // 获取后端路由
 | 
			
		||||
          initRouter().then(() => {
 | 
			
		||||
            router.push(getTopMenu(true).path);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user