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

如何看网站开发语言网站开发交互原型标注图

如何看网站开发语言,网站开发交互原型标注图,二维码公众号怎么制作,厦门企业app开发门户网站用户端需要分板块展示#xff0c;板块内容由管理端配置#xff0c;包括板块名称#xff0c;访问路径#xff0c;路由组件#xff0c;展示顺序#xff0c;是否展示。如下图所示#xff1a; 用户访问门户网站时#xff0c;展示菜单跳转通过板块配置#xff0c;动…   门户网站用户端需要分板块展示板块内容由管理端配置包括板块名称访问路径路由组件展示顺序是否展示。如下图所示 用户访问门户网站时展示菜单跳转通过板块配置动态生成路由。 1.后端接口获取路由 GetMapping(value /router)public Result? getRouterList() {LambdaQueryWrapperBlock query new LambdaQueryWrapper();query.eq(Block::getIsShow, true).orderByAsc(Block::getSort);ListBlock blockList blockService.list(query);ListMapString, Object routeMapList new ArrayList();blockList.forEach(block - {MapString, Object map new HashMap();map.put(path, block.getPath());map.put(component, block.getComponent());map.put(name, block.getComponent());routeMapList.add(map);});return Result.OK(routeMapList);} 2.路由配置文件  router/index.ts import {createRouter, createWebHashHistory} from vue-routerconst router createRouter({history: createWebHashHistory(), // hash模式createWebHashHistoryhistory模式createWebHistoryroutes: [{path: /404,component: () import(/views/404.vue),hidden: true},] })export default router3.路由守卫  router/guard/index.ts import {Router} from vue-router import {getRouterList} from /api/block; import mainStore from ../../store;let dynamicRouters []export async function dynamicRouter(router: Router) {const {data: res} await getRouterList()dynamicRouters res.resultconst routeList transformObjToRoute(dynamicRouters)routeList.forEach((route: any) {//添加路由router.addRoute(route);}); }/*** views目录下找页面设置component* param routeList*/ function transformObjToRoute(routeList: any) {let dynamicViewsModules: any import.meta.glob(../../views/**/*.{vue,tsx});routeList.forEach((route: any) {const component route.component as string;if (component) {route.component dynamicImport(dynamicViewsModules, component)}});return routeList; }function dynamicImport(dynamicViewsModules: any, component: string) {const keys Object.keys(dynamicViewsModules);const matchKeys keys.filter((key) {const k key.replace(../../views, );const startFlag component.startsWith(/);const endFlag component.endsWith(.vue) || component.endsWith(.tsx);const startIndex startFlag ? 0 : 1;const lastIndex endFlag ? k.length : k.lastIndexOf(.);return k.substring(startIndex, lastIndex) component;});if (matchKeys?.length 1) {const matchKey matchKeys[0];return dynamicViewsModules[matchKey];} else if (matchKeys?.length 1) {return;} }/*** 页面未找到*/ export const PAGE_NOT_FOUND_ROUTE: any {path: /:path(.*)*,name: NotFound,component: () import(/views/404.vue) };/*** 动态路由权限控制* param router*/ export function setupPermissionGuard(router: Router) {router.beforeEach(async (to, from, next) {//判断是否已经添加过动态路由添加过直接放行if (mainStore.getters.getIsDynamicAddedRoute) {next();return;}//没有添加过添加添加后跳转页面await dynamicRouter(router)router.addRoute(PAGE_NOT_FOUND_ROUTE);mainStore.commit(setDynamicAddedRoute, {isDynamicAddedRoute: true})next({...to, replace: true})}); }4.main.ts配置路由守卫 import App from ./App.vue import router from /router import {setupPermissionGuard} from /router/guardasync function bootstrap() {// 创建应用实例const app createApp(App);app.use(router) // 引用路由实例setupPermissionGuard(router);await router.isReady();// 挂载应用app.mount(#app, true); }bootstrap()
http://www.dnsts.com.cn/news/210567.html

相关文章:

  • 最牛免费网站建设免费网站建设排行表
  • 做网站程序的步骤wordpress 离线编辑器
  • 海淀手机网站建设视频网站建设技术方案书
  • 横山专业做网站建设的公司信息网络公司经营范围
  • 域名注册后怎么做网站dedecms和wordpress
  • 建设网站的价格如何利用开源代码做网站
  • 国内flash网站百度域名注册
  • 电子元器件网站怎么做织梦菜谱网站模板免费下载
  • 重庆唐卡装饰公司临沂seo推广外包
  • 青岛好的网站制作推广免费h5页面制作工具
  • 企业网站建设策划书方案范文公司注册地址提供
  • 网站备案通过后网站公司不给ftp
  • 哈尔滨网站开发联系薇辽宁省建设工程信息网32位浏览器
  • 广州学网站建设注册网站代码
  • python整合网站开发技术ps如何做ppt模板下载网站
  • 商城网站支付宝接口建公司网站建设明细报价表
  • 什么叫宣传类网站网站建设 内容缺乏
  • 手机网站怎样做解析wordpress怎么换图标
  • 做网站需要注意哪些合工大智能院网站建设
  • seo查询工具网站成都最新房价一览表
  • 好网站推荐的网站婚纱网站建设步骤和方法
  • 个人如何做免费网站网站开发 相册
  • 建设招聘网站学做美食的网站视频
  • 商城网站管理系统.net简单网站开发视频教程
  • 网站可以做章子吗搭建wordpress程序
  • 如何选择宜昌网站建设芜湖做网站多少钱
  • 做百度推广网站多少钱向客户介绍网站建设的话本
  • inititle 网站建设培训班该如何建站
  • 关于企业官方网站建设的ppt公众号怎么做文章推广
  • 电子政务门户网站建设汇报推广方式线上线下