Module
提供了开发Module需要的额外方法
基本信息
取得当前Module的URL以及配置信息
k.module.baseUrl;
k.module.config;
File
操作当前Module的本地文件, 可操作的类型如下:
k.module.localFile.api;
k.module.localFile.css;
k.module.localFile.file;
k.module.localFile.img;
k.module.localFile.js;
k.module.localFile.view;
读取的示例如下:
k.module.localFile.css.writeText("abc.css", "div{color:red;}")
var result = k.module.localFile.css.readText("abc.css");
k.response.write(result);
IndexedDb
操作当前Module下的IndexedDb实例, 与数据库章节里介绍的IndexedDb的操作方法是一样的, 唯一的差别是目前Module这边没有提供数据库管理界面。
插入与读取的示例方法如下:
var obj = {
FirstName: "my first Name",
LastName: "my last name"
}
k.module.localIndexedDb.newtable.add(obj);
var list = k.module.localIndexedDb.newtable.all();
k.response.json(list);
Sqlite
Module提供一个本地的Sqlite数据库,使用方法与站点下的Sqlite数据库是一样的
var obj = {
FirstName: "my first Name",
LastName: "my last name"
}
k.module.localSqlite.newtable.add(obj);
var list = k.module.localSqlite.newtable.all();
k.response.json(list);
定时任务
比如如果需要在Module中实现定时任务,示例如下:
k.task.minute(2).run(
function () {
var unPubLish = k.module.localDatabase.schedule.all();
if (unPubLish) {
unPubLish.forEach(
function (o) {
if (o.date && o.date < Date.now) {
var content = k.content.blog.get(o.id);
if (content) {
content.Online = true;
k.content.blog.update(content);
k.module.localDatabase.schedule.delete(o.id)
}
}
}
);
}
}
);