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

update

上级 a0568d2e
// Variables used by Scriptable.
// These must be at the very top of the file. Do not edit.
// icon-color: red; icon-glyph: user-astronaut;
// icon-color: deep-purple; icon-glyph: bell;
/**
* Author:LSP
* Date:2022-12-11
* Date:2022-12-12
*/
// -------------------------------------------------------
// 是否是开发环境,配合手机端调试使用,正式发布设置为false
......@@ -29,9 +29,9 @@ class Widget extends BaseWidget {
defaultPreference = {
reminderColors: {
0: '#333333',
1: '#ff002b',
5: '#ff7f51',
9: '#f6aa1c',
1: '#ff0000',
5: '#e85d04',
9: '#faa307',
}
};
......@@ -105,36 +105,38 @@ class Widget extends BaseWidget {
// ========================================
const leftStack = contentStack.addStack();
leftStack.layoutVertically();
const leftStackWidth = width * 0.38;
const leftStackWidth = width * 0.34;
leftStack.size = new Size(leftStackWidth, height);
leftStack.setPadding(0, 16, 0, 10);
leftStack.setPadding(0, 16, 0, 8);
const avatarUrl = 'https://s3.uuu.ovh/imgs/2022/12/09/4c8c4d09b6542713.png';
// ------------
const avatarStack = leftStack.addStack();
let img = await this.getImageByUrl(avatarUrl);
let imgSpan = avatarStack.addImage(img);
avatarStack.addSpacer();
imgSpan.imageSize = new Size(leftStackWidth / 2, leftStackWidth / 2);
imgSpan.imageSize = new Size(leftStackWidth * 0.6, leftStackWidth * 0.6);
// ------------
const leftTextColor = new Color('#444');
const leftTextFont = Font.mediumSystemFont(13);
leftStack.addSpacer(10);
let textSpan = leftStack.addText(`已完成:${finishedCount}项`);
textSpan.textColor = new Color('#444');
textSpan.font = Font.mediumSystemFont(14);
textSpan.textColor = leftTextColor;
textSpan.font = leftTextFont;
textSpan.lineLimit = 1;
// ------------
leftStack.addSpacer(4);
textSpan = leftStack.addText(`未完成:${unfinishedCount}项`);
textSpan.textColor = new Color('#444');
textSpan.font = Font.mediumSystemFont(14);
textSpan.textColor = leftTextColor;
textSpan.font = leftTextFont;
textSpan.lineLimit = 1;
// ------------
leftStack.addSpacer(4);
textSpan = leftStack.addText(`完成率:${Math.floor((finishedCount / totalCount) * 100)}%`);
textSpan.textColor = new Color('#444');
textSpan.font = Font.mediumSystemFont(14);
textSpan.textColor = leftTextColor;
textSpan.font = leftTextFont;
textSpan.lineLimit = 1;
// ========================================
const rightStackWidth = width * 0.62;
const rightStackWidth = width * 0.66;
const rightStack = contentStack.addStack();
rightStack.size = new Size(rightStackWidth, height);
rightStack.layoutVertically();
......@@ -163,11 +165,19 @@ class Widget extends BaseWidget {
rdStack.size = new Size(rightStackWidth - 20, perHeight);
rdStack.setPadding(0, 8, 0, 8);
rdStack.centerAlignContent();
rdStack.backgroundColor = new Color(rd.isOverdue ? `${rd.color}` : '#000000', 0.06);
let alpha = 0.05;
if (rd.isOverdue) {
alpha = 0.2;
}
rdStack.backgroundColor = new Color(`${rd.color}`, alpha);
rdStack.cornerRadius = 4;
textSpan = rdStack.addText(`@ ${rd.title}`)
textSpan.textColor = new Color(`${rd.color}`, 0.8);
textSpan.font = Font.semiboldSystemFont(13);
let fontSize = 13;
if (rd.title.length >= 14) {
fontSize = 11;
}
textSpan.font = Font.semiboldSystemFont(fontSize);
textSpan.lineLimit = 1;
rdStack.addSpacer();
rightStack.addSpacer(10);
......@@ -188,9 +198,10 @@ class Widget extends BaseWidget {
// title, notes,isCompleted, isOverdue,
// priority:0,1,5,9,
// calendar.color.hex
const calendar = await Calendar.defaultForReminders();
const originalRdList = await Reminder.scheduled([calendar]);
const reminderList = originalRdList.map(item => ({
const calendar = await Calendar.forReminders();
const originalRdList = await Reminder.all(calendar);
const filterList = originalRdList.filter(item => (item.dueDate ? this.getDateStr(item.dueDate, 'yyyy-MM-dd') : '') == this.getDateStr(new Date(), 'yyyy-MM-dd'));
const reminderList = filterList.map(item => ({
title: item.title,
notes: item.notes,
isCompleted: item.isCompleted,
......@@ -202,7 +213,6 @@ class Widget extends BaseWidget {
const unfinishedList = reminderList.filter(reminder => !reminder.isCompleted);
unfinishedList.sort(function (a, b) { return a.priority - b.priority });
const finishedList = reminderList.filter(reminder => reminder.isCompleted);
console.log(`总共:${originalRdList.length}`);
return { finishedList, unfinishedList };
}
// --------------------------NET END--------------------------
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册