Initial commit

This commit is contained in:
Paul Fey 2025-06-20 09:47:10 +02:00
commit c310cd7943
19 changed files with 3939 additions and 0 deletions

View file

@ -0,0 +1,2 @@
msgid "example"
msgstr "This is an example in device"

110
pages/status/index.js Normal file
View file

@ -0,0 +1,110 @@
import { createWidget, widget, align, updateStatusBarTitle } from "@zos/ui";
import { log as Logger, px } from "@zos/utils";
import { back } from "@zos/router";
import {
DEFAULT_COLOR,
DEFAULT_COLOR_TRANSPARENT,
} from "../../utils/config/constants";
import { DEVICE_WIDTH } from "../../utils/config/device";
import VisLog from "@silver-zepp/vis-log";
const vis = new VisLog("index.js");
const logger = Logger.getLogger("ZeppSpace");
const { messageBuilder } = getApp()._options.globalData;
let title = "";
let url = "";
Page({
state: {},
onInit(params) {
const data = JSON.parse(params);
if (data["url"] == undefined || data["name"] == undefined) {
back();
return;
}
title = data["name"];
url = data["url"];
},
build() {
updateStatusBarTitle(title + " (Loading)");
this.fetchData();
},
fetchData() {
messageBuilder
.request({
method: "GET_STATUS",
url: url,
})
.then((data) => {
const statusSuccess = data["success"];
if (!statusSuccess) {
return;
}
let open = data["result"]["state"]["open"];
let openText = open ? "Yes" : "No";
createWidget(widget.TEXT, {
x: 0,
y: px(70),
w: px(DEVICE_WIDTH),
h: px(50),
align_h: align.CENTER_H,
align_v: align.CENTER_V,
text_size: px(32),
color: 0xffffff,
text: "Open: " + openText,
});
createWidget(widget.TEXT, {
x: 0,
y: px(120),
w: px(DEVICE_WIDTH),
h: px(50),
align_h: align.CENTER_H,
align_v: align.CENTER_V,
text_size: px(32),
color: 0xffffff,
text:
"Last Updated: " +
this.convertTime(data["result"]["state"]["lastchange"]),
});
updateStatusBarTitle(title);
});
},
convertTime(timestamp) {
var a = new Date(timestamp * 1000);
var today = new Date();
var yesterday = new Date(Date.now() - 86400000);
var months = [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"Jul",
"Aug",
"Sep",
"Oct",
"Nov",
"Dec",
];
var year = a.getFullYear();
var month = months[a.getMonth()];
var date = a.getDate();
var hour = a.getHours() < 10 ? "0" + a.getHours() : a.getHours();
var min = a.getMinutes() < 10 ? "0" + a.getMinutes() : a.getMinutes();
if (a.setHours(0, 0, 0, 0) == today.setHours(0, 0, 0, 0))
return hour + ":" + min;
else if (a.setHours(0, 0, 0, 0) == yesterday.setHours(0, 0, 0, 0))
return "Yesterday, " + hour + ":" + min;
else if (year == today.getFullYear()) return date + " " + month;
else return date + " " + month + " " + year;
},
});