Le panneau d'administration facilite la configuration et le maintien des fonctionnalités d'administration pour votre projet de vapeur. Voici une liste de certains des meilleurs feautres qui sortent de la boîte avec ce package:
Mettez à jour votre fichier Package.swift
:
. package ( url : " https://github.com/nodes-vapor/admin-panel-provider.git " , . upToNextMinor ( from : " 0.7.0 " ) ) ,
targets: [
. target (
name : " App " ,
dependencies : [
...
" AdminPanelProvider "
]
) ,
...
]
La prochaine fois que vous exécutez, par exemple, le panneau d'administration vapor update
sera installé.
Copiez les Resources
et les dossiers Public
de ce dépôt dans votre projet. Vous pouvez télécharger le repo sous forme de zip, puis déplacer les dossiers sur la racine de votre projet. N'oubliez pas de vérifier que vous n'écrasez aucun fichier dans votre projet.
Si vous utilisez Meta, n'oubliez pas d'ajouter les chemins suivants au tableau exceptPaths
de meta.json
:
"/bower_components/*"
"/dist/*"
"/plugins/*"
Dans votre Config+Setup.swift
(ou partout où vous configurez vos fournisseurs), assurez-vous d'ajouter le fournisseur de panneaux d'administration:
import AdminPanelProvider
// ...
private func setupProviders ( ) throws {
// ...
try addProvider ( AdminPanelProvider . Provider . self )
}
Assurez-vous également d'ajouter le fournisseur fluide s'il ne l'a pas déjà été:
try addProvider ( FluentProvider . Provider . self )
Ce package repose fortement sur le rendu de la vue sur leaf. Pour que le panneau d'administration fonctionne, veuillez vous assurer que vous avez ajouté le LeafProvider
:
import LeafProvider
// ...
private func setupProviders ( ) throws {
// ...
try addProvider ( LeafProvider . Provider . self )
}
Assurez-vous que votre projet utilise Leaf comme rendu de vue. Vous pouvez définir la feuille en tant que rendu en définissant la view
clé sur la leaf
de valeur dans votre droplet.json
. Dans le cas où il n'est pas encore donné, ajoutez-le simplement:
"//" : " Choose which view renderer to use " ,
"//" : " leaf: Vapor's Leaf renderer " ,
"view" : " leaf " ,
Si vous n'avez pas ajouté de fournisseur SSO, la prochaine chose que vous devez faire est de semer un utilisateur afin de pouvoir vous connecter dans votre nouveau panneau d'administration. Pour ce faire, ajoutez la commande Seeder à votre tableau de commands
dans votre droplet.json
:
"//" : " Choose which commands this application can run " ,
"//" : " prepare: Supplied by the Fluent provider. Prepares the database (configure in fluent.json) " ,
"commands" : [
" prepare " ,
" admin-panel:seeder "
],
Maintenant, vous avez deux façons de diriger le Seeder. Vous dirigez le semence dans votre terminal par:
vapor build; vapor run admin-panel:seeder
Ou vous modifiez temporairement le schéma Run
dans Xcode et ajoutez admin-panel:seeder
sous "Arguments transmis au lancement". Cela exécutera le Seeder lorsque vous exécutez le projet. Exécutez le projet et supprimez l'argument une fois que l'utilisateur a été ensemencé.
L'utilisateur qui sera créé à l'aide du Seeder aura les informations d'identification suivantes:
Vapor a un tableau Node.fuzzy
qui est utilisé pour la coulée dynamiquement au moment de l'exécution. Si vous rencontrez des incohérences avec des modèles de rendu, c'est probablement parce que votre tableau floue manque ViewData.self
assurez-vous que vous l'avez ajouté au tableau ou que tous vos modèles sont conformes à JSON
/ Node
. Exemple Node.fuzzy
:
extension Config {
public func setup ( ) throws {
// allow fuzzy conversions for these types
// (add your own types here)
Node . fuzzy = [ JSON . self , Node . self , ViewData . self ]
Le panneau d'administration est livré avec un tas de balises de feuilles personnalisées qui aident à soulager le fardeau du développement du frontend. Consultez la liste complète ici.
Il est fortement recommandé d'ajouter le middleware CORS à votre projet.
Le panneau d'administration peut être configuré en (ajout ou) modifiant le fichier de configuration adminpanel.json
. Vous trouverez ci-dessous une ventilation des clés disponibles.
Clé | Exemple de valeur | Requis | Description |
---|---|---|---|
name | My Tech Blog | Non | Ce sera le titre à l'intérieur du panneau d'administration. |
baseUrl | http://mytechblog.com | Non | Cela sera utilisé pour générer des URL pour le panneau d'administration (par exemple, lors de la réinitialisation d'un mot de passe). |
skin | green-light | Non | La peau à utiliser pour le panneau d'administration. Les options correspondent aux skins disponibles pris en charge par Adminlte. Veuillez omettre le préfixe skin- lors de la spécification de la peau. |
email | {"fromName": "Admin Panel", "fromAddress": "[email protected]"} ` | Non | Ceci sera utilisé pour configurer le Mailer de l'administration. |
L'authentification unique peut être un moyen pratique d'offrir aux utilisateurs de votre projet de se connecter dans votre panneau d'administration.
Ce package est développé et entretenu par l'équipe de vapeur de Nœuds. Le propriétaire du package pour ce projet est Steffen.
Ce package est un logiciel open d'open sous licence MIT