xrea 发表于 2026-9-3 22:49:21

JadeView服务器平台类库开源

本帖最后由 xrea 于 2026-9-7 13:23 编辑

模块介绍:
本库将 Go 库 GITHUB.com/luoxueyousheng/JadeViewGo 封装为火山服务器类库。原始库用于创建 WebView 桌面窗口,包含:窗口/事件/对话框/托盘/系统工具/YAML 持久化/JAPK 资源包等能力。
视窗版类库地址:JadeView视窗帖子
相对于视窗版,服务器子平台版本支持在Linux上进行编译(需要使用源码在Linux上进行编译)。v0.2:修复错误: undefined: jadeview的问题
模块下载:

使用例子:
<火山程序 类型 = "通常" 版本 = 1 />

包 火山.用户.用例 <注释 = "测试" @允许包名不同 = 真>

# ============================================================================
# JadeView 类库使用用例(main.wsv)
# ----------------------------------------------------------------------------
# 演示 jadeview.wsv 封装的“火山.JadeView”类库的完整用法:
#   初始化 → 事件注册 → 窗口创建 → 窗口操作 → 通知/托盘 → YAML → 系统工具 → 消息循环
#
# 前提:
#   1. 项目中引用了本封装类库(火山.JadeView),并将底层
#      GITHUB.com/luoxueyousheng/JadeViewGo 加入 go.mod;
#   2. 当前机器具备 JadeView 底层运行环境(Windows 内嵌 DLL / Linux cgo)。
# ============================================================================
# ============================================================================
# 程序启动类:火山规定名为“启动类”,须以“程序类”为基础类。
# 请将下面的“启动方法”在工程中设置为程序启动方法。
# ============================================================================

