脚本编辑
内置常量参考
脚本运行时可直接引用的只读内置常量,以 $ 开头,覆盖设备信息、屏幕尺寸、脚本信息和时间。
概述
WeMod 脚本编辑器内置了一组只读常量,以 $ 为前缀,可在表达式、模板插值字段和变量引用中直接使用,无需定义。
内置常量均为只读,用户 SetVar 操作可覆盖同名用户变量(但覆盖后内置常量值在当前脚本运行中不再可见)。
模板插值语法:${变量名} 或 ${=表达式},适用于截图保存路径、文件操作路径、HTTP 下载路径等文本字段。
屏幕与脚本常量
- $SCREEN_WIDTH — 数字 — 当前设备屏幕宽度(px),例:1080
- $SCREEN_HEIGHT — 数字 — 当前设备屏幕高度(px),例:2400
- $BASE_SCREEN_WIDTH — 数字 — 脚本基准分辨率宽度(仅当已设置时存在),例:1080
- $BASE_SCREEN_HEIGHT — 数字 — 脚本基准分辨率高度(仅当已设置时存在),例:2400
- $SCRIPT_NAME — 文本 — 当前脚本名称,例:高德签到
- $SCRIPT_ID — 文本 — 当前脚本唯一标识,例:a1b2c3d4-...
时间常量
时间常量每次求值时重新计算,因此在同一表达式内取值一致,但不同步骤之间可能不同。如需固定时间点,请用 SetVar 保存。
- $NOW_MS — 数字 — 当前时间戳(毫秒),例:1690123456789
- $NOW_SEC — 数字 — 当前时间戳(秒),例:1690123456
- $NOW_DATE — 文本 — 当前日期(yyyy-MM-dd 格式),例:2026-07-25
- $NOW_TIME — 文本 — 当前时间(HH:mm:ss 格式),例:15:30:00
设备与 App 常量
- $DEVICE_MODEL — 文本 — 设备型号,例:Xiaomi 13
- $DEVICE_BRAND — 文本 — 设备品牌,例:Xiaomi
- $ANDROID_VERSION — 文本 — Android 系统版本号,例:14
- $ANDROID_SDK — 数字 — Android SDK 版本号,例:34
- $APP_VERSION — 文本 — 宿主 App 版本名,例:2.3.1
使用示例
- 表达式引用:$SCREEN_WIDTH / 2 → 屏幕水平中心坐标
- 条件分支:$ANDROID_SDK >= 29 → Android 10 以上才执行
- 模板插值:截图保存路径设为 /sdcard/screenshots/${$NOW_DATE}_${$NOW_TIME}.png
- 文件操作:日志路径设为 /sdcard/logs/${$SCRIPT_NAME}_${$NOW_DATE}.txt
- JS 脚本:runtime.variables.get("$DEVICE_MODEL") → 获取设备型号
- GetVar 节点:源变量设为 $SCREEN_WIDTH → 读取屏幕宽度
常见问题
Q: 内置常量可以被覆盖吗?
A: 用户通过 SetVar 设置同名变量时,用户变量优先。但直接对 $SCREEN_WIDTH 等常量名使用 SetVar 会覆盖内置值,建议避免。
Q: 为什么模板插值不生效?
A: 模板插值(${...} 语法)目前仅支持截图保存路径、文件操作路径和 HTTP 下载路径三个文本字段。表达式字段请使用纯变量名(无 ${} 包裹)。
Q: $BASE_SCREEN_WIDTH 为什么取不到值?
A: 该常量仅在脚本已设置基准分辨率时存在。若在脚本设置中未填写基准分辨率,该常量不会注入,表达式引用会报"变量不存在"错误。