可信源码风险提示:保存或下载前请阅读源码和权限声明。
async function main() {
const width = typeof ui.getWidth === 'function' ? ui.getWidth() : 324;
const status = ui.signal('就绪');
const infoLines = [];
infoLines.push('JSLab 环境检测');
infoLines.push('屏幕可用宽度: ' + width + 'px');
if (script.canUse('@system.device.getInfo')) {
infoLines.push('设备信息接口: 可用');
} else {
infoLines.push('设备信息接口: 不可用');
}
// 尝试获取设备信息用于展示(非必须)
const getDeviceInfo = () => new Promise((resolve) => {
if (!script.canUse('@system.device.getInfo')) {
resolve(null);
return;
}
system.device.getInfo({
success: (data) => resolve(data),
fail: () => resolve(null)
});
});
const devInfo = await getDeviceInfo();
if (devInfo) {
if (devInfo.model) infoLines.push('型号: ' + devInfo.model);
if (devInfo.brand) infoLines.push('品牌: ' + devInfo.brand);
if (devInfo.osVersionName) infoLines.push('系统: ' + devInfo.osVersionName);
}
const guideText = [
'本脚本不执行安装或破解操作。',
'如需激活/安装第三方快应用,请:',
'1. 使用「表盘自定义工具」或 AstroBox;',
'2. 在小米运动健康中读取 AuthKey;',
'3. 通过蓝牙推送 .rpk 文件到手环。',
'实验前请确认设备型号与资源适配。'
].join('\n');
ui.render(() => [
ui.heading('快应用实验助手', { lines: 1, size: 24 }),
ui.text(infoLines.join('\n'), { size: 16, lines: 10, lineHeight: 22 }),
ui.divider(),
ui.text(guideText, { size: 16, lines: 8, lineHeight: 22 }),
ui.spacer(6),
ui.text('状态: ' + status.get(), { size: 16, lines: 1 }),
ui.buttonRow([
{
text: '刷新状态',
tone: 'primary',
onPress: async () => {
status.set('检测中…');
const again = await getDeviceInfo();
if (again && again.model) {
status.set('设备: ' + again.model);
} else {
status.set('未获取到设备信息');
}
}
},
{
text: '显示日志',
tone: 'neutral',
onPress: () => ui.hide()
}
], { gap: 6 })
]);
console.log('JSLab 实验助手已启动');
console.log(infoLines.join(' | '));
}
return main();