阿飞i

阿飞i 查看完整档案

填写现居城市  |  填写毕业院校  |  填写所在公司/组织填写个人主网站
编辑
_ | |__ _ _ __ _ | '_ \| | | |/ _` | | |_) | |_| | (_| | |_.__/ \__,_|\__, | |___/ 该用户太懒什么也没留下

个人动态

阿飞i 提出了问题 · 2018-11-13

mac 能正常上网 但不能 ping 通局域网内的所有的设备 . 是什么原因 ?

能 ping 通外网
能 ping 通路由器 192.168.1.1

不能 ping 通局域网的其他设备.

局域网的其他设备也不能 ping 通自己 .

防火墙已经关闭..

会是哪个软件导致的吗 ?

关注 2 回答 1

阿飞i 赞了回答 · 2017-12-13

解决vue写的网页怎么打印指定区域的内容??

@media print {
    .not-print {
        opacity: 0
    }
}

在你不希望打印出来的区域上,加上.not-print的class~
比较粗暴的方式。。。

关注 8 回答 4

阿飞i 提出了问题 · 2017-10-02

Atom 前端大佬们有公开配置好的的gist吗

希望得到一份比较详细的前端配置文件和插件

关注 2 回答 0

阿飞i 提出了问题 · 2017-06-14

webpack vue 使用eslint验证代码有误时, sublime有什么插件能否自我修复..

正常情况下,eslint验证代码有误时,我们只能手动去修正...

但有时候新手写了一大串代码保存时,一连串的错误手动去修正. 想想很烦..

sublime有没有什么插件,能够根据项目根目录下的eslintrc.js你配置的eslint规则来检查代码..

还有能否支付eslintrc.js里面是安装的是插件,而不是手动写得rules... 如: standard, element

vscode 有这类插件.. sublime有吗?

关注 4 回答 2

阿飞i 提出了问题 · 2017-05-08

vue 权限控制, 菜单权限, 操作权限, 数据权限, 显示权限

菜单权限, 根据不同权限显示不同的菜单
操作权限, 比如有些账号没有新增权限, 有些没有修改或者删除权限
数据权限, 比如统计概况, 普通管理员不能看到公司营业概况,但能看到自己所属区域的概况
显示权限, 比如列表, 运营能看到那一列的签约金额,但市场不能看到签约金额这一列

下面这个问题,已经有人回答了...

https://segmentfault.com/q/10...

只是我不知道他是如何做到的.. login页面单独做 ? 然后再实例化?

关注 9 回答 4

阿飞i 赞了回答 · 2017-05-07

解决vue 权限控制

最近搭建了公司的后台管理系统, 而且系统还比较庞大, 要实现以下几点:

  1. 菜单权限, 根据不同权限显示不同的菜单

  2. 操作权限, 比如有些账号没有新增权限, 有些没有修改或者删除权限

  3. 数据权限, 比如统计概况, 普通管理员不能看到公司营业概况,但能看到自己所属区域的概况

  4. 显示权限, 比如列表, 运营能看到那一列的签约金额,但市场不能看到签约金额这一列

到目前为止还在构建中, 已经解决菜单权限和操作权限。
菜单权限:

最开始的时候也是按照楼上给出的方法,本地先配置一套路由,然后登陆成功后会从服务器返回一个菜单列表,然后在beforeEach里面把返回的菜单列表和本地配置的路由进行对比, 如果存在则有权限访问。 做了几天发现很难用, 本地得配置一整套路由,还得做几个页面来把这些路由信息写入到服务器,这样来进行权限分配, 当你的权限菜单比较多的时候, 像我们这个后台,光公司内部权限就有好几套, 还有代理商、商家权限等等, 不同的菜单可能会超过几百个, 这样配置太累了,还容易出错。
最后的解决思路是完全不在本地做任何路由配置, 登录页面单独弄,不放到vue组件里面, 登录成功后从后台抓取菜单列表, 因为现在是已经登录成功了,所以抓取的就是拥有全新的菜单。 抓取成功后在配置到路由里面,然后实例化vue , 这样就避免了本地配置一套路由了,完全是服务器上面配置路由。
这样解决的难点只有一个,那就是路由需要对应的组件,所以我们将所有组件存放到一个对象里面, 服务器的返回的菜单列表里面,会有一个字段配置组件名, 在抓取成功后生成路由配置的时候就使用 router[menuName]就能直接加载到这个组件,非常方便。

main.js代码片段:

