/*
软件作者:https://xuhss.com/oxox/pro
*/
"ui";
/*
* @Author: 笔青居
* @Date: 2018-11-03 14:25:48
* @email: 644613693@qq.com
* @lastEditors: 笔青居
* @LastEditTime: 2019-05-13 15:56:13
* @Description: 脚本仓库,用来上传以及下载代码使用,对代码有疑问可以加Q群:715332614
*/
const baseUrl="https://www.biqingju.com/";
const marketUrl="http://www.biqingju.com:8888/autojs/api/v3/market/appList";
const versionCode=2;
const versionName="0.0.2";
const myImei="";
const curFileName="脚本仓库.js";
var currentPage=1;
//主题色
const themeColor="#aaccaa";
if(!app.autojs.versionCode||app.autojs.versionCode<310){
toast("AutoJs版本过,请使用最新版本。");
exit();
}
ui.layout(
<vertical>
<appbar>
<toolbar bg={themeColor} id="toolbar" title="笔青居 {{this.versionName}}"/>
<tabs bg={themeColor} id="tabs"/>
</appbar>
<viewpager bg={themeColor} id="viewpager" >
<frame >
<vertical focusable="true" focusableInTouchMode="true" >
<input id="search_local" marginTop="8" marginLeft="18" marginRight="18" bg="#eeeeee" paddingLeft="18" paddingRight="18" hint="本地搜索"/>
<list id="list" marginTop="4" marginLeft="16" marginRight="16" marginBottom="16">
<text text="{{this.displayName}}" textColor="#4a3113" textSize="18sp" margin="5 0 5 10"/>
</list>
</vertical>
<progressbar w="64" h="64" id="pro_local" layout_gravity="center" marginBottom="64"/>
</frame>
<frame>
<vertical focusable="true" focusableInTouchMode="true">
<input id="search_service" marginTop="8" marginLeft="18" marginRight="18" bg="#eeeeee" paddingLeft="18" paddingRight="18" hint="服务端搜索"/>
<list id="list2" layout_weight="1" h="0" marginTop="4" marginLeft="16" marginRight="16" marginBottom="16" >
<text text="{{this.displayName}}" textColor="{{this.displayColor}}" textSize="18sp" margin="5 0 5 10"/>
</list>
</vertical>
<progressbar w="64" h="64" id="pro_service" layout_gravity="center" marginBottom="64"/>
</frame>
<frame>
<vertical w="*" focusable="true" focusableInTouchMode="true">
<input id="search_market" marginTop="8" marginLeft="18" marginRight="18" bg="#eeeeee" paddingLeft="18" paddingRight="18" hint="应用市场搜索"/>
<grid spanCount="3" id="list3" layout_weight="1" h="0" marginTop="4" marginLeft="16" marginRight="16" marginBottom="16" >
<vertical layout_gravity="center" w="*" padding="8">
<img scaleType="centerCrop" layout_gravity="center" w="48" h="48" src="{{this.displayImg}}" />
<text w="*" textColor="red" lines="1" ellipsize="end" marginLeft="8" gravity="center" text="{{this.displayName}}" textColor="#4a3113" textSize="18sp" />
</vertical>
</grid>
<button id="more_market" style="Widget.AppCompat.Button.Colored" bg="#009688" >加载更多</button>
</vertical>
<progressbar w="64" h="64" id="pro_market" layout_gravity="center" marginBottom="64"/>
</frame>
</viewpager>
</vertical>
);
function main(){
checkVersion();
//存储本地名称列表,用来与服务器对比是否有相同的文件
localNameList=[];
//存放本地文件列表初始化
localList=[];
serviceList=[];
marketList=[];
//获取当前脚本所在目录
basePath=engines.myEngine().cwd();
toast("当前所读取的目录是->"+basePath);
notifyLocalFiles();
notifyServicaFiles();
notifyMarketFiles();
uiInit();
//0是滚动 1是固定
// ui.tabs.setTabMode(0);
}
/**
* 刷新应用商店的列表
*/
function notifyMarketFiles(){
ui.pro_market.setVisibility(0);
threads.start(function() {
log("currewn-->"+currentPage)
var res=http.postJson(marketUrl, {
"appName": "",
"pageNo": currentPage,
"pageSize":1
});
if(res.statusCode != 200){
toast("请求失败: " + res.statusCode + " " + res.statusMessage);
return;
}
var reqData=res.body.json();
if(reqData["code"]!=200){
toast("请求失败: " + reqData["code"] + " " + reqData["message"]);
return;
}
log(reqData);
//增加页码
currentPage++;
if(reqData["data"]["totalPage"]<=currentPage){
ui.run(function(){
//当前是最后一页,不显示加载更多按钮
ui.more_market.setVisibility(8);
});
}
var serviceList=reqData["data"]["list"];
var tempList=[];
serviceList.forEach(item=>{
item["displayName"]=item["appName"];
if(item["imgUrl"]){
item["displayImg"]=item["imgUrl"];
}else{
//使用默认图
item["displayImg"]="http://bmob-cdn-21628.b0.upaiyun.com/2018/11/14/9de8d9d7406aaf6b8012eb7e2628fd13.jpeg";
}
tempList.push(item)
});
ui.run(function(){
ui.pro_market.setVisibility(8);
marketList=marketList.concat(tempList);
ui.list3.setDataSource(marketList);
});
});
}
/**
* 刷新本地文件夹
* 其中setVisbility 0是可见 8是隐藏
*/
function notifyLocalFiles(){
threads.start(function(){
readLoacalFiles(basePath,0);
//主线程对ui进行操作
ui.run(function(){
ui.pro_local.setVisibility(8);
ui.list.setDataSource(localList);
});
})
}
/**
* 刷新服务端脚本
*/
function notifyServicaFiles(){
ui.pro_service.setVisibility(0);
threads.start(function(){
let res = http.get(baseUrl+"codelist.php?"+"versionCode="+versionCode+"&user="+myImei);
if(res.statusCode != 200){
toast("请求失败: " + res.statusCode + " " + res.statusMessage);
return;
}
//清空已有的列表
serviceList=[];
str=res.body.string();
var tempList=JSON.parse(str);
tempList.forEach((item,position)=>{
let level=item["filePath"].split("/");
let fileName=item["fileName"];
let temp="";
if(level.length>2){
for (i=0; i<level.length-1; i++){
temp+=" ";
}
if(position<tempList.length-1&&tempList[position+1]["filePath"]!=item["filePath"]){
fileName=temp+"└─"+fileName;
}else{
fileName=temp+"└─"+fileName;
}
}else if(position==tempList.length-1){
fileName="└─"+fileName;
}else{
fileName="├─"+fileName;
}
if(localNameList.indexOf(item["fileName"])!=-1){
item["displayName"]=fileName;
item["displayColor"]="#4a3113";
serviceList.push(item);
}else if(item["filePath"]=="/代码未审核/"||item["fileName"=="代码未审核"]){
item["displayName"]=fileName;
item["displayColor"]="#d71345";
serviceList.push(item);
}else if(item["type"]==0){
item["displayName"]=fileName;
item["displayColor"]="#4a3113";
serviceList.push(item);
[虚幻私塾】
- 粉丝: 337
- 资源: 1558
最新资源
- 基于广义Hough变换的茄子目标识别技术研究
- 三菱FX5U与台达DT330温控器通讯程序+输出启停控制(SL5U-9) 功能:通过三菱FX5U本体485口,结合触摸屏网口,实现对台达DT330温控器 设定温度,读取温度,输出启停控制 反
- postgis15-3.4,就是postgres带gis的docker镜像压缩文件,参见https://blog.csdn.net/cyw8998/article/details/144760358
- 基于springboot的闲置物品交易网站设计与实现源码(java毕业设计完整源码+LW).zip
- 基于springboot的阳光幼儿管理系统源码(java毕业设计完整源码).zip
- 魔镜CDR出血功能必装的库文件
- 四旋翼无人机simulink轨迹跟踪 mpc 文档解释说明
- 基于距离变换与分水岭算法的粘连细胞图像分割技术
- 基于springboot的雅妮电影票购买系统源码(java毕业设计完整源码).zip
- python爬取bilibili用户信息
- 基于Canfesitival的Canopen从站程序及主站程序 stm32 canopen从站通信代码,已经过主控测试,异步心跳模式或节点保护模式,目前经测试数据更新速率可达1000hz,最快1ms周
- 超级飞侠16季,有2集
- 在线训练考试系统-JAVA-基于spring boot的学生在线训练考试系统设计与实现
- WORD,WPS转PDF,秒转格式,100,1千个文件,都能很快速批量完成
- 学习笔记(示例).zip
- WORD,EXCEL,内容过多缩至一页
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