页面设置 - 数据页面
使用模板生成页面的时候,页面设置都被模板配置好了。
页面设置提供了一些进阶的配置能力。
页面配置
1.普通属性
-
页面类型:
- 普通:通常建立的页面都是普通。
- Xml: 页面内容会生成为一个xml。
- Json: 页面内容会生成为一个Json。
- 数据: 页面的数据会生成Json(下面会细讲)。
-
填充属性:
- 按设计尺寸不变:设计的页面尺寸在浏览器上宽度不变。
- 自适应宽度:在浏览器上自动按比例放大撑满宽度。
-
图标:选择一个图标作为页面图标,出现在导航菜单里。
-
图片图标:上传一个图片作为页面图标,出现在导航菜单里。
-
背景图:上传一张图片,作为页面背景图。
-
初始化动作函数(高级):页面在浏览器上加载完毕后,立刻执行的动作函数。
2.数据类型的页面
使用MisShop提供数据给其他地方使用的时候,最便捷的就是把这个页面定义为数据页面。访问这个页面的时候,得到会是JSON格式的页面数据。
例如:创建一个数据类型的页面,页面数据 bumen 是部门表的数据集。那么访问结果如下:
{"bumen":
{"cols":
["id","名称","主管","上级部门","描述","webmis_record_version"],
"tableName":"部门",
"version":21
"data":[
[1,"业务部",1,null,"money滚滚来",1],
[2,"财务部",2,null,"只能看,不能拿",1]
],
}
}
得到的bumen对象,可以用Mis.Formater.toJson(bumen),转换为普通格式的json对象。
[
{"id":1,"名称":"业务部","主管":1,"上级部门":null,"描述":"money滚滚来","webmis_record_version:1"},
{"id":1,"名称":"财务部","主管":2,"上级部门":null,"描述":"只能看,不能拿","webmis_record_version:1"}
]
3.计算复杂的数据的技巧-例如统计
碰到计算复杂的数据的时候,先在格子上画出来,然后再用函数
DataSet.createByCells
把这些格子拼成一个数据集传递给前端。
DataSet.createByCells :用页面单元格构造数据集,第一行是列头,其他行是数据,支持扩展行列,第一个参数是起始格,第二个参数是终止格。
需求:对用户按照部门分组统计人数以及id和,拼成一个JSON传递给其他页面。
- 这是一个简单的统计,我们先做一个页面把统计表格画出来。
按部门分组统计.png
- 运行一下,确认结果正确。
计算结果确认
3.定义页面数据 部门统计,初始化函数设置为:DataSet.createByCells(Cl.A1,Cl.C2)
数据定义
4.页面设置中将页面类型修改为 数据,预览页面得到结果
"部门统计":{"cols":["部门","人数","id和"],"tableName":"IdValue","data":[["业务部",3,526],["财务部",2,266]],"version":0}
4.数据页面的特殊要求
后端限制数据
因为有些数据是计算需要,但又不希望前端能看到。
开发者可以在页面数据配置中,把希望获得的数据设置为前端数据,不希望获得的数据设置为后端数据。
前端可以只返回部分数据吗?
前端指定返回部分数据
前端请求的URL里添加参数 mis_request_datas 可以仅返回指定名称的页面数据。
例如添加参数 mis_request_datas=juese,ds,将仅返回juese和ds这两个数据。
完整请求路径示例:
localhost/misshop/cGFnZS_ns7vnu5_nrqHnkIYvYWE=.raq?mis_request_datas=juese,ds
从普通页面获得数据(出于安全考虑,未来版本可能会取消这个功能。)
URL加上参数 mis_dataraq=true。
http://localhost/misshop/cGFnZS_nurXlkJHmoLzlrZDnlJ_miJBkcw==.raq?mis_dataraq=true