前端模板编写

前端模板有两个用途,一个是渲染前台页面,另外一个是渲染后台的page页面。

1、通过普通的html和css代码即可以完成编写。

2、遵循Go语言普通html页面模板的写法,支持{{.data}}访问数据。支持{{range}}{{end}}循环 {{if}}{{else if}} {{end}}条件判断等

3、增加了模板合成代码[T:base/header.html]模式。该代码的意思是将 base/header.html目录下的html片段加入到该代码的位置。

4、html、css、js都支持配置到consul的KV数据库中,可以通过页面编写,无需直接操作服务器。(需要关闭网站的生产模式)

5、对于前端页面来说,也有列表页和详情页的区别。所以,特意规定了一个单独的详情页。当前端页面的URL中传入 data-1 模式的参数后,就激活了详情页面,详情页面的模板默认是 model_name + _data.html.比如index.html的详情页面是 index_data.html

数据

渲染数据来源包含两个部分,一个是内置的数据源,包含基本配置;另外一个是通过接口配置生成的数据源,具体在接口配置 中查看详情。

内置的数据源有:

数据源名称中文名称说明
.page_info当前页面的菜单信息具体菜单字段参照菜单
.user用户信息具体信息内容参照用户信息
.page网页名称model_name例如首页的 page = index 主要用来确定当前页面是否是激活页面。
.query查询参数提交的查询参数,包含 url中 /dd-1/mm-2 也包括在refer中的参数。
.page_list翻页HTML可以直接使用 字符串转html即可使用 {{str2html .page_list}} 就可以产生翻页标签。
.err只在登录页面有效提示登录错误的具体信息

接口数据参见接口配置

函数

内置函数名称说明
{{range}}{{end}}循环数组
{{str2html}}将字符串转化为html显示,例如 {{str2html .page_list}}显示菜单。{{str2html .content}} 显示文章详情。
{{array}}将字符串转换为数组便于循环,例如 {{range array .data}} {{end}}
{{map}}将字符串格式化为map数据
{{mapdata}}将字符串格式化为map数据并且从map中取出值 {{mapdata .data mm}}表示中data字符串中取出mm的value

模板填写位置

consul KV存储的 web_name/files/views/目录下面填写html。