提交 de841d9c 编写于 作者: AndroidLeaves's avatar AndroidLeaves

update

上级 9ca1b5bc
preview/s1.jpeg

388.1 KB | W: | H:

preview/s1.jpeg

80.6 KB | W: | H:

preview/s1.jpeg
preview/s1.jpeg
preview/s1.jpeg
preview/s1.jpeg
  • 2-up
  • Swipe
  • Onion skin
preview/s2.jpeg

303.9 KB | W: | H:

preview/s2.jpeg

60.9 KB | W: | H:

preview/s2.jpeg
preview/s2.jpeg
preview/s2.jpeg
preview/s2.jpeg
  • 2-up
  • Swipe
  • Onion skin
preview/s3.jpeg

24.3 KB | W: | H:

preview/s3.jpeg

45.3 KB | W: | H:

preview/s3.jpeg
preview/s3.jpeg
preview/s3.jpeg
preview/s3.jpeg
  • 2-up
  • Swipe
  • Onion skin
preview/s4.jpeg

443.7 KB | W: | H:

preview/s4.jpeg

115.0 KB | W: | H:

preview/s4.jpeg
preview/s4.jpeg
preview/s4.jpeg
preview/s4.jpeg
  • 2-up
  • Swipe
  • Onion skin
preview/s6.jpeg

456.2 KB | W: | H:

preview/s6.jpeg

70.3 KB | W: | H:

preview/s6.jpeg
preview/s6.jpeg
preview/s6.jpeg
preview/s6.jpeg
  • 2-up
  • Swipe
  • Onion skin
......@@ -27,15 +27,17 @@ const { BaseWidget } = require(dependencyFileName);
class Widget extends BaseWidget {
defaultPreference = {
countDownName: 'LSP',
};
getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
caiyun = () => this.getValueByKey('caiyun');
countDownName = () => this.getValueByKey('countDownName');
countDownDate = () => this.getValueByKey('countDownDate');
constructor(scriptName) {
super(scriptName);
this.defaultConfig.backgroundGradientColor = '#F8E1AA,#F3CA71,#f8B500';
this.defaultConfig.backgroundGradientAngle = 45;
this.defaultConfig.backgroundGradientColor = '#FEFCF3,#0A2647';
this.defaultConfig.backgroundColorType = 0;
}
async getAppViewOptions() {
......@@ -48,24 +50,52 @@ class Widget extends BaseWidget {
// 预览界面的组件设置item
settingItems: [
{
name: 'caiyun',
label: '彩云key',
name: 'countDownName',
label: '倒计时名称',
type: 'cell',
icon: 'https://gitcode.net/enoyee/scriptable/-/raw/master/img/ic_weather_loop.gif',
icon: { name: 'hourglass', color: '#EF834D', },
alert: {
title: '彩云key',
message: "外部已使用默认key\\n如果不可用了需要自己去申请填入替换",
title: '倒计时名称',
options: [
{
key: 'caiyun',
hint: '请输入彩云key',
key: 'countDownName',
hint: '请输入倒计时名称',
}
]
},
showDesc: true,
needLoading: false,
default: this.caiyun(),
default: this.countDownName(),
},
]
{
name: 'countDownDate',
label: '倒计日期',
type: 'cell',
icon: { name: 'clock.arrow.circlepath', color: '#FF6E31', },
needLoading: false,
default: this.countDownDate(),
},
],
// cell类型的item点击回调
onItemClick: async (item) => {
let widgetSetting = this.readWidgetSetting();
let insertDesc = '';
switch (item.name) {
case 'countDownDate':
try {
const date = await new DatePicker().pickDate();
insertDesc = this.getDateStr(date, 'yyyy-MM-dd');
widgetSetting[item.name] = insertDesc;
} catch (error) {
}
break;
}
// 写入更新配置
this.writeWidgetSetting(widgetSetting);
return {
desc: { value: insertDesc },
};
},
};
}
......@@ -80,13 +110,15 @@ class Widget extends BaseWidget {
const widget = new ListWidget();
widget.setPadding(0, 0, 0, 0);
//=================================
let image = await this.getImageByUrl('https://gitcode.net/enoyee/scriptable/-/raw/master/img/ic_clock.png');
let stack = widget.addStack();
stack.setPadding(12, 10, 0, 0);
stack.setPadding(12, 10, 0, 10);
stack.backgroundImage = image;
stack.size = new Size(widgetSize.width, widgetSize.height);
stack.layoutVertically();
// ----------------------------------------
let textSpan = stack.addText(`离❝元旦❞还有:`);
let textSpan = stack.addText(`离❝${this.countDownName()}❞还有:`);
textSpan.textColor = Color.dynamic(new Color('#000000'), new Color('#FFFFFF'));
textSpan.font = Font.lightSystemFont(16);
......@@ -95,26 +127,29 @@ class Widget extends BaseWidget {
let countDownStack = stack.addStack();
countDownStack.centerAlignContent();
countDownStack.addSpacer();
//
textSpan = countDownStack.addText(`2`);
textSpan.textColor = Color.dynamic(new Color('#000000'), new Color('#FFFFFF'));
textSpan.font = Font.semiboldRoundedSystemFont(46);
//
countDownStack.addSpacer(4);
textSpan = countDownStack.addText(`天`);
textSpan.textColor = Color.dynamic(new Color('#000000'), new Color('#FFFFFF'));
textSpan.font = Font.semiboldRoundedSystemFont(26);
//
// 倒计
const countDownTime = new Date(`${this.countDownDate()} 00:00`).getTime();
let dateSpan = countDownStack.addDate(new Date(countDownTime));
dateSpan.centerAlignText();
dateSpan.lineLimit = 2;
dateSpan.applyRelativeStyle();
let fontSize = 18;
const timeInterval = (countDownTime - new Date().getTime()) / 86400 / 1000;
if (timeInterval > 1) {
fontSize = 26;
}
dateSpan.font = Font.semiboldRoundedSystemFont(fontSize);
countDownStack.addSpacer();
// ----------------------------------------
stack.addSpacer();
let image = await this.getImageByUrl('https://gitcode.net/enoyee/scriptable/-/raw/master/img/ic_clock.png');
let btStack = stack.addStack();
btStack.setPadding(6, 6, 12, 8);
btStack.setPadding(6, 6, 10, 0);
btStack.addSpacer();
image = await this.getImageByUrl('https://cdn-icons-png.flaticon.com/128/8849/8849632.png');
let imgSpan = btStack.addImage(image);
imgSpan.imageSize = new Size(30, 30);
imgSpan.imageOpacity = 0.8;
//=================================
return widget;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册