数据类型
JadeView 易语言 SDK 提供全套公开自定义数据类型,用于窗口、Web 内核、弹窗、托盘、通知、资源配置等场景,统一参数格式,规范传参逻辑。所有中文文本成员赋值前,必须使用 GBK文本到UTF8文本() 编码转换,防止乱码。
一、顶层入口 JadeView(全局单例)
.数据类型 JadeView, 公开, JadeView 全局入口类,导入ec后自动生成全局单例无需手动创建
.成员 App, _JadeViewApp
.成员 窗口, _JadeView_窗口
.成员 对话框, _JadeView_对话框
.成员 Yaml配置项, _JadeView_YAML
.成员 托盘, _JadeView_托盘
.成员 右键菜单, _JadeView_右键菜单
.成员 页面, _JadeView_页面
.成员 通讯, _JadeView_IPC
.成员 协议服务, _JadeView_自定义协议服务
.成员 系统, _JadeView_系统集成
.成员 通知, _JadeView_系统通知
.成员 文本, _JadeView_文本处理
.成员 剪切板, _JadeView_剪切板
.成员 JAPK, _japk
.成员 时间, _jadeview_时间说明
SDK 顶层聚合类型,拆分 15 个功能子程序集,覆盖全部业务 API,所有操作均通过 JadeView.xxx.子程序() 调用。
二、JadeView 窗口设置(窗口全局配置)
| 成员名 | 类型 | 说明 | 默认值 | 配套常量 / 规则 |
|---|---|---|---|---|
| 标题 | 文本型 | 窗口标题文字 | 自动跟随网页 title | 中文必须编码转换 |
| 宽度 | 整数型 | 窗口初始宽度 | 800 | - |
| 高度 | 整数型 | 窗口初始高度 | 600 | - |
| 可调整大小边框 | 逻辑型 | 是否允许拖拽缩放窗口 | 真 | - |
| 边框样式 | 文本型 | 标题栏 / 边框渲染方案 | "normal" | 使用 #标题栏_xxx 系列常量 |
| 透明背景 | 逻辑型 | 开启亚克力 / Mica 透明 | 假 | 与背景颜色互斥,二选一 |
| 背景颜色 | 文本型 | 窗口底色,8 位十六进制 RGBA | #FFFFFFFF | 格式 #RRGGBBAA,透明背景为真时失效 |
| 置顶窗口 | 逻辑型 | 窗口置顶层级 | 假 | 配套 #层级_xxx 常量 |
| 窗口主题 | 文本型 | Web 页面明暗主题 | "System" | 使用 #主题_亮色 /# 主题_暗色 /# 主题_自动 |
| 最大化 | 逻辑型 | 启动默认最大化 | 假 | - |
| 最大化按钮 | 逻辑型 | 右上角最大化按钮显示 | 真 | - |
| 最小化按钮 | 逻辑型 | 右上角最小化按钮显示 | 真 | - |
| X 坐标 | 整数型 | 窗口左上角 X | -1 | -1 = 屏幕居中 |
| Y 坐标 | 整数型 | 窗口左上角 Y | -1 | -1 = 屏幕居中 |
| 最小宽度 | 整数型 | 缩放最小宽度限制 | 0 | 0 = 无限制 |
| 最小高度 | 整数型 | 缩放最小高度限制 | 0 | 0 = 无限制 |
| 最大宽度 | 整数型 | 缩放最大宽度限制 | 0 | 0 = 无限制 |
| 最大高度 | 整数型 | 缩放最大高度限制 | 0 | 0 = 无限制 |
| 全屏 | 逻辑型 | 启动直接全屏 | 假 | - |
| 焦点 | 逻辑型 | 创建后自动获取前台焦点 | 真 | - |
| 隐藏窗口 | 逻辑型 | 创建后默认隐藏不显示 | 假 | - |
| 使用页面图标 | 逻辑型 | 网页 favicon 作为窗口图标 | 假 | - |
| 内容保护 | 逻辑型 | 开启防截图、录屏保护 | 假 | Windows 专属特性 |
| 自动保存窗口状态 | 逻辑型 | 自动记忆窗口位置大小 | 假 | 程序重启自动恢复 |
| 任务栏状态 | 逻辑型 | 真 = 不显示在任务栏 / Alt+Tab | 假 | - |
| 抢焦点 | 逻辑型 | 真 = 创建不抢占系统焦点 | 假 | - |
三、JadeView 视窗设置(WebView 内核配置)
| 成员名 | 类型 | 说明 | 默认值 | 补充规则 |
|---|---|---|---|---|
| 自动播放媒体 | 逻辑型 | 音频 / 视频自动播放 | 假 | 浏览器安全策略默认关闭 |
| 关闭后台限速 | 逻辑型 | 后台暂停不冻结定时器 / 渲染 | 假 | 后台常驻工具建议开启 |
| 开启右键菜单 | 逻辑型 | 是否启用浏览器原生右键 | 真 | 关闭后可自定义右键事件 |
| User_Agent | 文本型 | 自定义浏览器 UA 标识 | 空 | 空则使用默认 WebView2 UA |
| preload_js | 文本型 | 页面加载前注入 JS 代码 | 空 | 多脚本用分号分隔 |
| 允许页面全屏 | 逻辑型 | 网页 JS 请求全屏权限 | 真 | - |
| 通讯白名单 | 文本型 | 允许 IPC 通讯的本地页面域名 | 空 | 非 jade:// 页面必须配置 |
| CORS 来源白名单 | 文本型 | 跨域放行域名,逗号分隔 | 空 | 示例:http://127.0.0.1:3000 |
| 自动填充 | 逻辑型 | 账号密码自动填充 | 假 | 需要 WebView2 ≥ 1.0.902 |
| 通用自动填充 | 逻辑型 | 姓名 / 地址表单填充 | 假 | 需要 WebView2 ≥ 1.0.902 |
| 无痕模式 | 逻辑型 | 不持久 Cookie、缓存 | 假 | 开启后 session 目录失效 |
| 剪贴板读写权限 | 逻辑型 | 真 = 禁用页面读写剪贴板 | 假 | - |
| proxy_url | 文本型 | 全局代理地址 | 空 | 支持 http/socks5 协议 |
| 自动获取焦点 | 逻辑型 | Web 加载完成自动聚焦输入框 | 真 | - |
| 独立配置标识 | 文本型 | 用于隔离 Cookie、LocalStorage、IndexedDB、缓存 | 空 | 名称长度不超过 64 个字符,只能包含字母、数字、.、_、-、空格,且不能以 . 或空格开头或结尾;非法名称回退默认 Profile。 |
四、提示框选项(消息 / 警告 / 询问弹窗参数)
| 成员名 | 类型 | 说明 | |
|---|---|---|---|
| 窗口 id | 整数型 | 弹窗归属父窗口 ID,0 为全局弹窗 | |
| 标题 | 文本型 | 弹窗顶部标题文字 | |
| 消息正文 | 文本型 | 弹窗主体提示文字 | |
| 额外信息 | 文本型 | 底部补充多行说明 | |
| 按钮列表 | 文本型 | 按钮名称,竖线分隔 ` 确定 | 取消 ` |
| 默认按钮 ID | 整数型 | 回车触发按钮下标,从 0 开始 | |
| 取消按钮 ID | 整数型 | ESC 触发按钮下标 | |
| 对话框类型 | 文本型 | 弹窗图标类型,使用 #对话框类型_xxx |
五、文件对话框选项(打开 / 保存文件弹窗)
| 成员名 | 类型 | 说明 |
|---|---|---|
| 窗口 id | 整数型 | 归属父窗口 ID,0 = 全局弹窗 |
| 标题 | 文本型 | 文件弹窗标题 |
| 默认路径 | 文本型 | 弹窗初始打开目录 |
| 按钮标题 | 文本型 | 确认按钮文字(打开 / 保存) |
| 过滤器 | 文本型 | JSON 字符串,限定可选文件后缀 |
| 功能选项 | 文本型 | 多特性逗号拼接,使用 #对话框_xxx 常量 |
六、Jade 通知选项(Windows 桌面通知)
| 成员名 | 类型 | 说明 |
|---|---|---|
| 标题 | 文本型 | 通知主标题(必填) |
| 正文 | 文本型 | 通知正文内容 |
| 图片路径 | 文本型 | 通知小图标绝对磁盘路径 |
| 超时时间 | 整数型 | 自动关闭毫秒,≤0 使用系统默认 |
| 按钮 1 标题 | 文本型 | 第一条操作按钮文字 |
| 按钮 2 标题 | 文本型 | 第二条操作按钮文字 |
| 附带文本 | 文本型 | 底部辅助小字说明 |
| 动作参数 | 文本型 | 按钮点击回调携带自定义参数 |
七、托盘菜单选项(托盘右键菜单项)
| 成员名 | 类型 | 说明 |
|---|---|---|
| 菜单项类型 | 整数型 | 菜单分类,使用 #托盘_xxx 常量 |
| 菜单项 Key | 文本型 | 全局唯一标识,禁止中文 |
| 菜单项显示文本 | 文本型 | 菜单展示文字,分隔线可空 |
| 父菜单项 Key | 文本型 | 绑定父级子菜单 Key,空 = 根菜单 |
| 是否禁用该项 | 逻辑型 | 灰色不可点击 |
| 是否标记为危险操作 | 逻辑型 | 标记高危操作,回调可区分 |
八、通用注意事项
- 中文编码强制规则:所有中文文本型成员赋值前,必须调用
GBK文本到UTF8文本(),内核仅接收 UTF8 字符串,不转换会出现乱码。 - 互斥属性限制:
透明背景=真时背景颜色配置失效,二者不能同时生效。 - 常量优先原则:主题、边框、弹窗类型、对话框特性、托盘类型全部使用 SDK 公开常量,禁止手写原始字符串 / 数字。
- 窗口坐标规则:X/Y 坐标赋值
-1代表屏幕自动居中;数值为窗口左上角像素坐标。 - 无痕模式副作用:开启无痕后 Web 缓存、Cookie、本地存储不会持久化,关闭页面全部销毁。
- CORS 白名单:本地 jade:// 协议页面无需配置,第三方 http 页面跨域必须添加域名白名单。
- 托盘 Key 规范:菜单项 Key 仅允许英文、数字、下划线,禁止中文,否则事件匹配失效。
- 资源释放:窗口、通知、托盘无需手动释放,程序执行
JadeView.App.退出()统一回收全部句柄。
九、总结
SDK 所有业务场景均配套专用自定义数据类型,参数结构标准化,替代零散独立传参。开发时优先使用对应结构体完整配置窗口、弹窗、托盘、通知,配合全局常量与内置编码工具,大幅减少报错、提升代码可读性与可维护性。