🔱: [client] sync upgrade with 7 commits [trident-sync]

chore:
Merge branch 'vben'

# Conflicts:
#	package.json
perf: antdv示例改成使用vben框架
chore: vben
chore: vben
chore: vben
This commit is contained in:
GitHub Actions Bot
2025-03-03 19:24:51 +00:00
parent de26ee9383
commit 335d175d57
649 changed files with 36984 additions and 826 deletions

View File

@@ -10,6 +10,7 @@ import _ from "lodash-es";
import { useCrudPermission } from "../permission";
import { GetSignedUrl } from "/@/views/crud/component/uploader/s3/api";
import { notification } from "ant-design-vue";
import { usePreferences } from "/@/vben/preferences";
function install(app: any, options: any = {}) {
app.use(UiAntdv);
@@ -31,7 +32,18 @@ function install(app: any, options: any = {}) {
commonOptions(props: UseCrudProps): CrudOptions {
utils.logger.debug("commonOptions:", props);
const crudBinding = props.crudExpose?.crudBinding;
const { isMobile } = usePreferences();
const opts: CrudOptions = {
settings: {
plugins: {
mobile: {
enabled: true,
props: {
isMobile: isMobile
}
}
}
},
table: {
scroll: {
x: 960

View File

@@ -6,7 +6,7 @@ import { message } from "ant-design-vue";
import NProgress from "nprogress";
export function registerRouterHook() {
// 注册路由beforeEach钩子在第一次加载路由页面时加载权限
router.beforeEach(async (to, from, next) => {
router.beforeEach(async (to, from) => {
const permissionStore = usePermissionStore();
if (permissionStore.isInited) {
if (to.meta.permission) {
@@ -20,15 +20,13 @@ export function registerRouterHook() {
return false;
}
}
next();
return;
return true;
}
const userStore = useUserStore();
const token = userStore.getToken;
if (!token || token === "undefined") {
next();
return;
return true;
}
// 初始化权限列表
@@ -36,10 +34,10 @@ export function registerRouterHook() {
console.log("permission is enabled");
await permissionStore.loadFromRemote();
console.log("PM load success");
next({ ...to, replace: true });
return { ...to, replace: true };
} catch (e) {
console.error("加载动态路由失败", e);
next();
return false;
}
});
}

View File

@@ -1,8 +1,9 @@
import { defineStore } from "pinia";
import { useResourceStore } from "/src/store/modules/resource";
// import { useResourceStore } from "/src/store/modules/resource";
import { getPermissions } from "./api";
import { mitter } from "/@/utils/util.mitt";
import { env } from "/@/utils/util.env";
import { useAccessStore } from "/@/vben/stores";
//监听注销事件
mitter.on("app.logout", () => {
@@ -69,8 +70,8 @@ export const usePermissionStore = defineStore({
this.init({ permissions });
//过滤没有权限的菜单
const resourceStore = useResourceStore();
resourceStore.filterByPermission(permissions);
const accessStore = useAccessStore();
accessStore.setAccessCodes(permissions);
},
async loadFromRemote() {
let permissionTree = [];