UNPKG

jobsys-explore

Version:

Enhanced component based on vant

1 lines 4.34 kB
{"version":3,"file":"directives.cjs","sources":["../directives/auth.js"],"sourcesContent":["/**\n * v-auth=\"'permissions1'\"\n * v-auth:all=\"['clickPermissions',['permission1', 'permission2']]\"\n * v-auth:any=\"['clickPermissions',['permission1', 'permission2']]\"\n * v-auth:none=\"['clickPermissions',['permission1', 'permission2']]\"\n * @type {*[]}\n */\n\nlet defaultPermissions = []\n\nconst authDirective = {\n\tbeforeMount(el, binding) {\n\t\tlet { value } = binding\n\t\tconst { arg } = binding\n\n\t\tif (!value) {\n\t\t\treturn\n\t\t}\n\n\t\tif (typeof value === \"string\" || value instanceof String) {\n\t\t\tvalue = [value]\n\t\t}\n\n\t\tlet [permissions, myPermissions] = value\n\n\t\tif (!myPermissions) {\n\t\t\tmyPermissions = defaultPermissions\n\t\t}\n\n\t\tif (typeof permissions === \"string\" || permissions instanceof String) {\n\t\t\tpermissions = [permissions]\n\t\t}\n\n\t\t// arg: 'any' 任何一个, 'all' 全部都有,默认, 'none' 都没有\n\n\t\tif (arg === undefined || arg === \"all\") {\n\t\t\tif (!permissions.every((p) => myPermissions.includes(p))) {\n\t\t\t\tel.style.display = \"none\"\n\t\t\t}\n\t\t} else if (arg === \"any\") {\n\t\t\tif (!permissions.some((p) => myPermissions.includes(p))) {\n\t\t\t\tel.style.display = \"none\"\n\t\t\t}\n\t\t} else if (arg === \"none\") {\n\t\t\tif (permissions.some((p) => myPermissions.includes(p))) {\n\t\t\t\tel.style.display = \"none\"\n\t\t\t}\n\t\t}\n\t},\n}\n\n/**\n * 初始化权限集合\n * @param permissions\n */\nexport function setDefaultPermissions(permissions) {\n\tdefaultPermissions = permissions\n}\n\nfunction auth(value, arg) {\n\tif (!value) {\n\t\treturn true\n\t}\n\n\tif (typeof value === \"string\" || value instanceof String) {\n\t\tvalue = [value]\n\t}\n\n\tlet [permissions, myPermissions] = value\n\n\tif (!myPermissions) {\n\t\tmyPermissions = defaultPermissions\n\t}\n\n\tif (typeof permissions === \"string\" || permissions instanceof String) {\n\t\tpermissions = [permissions]\n\t}\n\n\t// arg: 'any' 任何一个, 'all' 全部都有,默认, 'none' 都没有\n\n\tif (arg === undefined || arg === \"all\") {\n\t\tif (!permissions.every((p) => myPermissions.includes(p))) {\n\t\t\treturn false\n\t\t}\n\t} else if (arg === \"any\") {\n\t\tif (!permissions.some((p) => myPermissions.includes(p))) {\n\t\t\treturn false\n\t\t}\n\t} else if (arg === \"none\") {\n\t\tif (permissions.some((p) => myPermissions.includes(p))) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n\nexport default {\n\t/**\n\t *\n\t * @param app\n\t * @param {Object} [options]\n\t * @param {Object} [options.defaultPermissions]\n\t */\n\tinstall(app, options) {\n\t\tapp.directive(\"auth\", authDirective)\n\t\tapp.config.globalProperties.$auth = auth\n\t\tapp.provide(\"auth\", auth)\n\n\t\tif (options && options.defaultPermissions) {\n\t\t\tsetDefaultPermissions(options.defaultPermissions)\n\t\t}\n\t},\n}\n"],"names":["defaultPermissions","authDirective","el","binding","value","arg","permissions","myPermissions","p","setDefaultPermissions","auth","auth$1","app","options"],"mappings":"gFAQA,IAAIA,EAAqB,CAAE,EAE3B,MAAMC,EAAgB,CACrB,YAAYC,EAAIC,EAAS,CACxB,GAAI,CAAE,MAAAC,CAAK,EAAKD,EAChB,KAAM,CAAE,IAAAE,CAAG,EAAKF,EAEhB,GAAI,CAACC,EACJ,QAGG,OAAOA,GAAU,UAAYA,aAAiB,UACjDA,EAAQ,CAACA,CAAK,GAGf,GAAI,CAACE,EAAaC,CAAa,EAAIH,EAE9BG,IACJA,EAAgBP,IAGb,OAAOM,GAAgB,UAAYA,aAAuB,UAC7DA,EAAc,CAACA,CAAW,GAKvBD,IAAQ,QAAaA,IAAQ,MAC3BC,EAAY,MAAOE,GAAMD,EAAc,SAASC,CAAC,CAAC,IACtDN,EAAG,MAAM,QAAU,QAEVG,IAAQ,MACbC,EAAY,KAAME,GAAMD,EAAc,SAASC,CAAC,CAAC,IACrDN,EAAG,MAAM,QAAU,QAEVG,IAAQ,QACdC,EAAY,KAAME,GAAMD,EAAc,SAASC,CAAC,CAAC,IACpDN,EAAG,MAAM,QAAU,OAGrB,CACF,EAMO,SAASO,EAAsBH,EAAa,CAClDN,EAAqBM,CACtB,CAEA,SAASI,EAAKN,EAAOC,EAAK,CACzB,GAAI,CAACD,EACJ,MAAO,IAGJ,OAAOA,GAAU,UAAYA,aAAiB,UACjDA,EAAQ,CAACA,CAAK,GAGf,GAAI,CAACE,EAAaC,CAAa,EAAIH,EAYnC,GAVKG,IACJA,EAAgBP,IAGb,OAAOM,GAAgB,UAAYA,aAAuB,UAC7DA,EAAc,CAACA,CAAW,GAKvBD,IAAQ,QAAaA,IAAQ,OAChC,GAAI,CAACC,EAAY,MAAOE,GAAMD,EAAc,SAASC,CAAC,CAAC,EACtD,MAAO,WAEEH,IAAQ,OAClB,GAAI,CAACC,EAAY,KAAME,GAAMD,EAAc,SAASC,CAAC,CAAC,EACrD,MAAO,WAEEH,IAAQ,QACdC,EAAY,KAAME,GAAMD,EAAc,SAASC,CAAC,CAAC,EACpD,MAAO,GAGT,MAAO,EACR,CAEA,MAAeG,EAAA,CAOd,QAAQC,EAAKC,EAAS,CACrBD,EAAI,UAAU,OAAQX,CAAa,EACnCW,EAAI,OAAO,iBAAiB,MAAQF,EACpCE,EAAI,QAAQ,OAAQF,CAAI,EAEpBG,GAAWA,EAAQ,oBACtBJ,EAAsBI,EAAQ,kBAAkB,CAEjD,CACF"}