管理パネルを使用すると、蒸気プロジェクトの管理機能を簡単にセットアップおよび保守できます。これは、このパッケージで箱から出てくる上位のフィーーチュールのリストです。
Package.swift
ファイルを更新します:
. package ( url : " https://github.com/nodes-vapor/admin-panel-provider.git " , . upToNextMinor ( from : " 0.7.0 " ) ) ,
targets: [
. target (
name : " App " ,
dependencies : [
...
" AdminPanelProvider "
]
) ,
...
]
次回、EG vapor update
Adminパネルを実行するとインストールされます。
このリポジトリからプロジェクトにResources
とPublic
フォルダーをコピーします。レポをzipとしてダウンロードしてから、フォルダーをプロジェクトのルートに移動できます。プロジェクト内のファイルを上書きしていないことを確認してください。
Metaを使用している場合はmeta.json
内のexceptPaths
配列に次のパスを追加することを忘れないでください。
"/bower_components/*"
"/dist/*"
"/plugins/*"
Config+Setup.swift
(またはプロバイダーをセットアップする場所)で、管理パネルプロバイダーを追加してください。
import AdminPanelProvider
// ...
private func setupProviders ( ) throws {
// ...
try addProvider ( AdminPanelProvider . Provider . self )
}
また、Fluent Providerがまだいない場合は、Fluentプロバイダーを追加してください。
try addProvider ( FluentProvider . Provider . self )
このパッケージは、リーフビューレンダラーに大きく依存しています。管理パネルが機能するには、 LeafProvider
が追加されていることを確認してください。
import LeafProvider
// ...
private func setupProviders ( ) throws {
// ...
try addProvider ( LeafProvider . Provider . self )
}
プロジェクトがビューレンダラーとしてLeafを使用していることを確認してください。 droplet.json
のバリューleaf
にキーview
設定することにより、葉をレンダラーとして設定できます。まだ与えられていない場合は、追加するだけです。
"//" : " Choose which view renderer to use " ,
"//" : " leaf: Vapor's Leaf renderer " ,
"view" : " leaf " ,
SSOプロバイダーを追加していない場合、次に行う必要があるのは、新しい管理パネルにログインできるようにユーザーをシードすることです。これを行うには、 droplet.json
のcommands
配列にシーダーコマンドを追加します:
"//" : " 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 "
],
これで、シーダーを実行する2つの方法があります。ターミナルでシーダーを実行します。
vapor build; vapor run admin-panel:seeder
または、XcodeでRun
スキームを一時的に編集し、「起動時に渡された引数」の下にあるadmin-panel:seeder
を追加します。これにより、プロジェクトを実行するとシーダーが実行されます。プロジェクトを実行して、ユーザーがシードされた後に引数を削除します。
シーダーを使用して作成されるユーザーには、次の資格情報があります。
Vaporには、実行時に動的にキャストするために使用されるNode.fuzzy
アレイがあります。レンダリングテンプレートと矛盾が発生している場合は、ファジーアレイにViewData.self
が欠落しているため、アレイに追加したこと、またはすべてのモデルがJSON
/ Node
に準拠していることを確認してください。例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 ]
管理パネルには、フロントエンド開発の負担を軽減するのに役立つカスタムリーフタグがたくさんあります。ここで完全なリストをご覧ください。
CORSミドルウェアをプロジェクトに追加することを強くお勧めします。
管理パネルは、 adminpanel.json
構成ファイルを(追加または)変更することで構成できます。以下は、利用可能なキーの内訳です。
鍵 | 例の例 | 必須 | 説明 |
---|---|---|---|
name | My Tech Blog | いいえ | これは、管理パネルの内部のタイトルになります。 |
baseUrl | http://mytechblog.com | いいえ | これは、管理パネルのURLを生成するために使用されます(たとえば、パスワードをリセットするとき)。 |
skin | green-light | いいえ | 管理パネルに使用するスキン。オプションは、adminlteがサポートする利用可能なスキンに対応します。肌を指定するときは、 skin- 接頭辞を省略してください。 |
email | {"fromName": "Admin Panel", "fromAddress": "[email protected]"} ` | いいえ | これは、adminpanelのメーラーの構成に使用されます。 |
シングルサインオンは、プロジェクトのユーザーに管理パネルにログインするための便利な方法です。
このパッケージは、NodesのVaporチームによって開発および維持されています。このプロジェクトのパッケージ所有者はSteffenです。
このパッケージは、MITライセンスに基づいてライセンスされているオープンソースソフトウェアです