From 3aba3069c484d36c29a53e9cce055625491b1d2a Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:09:06 +0800
Subject: [PATCH 01/10] Add files via upload
---
api.js | 59 +++++++++++++++++++++++++++
hub.json | 40 +++++++++++++++++++
loading.js | 16 ++++++++
main.js | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++
project.json | 10 +++++
5 files changed, 236 insertions(+)
create mode 100644 api.js
create mode 100644 hub.json
create mode 100644 loading.js
create mode 100644 main.js
create mode 100644 project.json
diff --git a/api.js b/api.js
new file mode 100644
index 0000000..4dba1ca
--- /dev/null
+++ b/api.js
@@ -0,0 +1,59 @@
+//提供api调用
+var api={}
+var wrapFuncString=function(fn,data){
+ return "("+fn.toString()+")("+JSON.stringify(data)+");"
+}
+api.wrapFuncString=wrapFuncString
+api.getApi=function(data){
+ return wrapFuncString(function(data){
+ global.obj={}
+ var obj=global.obj
+ obj.data=data
+ obj.apiCode=""
+ var myapi=require("api.js")
+ obj.myapi=myapi;
+ var uniqueId=data.uniqueId//
+ global.api=(function(){
+ return {
+ getId(){
+ return uniqueId
+ },
+ getExtras(){
+ return data.extras
+ }
+ }
+ })()
+ if(uniqueId=="app_ui")//root应用可以设置
+ global.api.setApi=function(code){
+ obj.apiCode=myapi.wrapFuncString(code).replace(/[\r\n]/g, "")
+ }
+ global.tempstorages=global.storages
+ global.storages=(function(){
+ return {
+ create(str){
+ return global.tempstorages.create("appdata_"+uniqueId)
+ },remove(str){
+ return global.tempstorages.remove("appdata_"+uniqueId)
+ }
+ }
+ })()
+ global.tempengines=global.engines
+ global.engines=(function(){
+ return {
+ execScript(name, script, config){
+ var code="";
+ if(script.startsWith('"ui";'))code+='"ui";';
+ var extras=null;
+ if(config&&config.extras)extras=config.extras
+ code+=myapi.getApi({uniqueId:uniqueId+"_"+name,extras:extras});
+ if(obj.apiCode)code+=obj.apiCode;
+ code+=";global.obj=void 0;";
+ code+=script;
+ return global.tempengines.execScript(name, code, config);
+ }
+ }
+ })()
+
+ },data).replace(/[\r\n]/g, "");
+}
+module.exports = api;
\ No newline at end of file
diff --git a/hub.json b/hub.json
new file mode 100644
index 0000000..fe12fcc
--- /dev/null
+++ b/hub.json
@@ -0,0 +1,40 @@
+{
+ "code": 200,
+ "msg": "",
+ "data": {
+ "HubRoot":"https://chrrg.github.io/chhub/hub.json",
+ "ui":["files/ui.js",8],
+ "list": [{
+ "id":1,
+ "name": "2020双十一喵喵",
+ "file": "files/1.js",
+ "version": "1.8.9",
+ "desc": "一键完成淘宝喵币任务"
+ },{
+ "id":2,
+ "name": "全自动淘宝撸猫",
+ "file": "files/2.js",
+ "version": "1.2.5",
+ "desc": "猫猫自动点击得喵币"
+ },{
+ "id":3,
+ "hidden":true,
+ "name": "测试",
+ "file": "files/3.js",
+ "version": "1.0.1",
+ "desc": "你的一点仓库不是最新版本!"
+ },{
+ "id":4,
+ "name": "钉钉一键打卡",
+ "file": "files/4.js",
+ "version": "1.0.0",
+ "desc": "钉钉一键打卡"
+ },{
+ "id":5,
+ "name": "屏幕连点器",
+ "file": "files/5.js",
+ "version": "1.0.5",
+ "desc": "屏幕连点器"
+ }]
+ }
+}
\ No newline at end of file
diff --git a/loading.js b/loading.js
new file mode 100644
index 0000000..cdfea8f
--- /dev/null
+++ b/loading.js
@@ -0,0 +1,16 @@
+"ui";
+ui.layout(
+
+
+
+
+
+
+
+)
+var a=0
+function re(){
+ ui.info.setText("获取最新仓库中"+".".repeat(a))
+ if(a++>5)a=0;
+}
+setInterval(re,50)
\ No newline at end of file
diff --git a/main.js b/main.js
new file mode 100644
index 0000000..3067e85
--- /dev/null
+++ b/main.js
@@ -0,0 +1,111 @@
+// engines.execScriptFile("files/4.js");exit();
+// swipe(500, 500, 505,400, 20)
+// pp(packageName(currentPackage()).find(),0,500);
+// exit()
+// console.log(currentActivity())
+// exit()
+runTest(1);exit();
+
+// exit();
+
+// storages.remove("github.com-chrrg-oneClickHub")
+// wrapCodeRun(files.read("files/ui.js"),{
+// uniqueId:"app_ui",
+// extras:{
+// hubData:storage.get("hubData")
+// }
+// });
+// exit()
+
+var eula = storages.create("github.com-chrrg-oneClickHub-eula");
+if(!eula.get("readme")){
+ if(!confirm("欢迎使用","本软件是完全免费且开源的\n任何人可以上传或下载脚本\n请自行辨别脚本安全\n作者不承担任何责任\nhttps://github.com/chrrg/oneClickHub/\n若不同意请点击取消")){toast("必须点击确定才能继续使用!");engines.stopAll();exit();}
+ alert("启用无障碍服务","请在接下来弹出来的界面中启用本软件的无障碍服务");
+ toast("欢迎使用一点仓库!运行需要启用无障碍服务!\n若失效请重启无障碍服务或手机!");
+ auto.waitFor();
+ eula.put("readme",new Date().getTime())
+}else toast("欢迎使用一点仓库!运行需要启用无障碍服务!\n若失效请重启无障碍服务或手机!");
+function runTest(id){
+ var hubData=storages.create("github.com-chrrg-oneClickHub").get("hubData")
+ if(!hubData)throw "需要先获取仓库数据才能运行测试!";
+ wrapCodeRun(files.read("files/ui.js"),{uniqueId:"app_ui",extras:{hubData:hubData,testRun:id}});
+}
+function pp(data,offset,size){
+ for(var i=offset;i=data.length)return;
+ console.log(data[i].id()+"|"+data[i].text()+"|"+data[i].desc()+"|"+data[i].className());}
+}
+var storage = storages.create("github.com-chrrg-oneClickHub");
+var officialHub="https://chrrg.github.io/chhub/hub.json"//官方仓库地址
+function getPath(path){return path.substr(0,path.lastIndexOf('/')+1);}//路径去掉文件名
+
+var curHub=storage.get("myHub")//当前使用的仓库
+if(!curHub){curHub=officialHub;storage.put("myHub",curHub)}
+function isOfficalHub(){return curHub==officialHub}//当前仓库是否官方
+function ifUnOfficialThenNoticeSwitch(text){if(!isOfficalHub()){if(confirm("温馨提醒",text)){storages.remove("github.com-chrrg-oneClickHub");toast("已切换,请重启一点仓库!");engines.stopAll();exit();}}}
+ifUnOfficialThenNoticeSwitch("您正在使用非官方仓库:"+curHub+"\n是否为您重置到官方仓库?")
+
+var getRemoteCode=function(url,fn){
+ var res=http.get(url, {});
+ if(!res)throw "err";
+ if(res.statusCode != 200){toast("请求失败: " + res.statusCode + " " + res.statusMessage);throw "";}//网络错误
+ fn(res);
+}
+function responseToString(response){return response.body.string()}
+function responseToJson(response){return response.body.json()}
+function getHubPath(){return curHub}
+function getHubData(fn){getRemoteCode(getHubPath(),function(response){var res=responseToJson(response);fn(res)})}
+auto.waitFor();
+var loading=engines.execScriptFile("loading.js");
+function getUICode(hubData,fn){
+ //获取ui界面的源码
+ var ui_version=storage.get("ui_version")
+ var ui_code=storage.get("ui_code")
+ if(ui_code&&ui_version==hubData.ui[1]){fn(ui_code);return}//不需要更新
+ getRemoteCode(getPath(hubData.HubRoot)+hubData.ui[0],function(response){
+ var res=responseToString(response);
+ storage.put("ui_version",hubData.ui[1]);
+ storage.put("ui_code",res);
+ fn(res);
+ });
+}
+function wrapCodeRun(code,data){
+ var api=require("api.js");
+ var is_ui="";
+ if(code.startsWith('"ui";'))is_ui='"ui";'
+ return engines.execScript(data.uniqueId, is_ui+api.getApi(data)+"global.obj=null;"+code);
+}
+try{
+ getHubData(function(response){
+ toast("仓库数据获取成功!")
+ if(response.code!=200){toast(response.text);throw "";}//规范 不为200就要提醒用户
+ if(!response.data)throw "";
+ var data=response.data;
+ if(data.HubRoot!=getHubPath())throw ""
+ if(!data.list)throw "";
+ if(!data.ui)throw "";
+ storage.put("hubData",data);
+ getUICode(data,function(ui_code){
+ if(!ui_code)throw "";
+ wrapCodeRun(ui_code,{
+ uniqueId:"app_ui",
+ extras:{
+ hubData:data
+ }
+ });
+ loading.getEngine().forceStop()
+ })
+ })
+}catch(e){
+ toast("网络异常,仓库数据获取失败!"+e)
+ var ui_code=storage.get("ui_code")
+ var data=storage.get("hubData")
+ if(data.HubRoot!=getHubPath())ui_code=""
+ if(!ui_code){alert("请连接网络后重新打开!");engines.stopAll();exit()}
+ wrapCodeRun(ui_code,{
+ uniqueId:"app_ui",
+ extras:{
+ hubData:data
+ }
+ });
+ if(loading.getEngine())loading.getEngine().forceStop()
+}
\ No newline at end of file
diff --git a/project.json b/project.json
new file mode 100644
index 0000000..1343ef6
--- /dev/null
+++ b/project.json
@@ -0,0 +1,10 @@
+{
+ "name": "一点仓库",
+ "main": "main.js",
+ "ignore": [
+ "build"
+ ],
+ "packageName": "com.app.ch.onekeyhub",
+ "versionName": "1.0.3",
+ "versionCode": 3
+}
\ No newline at end of file
From 52a60bfea341a1ca62b8809230b3b09b08d2037c Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:11:46 +0800
Subject: [PATCH 02/10] Create files
---
files | 1 +
1 file changed, 1 insertion(+)
create mode 100644 files
diff --git a/files b/files
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/files
@@ -0,0 +1 @@
+
From 2ab74f01670ba36710fd81577025d44a783beb5d Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:12:22 +0800
Subject: [PATCH 03/10] Delete files
---
files | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 files
diff --git a/files b/files
deleted file mode 100644
index 8b13789..0000000
--- a/files
+++ /dev/null
@@ -1 +0,0 @@
-
From 8bb98140c7f62f0059bcad64ae206a3db1776120 Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:14:22 +0800
Subject: [PATCH 04/10] Create test.txt
---
js/test.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 js/test.txt
diff --git a/js/test.txt b/js/test.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/js/test.txt
@@ -0,0 +1 @@
+
From e496a8e48ad48006588c99dcb335c1f610c310e0 Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:14:44 +0800
Subject: [PATCH 05/10] Add files via upload
---
js/main_old.js | 183 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 183 insertions(+)
create mode 100644 js/main_old.js
diff --git a/js/main_old.js b/js/main_old.js
new file mode 100644
index 0000000..d6da4d3
--- /dev/null
+++ b/js/main_old.js
@@ -0,0 +1,183 @@
+// // alert("123213","123213")
+// engines.execScriptFile("test.js");
+// exit()
+// // alert("666")
+// // exit()
+
+// var p=console.log;
+// // if(confirm("问题检测","喵币数量未变化,是否为您停止任务?")){
+// // alert("已正常停止")
+// // exit()
+// // }
+// // exit()
+// function pp(data,offset,size){
+// var p=console.log;
+// for(var i=offset;i=data.length)return;
+// p(data[i].id()+"|"+data[i].text()+"|"+data[i].desc()+"|"+data[i].className());
+// }
+// }
+// pp(packageName("com.taobao.taobao").find(),0,500);
+// exit()
+// var Package="com.taobao.taobao"
+// var chfn=function(fn,timeout){
+// if(!timeout)timeout=10000//10s
+// var i=0;
+// while(1){
+// var result=fn()
+// if(result){
+// return result;
+// }else{
+// sleep(500);
+// if(i++>(timeout/500)){
+// toast("任务步骤超时,请重新运行!");
+// // sleep(1000);
+// // throw "";
+// throw "";
+// }
+// }
+// }
+// }
+// var getMyCoin=function(){
+// if(text("累计任务奖励").findOnce()){
+// if(text("关闭").findOnce()){
+// text("关闭").findOnce().click()
+// chfn(function(){
+// return text("赚喵币").findOnce()
+// })
+// var coin=getMyCoin()
+// text("赚喵币").findOnce().click()
+// chfn(function(){
+// return text("累计任务奖励").findOnce()
+// })
+// return coin
+// }
+// }else if(text("赚喵币").findOnce()){
+// if(textContains("我的喵币,").findOnce()){
+// return parseInt(textContains("我的喵币,").findOnce().text().split("我的喵币,")[1])
+// }
+// }
+// }
+
+
+// console.log(getMyCoin())
+// console.log(getMyCoin())
+// console.log(getMyCoin())
+
+// // text("我的猫,点击撸猫").findOnce().click()
+// // pp(packageName("com.taobao.taobao").find(),0,500);
+// // console.log()
+// exit()
+
+//仓库
+
+var appVersion=3//app版本号
+var storage = storages.create("https://github.com/chrrg/oneClickHub");
+if(!storage.get("readme")){
+ alert("欢迎使用","本软件可以一键自动完成各种任务\n运行需要启用无障碍服务!\n若失效请关闭无障碍服务再开启,或者重启手机!\n若闪退请卸载重装!");
+ alert("启用无障碍服务","请在接下来弹出来的界面中启用本软件的无障碍服务")
+ auto.waitFor();
+ storage.put("readme",new Date().getTime())
+}else{
+ toast("欢迎使用一点仓库!运行需要启用无障碍服务!\n若失效请关闭无障碍服务再开启,或者重启手机!\n若闪退请卸载重装!");
+}
+var officialHub="https://chrrg.github.io/chhub/"//官方仓库地址
+var curHub=storage.get("myHub")//当前使用的仓库
+var isOfficalHub=function(){return curHub==officialHub}
+if(!curHub){curHub=officialHub;storage.put("myHub",curHub)}
+var ifUnOfficialThenNoticeSwitch=function(text){if(!isOfficalHub()){if(confirm("温馨提醒",text)){curHub=officialHub;storage.put("myHub",curHub)}}}
+ifUnOfficialThenNoticeSwitch("您正在使用非官方仓库:"+curHub+"\n是否为您切换回官方仓库?")
+// if(!isOfficalHub()){
+// curHub=officialHub;
+// }
+var getRemoteCode=function(url,fn){
+ try{
+ var r = http.get(url, {},function(res,err){
+ try{
+ if(err){console.error(err);return;}
+ if(res.statusCode != 200){toast("请求失败: " + res.statusCode + " " + res.statusMessage);throw "";}//网络错误
+ fn(res)
+ }catch(e){fn(null)}
+ });
+ }catch(e){toast("系统出错!")}
+}
+//response转各种类型
+var responseToString=function(response){return res.body.string()}
+var responseToJson=function(response){return res.body.json()}
+//获取仓库的json数据
+var getHubData=function(fn){getRemoteCode(curHub+"hub.json?appVersion="+appVersion,function(response){if(!response)fn(null);var res=responseToJson(response);fn(res)})}
+auto.waitFor();
+var loading=engines.execScriptFile("loading.js");
+
+
+var initUserFace=function(fn){//初始化用户界面
+ try{
+ getHubData(function(response){
+ try{
+ if(!response)throw ""
+ if(response.code!=200){//规范 不为200就要提醒用户
+ toast(response.text);
+
+ throw "";
+ }else{
+ if(response.data.list){
+ var list=[];
+ for(var i in response.data.list){
+ var item=response.data.list[i]
+ list.push(item.name)
+ storage.put("item_"+item.name,item);
+ /*
+ {
+ "name": "2020双十一喵喵",
+ "file": "files/1.js",
+ "version": 1,
+ "desc": "修复"
+ }
+ */
+ if(!storage.get("data_"+item.name)){
+ storage.put("data_"+item.name,{
+ "installTime":new Date().getTime(),//安装时间
+ "useCount":0,//使用次数
+ "useLast":0,//上次使用时间
+ "currentVersion":"",//当前版本号
+ });
+ }
+ }
+ storage.put("list",list);
+ }
+ if(response.data.ui){
+
+ }
+ }
+ }catch(e){
+ ifUnOfficialThenNoticeSwitch("仓库:"+curHub+"请求失败\n是否为您切换回官方仓库?");
+ }
+ })
+ }catch(e){return false}
+ // engines.execScriptFile("ui.js")
+ return true;
+}
+while(1){
+ var result=initUserFace()
+ if(!result){
+ if(curHub!=officialHub){
+ if(confirm("温馨提醒","请求仓库"+curHub+"失败\n是否为您切换回官方仓库并重试")){
+ curHub=officialHub
+
+ storage.put("myHub",curHub)
+ }
+ }else{
+ toast("网络异常,请稍后再试!")
+ exit()
+ }
+ }else{
+ setTimeout(function(){
+ loading.getEngine().forceStop()
+ },1000)
+ }
+}
+
+setTimeout(function(){
+
+},100)
\ No newline at end of file
From 4038b58b7d12b135a4f7cfb4269ca9127a14e15f Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:15:36 +0800
Subject: [PATCH 06/10] Delete test.txt
---
js/test.txt | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 js/test.txt
diff --git a/js/test.txt b/js/test.txt
deleted file mode 100644
index 8b13789..0000000
--- a/js/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-
From ac06a56ccfa0ff38d1ed432fe0d75eaf9a7670b1 Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:15:51 +0800
Subject: [PATCH 07/10] Add files via upload
---
...7\346\234\254\346\226\207\346\241\243.txt" | 76 +++++++++++++++++++
1 file changed, 76 insertions(+)
create mode 100644 "js/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt"
diff --git "a/js/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt" "b/js/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt"
new file mode 100644
index 0000000..489419f
--- /dev/null
+++ "b/js/\346\226\260\345\273\272\346\226\207\346\234\254\346\226\207\346\241\243.txt"
@@ -0,0 +1,76 @@
+var storage = storages.create("https://github.com/chrrg/oneClickHub");
+if(!storage.get("readme")){
+ alert("欢迎使用","本软件可以一键自动完成各种任务\n运行需要启用无障碍服务!\n若失效请关闭无障碍服务再开启,或者重启手机!\n若闪退请卸载重装!");
+ alert("启用无障碍服务","请在接下来弹出来的界面中启用本软件的无障碍服务")
+ auto.waitFor();
+ storage.put("readme",new Date().getTime())
+}else{
+ toast("欢迎使用一点仓库!运行需要启用无障碍服务!\n若失效请关闭无障碍服务再开启,或者重启手机!\n若闪退请卸载重装!");
+}
+
+var officialHub="https://chrrg.github.io/chhub/"//官方仓库地址
+var curHub=storage.get("myHub")//当前使用的仓库
+if(!curHub){curHub=officialHub;storage.put("myHub",curHub)}
+var isOfficalHub=function(){return curHub==officialHub}//当前仓库是否官方
+var ifUnOfficialThenNoticeSwitch=function(text){if(!isOfficalHub()){if(confirm("温馨提醒",text)){curHub=officialHub;storage.put("myHub",curHub)}}}
+ifUnOfficialThenNoticeSwitch("您正在使用非官方仓库:"+curHub+"\n是否为您切换回官方仓库?")
+
+var getRemoteCode=function(url,fn){
+ try{
+ var r = http.get(url, {},function(res,err){
+ try{
+ if(err){console.error(err);return;}
+ if(res.statusCode != 200){toast("请求失败: " + res.statusCode + " " + res.statusMessage);throw "";}//网络错误
+ fn(res)
+ }catch(e){fn(null)}
+ });
+ }catch(e){toast("系统出错!")}
+}
+var responseToString=function(response){return res.body.string()}
+var responseToJson=function(response){return res.body.json()}
+var getHubPath=function(){return curHub+"hub.json"}
+var getHubData=function(fn){getRemoteCode(getHubPath+"?appVersion="+appVersion,function(response){if(!response)fn(null);var res=responseToJson(response);fn(res)})}
+auto.waitFor();
+var loading=engines.execScriptFile("loading.js");
+var getUICode=function(hubData,fn){
+ //获取ui界面的源码
+ var ui_version=storage.get("ui_version")
+ var ui_code=storage.get("ui_code")
+ if(ui_code&&ui_version==hubData.ui[1]){fn(ui_code);return}//不需要更新
+ hubData.HubRoot
+ if(hubData.ui[0])
+}
+getHubData(function(response){
+/*
+{
+ "code": 200,
+ "msg": "",
+ "data": {
+ "HubRoot":"https://chrrg.github.io/chhub/",
+ "ui":["files/ui.js","1.0.0"],
+ "list": [{
+ "name": "2020双十一喵喵",
+ "file": "files/1.js",
+ "version": "1.8.5",
+ "desc": "一键完成淘宝喵币任务"
+ },{
+ "name": "全自动淘宝撸猫",
+ "file": "files/2.js",
+ "version": "1.2.3",
+ "desc": "猫猫自动点击得喵币"
+ }]
+ }
+}
+*/
+ if(!response)throw ""
+ if(response.code!=200){toast(response.text);throw "";}//规范 不为200就要提醒用户
+ if(!response.data)throw "";
+ var data=response.data;
+ if(!data.HubRoot)throw "";
+ if(data.HubRoot!=getHubPath())throw ""
+ if(!data.list)throw "";
+ if(!data.ui)throw "";
+ storage.put("hubData",data);
+
+})
+
From 22d3c67b92cba64bdc3e2e994ff4028f13eb2553 Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:16:42 +0800
Subject: [PATCH 08/10] Create test.txt
---
files/test.txt | 1 +
1 file changed, 1 insertion(+)
create mode 100644 files/test.txt
diff --git a/files/test.txt b/files/test.txt
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/files/test.txt
@@ -0,0 +1 @@
+
From 0929e16ae5c35921edefff6c2095094900a773a1 Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:17:16 +0800
Subject: [PATCH 09/10] Add files via upload
---
files/1.js | 311 ++++++++++++++++++++++++++++++++++++++++++++++++++++
files/2.js | 138 +++++++++++++++++++++++
files/3.js | 18 +++
files/4.js | 187 +++++++++++++++++++++++++++++++
files/5.js | 21 ++++
files/ui.js | 227 ++++++++++++++++++++++++++++++++++++++
6 files changed, 902 insertions(+)
create mode 100644 files/1.js
create mode 100644 files/2.js
create mode 100644 files/3.js
create mode 100644 files/4.js
create mode 100644 files/5.js
create mode 100644 files/ui.js
diff --git a/files/1.js b/files/1.js
new file mode 100644
index 0000000..9d27cc1
--- /dev/null
+++ b/files/1.js
@@ -0,0 +1,311 @@
+toast("开始任务");
+device.keepScreenOn(3600 * 1000);
+device.keepScreenDim(3600 * 1000)
+if(typeof api==="undefined")toast("一点仓库有更新了!快更新吧!");
+//try {requiresApi(24);}catch (error){toast('需要在Android 7.0以上版本运行');throw "";}
+auto.waitFor();
+var Package="com.taobao.taobao"
+var chfn=function(fn,timeout){
+ sleep(100)
+ if(!timeout)timeout=10000//10s
+ var i=0;
+ while(1){
+ var result=fn()
+ if(result){
+ return result;
+ }else{
+ sleep(500);
+ if(i++>(timeout/500)){
+ toast("任务步骤超时,请重新运行!");
+ // sleep(1000);
+ // throw "";
+ throw "";
+ }
+ }
+ }
+}
+/**
+ * 贝塞尔曲线
+ * @param {坐标点} ScreenPoint
+ * @param {偏移量} Offset
+ */
+function bezier_curves(ScreenPoint, Offset) {
+ cx = 3.0 * (ScreenPoint[1].x - ScreenPoint[0].x);
+ bx = 3.0 * (ScreenPoint[2].x - ScreenPoint[1].x) - cx;
+ ax = ScreenPoint[3].x - ScreenPoint[0].x - cx - bx;
+ cy = 3.0 * (ScreenPoint[1].y - ScreenPoint[0].y);
+ by = 3.0 * (ScreenPoint[2].y - ScreenPoint[1].y) - cy;
+ ay = ScreenPoint[3].y - ScreenPoint[0].y - cy - by;
+ tSquared =Offset * Offset;
+ tCubed = tSquared * Offset;
+ result = {
+ "x": 0,
+ "y": 0
+ };
+ result.x = (ax * tCubed) + (bx * tSquared) + (cx * Offset) + ScreenPoint[0].x;
+ result.y = (ay * tCubed) + (by * tSquared) + (cy * Offset) + ScreenPoint[0].y;
+ return result;
+};
+/**
+ * 曲线滑动
+ * @param {*} qx
+ * @param {*} qy
+ * @param {*} zx
+ * @param {*} zy
+ * @param {*} time
+ */
+function sml_move(qx, qy, zx, zy, time) {
+ var xxy = [parseInt(time+Math.random()*100)];
+ var point = [];
+ var dx0 = {
+ "x": qx,
+ "y": qy
+ };
+ var dx1 = {
+ "x": random(qx - 100, qx + 100),
+ "y": random(qy, qy + 50)
+ };
+ var dx2 = {
+ "x": random(zx - 100, zx + 100),
+ "y": random(zy, zy + 50),
+ };
+ var dx3 = {
+ "x": zx,
+ "y": zy
+ };
+ for (var i = 0; i < 4; i++) {
+ eval("point.push(dx" + i + ")");
+ };
+ for (let i = 0; i < 1; i += 0.08) {
+ let newPoint=bezier_curves(point, i);
+ xxyy = [parseInt(newPoint.x), parseInt(newPoint.y)]
+ xxy.push(xxyy);
+ }
+ try{
+ gesture.apply(null, xxy);
+ }catch(e){}
+};
+var p=console.log;
+pp=function(data,offset,size){
+ for(var i=offset;i=data.length)return;
+ p(data[i].id()+"|"+data[i].text()+"|"+data[i].desc()+"|"+data[i].className());
+ }
+}
+
+// p(currentPackage());
+// p(currentPackage());
+
+var current=currentPackage()
+if(!current||current==="com.android.systemui"){
+ back();
+ sleep(2000)
+}
+
+if(currentPackage()!==Package){
+ //需要启动tb
+ app.launch(Package)
+ chfn(function(){
+ return currentPackage()===Package
+ })
+ if(packageName(currentPackage()).find().length==0){//说明是新开淘宝
+ chfn(function(){
+ sleep(100)
+ return packageName(currentPackage()).find().length
+ })
+ sleep(1000)//给充足的时间加载
+ chfn(function(){
+ return desc("我的淘宝").findOnce()
+ },25000);
+ }else{
+ if(desc("我的淘宝").findOnce()){//说明在首页
+
+ }else{//需要返回才能到达首页
+ if(currentActivity()=="android.widget.FrameLayout"){}
+ chfn(function(){
+ if(currentPackage()!==Package){
+ app.launch(Package)
+ sleep(200)
+ }
+ if(desc("我的淘宝").findOnce()){
+ return true;
+ }else{
+ back();
+ sleep(200);
+ }
+ },25000);
+
+ }
+ }
+}
+cur=currentActivity()
+// console.log(cur)
+// console.log(textMatches(/.*?浏览\d+秒.*?/).findOnce()||descMatches(/.*?浏览\d+秒.*?/).findOnce())
+// pp(packageName(Package).find(),0,500);
+// exit()
+if(cur!="com.taobao.tao.TBMainActivity"&&cur!="com.taobao.browser.BrowserActivity"){
+ back();
+ sleep(1000);
+}
+// if(cur=="com.taobao.browser.exbrowser.BrowserUpperActivity"||cur=="com.taobao.android.shop.activity.ShopRenderActivity"){
+// back();
+// sleep(1000);
+// }
+
+var autoclick=function(arr){
+ for(var i=0;i=0;j--){
+ chfn(arr[j]).click()
+ }
+ return;
+ }
+ }
+}
+var getMyCoin=function(){
+ if(text("累计任务奖励").findOnce()){
+ if(text("关闭").findOnce()){
+ text("关闭").findOnce().click()
+ chfn(function(){
+ return text("赚喵币").findOnce()
+ })
+ var coin
+ if(textContains("我的喵币,").findOnce()){
+ coin=parseInt(textContains("我的喵币,").findOnce().text().split("我的喵币,")[1])
+ }
+ if(text("赚喵币").findOnce()){
+ text("赚喵币").findOnce().click()
+ chfn(function(){
+ return text("累计任务奖励").findOnce()
+ })
+ }
+ return coin
+ }
+ }else if(text("赚喵币").findOnce()){
+ if(textContains("我的喵币,").findOnce()){
+ return parseInt(textContains("我的喵币,").findOnce().text().split("我的喵币,")[1])
+ }
+ }
+}
+// p(currentActivity());
+
+if(cur!="com.taobao.browser.BrowserActivity"||!text("累计任务奖励").findOnce()){
+ autoclick([function(){
+ return text("赚喵币").findOnce()
+ },function(){
+ return desc("养猫分20亿").findOnce()
+ },function(){
+ return desc("我的淘宝").findOnce()
+ }])
+}
+
+
+// p(text("浏览双11预售主会场(0/1)").findOnce().parent().parent().parent().children())
+sleep(1000)
+var TaskTitle=""
+var currentCoin=getMyCoin()
+if(!currentCoin)sleep(500)
+if(!currentCoin)currentCoin=getMyCoin()
+
+var oldCoin=currentCoin
+toast("现在您有"+oldCoin+"喵币")
+while(1){
+ sleep(1000)
+ if(text("赚喵币").findOnce()){
+ text("赚喵币").findOnce().click()
+ chfn(function(){
+ return text("累计任务奖励").findOnce()
+ })
+ }
+ if(text("领取奖励").findOnce()){text("领取奖励").findOnce().click();sleep(5000);}
+ var coin=getMyCoin()
+ if(TaskTitle){
+ if(coin==oldCoin){
+ toast("喵币数量未变化,已为您停止任务")
+ exit()
+ }
+ toast("增加喵币:"+(coin-oldCoin))
+ oldCoin=coin
+ }
+ if(!currentCoin&&coin)currentCoin=coin
+ chfn(function(){
+ return text("累计任务奖励").findOnce()
+ });
+ try{
+ chfn(function(){
+ return TaskTitle==""||!text(TaskTitle).findOnce()
+ });
+ }catch(e){}
+
+ sml_move(device.width / 2, device.height*0.5, device.width / 2, device.height*0.1, 500);
+ sleep(100+100*Math.random())
+ sml_move(device.width / 2, device.height*0.5, device.width / 2, device.height*0.8, 500);
+ var taskList=text("累计任务奖励").findOnce().parent().parent().parent().children()
+ taskList.splice(0,1)
+ var isFinish=true;
+ for(var i=0;icurrentCoin)
+ toast("任务完成","共增加"+(oldCoin-currentCoin)+"喵币")
+else
+ toast("任务完成","任务已全部完成!")
+exit()
+// pp(packageName(Package).find(),0,500);
+
+
+// console.log(currentPackage())
+// console.log(currentActivity())
\ No newline at end of file
diff --git a/files/2.js b/files/2.js
new file mode 100644
index 0000000..dffe23a
--- /dev/null
+++ b/files/2.js
@@ -0,0 +1,138 @@
+toast("开始任务");
+if(typeof api==="undefined")toast("一点仓库有更新了!快更新吧!");
+device.keepScreenOn(3600 * 1000);
+device.keepScreenDim(3600 * 1000)
+// try {requiresApi(24);}catch (error){toast('需要在Android 7.0以上版本运行');throw "";}
+auto.waitFor();
+var Package="com.taobao.taobao"
+var chfn=function(fn,timeout){
+ if(!timeout)timeout=10000//10s
+ var i=0;
+ while(1){
+ var result=fn()
+ if(result){
+ return result;
+ }else{
+ sleep(500);
+ if(i++>(timeout/500)){
+ toast("任务步骤超时,请重新运行!");
+ // sleep(1000);
+ // throw "";
+ throw "";
+ }
+ }
+ }
+}
+var p=console.log;
+pp=function(data,offset,size){
+ for(var i=offset;i=data.length)return;
+ p(data[i].id()+"|"+data[i].text()+"|"+data[i].desc()+"|"+data[i].className());
+ }
+}
+
+var current=currentPackage()
+if(!current||current==="com.android.systemui"){
+ back();
+ sleep(2000)
+}
+if(currentPackage()!==Package){
+ //需要启动tb
+ app.launch(Package)
+ chfn(function(){
+ return currentPackage()===Package
+ })
+ if(currentActivity()=="android.widget.FrameLayout"){
+ chfn(function(){
+ return desc("我的淘宝").findOnce()
+ },20000);
+ }
+}
+cur=currentActivity()
+if(cur!="com.taobao.tao.TBMainActivity"&&cur!="com.taobao.browser.BrowserActivity"){
+ back();
+ sleep(1000);
+}
+
+var autoclick=function(arr){
+ for(var i=0;i=0;j--){
+ chfn(arr[j]).click()
+ }
+ return;
+ }
+ }
+}
+var getMyCoin=function(){
+ if(text("累计任务奖励").findOnce()){
+ if(text("关闭").findOnce()){
+ text("关闭").findOnce().click()
+ chfn(function(){
+ return text("赚喵币").findOnce()
+ })
+ var coin=getMyCoin()
+ return coin
+ }
+ }else if(text("赚喵币").findOnce()){
+ if(textContains("我的喵币,").findOnce()){
+ return parseInt(textContains("我的喵币,").findOnce().text().split("我的喵币,")[1])
+ }
+ }
+}
+
+if(cur!="com.taobao.browser.BrowserActivity"||!text("累计任务奖励").findOnce()){
+ autoclick([function(){
+ return desc("养猫分20亿").findOnce()
+ },function(){
+ return desc("我的淘宝").findOnce()
+ }])
+}
+if(text("累计任务奖励").findOnce()){
+ if(text("关闭").findOnce()){
+ text("关闭").findOnce().click()
+ chfn(function(){
+ return text("赚喵币").findOnce()
+ })
+ }
+}
+chfn(function(){
+ return text("赚喵币").findOnce()
+})
+sleep(1000)
+var oldCoin=getMyCoin()
+var hisCoin=oldCoin
+var startTime=new Date().getTime()
+toast("现在您有"+oldCoin+"喵币\n现在开始撸猫!")
+chfn(function(){
+ return text("我的猫,点击撸猫").findOnce()
+})
+while(1){
+ var obj=text("我的猫,点击撸猫").findOnce()
+ if(obj){
+ obj.click()
+ sleep(100+Math.random()*100)
+ coin=getMyCoin()
+
+ if(new Date().getTime()-startTime>20000){
+ startTime=new Date().getTime()
+ if(coin==oldCoin){
+ device.vibrate(1000)
+ if(coin-hisCoin>0){
+ toast("任务完成:喵币没变化了,共增加"+(coin-hisCoin)+"喵币!")
+ }else{
+ toast("任务完成:喵币没变化,任务结束!")
+ }
+ exit()
+ }
+ oldCoin=coin
+ }
+
+ }else{
+ device.vibrate(200)
+ toast("猫跑丢了,任务停止!")
+ exit()
+ }
+}
\ No newline at end of file
diff --git a/files/3.js b/files/3.js
new file mode 100644
index 0000000..5ed2454
--- /dev/null
+++ b/files/3.js
@@ -0,0 +1,18 @@
+// var p=console.log;
+// pp=function(data,offset,size){
+// for(var i=offset;i=data.length)return;
+// p(data[i].id()+"|"+data[i].text()+"|"+data[i].desc()+"|"+data[i].className());
+// }
+// }
+
+
+// function getPackage(){var i=0;while(1){if(i++>100)throw "";var current=currentPackage();if(!current||current==="com.android.systemui"){back();sleep(200)}else return current}}
+// var package="com.eg.android.AlipayGphone"
+// console.log(getPackage())
+
+
+console.log(api)
+
+toast("成功了!")
\ No newline at end of file
diff --git a/files/4.js b/files/4.js
new file mode 100644
index 0000000..ffdbff5
--- /dev/null
+++ b/files/4.js
@@ -0,0 +1,187 @@
+var Package = 'com.alibaba.android.rimet';var p=console.log;auto.waitFor();
+var company=id("com.alibaba.android.rimet:id/menu_current_company")
+// p(currentActivity())
+// pp(packageName(Package).find(),0,500);
+// exit()
+if(typeof api==="undefined"){
+ alert("您的一点仓库过旧,部分功能暂不支持,请先升级!");
+ exit();
+}
+var storage = storages.create("dingTalk");
+var lastTime=parseInt(storage.get("time"));
+if(lastTime){
+ if(new Date(lastTime).toString().slice(0, 10)===new Date().toString().slice(0, 10)){
+ if(!confirm("记录到"+getDateStr(lastTime)+"已经打过卡了,是否继续尝试呢?")){
+ toast("已退出!");
+ exit();
+ }
+ }
+}
+chfn(function(){
+ var current=currentPackage()
+ if(!current||current==="com.android.systemui"){
+ back();
+ sleep(2000)
+ return false;
+ }
+ return true;
+})
+
+var launch=function(){
+ if(currentPackage()!==Package){
+ //需要启动tb
+ app.launch(Package)
+ chfn(function(){
+ return currentPackage()===Package
+ })
+ // p(currentActivity())
+ chfn(function(){
+ if(currentActivity()!="android.widget.FrameLayout"){
+ back()
+ sleep(500)
+ launch()
+ return false
+ }else return true
+ },20000);
+ // p(currentActivity())
+ }
+}
+function getzf(num){
+ if(parseInt(num) < 10)num = '0'+num;
+ return num;
+}
+function getDateStr(sj){
+ var now = new Date(sj)
+ var year=now.getFullYear();
+ var month=getzf(now.getMonth()+1);
+ var date=getzf(now.getDate());
+ var hour=getzf(now.getHours());
+ var minute=getzf(now.getMinutes());
+ var second=getzf(now.getSeconds());
+ return year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
+}
+
+
+launch()
+if(currentActivity()!="android.widget.FrameLayout"){
+ back()
+}
+chfn(function(){
+ if(currentActivity()!="android.widget.FrameLayout"){
+ back()
+ sleep(500)
+ launch()
+ return false
+ }else return true
+},20000);
+if(currentActivity()=="android.widget.FrameLayout"){
+ chfn(function(){
+ if(id("com.alibaba.android.rimet:id/btn_check_detail").findOnce()){
+ id("com.alibaba.android.rimet:id/btn_check_detail").findOnce().click()
+ }
+ return desc("工作台").findOnce()
+ },20000).click()
+}
+
+// p(currentActivity())
+// pp(packageName(Package).find(),0,500);
+
+// pp(packageName(Package).find(),0,500);
+// exit();
+if(!company.findOnce()&&desc("工作台").findOnce())desc("工作台").findOnce().click()
+var companyTitle=chfn(function(){
+ return company.findOnce()
+},20000).text()
+toast(companyTitle);
+try{
+ chfn(function(){
+ if(text("学生健康打卡").findOnce()||desc("学生健康打卡").findOnce())return true;
+ sleep(1000)
+ swipe(500, 500, 505,450, 20)
+ sleep(1000)
+ return false;
+ },20000)
+}catch(e){toast("未找到【学生健康打卡】,请确认是否存在或重试!");exit()}
+sleep(100)
+chfn(function(){
+ return text("高校每日健康打卡(学生健康码)2.0").findOnce()||desc("高校每日健康打卡(学生健康码)2.0").findOnce()
+},20000).click()
+chfn(function(){
+ return text("今天").findOnce()||desc("今天").findOnce()
+},20000).click()
+
+chfn(function(){
+ if(text("修改").findOnce()||desc("修改").findOnce()){
+ toast("您今天已经打过卡了!正在为您返回");
+ var lastTime=parseInt(storage.get("time"));
+ if(!lastTime||new Date(lastTime).toString().slice(0, 10)!==new Date().toString().slice(0, 10)){
+ storage.put("time",new Date().getTime())
+ }
+ backdesktop();
+ exit();
+ }
+ return text("当前位置").findOnce()||desc("当前位置").findOnce()
+},20000).click()
+sleep(1000)
+
+chfn(function(){
+ return text("获取").findOnce()||desc("获取").findOnce()
+},20000).click()
+toast("获取中")
+chfn(function(){
+ return text("地点微调").findOnce()||desc("地点微调").findOnce()
+},20000)
+chfn(function(){
+ return text("提交").findOnce()||desc("提交").findOnce()
+},20000).click()
+
+chfn(function(){
+ return textContains("你已成功提交高校每日健康打卡").findOnce()||descContains("你已成功提交高校每日健康打卡").findOnce()
+},20000)
+storage.put("time",new Date().getTime())//记录打卡时间
+toast("打卡完成,即将返回!");
+backdesktop();
+function backdesktop(){
+ chfn(function(){
+ if(currentPackage()===Package){
+ back()
+ sleep(200)
+ return false
+ }else return true
+ },20000);
+ toast("任务完成!")
+}
+exit()
+// desc("工作台").findOnce().click()
+function pp(data,offset,size){
+ var p=console.log;
+ for(var i=offset;i=data.length)return;
+ p(data[i].id()+"|"+data[i].text()+"|"+data[i].desc()+"|"+data[i].className());
+ }
+}
+pp(packageName(Package).find(),0,500);
+exit();
+
+function chfn(fn,timeout){
+ if(!timeout)timeout=10000//10s
+ var i=0;
+ while(1){
+ var result=fn()
+ if(result){
+ return result;
+ }else{
+ sleep(500);
+ if(i++>(timeout/500)){
+ toast("任务步骤超时,请重新运行!");
+ // sleep(1000);
+ // throw "";
+ throw "";
+ }
+ }
+ }
+}
+
+
+
diff --git a/files/5.js b/files/5.js
new file mode 100644
index 0000000..a29af48
--- /dev/null
+++ b/files/5.js
@@ -0,0 +1,21 @@
+var width=device.width
+var height=device.height
+alert("欢迎使用屏幕连点器!","您的设备分辨率为\nx:"+width+",y:"+height+"\n注:屏幕左上角为0点\n横轴x、纵轴y\n如果不确定坐标可以打开开发者选项的指针位置")
+var x = rawInput("请输入需要连点的X坐标", width);
+if(!x)exit()
+var y = rawInput("请输入需要连点的Y坐标", height);
+if(!y)exit()
+var duration = rawInput("请输入点击间隔(ms)", 1000);
+
+if(!confirm("最后确认","确认5秒后开始执行吗?\nx:"+x+",y:"+y+" 间隔:"+duration+"\n切换应用或按音量减可停止任务!"))exit()
+toast("5秒后自动开始点击("+x+","+y+")")
+sleep(5000)
+var current=currentPackage()
+while(1){
+ sleep(duration+Math.random()*2);
+ press(x,y,1);
+ if(current!=currentPackage()){
+ toast("检测到切换应用,已为您停止执行!")
+ exit()
+ }
+}
\ No newline at end of file
diff --git a/files/ui.js b/files/ui.js
new file mode 100644
index 0000000..31be874
--- /dev/null
+++ b/files/ui.js
@@ -0,0 +1,227 @@
+"ui";
+device.keepScreenOn(3600 * 1000);
+device.keepScreenDim(3600 * 1000)
+
+ui.layout(
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+)
+//
+if(!api.setApi){
+ toast("应用权限不足,无法启动ui!");
+ exit();
+}
+api.setApi(function(){
+ global.api.uniqueId=global.obj.uniqueId;
+ global.api.apiVersion=1
+})
+var storage = storages.create("caohongchrrg@qq.com:chhub");
+var list=api.getExtras().hubData.list
+
+var exectuion = null
+var runCode=function(id,code){
+ try{
+ if(exectuion)exectuion.getEngine().forceStop();
+ var appData=storage.get("data_"+id);
+ appData.useCount++
+ appData.useLast=new Date().getTime()
+ storage.put("data_"+id,appData);
+ }catch(e){}
+ exectuion=engines.execScript(id, code);
+};
+var test=api.getExtras().testRun
+if(test){
+ setTimeout(function(){
+ runCode(4,files.read("files/"+test+".js"))
+ exit();
+ },0)
+}
+var reSetData=function(){
+ var uiData=[]
+ for (var i in list) {
+ var item=list[i]
+ if(item.hidden)continue;
+ var data=storage.get("data_"+item.id);
+ if(!data){
+ storage.put("data_"+item.id,data={
+ "installTime":new Date().getTime(),//安装时间
+ "useCount":0,//使用次数
+ "useLast":0,//上次使用时间
+ "currentVersion":"",//当前版本号
+ });
+ }
+
+ item.tip=""
+ item.localVersion=data.currentVersion
+ if(!item.localVersion)item.localVersion="无"
+ if(data.useCount>=5){
+ item.tip="(最常用)"
+ }
+ if(item.version!=data.currentVersion){
+ if(!data.currentVersion){
+ item.tip="从未使用过"
+ }else{
+ item.tip="有新版本("+item.version+")"
+ }
+ }
+ if(item)uiData.push(item)
+ }
+ try{
+ ui.list.setDataSource(uiData);//设置ui
+ }catch(e){}
+}
+reSetData()
+setInterval(reSetData,10000)
+
+var updateCode=function(item,fn){
+ try{
+ http.get("https://chrrg.github.io/chhub/"+item.file, {},function(res,err){
+ if(err){
+ toast("网络异常!");
+ return;
+ }
+ var code;
+ if(res.statusCode==200){
+ code=res.body.string()
+ var appData=storage.get("data_"+item.id);
+ appData.currentVersion=item.version
+ appData.installTime=new Date().getTime()
+ storage.put("data_"+item.id,appData);
+ storage.put("code_"+item.id,code);
+ }else if(res.statusCode==404){
+ toast("脚本暂未上传,稍后再试试吧!");
+ }else{
+ toast("脚本获取失败,错误码:"+res.statusCode);
+ }
+ fn(code);
+ });
+ }catch(e){
+ toast("更新脚本失败!");
+ }
+}
+function getDateDiff(dateTimeStamp){
+ if(!dateTimeStamp)return "从未"
+ var minute = 1000 * 60;
+ var hour = minute * 60;
+ var day = hour * 24;
+ var halfamonth = day * 15;
+ var month = day * 30;
+ var now = new Date().getTime();
+ var diffValue = now - dateTimeStamp;
+ if(diffValue < 0){return "未来";}
+ var monthC =diffValue/month;
+ var weekC =diffValue/(7*day);
+ var dayC =diffValue/day;
+ var hourC =diffValue/hour;
+ var minC =diffValue/minute;
+ var result=""
+ if(monthC>=1)
+ result+=parseInt(monthC) + "月前";
+ else if(weekC>=1)
+ result+=parseInt(weekC) + "周前";
+ else if(dayC>=1)
+ result+=parseInt(dayC) +"天前";
+ else if(hourC>=1)
+ result+=parseInt(hourC) +"小时前";
+ else if(minC>=1)
+ result+=parseInt(minC) +"分钟前";
+ else return "刚刚"
+ return result;
+}
+ui.list.on("item_bind",function(itemView,itemHolder){
+ itemView.info1.on("click",function(){
+ var item=itemHolder.item;
+ var appData=storage.get("data_"+item.id);
+ toast(item.name+"\n使用次数:"+appData.useCount+"\n上次使用时间:"+getDateDiff(appData.useLast))
+ });
+ itemView.info2.on("click",function(){
+ var item=itemHolder.item;
+ var appData=storage.get("data_"+item.id);
+ toast("安装时间:"+getDateDiff(appData.installTime)+"\n"+item.desc)
+ });
+ itemView.open.on("click",function(){
+ var item=itemHolder.item;
+ var appData=storage.get("data_"+item.id);
+ var code=storage.get("code_"+item.id);
+ if(!appData.currentVersion&&!code){//第一次使用
+ confirm("从未使用过此脚本,确认运行此脚本吗?").then(value=>{
+ if(!value)return;
+ updateCode(item,function(newCode){
+ if(newCode){
+ toast("已开始运行("+item.name+")")
+ runCode(item.id,newCode);
+ }else{
+ toast("下载脚本失败!请检查网络状况!");
+ }
+ })
+ });
+ }else{
+ if(item.version!=appData.currentVersion||!code){
+ //需要下载最新源码
+ toast("更新脚本中("+item.name+")");
+ updateCode(item,function(newCode){
+ if(newCode){
+ runCode(item.id,newCode);
+ }else{
+ if(!code){
+ toast("脚本获取失败!请重试!("+item.name+")");
+ return;
+ }
+ toast("更新失败!为您启动旧版脚本("+item.name+")");
+ runCode(item.id,code);
+ }
+ })
+ }else{
+ toast("正在启动最新脚本("+item.name+")")
+ runCode(item.id,code);
+ }
+ }
+
+ })
+});
+
+//启用按键监听
+events.observeKey();
+//监听音量下键弹起
+events.onKeyDown("volume_down", function(event){
+ if(exectuion) {
+ toast('已强制结束任务!')
+ exectuion.getEngine().forceStop()
+ exectuion = null
+ } else {
+ toast('还没开车呢!')
+ }
+});
+var info = '\n⭕ CHHub 一点仓库\n⭕ 一键完成各种操作\n⭕ 重启可获取最新仓库\n⭕ 运行需要启用无障碍功能\n⭕ 建议设置屏幕常亮时间大于30s\n⭕ 按下音量减可停止运行\n'
+ui.text.setText(info)
+
+
+// threads.start(function() {
+// while(1){
+// while(device.isScreenOn())
+// sleep(1000)
+// toast('停止运行')
+// if(!exectuion)return;
+// exectuion.getEngine().forceStop()
+// exectuion = null
+// }
+// })
\ No newline at end of file
From 8f7e415842a604909e35486001336206ce919ca6 Mon Sep 17 00:00:00 2001
From: Zhang Ling-Kun <51199163+ZzzhangLK@users.noreply.github.com>
Date: Sun, 25 Oct 2020 09:17:58 +0800
Subject: [PATCH 10/10] Delete test.txt
---
files/test.txt | 1 -
1 file changed, 1 deletion(-)
delete mode 100644 files/test.txt
diff --git a/files/test.txt b/files/test.txt
deleted file mode 100644
index 8b13789..0000000
--- a/files/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-