前端模板编写
前端模板有两个用途,一个是渲染前台页面,另外一个是渲染后台的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。