Partage de code de contrôle des autorisations de vue-router
Cet article vous présente principalement l'exemple de code du contrôle des autorisations vue-router. L'éditeur pense qu'il est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.
Le système de gestion backend de l'entreprise a été récemment construit et le système est relativement volumineux. Les points suivants doivent être atteints :
Autorisations de menu, affichage différent. selon différentes autorisations Menu
autorisations d'opération, par exemple, certains comptes n'ont pas l'autorisation d'ajouter, et certains n'ont pas l'autorisation de modifier ou de supprimer
autorisations de données, telles que l'aperçu statistique, les administrateurs ordinaires ne peuvent pas voir l'aperçu des activités de l'entreprise, mais ils peuvent voir l'aperçu de leur région
autorisations d'affichage, telles que les listes, les opérations peut voir le montant du contrat dans cette colonne, mais le marché ne peut pas voir la colonne du montant du contrat
Il est encore en construction jusqu'à présent, et les autorisations de menu et les autorisations d'opération ont été résolues.
Autorisations de menu :
Au début, nous avons également suivi la méthode indiquée ci-dessus. Nous configurons d'abord un ensemble d'itinéraires localement, puis après une connexion réussie, une liste de menus sera affichée. renvoyé par le serveur. Ensuite, dans beforeEach, la liste de menus renvoyée est comparée à la route configurée localement. Si elle existe, elle a l'autorisation d'accéder. Après avoir travaillé dessus pendant quelques jours, j'ai eu du mal à l'utiliser. J'ai dû configurer un ensemble complet de routes localement, et j'ai également dû créer plusieurs pages pour écrire les informations de routage sur le serveur, afin d'attribuer des autorisations. Lorsque vous avez beaucoup de menus d'autorisations, comme le nôtre. Dans ce backend, il existe plusieurs ensembles d'autorisations internes à l'entreprise, ainsi que des autorisations d'agent, de commerçant, etc. Il peut y avoir plus de centaines de menus différents. Une telle configuration est trop fatigante et. sujet aux erreurs.
La solution finale est de ne faire aucune configuration de routage localement. La page de connexion est créée séparément et non placée dans le composant vue. Une fois la connexion réussie, la liste de menus est récupérée dans le composant vue. arrière-plan car la connexion est réussie maintenant, donc ce que vous récupérez, c'est un tout nouveau menu. Après avoir réussi la récupération, configurez-le dans la route, puis instanciez vue. Cela évite d'avoir à configurer un ensemble de routes localement et configure la route entièrement sur le serveur.
La seule difficulté résolue de cette manière est que le routage nécessite des composants correspondants, nous stockons donc tous les composants dans un objet. Dans la liste de menu renvoyée par le serveur, il y aura un champ pour configurer le composant. name. lorsque la configuration de routage est générée une fois la récupération réussie, utilisez simplement router[menuName] pour la charger directement dans ce composant, ce qui est très pratique.
Extrait de code 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 }); };
Extrait de codecomponentConfigs.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') } }
Le menu json renvoyé par le serveur :
Le champ méta contient les autorisations d'opération dans la route actuelle
[{ "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}} }] }]
Les autorisations du menu sont à peu près comme ceci. Quant aux autorisations d'opération, l'idée est la suivante : Écrivez un plug-in de vue d'authentification, puis placez toutes les opérations indépendamment dans les méthodes, puis toutes les opérations appellent la fonction d'authentification dans ; @click, $auth( 'add', arg1, arg2, ...argN); Déterminez dans $auth si this.$route.meta a l'autorisation d'effectuer cette opération. Si tel est le cas, appelez this[authName].apply(null. , arg);
Recommandations associées :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quark Netdisk et Baidu Netdisk sont tous deux des outils de stockage très pratiques. De nombreux utilisateurs se demandent si ces deux logiciels sont interopérables ? Comment partager Quark Netdisk avec Baidu Netdisk ? Laissez ce site présenter en détail aux utilisateurs comment enregistrer les fichiers Quark Network Disk sur Baidu Network Disk. Comment enregistrer des fichiers de Quark Network Disk vers Baidu Network Disk Méthode 1. Si vous souhaitez savoir comment transférer des fichiers de Quark Network Disk vers Baidu Network Disk, téléchargez d'abord les fichiers qui doivent être enregistrés sur Quark Network Disk, puis ouvrez le client Baidu Network Disk, sélectionnez le dossier dans lequel le fichier compressé doit être enregistré et double-cliquez pour ouvrir le dossier. 2. Après avoir ouvert le dossier, cliquez sur « Télécharger » dans le coin supérieur gauche de la fenêtre. 3. Recherchez le fichier compressé qui doit être téléchargé sur votre ordinateur et cliquez pour le sélectionner.

Certains utilisateurs ont rencontré des erreurs lors de l'installation du périphérique, provoquant le code d'erreur 28. En fait, cela est principalement dû au pilote. Il nous suffit de résoudre le problème du code de pilote Win7 28. Voyons ce qu'il faut faire. . Que faire avec le code 28 du pilote Win7 : Tout d'abord, nous devons cliquer sur le menu Démarrer dans le coin inférieur gauche de l'écran. Ensuite, recherchez et cliquez sur l'option "Panneau de configuration" dans le menu contextuel. Cette option est généralement située en bas ou près du bas du menu. Après avoir cliqué, le système ouvrira automatiquement l'interface du panneau de configuration. Dans le panneau de configuration, nous pouvons effectuer divers paramètres système et opérations de gestion. C'est la première étape du niveau de nettoyage nostalgique, j'espère que cela aidera. Ensuite, nous devons continuer et entrer dans le système et

Que faire avec le code d'écran bleu 0x0000001. L'erreur d'écran bleu est un mécanisme d'avertissement en cas de problème avec le système informatique ou le matériel. Le code 0x0000001 indique généralement une panne de matériel ou de pilote. Lorsque les utilisateurs rencontrent soudainement une erreur d’écran bleu lors de l’utilisation de leur ordinateur, ils peuvent se sentir paniqués et perdus. Heureusement, la plupart des erreurs d’écran bleu peuvent être dépannées et traitées en quelques étapes simples. Cet article présentera aux lecteurs certaines méthodes pour résoudre le code d'erreur d'écran bleu 0x0000001. Tout d'abord, lorsque nous rencontrons une erreur d'écran bleu, nous pouvons essayer de redémarrer

1. Tout d'abord, nous entrons dans NetEase Cloud Music, puis cliquons sur l'interface de la page d'accueil du logiciel pour accéder à l'interface de lecture de chansons. 2. Ensuite, dans l'interface de lecture de la chanson, recherchez le bouton de fonction de partage en haut à droite, comme indiqué dans l'encadré rouge de la figure ci-dessous, cliquez pour sélectionner le canal de partage dans le canal de partage, cliquez sur l'option « Partager sur » sur en bas, puis sélectionnez le premier « WeChat Moments » qui vous permet de partager du contenu avec WeChat Moments.

Le système Win10 est un très excellent système à haute intelligence. Sa puissante intelligence peut apporter la meilleure expérience utilisateur aux utilisateurs. Dans des circonstances normales, les ordinateurs du système Win10 des utilisateurs n'auront aucun problème ! Cependant, il est inévitable que divers défauts se produisent sur d'excellents ordinateurs. Récemment, des amis ont signalé que leurs systèmes Win10 rencontraient fréquemment des écrans bleus ! Aujourd'hui, l'éditeur vous proposera des solutions aux différents codes qui provoquent des écrans bleus fréquents sur les ordinateurs Windows 10. Jetons un coup d'œil. Solutions aux écrans bleus fréquents de l'ordinateur avec des codes différents à chaque fois : causes des différents codes d'erreur et suggestions de solutions 1. Cause de l'erreur 0×000000116 : Il se peut que le pilote de la carte graphique soit incompatible. Solution : Il est recommandé de remplacer le pilote d'origine du fabricant. 2,

Code de terminaison 0xc000007b Lors de l'utilisation de votre ordinateur, vous rencontrez parfois divers problèmes et codes d'erreur. Parmi eux, le code de terminaison est le plus inquiétant, notamment le code de terminaison 0xc000007b. Ce code indique qu'une application ne peut pas démarrer correctement, provoquant des désagréments pour l'utilisateur. Tout d’abord, comprenons la signification du code de terminaison 0xc000007b. Ce code est un code d'erreur du système d'exploitation Windows qui se produit généralement lorsqu'une application 32 bits tente de s'exécuter sur un système d'exploitation 64 bits. Cela signifie que ça devrait

Si vous devez programmer un appareil à distance, cet article vous aidera. Nous partagerons les meilleurs codes de télécommande universelle GE pour programmer n’importe quel appareil. Qu'est-ce qu'une télécommande GE ? GEUniversalRemote est une télécommande qui peut être utilisée pour contrôler plusieurs appareils tels que les téléviseurs intelligents, LG, Vizio, Sony, Blu-ray, DVD, DVR, Roku, AppleTV, lecteurs multimédias en streaming et plus encore. Les télécommandes GEUniversal sont disponibles en différents modèles avec différentes caractéristiques et fonctions. GEUniversalRemote peut contrôler jusqu'à quatre appareils. Les meilleurs codes de télécommande universels à programmer sur n'importe quel appareil. Les télécommandes GE sont livrées avec un ensemble de codes qui leur permettent de fonctionner avec différents appareils. vous pouvez

Que signifie le code d'écran bleu 0x000000d1 ? Ces dernières années, avec la popularisation des ordinateurs et le développement rapide d'Internet, les problèmes de stabilité et de sécurité du système d'exploitation sont devenus de plus en plus importants. Les erreurs d’écran bleu sont un problème courant, le code 0x000000d1 en fait partie. Une erreur d'écran bleu, ou « Écran bleu de la mort », est une condition qui se produit lorsqu'un ordinateur subit une panne système grave. Lorsque le système ne parvient pas à récupérer de l'erreur, le système d'exploitation Windows affiche un écran bleu avec le code d'erreur à l'écran. Ces codes d'erreur
