平台主要包含文件、模板和实例三大对象类型
文件主要包含:
后缀为ds的文件为服务器运行的脚本文件
ds脚本为自主研发的脚本语言,类似于js与c#,可以灵活的处理各种业务逻辑。
下面是简单的案例演示,ds专用函数可以访问 系统函数
文件:close.ds
var clientpath = "/admin/qianfeng/client";
var instancename = clientpath + "/" + client.id;
var inst = instance(instancename);
if (inst.sid._value == input().session.id) {
console.info("设备离线:" + client.id);
instance.set(instancename, {
"状态": "离线"
});
} else {
console.info($("离线的设备 已经在线了,session1:{0};session2:{1} --- " + client.id, input().session.id));
}
html文件中可以包含特定的标签提供特殊的功能:
file
<file src="/a/b.html"></file>
<file>
我的内容(标准html)
</file>
结果:
<file value="= r.name='aaaaa';return r;">
我的内容{name}
</file>
我的内容aaaaa
结果:
<file value="= r=[];obj1={};obj1.name='aaaaa';r.add(obj1); obj2={};obj2.name='bbbbbb';r.add(obj2); return r;">
我的内容{name}
</file>
我的内容aaaaa
我的内容bbbbbb
script
通过class属性指定是否服务器运行脚本
运行一段服务器脚本
<script class="ds">
var a=1;
return "";//此处返回将用于显示
</script>
生成服务器全局变量(主要用于数据绑定)
<script class="var">
r.data.a=1;
r.data.b=2;
return r;
</script>
<file value="=data">
{a}和{b}
</file>
代码输出
1和2
<html>
<head>
</head>
<script class="var">
r.data = data.query("/admin/测试/test", "", 0, 0, {}, ["$_value"]);
return r;
</script>
<body>
<file value="= data.rows">
<file value="= _value ">
<div>
{a}
<file if="= if(a-b>0) {return true} else { return false}">111111</file>
<file else>2222222</file>
</div>
</file>
</file>
</body>
</html>
模板可以看成是数据库表,只是可以是树形结构的表,利用平台提供的模型设计器,可以很方便的维护模板:
模板编辑器链接
平台提供基本的实例数据维护功能:
通过选择一个模板可以查看其关联的所有实例数据:
数据可以通过ds脚本产生:
新增:
data.insert("/admin/模板",{"a":11111,"b":222222});
更新:
data.update("/admin/模板",{"a":11111,"b":222222},数据ID)
删除:
data.delete("/admin/模板",数据ID)
数据清空:
data.deleteall("/admin/模板")