落雪有声 发表于 2026-6-5 21:25:17

2.2 版本代码使用示例

<火山程序 类型 = "通常" 版本 = 1 />

包 火山.程序

类 启动类 <公开 基础类 = 程序类>
{
    变量 Jade <类型 = JadeView>

    方法 启动方法 <公开 类型 = 整数>
    {
      Jade.订阅事件 (订阅_视图事件.请求新窗口)
      如果 (Jade.初始化 (真, "C:\\Users\\35037\\Desktop\\JadeJapk\\11.log", "", "JadeView火山示例", "com.jadeview.demo", 真) == 假)
      {
            返回 (0)
      }
      Jade.置IPC频道回调 (本对象, "ipcChannelMessageCallback")// IPC频道消息 此为非静态回调方式
      Jade.注册IPC通道 ("setTheme")
      Jade.注册IPC通道 ("setBackdrop")
      Jade.注册IPC通道 ("message")
      Jade.运行消息循环 ()
      返回 (1)
    }

    方法 IPC频道消息 <公开 类型 = 文本型 注释 = "供 置IPC频道回调 匹配对象方法签名使用。返回空文本表示不回传;返回非空文本时桥接层会自动调用 jade_text_create。" @强制输出 = 真
            @输出名 = "ipcChannelMessageCallback">
    参数 通道名 <类型 = 文本型>
    参数 窗口ID <类型 = 整数>
    参数 数据 <类型 = 文本型>
    {
      调试输出 (取源方法名 (), 通道名, 窗口ID, 数据)
      如果 (通道名 == "setBackdrop")
      {
            如果真 (Jade.系统.是否为Win11 ())
            {
                Jade.窗口.置材质 (窗口ID, 数据)
            }
      }
      如果 (通道名 == "setTheme")
      {
            Jade.窗口.置主题 (窗口ID, 数据)
      }
      如果 (通道名 == "message")
      {
            Jade.窗口.置任务栏闪烁 (窗口ID, 10)

            返回 ("宿主端已收到消息:" + 数据)
      }
      返回 ("")
    }

    方法 JadeView_应用就绪 <接收事件 类型 = 整数 注释 = "初始化阶段事件。默认会在 初始化() 内自动订阅。成功时数据通常为 success;失败时为错误文本或 JSON。返回值忽略。">
    参数 来源对象 <类型 = JadeView 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 窗口ID <类型 = 整数>
    参数 数据 <类型 = 文本型>
    {
      如果 (来源对象 == Jade)
      {
            变量 窗口选项 <类型 = JadeWindowOptions>
            变量 视图选项 <类型 = JadeViewOptions>
            窗口选项.标题 = "Titlebar Overlay Demo"
            窗口选项.左边 = -1
            窗口选项.顶边 = -1
            窗口选项.宽度 = 920
            窗口选项.高度 = 625
            窗口选项.可调整大小 = 真
            窗口选项.初始隐藏 = 假
            窗口选项.使用页面图标 = 真
            窗口选项.允许最小化 = 真
            窗口选项.允许最大化 = 真
            窗口选项.透明窗口 = 真
            窗口选项.边框风格 = 窗口边框样式.标题覆盖
            窗口选项.主题 = 窗口主题.跟随系统
            窗口选项.背景颜色 = "#f3f3f3"
            窗口选项.内容保护 = 假
            视图选项.允许全屏 = 真
            视图选项.后台节流 = 真
            视图选项.自动播放 = 真
            视图选项.PostMessage白名单 = ""

            变量 本地资源地址 <类型 = 文本型>
            本地资源地址 = Jade.置协议服务目录 ("web")
            调试输出 (本地资源地址)
            变量 主窗口ID <类型 = 整数>
            主窗口ID = Jade.创建窗口 (本地资源地址, 0, 窗口选项, 视图选项)
            如果 (主窗口ID > 0)
            {
                如果真 (Jade.系统.是否为Win11 ())
                {
                  Jade.窗口.置材质 (窗口ID, 窗口材质.云母)
                }
            }
      }
      返回 (0)
    }

    方法 JadeView_全部窗口已关闭 <接收事件 类型 = 整数 注释 = "全部窗口都关闭后触发。返回值忽略。">
    参数 来源对象 <类型 = JadeView 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 窗口ID <类型 = 整数>
    {
      如果 (来源对象 == Jade)
      {
            Jade.退出程序 ()
      }
      返回 (0)
    }

    方法 JadeView_请求新窗口 <接收事件 类型 = 整数 注释 = "可拦截事件。返回 1 表示拦截,返回 0 表示放行。">
    参数 来源对象 <类型 = JadeView 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 窗口ID <类型 = 整数>
    参数 地址 <类型 = 文本型>
    {
      如果 (来源对象 == Jade)
      {
            打开指定网址 (地址, )
            返回 (1)
      }
      返回 (0)
    }

    方法 JadeView_主题改变 <接收事件 类型 = 整数 注释 = "系统或窗口主题变化时触发。返回值忽略。">
    参数 来源对象 <类型 = JadeView 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 窗口ID <类型 = 整数>
    {
      如果 (来源对象 == Jade)
      {
            变量 按钮颜色 <类型 = 文本型>
            变量 背景色 <类型 = 文本型>
            如果 (Jade.窗口.取主题 (窗口ID) == 1)
            {
                按钮颜色 = "#ffffff"
                背景色 = "#ffffff14"
            }
            否则
            {
                按钮颜色 = "#000000"
                背景色 = "#0000000d"
            }
            Jade.窗口.置标题栏覆盖层样式 (窗口ID, 32, 按钮颜色, 背景色)


      }
      返回 (0)
    }

    方法 JadeView_窗口已创建 <接收事件 类型 = 整数 注释 = "窗口创建完成后触发。返回值忽略。">
    参数 来源对象 <类型 = JadeView 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 窗口ID <类型 = 整数>
    {
      如果 (来源对象 == Jade)
      {
            JadeView_主题改变 (来源对象, 0, 窗口ID)
      }
      返回 (0)
    }
}

页: 1 2 [3]
查看完整版本: 【JadeView 2.0】打造火山视窗未来UI,新一代前端框架