首页   注册   登录
 ruoxie 最近的时间轴更新

ruoxie

V2EX 第 322280 号会员,加入于 2018-06-12 21:54:27 +08:00
ruoxie 最近回复了
@viazure 还可以更进一步,不需要在本地 hexo g -d,可以用 travis ci,编辑后提交即可
7 天前
回复了 test12138 创建的主题 程序员 裸辞了,心慌有点害怕
已经裸辞 11 天,还没玩够,月底再找工作,感觉还好
自己实现一下 RBAC 就已经够用,要做到数据权限控制,那就是 ABAC 了,可以在 RBAC 的基础上做扩展
83 天前
回复了 DemonQ 创建的主题 程序员 写了一点常用的 CSS 总结,欢迎星星
84 天前
回复了 DemonQ 创建的主题 程序员 写了一点常用的 CSS 总结,欢迎星星
你的猫被我偷走了
188 天前
回复了 stebest 创建的主题 Blogger 晒博客,求 py
https://jaycewu.site/
之前写一个 demo,直接移除 dom 元素可能比 display="none"好一点
<template>
<div>
<v-btn color="primary">正常按钮</v-btn>
<!--arg:role,function modifiers:all any default:any -->
<v-btn color="success" v-permission:function.all="permission">权限按钮</v-btn>
<br>
<v-btn color="error" @click="updatePermission">更新按钮所需权限</v-btn>
</div>
</template>
<script>
const USER_PERMISSION=["FUNCTION_USER_ADD","FUNCTION_USER_DEL"];
const USER_ROLE=["ROLE_TEST1","ROLE_TEST2"];
export default {
data() {
return {
permission:['FUNCTION_USER_ADD','FUNCTION_USER_DEL'],
flag:true
};
},
methods:{
updatePermission(){
this.permission=this.flag?["USER_TEST3"]:['FUNCTION_USER_ADD','FUNCTION_USER_DEL'];
this.flag=!this.flag;
}
},
directives: {
permission: {
// 指令的定义
bind: function(el,binding) {
let checkCodes=[];
if(binding.arg==="function"){
checkCodes=USER_PERMISSION;
}else if(binding.arg==="role"){
checkCodes=USER_ROLE;
}else{
checkCodes=USER_PERMISSION.join(USER_ROLE);
}
let access=true;
if(binding.modifiers.all){
for(let need of binding.value){
if(!checkCodes.some(s=>s===need)){
access=false;
break;
}
}
}else{
access=false;
for(let need of binding.value){
if(checkCodes.some(s=>s===need)){
access=true;
break;
}
}
}
if(!access){
el.style.display="none";
}
console.log("bind:"+JSON.stringify(binding),access);
},
update:function(el,binding){
let checkCodes=[];
if(binding.arg==="function"){
checkCodes=USER_PERMISSION;
}else if(binding.arg==="role"){
checkCodes=USER_ROLE;
}else{
checkCodes=USER_PERMISSION.join(USER_ROLE);
}
let access=true;
if(binding.modifiers.all){
for(let need of binding.value){
if(!checkCodes.some(s=>s===need)){
access=false;
break;
}
}
}else{
access=false;
for(let need of binding.value){
if(checkCodes.some(s=>s===need)){
access=true;
break;
}
}
}
if(!access){
el.style.display="none";
}else{
el.style.display="inline-flex";
}
console.log("update:"+JSON.stringify(binding),access);
}
}
}
};
</script>
188 天前
回复了 Jaeger 创建的主题 程序员 你们的开源项目的官网都是用什么搭建的?
一个快速生成后端模拟数据的工具
Github:https://github.com/wjkang/lazy-mock
特点:
轻松对接 mock.js ,faker.js 等假数据生成工具
不需要数据库,直接持久化数据到 JSON 文件
相比 json-server 单 JSON 文件,支持一个实体一个 JSON 文件
默认包含了 jwt 实现的登录与登出,基于 RBAC 模型的权限控制
使用 async/await 处理异步问题
MVC 代码分层结构
内置简单代码生成器
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3251 人在线   最高记录 4385   ·  
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 9ms · UTC 01:04 · PVG 09:04 · LAX 18:04 · JFK 21:04
♥ Do have faith in what you're doing.
沪ICP备16043287号-1