見出し画像

TWSNMP FC:マップ設定のフォームができた

今朝は寝ていたいと思っていましたが、猫は容赦なく4時に起こしてくれました。昨日の続きでNuxtからGO言語のサーバーのAPIにリクエストを送ってマップ設定を保存するところを作りました。
復刻版のダイアログからNuxtのフォームに

画像1

のような感じで移植しました。Vuetifyのフォーム

を使うと私でも簡単にフォームが作れます。入力チェックなどいろいろ使ってみたい機能がありますが、まだ我慢して基本的な動作だけ作りました。GO言語側のサーバーにマップ設定の取得と保存するAPIを追加しました。
これもEchoを使うと簡単にできました。取得は、

func getMapConf(c echo.Context) error {
	api := c.Get("api").(*WebAPI)
	r := new(mapConfWebAPI)
	r.MapName = api.DataStore.MapConf.MapName
	r.PollInt = api.DataStore.MapConf.PollInt
	r.Timeout = api.DataStore.MapConf.Timeout
	r.Retry = api.DataStore.MapConf.Retry
	r.LogDays = api.DataStore.MapConf.LogDays
	r.LogDispSize = api.DataStore.MapConf.LogDispSize
	r.SnmpMode = api.DataStore.MapConf.SnmpMode
	r.Community = api.DataStore.MapConf.Community
	r.User = api.DataStore.MapConf.User
	//	r.Password = api.DataStore.MapConf.Password
	r.EnableSyslogd = api.DataStore.MapConf.EnableSyslogd
	r.EnableTrapd = api.DataStore.MapConf.EnableTrapd
	r.EnableNetflowd = api.DataStore.MapConf.EnableNetflowd
	r.AILevel = api.DataStore.MapConf.AILevel
	r.AIThreshold = api.DataStore.MapConf.AIThreshold
	return c.JSON(http.StatusOK, r)
}

のような感じです。
組み合わせると、

画像2

のような感じで動きます。フォームによる設定の方法を一通り理解したのであとは他の部分に展開していけばよさそうです。

昨日と今日の作業は、

です。保存するデータの内容も変更したので他の部分の修正も入っています。



開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。