function() {
if(!me().isLogin) return { err: "需要登录" };
return { msg: "Hello " + me().nick };
}
function() {
var user = form();
if(!user.nick) return { err: "请输入昵称" };
me().bind(user);
return { msg: user.nick + " 登录成功" };
}
function() {
me().lose();
return { msg: "注销成功" };
}
function() {
var rs = { msg: "解析结果:" };
rs.json = fromjson(form().json);
return rs;
}
function() {
if(!form().nick) return { err: "请输入您的昵称" };
if(!form().msg) return { err: "请输入您的留言" };
db().insert("message", form());
return { newid: db().scalar("select @@identity"), data: form(), msg: "留言成功" };
}
function() {
var where = "1=1", par = new Array;
var key = form("key");
if(key) { where += " and charindex(?, msg)>0"; par.push(key); }
var rows = db().table("message").where(where).
page("id desc", form("limit") || 3, form("page"), par).
query();
return { rows: rows, pager: db().pager, cmd: db().lastSql };
}
function() {
var cmd = new Array; // 存储 SQL 命令执行记录
// 创建测试表
var tblName = "Test_" + Math.random().toString().slice(-4);
db().create(tblName, [
[ "id int", null, true ], // 字段类型,默认值,是否主键+自动编号
"nick nvarchar(32)", [ "addtime datetime", "getdate()" ]
]);
cmd.push(db().lastSql);
// 插入两条数据
db().insert(tblName, [ { nick: "Hello" }, { nick: "World" } ]);
cmd.push(db().lastSql);
// 查询所有数据[ query: 所有记录数组,fetch: 取第一行数据,scalar: 取第一行第一列值 ]
var rows = db().query("select * from " + tblName + " where id>@id", { id: 0 });
cmd.push(db().lastSql);
// 更新 id=2 的数据
db().update(tblName, { nick: "Test" }, { id: 2 });
cmd.push(db().lastSql);
// 删掉一条 id=1 的数据
db().query("delete from " + tblName + " where id=?", [ 1 ]);
cmd.push(db().lastSql);
// 更高级一些的用法【假设需要根据某ID 统计数据,分页之后,再关联查询相关数据】
var total = db().table(tblName).select("id, count(0) as cnt").groupby("id").where("id>@id").
astable("a").page("cnt desc", 15, 1, { id: 0 }).astable("a"). // 统计需要先 astable 才能分页,分页后astable 确保只有15条数据需要关联其他表内容
join(tblName + " b on b.id=a.id").select("b.*, a.cnt").query(); // page 方法里面传了参数(第四个参数)后,后面可以免参数(如果参数没有变动)
cmd.push(db().lastSql);
// 删除测试数据表
db().query("drop table " + tblName);
cmd.push(db().lastSql);
return { rows: rows, cmd: cmd, total: { rows: total, pager: db().pager }, dur: new Date - sys.sTime };
}
function() {
var up = lib("/AspLib/lib/FyUpload.sct");
up.Filter = "jpg|png|gif|jpeg";
up.MaxSize = 5 * 1024 * 1024; // 最高允许 5Mb
Server.ScriptTimeout = 999;
up.Charset = "UTF-8"; up.ReadForm(2e5);
var file = up.Form("img");
if(!file || !file.SourceName) return { err: "未上传文件" };
up.SaveFile("Upload"); up.Dispose();
if(file.Message) return { err: file.Message };
return { path: "Upload/" + file.FileName };
}
function() {
var fileName = "test.txt";
var file = lib("/AspLib/lib/File.sct");
// file.charset = "GBK"; // 默认 UTF-8
var str = form("text") || (file + "");
file.writeText(fileName, str);
return { msg: file.readText(fileName) };
}
function() {
var rs = cc(sys.ns + "CacheTest", function() {
var data = this.value || new Object;
data.time = sys.sTime.getVarDate();
data.counter = -~data.counter;
return data;
}, 7);
return { counter: rs.counter, time: rs.time };
}
function() { return { result: md5(form("text") || "a"), text: form().text }; }
function() {
sys.mch.id = "123456789"; sys.mch.key = "1234567890abcdef1234567890abcdef";
sys.mch.cert = "LOCAL_MACHINE\\MY\\某某科技有限公司";
// 支付费用,回调参数,回调地址,支付内容
return wxcashier(1, tojson({ id: 1 }), env("URL"), "收银台");
}
function() {
var raw = "vI0+iGuh2wHWATjkxOBuJ3GLLUt5+rztg4V2IOittdWJ+lREdhRFBkgQd9C1EgpIyBKDbx2HoUBKAzbGg+/y2hHOLiMwD7zuHRoQUJeRf08Hinp92ueKdv8zKa/yMPB1t3aE+Cw78p4njOBvi7+XVv3E7t4p8OVpqmAMlE97cKP/VA20BQhAonFz3OuBXFCwC2wPFadmcYrSnsslxZ1EcMZjYOyu8fOukGbk/4n0OUnuQBJKjygiIM3d/jQE4f7FxOODYRbf2B/JETDVzod2M8Yi/VlDIBMz+dXcr9XB3emKZr+Om2YaWEE2EwxBajWQCHocboR3M2xHy4iQjLgd2RodhyMRgmkhbq+W1162jgLdEwc7/AQcYPurWmh/1swMkAPgRVQjLjjB9P6sZkn2+XXKBMJ2ab3xoJoix2a7JTkgtSMkQ5U1gjqAixtl3CM5xo6Ixnd+MAqHrqKXRUMsq2aW7YdkA8x8uP5l4dTpYYk1TRxPKZDxTHrHmKsw2cHwCvhoeTS07+7+8wJ3RVgCBNoDmJSpv/5sH3rT4YZkxPS1QkTbTVQ2EucDC37Kv6nwWEoPKBoiYz3rOWC4CdjWmORNhJEVVxVZ0Nx3XpnKb0el24RpFLpH3zlIapNxBXDZVubzehNT4kB+vE7SF4wF1c9pB8QCSih5dwLzZ+VysffBRjYE6y63G51CZQ3CaNj10F2FJEvrNhRkV4a4Ns/eZ1Sq60XONJvSGT0GOtUrKLuFQl/uZbjQcDhavdUwmRz0Gxhs0CstTksGvas/0b/IHptKJ9wZ+J0qjBwTAekJt6jxIm+rU9NHKB2MXRMXnRMfdd9TrzNxqT2U+UXa/dXeEvg454PRVJYCoQbK/vm6yMbkV+i3sKINQW90c+siqcSuYnnchxJ9NnjVOe4u0JRRw0HuwNbgL79hETRKNW0ESoJsMXm14e7KHd+ht3dV16KrMZ7/LK0HaVOGCaBQyL8wRcFkyvu8QYYM8jGptvhjDKygF4YcOzS6PPYmku74FxS5ehfEHiOXvoTRob8sU5esj7NDTqo9lY3Ma8Hj9jrSOpcs9Fup8uwM2gb0uxMR/o17l4ep/gpX608FC/eHdS4falhQjUcBmC5aibyfGF4OQkvgJWQRSHCJltQbvRrKDSeoWb9MhirvfoovV8GGpfludVrpQ3HniBGXPpRz2oi5bqK7OI52LLBkMGUZ/UIduX1XRKxwVRhdn3jnyTkxmH45/mixL2siSRfGsI/+tIdJi+yaCcCRQaF2s5wHZWb+m/RGDXcpuk3M3khrTS6Zfdfxi5jV8GoIgRZ3ouWOVw3C3yUaS9Cmo+abokCBPKtvVTPiDmock5FXuIOvB1y6Xo2ReVC0yixAjRThgCOeAWD7Ci9QsyigSnwH2Tl2XV7dhJNaq3iS30kQbzN42+v+jas4P9a4AP8xDIDCelZYoTBHYCpGrXrVL/pvwMHpSmzILpwivcbt2vXJGeiKl39qoBIRdE/swZ8+yGojU8ZXTJ9hQkJg7/R+sPO3rZKxE/mazzc1j79Rj/8ts+5j8qrcsTpZgwwabxyxby02s71pDuQ5/yAY2qtd5FBW1s3V14K+gcmk3abQsTO8YdgiiU2borEXK8KNOLwbuPsSAEr2W5bNr3M=";
var sskey = "uRVm+1Qcod/Kij3cCUwG6w==", iv = "pZ5NNYGUdwpCWzsmUT/6vg==";
var aes = lib("/AspLib/lib/AesCbc.sct");
var walk = fromjson(aes.dec(raw, sskey, iv));
delete walk.watermark; return walk;
}
function() { return wxjsapisign(form("url")); }
function() {
var xhr = new ActiveXObject("MsXml2.ServerXmlHttp");
xhr.open("GET", form("url"), true);
xhr.send(); xhr.waitForResponse();
var root = new ActiveXObject("htmlfile").createElement("xml").createElement("x");
root.dataType = "bin.hex";
root.nodeTypedValue = xhr.responseBody;
var bin = root.text, arr = new Array;
for(var i = 0; i < bin.length; i += 2) arr.push(parseInt(bin.substr(i, 2), 16));
var img = cc().win.eval("(" + function(str) {
var img = new Image, arr = new Uint8Array(JSON.parse(str));
img.src = URL.createObjectURL(new Blob([arr])); return img;
} + ")")("[" + arr + "]");
return { src: img.src, width: img.width, height: img.height, size: arr.length, time: new Date - sys.sTime };
}
function() {
var sec = Math.max(Math.min(~~form("second") || 1, 5), 1);
var wsh = Server.CreateObject("WScript.Shell");
wsh.Popup("Hello", sec);
return { msg: "等待了" + sec + "秒" };
}