Coder Social home page Coder Social logo

d2-admin-xiya-go-cms's People

Contributors

fairyever avatar qialie avatar zz1204 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

d2-admin-xiya-go-cms's Issues

🤔 提问 | 这个项目停止维护了吗?

之前有个项目用了这个框架,配置式的列表管理和权限控制做的很不错的,现在发现项目快1年没有更新了,示例也打不开了(似乎是数据服务停了),想请问是项目停止维护了吗?如果停了是为什么?

👾 BUG | 页面开启缓存之后只显示第一个访问的页面

用 d2Admin 的带路由参数缓存方法,给页面加了 cache 之后,打开多个页面时,只加载第一页面打开的数据。之后打开的页面的 props 的 id 参数可以获取到实时的,但是新开页面初始化的请求就不会发送了,直接加载了第一个页面的内容。
请问这个是什么问题?
谢谢

👾 BUG | 修复菜单组件文件不存在时页面空白的问题

开发过程中,同事创建了新的菜单页面,而我本地没有他新创建的页面文件,导致了页面空白。

let route = {
path: sourceItem.route_path,
name: sourceItem.route_name,
meta: {
title: sourceItem.menu_name,
auth: true,
cache: sourceItem.route_cache === context.env.VUE_APP_DICT_IS_TRUE
},
component: utils.import(sourceItem.route_component)
}
// 为动态注册的路由可以正常在演示环境上显示源码链接而设置,如果不需要显示源码的功能,请移除此属性
// https://github.com/d2-projects/vue-filename-injector 只处理 .vue 类型的文件 所以需要在路由上设置源码路径信息
if (context.env.VUE_APP_SCOURCE_LINK === 'TRUE') {
route.meta.source = 'src/views/' + sourceItem.route_component + (/(.js|.vue)$/.test(sourceItem.route_component) ? '' : '/index.js')
}
routes.push(route)

修复:

        try {
          let route = {
            path: sourceItem.route_path,
            name: sourceItem.route_name,
            meta: {
              title: sourceItem.menu_name,
              auth: true,
              cache: sourceItem.route_cache === context.env.VUE_APP_DICT_IS_TRUE
            },
            component: utils.import(sourceItem.route_component)
          }
          routes.push(route)
          // 为动态注册的路由可以正常在演示环境上显示源码链接而设置,如果不需要显示源码的功能,请移除此属性
          // https://github.com/d2-projects/vue-filename-injector 只处理 .vue 类型的文件 所以需要在路由上设置源码路径信息
          if (context.env.VUE_APP_SCOURCE_LINK === 'TRUE') {
            route.meta.source = 'src/views/' + sourceItem.route_component + (/(.js|.vue)$/.test(sourceItem.route_component) ? '' : '/index.js')
          }
          routes.push(route)
        } catch (err) {
          utils.log.capsule('菜单', '文件不存在', 'danger')
          utils.log.danger(err.message)
        }

Bug | 检验菜单数据是否为合法路由函数 isEffectiveRoute 识别不准确

/**
* @description 检验是否为合法路由
* @param {Object} sourceItem 原始数据的一项
*/
function isEffectiveRoute (sourceItem) {
if (sourceItem.menu_type !== context.env.VUE_APP_DICT_MENU_TYPE_MENU) return
const hasAllRequiredProperties = [
'menu_name',
'route_name',
'route_path',
'route_component'
].reduce((res, keyname) => !((!res || sourceItem[keyname] === '')), true)
if (!hasAllRequiredProperties) return
return true
}

这个函数会把非按钮菜单都识别为合法路由,导致路由加载失败。如以下菜单将返回 true

isEffectiveRoute({
    menu_name: '财务管理',
    menu_type: 1
})

修改成这样就可以了

  function isEffectiveRoute (sourceItem) {
    if (sourceItem.menu_type !== env.VUE_APP_DICT_MENU_TYPE_MENU) return
    const allRequiredProperties = [
      'menu_name',
      'route_name',
      'route_path',
      'route_component'
    ]
    let has = true
    const keyArr = Object.keys(sourceItem)
    allRequiredProperties.some(item => {
      if (!keyArr.includes(item)) {
        has = false
        return true
      }
    })
    if (!has) return
    return true
  }

预览示例网站进不去

为了统一格式,请将下面一行复制到 `Title` 栏,然后删除这部分
🖐 其它问题 | 你的标题

如果需要,在这里描述具体内容

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.