// 实例化Login类并初始化
  new Login(function (err, data) {
    if (err) {
      // 登录出错
    } else {
      // 登录成功
      init(data);
    }
  }).init();

const init = function (data) {
  // 先配置路由信息
  // componentConfigs 是本地的组件配置
  let routers = assignRouter(data.menus, componentConfigs);
  // 实例化路由
  router = new Router({routes: routers});
  // 再实例化vue
  new Vue({
    el: '#app',
    store,
    router,
    nprogress,
    ...App
  });
};
componentConfigs.js 代码片段:
export default {
  Common: {
    Admin: require('../../vue/pages/common/Admin'),
    Index: require('../../vue/pages/common/Index'),
    UpdatePassword: r => require.ensure([], () => r(require('../../vue/pages/users/UpdatePassword')), 'users')
  }
}

服务器返回的菜单json:
其中meta 字段里面是当前路由里的操作权限

[{
            "path": "\/admin\/index",
            "name": "\u9996\u9875",
            "component": "Common.Index",
            "display": true,
            "icon": "icon-home"
        }, {
            "path": "\/admin\/updatePassword",
            "name": "\u4fee\u6539\u5bc6\u7801",
            "component": "Common.UpdatePassword",
            "display": false
        }, {
            "path": "\/admin\/commodity",
            "name": "\u5546\u54c1\u7ba1\u7406",
            "component": "Content",
            "display": true,
            "icon": "icon-class",
            "children": [{
                "path": "\/admin\/commodity\/publicWarehouse",
                "name": "\u516c\u5171\u5e93\u7ba1\u7406",
                "component": "Commodity.PublicWarehouse",
                "display": true,
                "meta": {"handleAuth": {"add": true, "edit": false, "del": true}}
            }, {
                "path": "\/admin\/commodity\/businessesWarehouse",
                "name": "\u5546\u5bb6\u5e93\u7ba1\u7406",
                "component": "Commodity.BusinessesWarehouse",
                "display": true,
                "meta": {"handleAuth": {"add": true, "edit": false, "del": true}}
            }]
        }]

菜单的权限大概就是这样, 至于操作权限, 思路是这样的: 写一个鉴权的vue插件, 然后所有的操作独立放到methods里面; 然后所有的操作 @click里面调用鉴权函数, $auth('add', arg1, arg2, ...argN) ; $auth里面判断this.$route.meta 里是否有权限进行这个操作, 如果有则调用 this[authName].apply(null, arg);

关注 34 回答 7

阿飞i 提出了问题 · 2017-05-04

nginx 判断是否是ie浏览器10以下. http_user_agent rewrite到一个页面提示。

公司用的vue. 单页面...

vue不支持ie9一下的浏览器.

所有我想让nginx判断是否是ie.且版本是低于10以下的. 然后我rewrite到另一个页面...

但始终没有成功.. 方便测试. 我把条件改成了ie

if ($http_user_agent ~ "MSIE") {
        rewrite /message.html break;
}

项目根目录下有个 message页面,提示用户切换高级浏览器或者升级.

但这样并没有成功!!!!!

vue 用的history模式

关注 4 回答 3

阿飞i 回答了问题 · 2017-04-24

element-ui的table的换行问题

您好. 请问你现在这个问题解决了吗. 我也遇到了... 也是动态数据. 宽度也不能写死...

关注 6 回答 5

阿飞i 提出了问题 · 2017-04-16

七牛cdn加速域名访问网站和把静态资源放在七牛加载两者有什么区别?哪个更快一点

公司正在做一个票务系统. 采用vue. 前后端分离. 打包出来4个静态文件. 其他都是走接口的模式..

这样的情况下. 是采用七牛cdn加速域名访问网站快 还是 七牛加载静态资更快一点啊?

关注 2 回答 1

阿飞i 提出了问题 · 2017-04-15

七牛cdn融合加速域名为何访问资源是403

绑定了一个加速域名.并配置成功.指定需要加速的资源七牛云存储 .

然后配置了镜像存储为我的个人网站地址.

然后把我个人网站的一些静态资源换成加速域名的地址...

然后访问我的个人网站地址或者加速域名. 报403错误....

关注 2 回答 1

认证与成就

  • 获得 23 次点赞
  • 获得 160 枚徽章 获得 1 枚金徽章, 获得 50 枚银徽章, 获得 109 枚铜徽章

擅长技能
编辑

(゚∀゚ )
暂时没有

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2015-04-14
个人主页被 3.8k 人浏览