类 启动类 <公开 基础类 = 程序类 注释 = "11" @服务器.附属文件 = "..\\web.asar">
{

    # 程序入口方法:依次完成初始化、建窗、运行消息循环

    方法 启动方法 <公开 类型 = 整数>
    {
      // 注册窗体事件
      JadeView类.注册事件 (JadeView事件名.应用就绪, 应用就绪回调)
      JadeView类.注册事件 (JadeView事件名.窗口关闭, 窗口关闭回调)
      JadeView类.注册事件 (JadeView事件名.全部窗口关闭, 全部关闭回调)
      JadeView类.注册事件 (JadeView事件名.托盘菜单命令, 托盘命令回调)

      变量 初始化结果 <类型 = 逻辑型>
      初始化结果 = JadeView类.初始化 (是否为调试版 (), "jadeview.log", "", "JadeView用例", "com.example.jadeview.demo", 假)

      如果 (初始化结果 == 假)
      {

            返回 (1)
      }

      JadeView类.运行消息循环 ()

      返回 (0)
    }

    # 事件处理回调(app-ready):初始化成功后在此建窗
    #   签名同 JadeView事件回调 = func(windowID uint32, data string) string

    方法 应用就绪回调 <公开 类型 = 文本型>
    参数 窗口ID <类型 = 无符号整数32>
    参数 数据 <类型 = 文本型>
    {
      如果 (窗口ID != 1)
      {
            输出 ("应用就绪回调")
            返回 ("")
      }
      输出 ("应用就绪回调\n")
      变量 选项 <类型 = JadeView窗口选项 "">
      选项.标题 = "JadeView 封装示例"
      选项.宽度 = 1024
      选项.高度 = 720
      选项.可调整大小 = 真
      选项.边框样式 = JadeView边框样式.标题覆盖层
      选项.主题 = JadeView主题.跟随系统
      选项.横坐标 = -1
      选项.纵坐标 = -1
      选项.自动保存状态 = 真

      变量 主窗口ID <类型 = 无符号整数32>
      变量 资源路径 <类型 = 文本型>
      资源路径 = JadeView类.置协议服务路径 (取当前目录 () + "\\web.asar", 真, )
      // 日志类.默认日志 ().输出 (取当前目录 () + "\\web.asar")
      主窗口ID = JadeView类.创建窗口 (资源路径, 0, 选项, 空对象)

      如果 (主窗口ID == 0)
      {

            返回 ("")
      }

      JadeView类.置窗口置顶 (主窗口ID, 真)
      JadeView类.置窗口尺寸 (主窗口ID, 1200, 800)
      JadeView类.置窗口标题 (主窗口ID, "JadeView 封装示例(已初始化)")
      JadeView类.执行脚本 (主窗口ID, "console.log('ready')")
      JadeView类.发送IPC消息 (主窗口ID, "hello-from-go", "欢迎从 Go 端发来问候")

      返回 ("")
    }

    # 事件处理回调(窗口关闭)

    方法 窗口关闭回调 <公开 类型 = 文本型>
    参数 窗口ID <类型 = 无符号整数32>
    参数 数据 <类型 = 文本型>
    {
      // 调试输出 ()
      标准输入输出类.输出 ("窗口已关闭 窗口ID = ", 窗口ID)
      返回 ("")
    }

    # 事件处理回调(全部窗口关闭后退出程序)

    方法 全部关闭回调 <公开 类型 = 文本型>
    参数 窗口ID <类型 = 无符号整数32>
    参数 数据 <类型 = 文本型>
    {
      JadeView类.退出 ()
      返回 ("")
    }

    # 事件处理回调(托盘菜单命令)

    方法 托盘命令回调 <公开 类型 = 文本型>
    参数 窗口ID <类型 = 无符号整数32>
    参数 数据 <类型 = 文本型>
    {
      标准输入输出类.输出 ("托盘菜单命令 数据 = " + 数据)
      返回 ("")
    }

    # 事件处理回调(IPC 收到前端消息)

    方法 IPC回调 <公开 类型 = 文本型>
    参数 窗口ID <类型 = 无符号整数32>
    参数 数据 <类型 = 文本型>
    {
      // 调试输出 ("IPC 接收 窗口ID = " + 窗口ID + " 数据 = " + 数据)
      返回 ("收到")
    }

    # 异步打开对话框结果回调
    #   签名同 JadeView对话框结果回调 = func(result string)(无返回值)

    方法 文件选择回调 <公开>
    参数 结果 <类型 = 文本型>
    {
      // 调试输出 ("异步打开对话框结果 = " + 结果)
    }
}

# ============================================================================
# 说明(编译/运行提示)
# ============================================================================
# 1. 事件回调(JadeView事件回调 / JadeView对话框结果回调)为 Go 函数类型,
#    在火山 IDE 中通过“方法引用”方式绑定上面的回调方法;
# 2. 各枚举与常量命名空间(JadeView主题 / 边框样式 / 事件名 等)可直接引用;
# 3. YAML 持久化、系统通知、托盘、JAPK 等能力调用方式与本例展示的一致,
#    可按需在启动方法或事件回调中补充。



创世魂 发表于 7 天前

这个好

aycap 发表于 7 天前

66666666666

安若清风 发表于 7 天前

这个好   

zqiz 发表于 7 天前

66666666666

nurjay 发表于 7 天前

大家都说这个好!!!

numbersir 发表于 7 天前

他们说这个真好

泡泡小驻 发表于 7 天前

666

朕的 发表于 7 天前

火山PC模块安装失败

安装所指定的模块安装包文件"C:\Users\yizan\Desktop\JadeView_VolModule_2.4.0.26H03.vcip"失败,具体错误信息为: 验证模块安装包文件"C:\Users\yizan\Desktop\JadeView_VolModule_2.4.0.26H03.vcip"的数字签名失败

xrea 发表于 6 天前

朕的 发表于 2026-9-4 14:48
火山PC模块安装失败

安装所指定的模块安装包文件"C:%users\yizan\Desktop\JadeView_VolModule_2.4.0.26H03 ...

这是服务器包,不是视窗
页: [1] 2 3
查看完整版本: JadeView服务器平台类库开源