Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
enoyee
Scriptable
提交
9886ede4
S
Scriptable
项目概览
enoyee
/
Scriptable
通知
9
Star
0
Fork
3
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Scriptable
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9886ede4
编写于
2月 13, 2023
作者:
AndroidLeaves
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
29f9ee98
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
184 addition
and
240 deletion
+184
-240
倒计日.js
倒计日.js
+2
-2
模板.js
模板.js
+174
-230
电信.js
电信.js
+4
-4
联通.js
联通.js
+4
-4
未找到文件。
倒计日.js
浏览文件 @
9886ede4
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
// icon-color: deep-green; icon-glyph: clock;
// icon-color: deep-green; icon-glyph: clock;
/**
/**
* Author:LSP
* Author:LSP
* Date:2023-02-
04
* Date:2023-02-
13
*/
*/
// -------------------------------------------------------
// -------------------------------------------------------
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
...
@@ -314,7 +314,7 @@ class Widget extends BaseWidget {
...
@@ -314,7 +314,7 @@ class Widget extends BaseWidget {
// ----------------------------------------
// ----------------------------------------
let
hStack
=
stack
.
addStack
();
let
hStack
=
stack
.
addStack
();
hStack
.
addSpacer
();
hStack
.
addSpacer
();
let
textSpan
=
hStack
.
addText
(
`
${
this
.
prefixTitle
()}
❝
${
this
.
countDownName
()}
❞
${
isOverdue
?
timeInterval
+
1
:
timeInterval
}
周年`
);
let
textSpan
=
hStack
.
addText
(
`
${
this
.
prefixTitle
()}
❝
${
this
.
countDownName
()}
❞
${
timeInterval
+
1
}
周年`
);
textSpan
.
textColor
=
this
.
dynamicColor
(
this
.
titleDayColor
(),
this
.
titleNightColor
());
textSpan
.
textColor
=
this
.
dynamicColor
(
this
.
titleDayColor
(),
this
.
titleNightColor
());
textSpan
.
font
=
Font
.
mediumSystemFont
(
this
.
titleFontSize
());
textSpan
.
font
=
Font
.
mediumSystemFont
(
this
.
titleFontSize
());
hStack
.
addSpacer
();
hStack
.
addSpacer
();
...
...
模板.js
浏览文件 @
9886ede4
// Variables used by Scriptable.
// Variables used by Scriptable.
// These must be at the very top of the file. Do not edit.
// These must be at the very top of the file. Do not edit.
// icon-color:
red; icon-glyph: user-astronaut
;
// icon-color:
deep-blue; icon-glyph: film
;
/**
/**
* Author:LSP
* Author:LSP
* Date:202
2-12-05
* Date:202
3-02-04
*/
*/
// -------------------------------------------------------
// -------------------------------------------------------
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
const
isDev
=
true
;
const
isDev
=
false
;
console
.
log
(
`开发环境 👉👉👉
${
isDev
?
'
DEV
'
:
'
RELEASE
'
}
`
);
const
dependencyLSP
=
'
20230204
'
;
console
.
log
(
`当前环境 👉👉👉👉👉
${
isDev
?
'
DEV
'
:
'
RELEASE
'
}
`
);
console
.
log
(
`----------------------------------------`
);
console
.
log
(
`----------------------------------------`
);
// 分支
const
branch
=
'
master
'
;
// 仓库根目录
const
remoteRoot
=
`https://gitcode.net/enoyee/scriptable/-/raw/
${
branch
}
`
;
// 依赖包目录
// 依赖包目录
const
fm
=
FileManager
.
local
();
const
fm
=
FileManager
.
local
();
const
rootDir
=
fm
.
documentsDirectory
();
const
rootDir
=
fm
.
documentsDirectory
();
...
@@ -21,253 +25,172 @@ await downloadLSPDependency();
...
@@ -21,253 +25,172 @@ await downloadLSPDependency();
// -------------------------------------------------------
// -------------------------------------------------------
if
(
typeof
require
===
'
undefined
'
)
require
=
importModule
if
(
typeof
require
===
'
undefined
'
)
require
=
importModule
// 引入相关方法
// 引入相关方法
const
{
const
{
BaseWidget
}
=
require
(
dependencyFileName
);
writeWidgetSetting
,
generateAlert
,
generateInputAlert
,
presentSheet
,
readWidgetSetting
,
drawTextWithCustomFont
,
httpGet
,
getDateStr
,
getImageByUrl
,
presentViewInApp
,
}
=
require
(
dependencyFileName
);
// @定义小组件
class
Widget
extends
BaseWidget
{
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
constructor
(
scriptName
)
{
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
super
(
scriptName
);
// ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓START↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
this
.
domain
=
'
https://www.cikeee.com
'
;
//=========================组件默认配置=========================
this
.
defaultConfig
.
refreshInterval
=
`
${
2
*
60
}
`
;
const
defaultPreference
=
{
this
.
backgroundColor
=
'
#f0f0f4,#161823
'
;
caiyun
:
'
UR8ASaplvIwavDfR
'
,
this
.
defaultConfig
.
bgType
=
'
2
'
;
};
this
.
titleColor
=
Color
.
dynamic
(
new
Color
(
'
#222222
'
),
new
Color
(
'
#AAAAAA
'
));
this
.
descColor
=
Color
.
dynamic
(
new
Color
(
'
#FFFFFF
'
),
new
Color
(
'
#EEEEEE
'
));
this
.
subTitleColor
=
Color
.
dynamic
(
new
Color
(
'
#555555
'
),
new
Color
(
'
#AAAAAA
'
));
}
const
getValueByKey
=
(
key
)
=>
readWidgetSetting
()[
key
]
??
defaultPreference
[
key
];
async
getAppViewOptions
()
{
const
caiyun
=
()
=>
getValueByKey
(
'
caiyun
'
);
return
{
widgetProvider
:
{
small
:
true
,
// 是否提供小号组件
medium
:
false
,
// 是否提供中号组件
large
:
false
,
// 是否提供大号组件
},
// 预览界面的组件设置item
settingItems
:
[
{
name
:
'
pic
'
,
label
:
'
选择图片
'
,
type
:
'
cell
'
,
icon
:
{
name
:
'
tag
'
,
color
:
'
#7678ed
'
,
},
showDesc
:
false
,
needLoading
:
true
,
},
],
// cell类型的item点击回调
onItemClick
:
async
(
item
)
=>
{
let
widgetSetting
=
this
.
readWidgetSetting
();
let
insertDesc
=
''
;
switch
(
item
.
name
)
{
case
'
pic
'
:
try
{
let
image
=
await
Photos
.
fromLibrary
();
this
.
useFileManager
().
writeImgCache
(
'
pic
'
,
image
);
}
catch
(
error
)
{
}
break
;
}
// 写入更新配置
this
.
writeWidgetSetting
(
widgetSetting
);
return
{
desc
:
{
value
:
insertDesc
},
};
},
};
}
// --------------------------NET START--------------------------
async
render
({
widgetSetting
,
family
})
{
return
await
this
.
provideLargeWidget
();
}
// --------------------------NET END--------------------------
async
provideLargeWidget
()
{
// ----------------------------------------
const
widgetSize
=
this
.
getWidgetSize
(
'
小号
'
);
console
.
log
(
JSON
.
stringify
(
widgetSize
,
null
,
2
));
//
//=================================
const
widget
=
new
ListWidget
();
//=================================
let
stack
=
widget
.
addStack
();
stack
.
size
=
new
Size
(
widgetSize
.
width
-
12
,
widgetSize
.
height
-
12
);
let
image
=
await
this
.
getImageByUrl
(
"
https://s1.ax1x.com/2023/02/09/pSWWFeO.png
"
);
stack
.
backgroundImage
=
this
.
useFileManager
().
readImgCache
(
'
pic
'
)
stack
.
centerAlignContent
()
// Widget创建
let
picStack
=
stack
.
addStack
();
const
createWidget
=
async
(
widgetSetting
,
family
)
=>
{
picStack
.
size
=
new
Size
(
widgetSize
.
width
-
4
,
widgetSize
.
height
-
4
);
//=================================
picStack
.
backgroundImage
=
image
const
widget
=
new
ListWidget
();
widget
.
setPadding
(
0
,
0
,
0
,
0
);
//=================================
let
stack
=
widget
.
addStack
();
stack
.
layoutHorizontally
();
//---------------------------------
const
localQuickConfigs
=
widgetSetting
.
quickStart
;
const
quickConfigJSON
=
localQuickConfigs
?
localQuickConfigs
:
JSON
.
stringify
(
defaultPreference
.
quickConfigs
);
const
quickConfigArr
=
JSON
.
parse
(
quickConfigJSON
);
await
quickStack
(
stack
,
quickConfigArr
);
//---------------------------------
let
rightStack
=
stack
.
addStack
();
rightStack
.
layoutVertically
();
rightStack
.
addSpacer
();
await
loadWeatherStack
(
rightStack
);
rightStack
.
addSpacer
();
//=================================
stack
.
addSpacer
();
return
widget
;
}
// let imgSpan = stack.addImage(image)
// imgSpan.centerAlignImage();
// imgSpan.applyFillingContentMode();
//=================================
return
widget
;
}
//=========================配置界面=========================
// --------------------------NET START--------------------------
await
presentViewInApp
({
async
loadHTML
(
url
)
{
widgetProvider
:
{
let
req
=
new
Request
(
url
);
small
:
false
,
// 是否提供小号组件
req
.
headers
=
{
medium
:
true
,
// 是否提供中号组件
"
user-agent
"
:
"
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36
"
,
large
:
false
,
// 是否提供大号组件
},
// 预览界面的组件设置item
settingItems
:
[
{
name
:
'
otherSetting
'
,
label
:
'
其他设置
'
,
type
:
'
cell
'
,
icon
:
'
https://gitcode.net/4qiao/framework/raw/master/img/icon/setting.gif
'
,
needLoading
:
true
,
childItems
:
[
{
name
:
'
quickFontSize
'
,
label
:
'
启动文字大小
'
,
type
:
'
cell
'
,
icon
:
{
name
:
'
pencil.and.outline
'
,
color
:
'
#7743DB
'
,
},
needLoading
:
false
,
alert
:
{
title
:
'
启动文字大小
'
,
options
:
[
{
key
:
'
quickFontSize
'
,
hint
:
'
请输入字号
'
,
}
]
},
default
:
quickFontSize
(),
},
{
name
:
'
quickFontColor
'
,
label
:
'
启动文字颜色
'
,
type
:
'
color
'
,
icon
:
{
name
:
'
pencil.and.outline
'
,
color
:
'
#7743DB
'
,
},
needLoading
:
false
,
default
:
quickFontColor
(),
},
{
name
:
'
temperatureFontSize
'
,
label
:
'
温度文字大小
'
,
type
:
'
cell
'
,
icon
:
{
name
:
'
thermometer.medium
'
,
color
:
'
#E0144C
'
,
},
needLoading
:
false
,
alert
:
{
title
:
'
温度文字大小
'
,
options
:
[
{
key
:
'
temperatureFontSize
'
,
hint
:
'
请输入字号
'
,
}
]
},
default
:
temperatureFontSize
(),
},
{
name
:
'
temperatureFontColor
'
,
label
:
'
温度文字颜色
'
,
type
:
'
color
'
,
icon
:
{
name
:
'
thermometer.medium
'
,
color
:
'
#E0144C
'
,
},
needLoading
:
false
,
default
:
temperatureFontColor
(),
},
{
name
:
'
dateFontSize
'
,
label
:
'
日期文字大小
'
,
type
:
'
cell
'
,
icon
:
'
https://s3.uuu.ovh/imgs/2022/12/05/ac2c5b8843ff2719.gif
'
,
needLoading
:
false
,
alert
:
{
title
:
'
日期文字大小
'
,
options
:
[
{
key
:
'
dateFontSize
'
,
hint
:
'
请输入字号
'
,
}
]
},
default
:
dateFontSize
(),
},
{
name
:
'
dateFontColor
'
,
label
:
'
日期文字颜色
'
,
type
:
'
color
'
,
icon
:
'
https://s3.uuu.ovh/imgs/2022/12/05/ac2c5b8843ff2719.gif
'
,
needLoading
:
false
,
default
:
dateFontColor
(),
},
{
name
:
'
weatherFontSize
'
,
label
:
'
天气文字大小
'
,
type
:
'
cell
'
,
icon
:
'
https://s3.uuu.ovh/imgs/2022/12/05/a95f9edce36891d9.gif
'
,
needLoading
:
false
,
alert
:
{
title
:
'
天气文字大小
'
,
options
:
[
{
key
:
'
weatherFontSize
'
,
hint
:
'
请输入字号
'
,
}
]
},
default
:
weatherFontSize
(),
},
{
name
:
'
weatherFontColor
'
,
label
:
'
天气文字颜色
'
,
type
:
'
color
'
,
icon
:
'
https://s3.uuu.ovh/imgs/2022/12/05/a95f9edce36891d9.gif
'
,
needLoading
:
false
,
default
:
weatherFontColor
(),
},
{
name
:
'
covFontSize
'
,
label
:
'
疫情文字大小
'
,
type
:
'
cell
'
,
icon
:
'
https://s3.uuu.ovh/imgs/2022/12/05/2cd3dee47cd0824f.png
'
,
needLoading
:
false
,
alert
:
{
title
:
'
疫情文字大小
'
,
options
:
[
{
key
:
'
covFontSize
'
,
hint
:
'
请输入字号
'
,
}
]
},
default
:
covFontSize
(),
},
{
name
:
'
covFontColor
'
,
label
:
'
疫情文字颜色
'
,
type
:
'
color
'
,
icon
:
'
https://s3.uuu.ovh/imgs/2022/12/05/2cd3dee47cd0824f.png
'
,
needLoading
:
false
,
default
:
covFontColor
(),
},
]
},
],
// cell类型的item点击回调
onItemClick
:
async
(
item
)
=>
{
let
widgetSetting
=
readWidgetSetting
();
let
insertDesc
;
switch
(
item
.
name
)
{
case
''
:
break
}
// 写入更新配置
writeWidgetSetting
(
widgetSetting
);
return
{
desc
:
{
value
:
insertDesc
},
};
};
},
let
html
=
await
req
.
loadString
();
// UI渲染
return
html
.
replace
(
/
(\r\n
|
\n
|
\r)
/gm
,
""
);
render
:
async
({
widgetSetting
,
family
})
=>
{
}
Object
.
assign
(
defaultPreference
,
widgetSetting
);
async
loadMovieCalendar
()
{
const
link
=
this
.
domain
;
let
response
=
undefined
;
try
{
try
{
return
await
createWidget
(
defaultPreference
,
family
);
const
ufm
=
this
.
useFileManager
();
}
catch
(
e
)
{
const
webview
=
new
WebView
();
if
(
config
.
runsInApp
)
{
const
cacheFileName
=
this
.
md5
(
link
);
await
generateAlert
({
const
lastCacheTime
=
ufm
.
getCacheModifyDate
(
cacheFileName
);
title
:
'
❌运行错误
'
,
const
timeInterval
=
Math
.
floor
((
this
.
getCurrentTimeStamp
()
-
lastCacheTime
)
/
60
);
message
:
`
${
e
}
`
,
// 读取本地缓存
options
:
[
'
确定
'
]
const
localCache
=
ufm
.
readStringCache
(
cacheFileName
);
});
const
canUseCache
=
localCache
!=
null
&&
localCache
.
length
>
0
;
// 过时且有本地缓存则直接返回本地缓存数据
const
{
refreshInterval
=
'
0
'
}
=
this
.
readWidgetSetting
();
const
shouldLoadCache
=
timeInterval
<=
Number
(
refreshInterval
)
&&
canUseCache
;
let
html
=
undefined
;
if
(
!
shouldLoadCache
)
{
console
.
log
(
`-->>在线加载网页数据:
${
link
}
`
);
html
=
await
this
.
loadHTML
(
link
);
ufm
.
writeStringCache
(
cacheFileName
,
html
);
}
else
{
html
=
ufm
.
readStringCache
(
cacheFileName
);
console
.
log
(
`-->>加载缓存网页数据:
${
link
}
`
);
}
await
webview
.
loadHTML
(
html
);
const
getData
=
`
function getData() {
let movieImg = document.getElementById('movie-img').src;
let movieDesc = document.querySelector('span#movie-text').textContent;
let movieName = document.querySelector('a#movie-name').textContent.replaceAll('——', '');
let movieInformation = document.querySelector('a#movie-information').textContent;
let movieRating = movieInformation.slice(0, 3);
movieInformation = movieInformation.slice(5);
let movieLink = document.querySelector('a#movie-img-a').href;
return { movieImg, movieDesc, movieName, movieInformation, movieRating, movieLink };
}
getData()
`
// 热榜数据
response
=
await
webview
.
evaluateJavaScript
(
getData
,
false
);
if
(
response
.
titleArr
?.
length
>
0
)
{
this
.
useFileManager
().
writeStringCache
(
'
movieCalendar
'
,
JSON
.
stringify
(
response
));
}
}
console
.
error
(
e
);
}
catch
(
error
)
{
console
.
error
(
`🚫 请求数据出错了=>
${
error
}
`
);
response
=
JSON
.
parse
(
this
.
useFileManager
().
readStringCache
(
'
movieCalendar
'
));
}
}
return
response
;
}
}
});
// --------------------------NET END--------------------------
}
await
new
Widget
(
Script
.
name
()).
run
();
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑END↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
// =================================================================================
// =================================================================================
// =================================================================================
// =================================================================================
async
function
downloadLSPDependency
()
{
async
function
downloadLSPDependency
()
{
let
fm
=
FileManager
.
local
();
let
fm
=
FileManager
.
local
();
const
dependencyURL
=
"
https://gitee.com/enjoyee/scriptable/raw/develop/_LSP.js
"
;
const
dependencyURL
=
`
${
remoteRoot
}
/_LSP.js`
;
const
update
=
needUpdateDependency
();
if
(
isDev
)
{
if
(
isDev
)
{
const
iCloudPath
=
FileManager
.
iCloud
().
documentsDirectory
();
const
iCloudPath
=
FileManager
.
iCloud
().
documentsDirectory
();
const
localIcloudDependencyExit
=
fm
.
isFileStoredIniCloud
(
`
${
iCloudPath
}
/_LSP.js`
);
const
localIcloudDependencyExit
=
fm
.
isFileStoredIniCloud
(
`
${
iCloudPath
}
/_LSP.js`
);
const
localDependencyExit
=
fm
.
fileExists
(
`
${
rootDir
}
/_LSP.js`
);
const
localDependencyExit
=
fm
.
fileExists
(
`
${
rootDir
}
/_LSP.js`
);
const
fileExist
=
localIcloudDependencyExit
||
localDependencyExit
;
const
fileExist
=
localIcloudDependencyExit
||
localDependencyExit
;
console
.
log
(
`🚀 DEV开发依赖文件
${
fileExist
?
'
已存在 ✅
'
:
'
不存在 🚫
'
}
`
);
console
.
log
(
`🚀 DEV开发依赖文件
${
fileExist
?
'
已存在 ✅
'
:
'
不存在 🚫
'
}
`
);
if
(
!
fileExist
)
{
if
(
!
fileExist
||
update
)
{
console
.
log
(
`🤖 DEV 开始下载依赖~`
);
console
.
log
(
`🤖 DEV 开始
${
update
?
'
更新
'
+
dependencyLSP
:
'
下载
'
}
依赖~`
);
keySave
(
'
VERSION
'
,
dependencyLSP
);
await
downloadFile2Scriptable
(
'
_LSP
'
,
dependencyURL
);
await
downloadFile2Scriptable
(
'
_LSP
'
,
dependencyURL
);
}
}
return
return
...
@@ -277,20 +200,20 @@ async function downloadLSPDependency() {
...
@@ -277,20 +200,20 @@ async function downloadLSPDependency() {
console
.
log
(
`----------------------------------------`
);
console
.
log
(
`----------------------------------------`
);
const
remoteDependencyExit
=
fm
.
fileExists
(
`
${
cacheDir
}
/_LSP.js`
);
const
remoteDependencyExit
=
fm
.
fileExists
(
`
${
cacheDir
}
/_LSP.js`
);
console
.
log
(
`🚀 RELEASE依赖文件
${
remoteDependencyExit
?
'
已存在 ✅
'
:
'
不存在 🚫
'
}
`
);
console
.
log
(
`🚀 RELEASE依赖文件
${
remoteDependencyExit
?
'
已存在 ✅
'
:
'
不存在 🚫
'
}
`
);
console
.
log
(
`----------------------------------------`
);
// ------------------------------
// ------------------------------
if
(
!
remoteDependencyExit
)
{
// 下载依赖
if
(
!
remoteDependencyExit
||
update
)
{
// 下载依赖
// 创建根目录
// 创建根目录
if
(
!
fm
.
fileExists
(
cacheDir
))
{
if
(
!
fm
.
fileExists
(
cacheDir
))
{
fm
.
createDirectory
(
cacheDir
,
true
);
fm
.
createDirectory
(
cacheDir
,
true
);
}
}
// 下载
// 下载
console
.
log
(
'
🤖 RELEASE开始下载依赖~
'
);
console
.
log
(
`🤖 RELEASE开始
${
update
?
'
更新
'
:
'
下载
'
}
依赖~`
);
console
.
log
(
`----------------------------------------`
);
console
.
log
(
`----------------------------------------`
);
const
req
=
new
Request
(
dependencyURL
);
const
req
=
new
Request
(
dependencyURL
);
const
moduleJs
=
await
req
.
load
();
const
moduleJs
=
await
req
.
load
();
if
(
moduleJs
)
{
if
(
moduleJs
)
{
fm
.
write
(
fm
.
joinPath
(
cacheDir
,
'
/_LSP.js
'
),
moduleJs
);
fm
.
write
(
fm
.
joinPath
(
cacheDir
,
'
/_LSP.js
'
),
moduleJs
);
keySave
(
'
VERSION
'
,
dependencyLSP
);
console
.
log
(
'
✅ LSP远程依赖环境下载成功!
'
);
console
.
log
(
'
✅ LSP远程依赖环境下载成功!
'
);
console
.
log
(
`----------------------------------------`
);
console
.
log
(
`----------------------------------------`
);
}
else
{
}
else
{
...
@@ -340,5 +263,25 @@ async function downloadFile2Scriptable(moduleName, url) {
...
@@ -340,5 +263,25 @@ async function downloadFile2Scriptable(moduleName, url) {
return
saveFile2Scriptable
(
`
${
moduleName
}
`
,
content
);
return
saveFile2Scriptable
(
`
${
moduleName
}
`
,
content
);
};
};
/**
* 是否需要更新依赖版本
*/
function
needUpdateDependency
()
{
return
dependencyLSP
!=
keyGet
(
'
VERSION
'
);
};
function
keySave
(
cacheKey
,
cache
)
{
if
(
cache
)
{
Keychain
.
set
(
Script
.
name
()
+
cacheKey
,
cache
);
}
}
function
keyGet
(
cacheKey
,
defaultValue
=
''
)
{
if
(
Keychain
.
contains
(
Script
.
name
()
+
cacheKey
))
{
return
Keychain
.
get
(
Script
.
name
()
+
cacheKey
);
}
else
{
return
defaultValue
;
}
}
// =================================================================================
// =================================================================================
// =================================================================================
// =================================================================================
\ No newline at end of file
电信.js
浏览文件 @
9886ede4
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
// icon-color: blue; icon-glyph: mobile-alt;
// icon-color: blue; icon-glyph: mobile-alt;
/**
/**
* Author:LSP
* Author:LSP
* Date:2023-02-
04
* Date:2023-02-
13
*/
*/
// -------------------------------------------------------
// -------------------------------------------------------
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
...
@@ -264,7 +264,7 @@ class Widget extends BaseWidget {
...
@@ -264,7 +264,7 @@ class Widget extends BaseWidget {
let
displayStack
=
stack
.
addStack
();
let
displayStack
=
stack
.
addStack
();
displayStack
.
centerAlignContent
();
displayStack
.
centerAlignContent
();
displayStack
.
addSpacer
(
descLeftSpacer
);
displayStack
.
addSpacer
(
descLeftSpacer
);
textSpan
=
displayStack
.
addText
(
`
${
voiceBalance
?
`
${
this
.
fee
.
balance
}${
this
.
fee
.
unit
}
`
:
'
NAN
'
}
`
);
textSpan
=
displayStack
.
addText
(
`
${
this
.
fee
.
balance
}${
this
.
fee
.
unit
}
`
);
textSpan
.
textColor
=
descTextColor
;
textSpan
.
textColor
=
descTextColor
;
textSpan
.
font
=
infoFont
;
textSpan
.
font
=
infoFont
;
displayStack
.
addSpacer
();
displayStack
.
addSpacer
();
...
@@ -278,7 +278,7 @@ class Widget extends BaseWidget {
...
@@ -278,7 +278,7 @@ class Widget extends BaseWidget {
displayStack
=
stack
.
addStack
();
displayStack
=
stack
.
addStack
();
displayStack
.
centerAlignContent
();
displayStack
.
centerAlignContent
();
displayStack
.
addSpacer
(
descLeftSpacer
);
displayStack
.
addSpacer
(
descLeftSpacer
);
textSpan
=
displayStack
.
addText
(
`
${
voiceBalance
?
`
${
voiceBalance
}${
this
.
voice
.
unit
}
`
:
'
NAN
'
}
`
);
textSpan
=
displayStack
.
addText
(
`
${
voiceBalance
}${
this
.
voice
.
unit
}
`
);
textSpan
.
textColor
=
descTextColor
;
textSpan
.
textColor
=
descTextColor
;
textSpan
.
font
=
infoFont
;
textSpan
.
font
=
infoFont
;
displayStack
.
addSpacer
();
displayStack
.
addSpacer
();
...
@@ -292,7 +292,7 @@ class Widget extends BaseWidget {
...
@@ -292,7 +292,7 @@ class Widget extends BaseWidget {
displayStack
=
stack
.
addStack
();
displayStack
=
stack
.
addStack
();
displayStack
.
centerAlignContent
();
displayStack
.
centerAlignContent
();
displayStack
.
addSpacer
(
descLeftSpacer
);
displayStack
.
addSpacer
(
descLeftSpacer
);
textSpan
=
displayStack
.
addText
(
`
${
voiceBalance
?
`
${
this
.
flow
.
balance
}${
this
.
flow
.
unit
}
`
:
'
NAN
'
}
`
);
textSpan
=
displayStack
.
addText
(
`
${
this
.
flow
.
balance
}${
this
.
flow
.
unit
}
`
);
textSpan
.
textColor
=
descTextColor
;
textSpan
.
textColor
=
descTextColor
;
textSpan
.
font
=
infoFont
;
textSpan
.
font
=
infoFont
;
displayStack
.
addSpacer
();
displayStack
.
addSpacer
();
...
...
联通.js
浏览文件 @
9886ede4
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
// icon-color: red; icon-glyph: mobile-alt;
// icon-color: red; icon-glyph: mobile-alt;
/**
/**
* Author:LSP
* Author:LSP
* Date:2023-02-
04
* Date:2023-02-
13
*/
*/
// -------------------------------------------------------
// -------------------------------------------------------
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
...
@@ -241,7 +241,7 @@ class Widget extends BaseWidget {
...
@@ -241,7 +241,7 @@ class Widget extends BaseWidget {
let
displayStack
=
stack
.
addStack
();
let
displayStack
=
stack
.
addStack
();
displayStack
.
centerAlignContent
();
displayStack
.
centerAlignContent
();
displayStack
.
addSpacer
(
descLeftSpacer
);
displayStack
.
addSpacer
(
descLeftSpacer
);
textSpan
=
displayStack
.
addText
(
`
${
voiceBalance
?
`
${
this
.
fee
.
balance
}${
this
.
fee
.
unit
}
`
:
'
NAN
'
}
`
);
textSpan
=
displayStack
.
addText
(
`
${
this
.
fee
.
balance
}${
this
.
fee
.
unit
}
`
);
textSpan
.
textColor
=
descTextColor
textSpan
.
textColor
=
descTextColor
textSpan
.
font
=
infoFont
textSpan
.
font
=
infoFont
displayStack
.
addSpacer
();
displayStack
.
addSpacer
();
...
@@ -255,7 +255,7 @@ class Widget extends BaseWidget {
...
@@ -255,7 +255,7 @@ class Widget extends BaseWidget {
displayStack
=
stack
.
addStack
();
displayStack
=
stack
.
addStack
();
displayStack
.
centerAlignContent
();
displayStack
.
centerAlignContent
();
displayStack
.
addSpacer
(
descLeftSpacer
);
displayStack
.
addSpacer
(
descLeftSpacer
);
textSpan
=
displayStack
.
addText
(
`
${
voiceBalance
?
`
${
voiceBalance
}${
this
.
voice
.
unit
}
`
:
'
NAN
'
}
`
);
textSpan
=
displayStack
.
addText
(
`
${
voiceBalance
}${
this
.
voice
.
unit
}
`
);
textSpan
.
textColor
=
descTextColor
textSpan
.
textColor
=
descTextColor
textSpan
.
font
=
infoFont
textSpan
.
font
=
infoFont
displayStack
.
addSpacer
();
displayStack
.
addSpacer
();
...
@@ -269,7 +269,7 @@ class Widget extends BaseWidget {
...
@@ -269,7 +269,7 @@ class Widget extends BaseWidget {
displayStack
=
stack
.
addStack
();
displayStack
=
stack
.
addStack
();
displayStack
.
centerAlignContent
();
displayStack
.
centerAlignContent
();
displayStack
.
addSpacer
(
descLeftSpacer
);
displayStack
.
addSpacer
(
descLeftSpacer
);
textSpan
=
displayStack
.
addText
(
`
${
voiceBalance
?
`
${
this
.
flow
.
balance
}${
this
.
flow
.
unit
}
`
:
'
NAN
'
}
`
);
textSpan
=
displayStack
.
addText
(
`
${
this
.
flow
.
balance
}${
this
.
flow
.
unit
}
`
);
textSpan
.
textColor
=
descTextColor
textSpan
.
textColor
=
descTextColor
textSpan
.
font
=
infoFont
textSpan
.
font
=
infoFont
displayStack
.
addSpacer
();
displayStack
.
addSpacer
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录