/*
软件作者:https://xuhss.com/oxox/pro
*/
"ui";
ui.layout(
<vertical>
<horizontal w="*">
<button id="but" w="50" text="《"/>
<input id="input" w="*"/>
</horizontal>
<list id="list">
<vertical w="*" margin="5" bg={colors.toString(colors.GRAY)}>
<text text="{{name}}"/>
<text text="{{type}}"/>
<text text="{{string}}"/>
</vertical>
</list>
</vertical>
);
var isCanClip = false;
var storage = storages.create("AJ查询");
var CurrentThis = this;
var SuperTextAry = ["", ""];
var SuperTextAry = storage.get("TextAry", SuperTextAry);
threads.start(function() {
ui.run(() => {
ui.input.setText(String(SuperTextAry[SuperTextAry.length - 1]));
ui.list.setDataSource(ApiList(SuperTextAry[SuperTextAry.length - 1]));
});
});
ui.input.addTextChangedListener(new android.text.TextWatcher({
afterTextChanged: function(Text) {
if (String(Text) != SuperTextAry[SuperTextAry.length - 1]) {
SuperTextAry.push(String(Text));
ui.run(() => {
ui.list.setDataSource(ApiList(SuperTextAry[SuperTextAry.length - 1]));
});
};
}
}));
ui.list.on("item_click", function(item, i, itemView, listView) {
if (isCanClip) {
setClip("//" + Disassembly(item).replace(/\n/g, ""));
toast("已复制\n" + item.name + "…");
return;
};
var TextAry = String(ui.input.getText()).split(".");
TextAry.pop();
var Text = TextAry.join(".");
Text = Text ? Text + "." : Text;
ui.run(() => {
ui.input.setText(String(Text + item.name));
});
});
ui.but.click(() => {
if (SuperTextAry.length > 1) {
SuperTextAry.pop();
threads.start(function() {
ui.run(() => {
ui.input.setText(String(SuperTextAry[SuperTextAry.length - 1]));
ui.list.setDataSource(ApiList(SuperTextAry[SuperTextAry.length - 1]));
});
});
};
});
function ApiList(Text) {
if (typeof Text == "string") {
var TextAry = Text.split(".");
var text = TextAry.pop();
log(TextAry.join("."), text);
var OB;
try {
var thread = threads.start(function() {
OB = eval("(" + (TextAry.join(".") || "CurrentThis") + ")");
});
thread.join();
return Detail(OB, text, (TextAry.join(".") || "this"));
} catch (e) {
log("我: " + e);
return [];
};
};
};
function Detail(A, str, text) {
if (!A) {
return [{
name: "运行 " + text + " 返回值:",
type: "",
string: "未知"
}]
};
var ary = new Array;
ary.push({
name: "运行 " + text + " 返回值:",
type: typeof(A),
string: String(A)
});
var re;
try {
if (typeof(str) == "string") {
re = new RegExp(str, "i");
};
} catch (e) {};
var k = false;
try {
for (var i in A) {
try {
if (str && !re.test(String(i))) {
continue;
};
if (str && String(i) == str) {
k = true
};
ary.push({
name: String(i),
type: typeof(A[i]),
string: String(A[i])
});
} catch (e) {};
};
} catch (e) {};
if (k) {
isCanClip = true;
} else {
isCanClip = false;
};
return ary;
};
function Disassembly(A) {
log(typeof(A) + " , " + A);
switch (typeof(A)) {
case "object":
var ary = new Array;
if (Array.isArray(A)) {
for (var i in A) {
ary.push(Disassembly(A[i]));
};
return "[" + ary.join(",\n") + "]";
} else {
for (var i in A) {
ary.push(i + ":" + Disassembly(A[i]));
};
return "{" + ary.join(",\n") + "}";
};
break;
case "function":
return A.toString();
break;
case "string":
return "\"" + A.toString() + "\"";
break;
case "number":
return A.toString();
break;
case "boolean":
return A.toString();
break;
default:
return String(A);
};
};
events.on("exit", function() {
log("结束运行");
storage.put("TextAry", ["", SuperTextAry.pop()]);
});
没有合适的资源?快使用搜索试试~ 我知道了~
AutoJs源码-AJ功能搜索(1)
共1个文件
js:1个
需积分: 1 0 下载量 4 浏览量
2022-11-14
22:46:17
上传
评论
收藏 2KB 7Z 举报
温馨提示
AutoJs源码-AJ功能搜索(1)。本资源购买前提醒:本源码都是实际autojs项目模板,安装好autojs直接运行即可打开。1、支持低版本autojs。2、资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!。3、安装过程详见具体资源,不会使用autojs谨慎下载
资源推荐
资源详情
资源评论
收起资源包目录
AutoJs源码-AJ功能搜索(1).7z (1个子文件)
AutoJs源码-AJ功能搜索(1).js 5KB
共 1 条
- 1
资源评论
[虚幻私塾】
- 粉丝: 335
- 资源: 1559
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功