UNPKG

jobsys-explore

Version:

Enhanced component based on vant

1 lines 4.04 kB
{"version":3,"file":"directives.cjs","names":[],"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"],"mappings":"mEAQA,IAAI,EAAqB,EAAE,CAErB,EAAgB,CACrB,YAAY,EAAI,EAAS,CACxB,GAAI,CAAE,SAAU,EACV,CAAE,OAAQ,EAEhB,GAAI,CAAC,EACJ,QAGG,OAAO,GAAU,UAAY,aAAiB,UACjD,EAAQ,CAAC,EAAM,EAGhB,GAAI,CAAC,EAAa,GAAiB,EAEnC,AACC,IAAgB,GAGb,OAAO,GAAgB,UAAY,aAAuB,UAC7D,EAAc,CAAC,EAAY,EAKxB,IAAQ,IAAA,IAAa,IAAQ,MAC3B,EAAY,MAAO,GAAM,EAAc,SAAS,EAAE,CAAC,GACvD,EAAG,MAAM,QAAU,QAEV,IAAQ,MACb,EAAY,KAAM,GAAM,EAAc,SAAS,EAAE,CAAC,GACtD,EAAG,MAAM,QAAU,QAEV,IAAQ,QACd,EAAY,KAAM,GAAM,EAAc,SAAS,EAAE,CAAC,GACrD,EAAG,MAAM,QAAU,SAItB,CAMD,SAAgB,EAAsB,EAAa,CAClD,EAAqB,EAGtB,SAAS,EAAK,EAAO,EAAK,CACzB,GAAI,CAAC,EACJ,MAAO,IAGJ,OAAO,GAAU,UAAY,aAAiB,UACjD,EAAQ,CAAC,EAAM,EAGhB,GAAI,CAAC,EAAa,GAAiB,EAYnC,GAVA,AACC,IAAgB,GAGb,OAAO,GAAgB,UAAY,aAAuB,UAC7D,EAAc,CAAC,EAAY,EAKxB,IAAQ,IAAA,IAAa,IAAQ,UAC5B,CAAC,EAAY,MAAO,GAAM,EAAc,SAAS,EAAE,CAAC,CACvD,MAAO,WAEE,IAAQ,UACd,CAAC,EAAY,KAAM,GAAM,EAAc,SAAS,EAAE,CAAC,CACtD,MAAO,WAEE,IAAQ,QACd,EAAY,KAAM,GAAM,EAAc,SAAS,EAAE,CAAC,CACrD,MAAO,GAGT,MAAO,GAGR,IAAA,EAAe,CAOd,QAAQ,EAAK,EAAS,CACrB,EAAI,UAAU,OAAQ,EAAc,CACpC,EAAI,OAAO,iBAAiB,MAAQ,EACpC,EAAI,QAAQ,OAAQ,EAAK,CAErB,GAAW,EAAQ,oBACtB,EAAsB,EAAQ,mBAAmB,EAGnD"}