戎建伟
戎建伟
2797 4 0

二次开发,如何调用系统的config.yaml 文件中的数据?

二次开发,如何调用系统的config.yaml 文件中的数据?
我希望,二次开发的网页处理函数,写成一个单独的package, 不在 pakage controller 里面。 谢谢!

0

See Also

Nearby


Discussion (4)

戎建伟
戎建伟 2020-08-07 01:18

我在router.go 中的修改:

sp.HandleFunc(pat.Get("/admin/link/list"), h.AdminLinkList)
sp.HandleFunc(pat.Post("/admin/link/list"), h.AdminLinkListPost)
sp.HandleFunc(pat.Get("/:filepath"), h.StaticFile)
sp.HandleFunc(pat.Post("/joke"), rjw123ylMiniP.PostHandlerPost)  // 我的网页处理函数,能正常运行。
sp.HandleFunc(pat.Get("/jokes"), rjw123ylMiniP.PostsHandler)

但是,无法加入变量 h。好像系统的设置是通过 h 传入的。

sp.HandleFunc(pat.Post("/joke"), rjw123ylMiniP.h.PostHandlerPost)  // 总是报错。

函数定义已经加了

func (H *BaseHandler)  PostHandlerPost(w http.ResponseWriter, r *http.Request)。

错误信息:undefind: rjw123ylMiniP.H

0
戎建伟
戎建伟 2020-08-07 09:39

将自己的网页处理函数,加入到 package controller, 可以使用 h 变量了。调用 config.yaml 文件中的数据,正常了。出现了新的问题, 原来的 Get 处理函数,转到 package controller 包内后, 总是被认定为 static 文件。
以前在 package main 中正常运行:
root.HandleFunc(pat.Get("/jokes"), rjw123ylMiniP.PostsHandler)
换到 pakage controller 后:
sp.HandleFunc(pat.Get("/jokes"), h.PostsHandler)
每次浏览这个目录,总是报错,没有 static 文件。

0
youbbs
youbbs 2020-08-07 10:02

@戎建伟 #2

把添加的路由放在路由/:filepath的上面

sp.HandleFunc(pat.Get("/jokes"), h.PostsHandler) // 新添加
sp.HandleFunc(pat.Get("/:filepath"), h.StaticFile)
0
戎建伟
戎建伟 2020-08-07 13:44

@youbbs #3 谢谢!解决了。

0
Login Topics