爱招飞帮助手册 爱招飞帮助手册
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
首页
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 系统工具
    • 系统管理
    • 数据库工具
    • 专用模板
    • 外部功能
    • 开发流程
    • 函数代码
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 基本入门
    • 功能介绍
    • 控件说明
    • 功能用法
    • 专用模板
    • 开发流程
    • 函数程序
  • 开发手册
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 报表设计
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • RestAPI
    • WebSocket
  • 学习手册

    • 安装配置
    • 快速上手
    • 程序架构
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
  • 学习手册

    • 安装配置
    • 快速上手
    • 界面介绍
    • 功能介绍
    • 预设资料
    • RestAPI说明
    • WebSocket说明
    • MQTT说明
    • Python说明
    • 自定程序
    • 运行卫士
    • 自动化作业
    • 函数程序
    • 控件使用
  • 开发手册
  • FastERP
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
    • HiDesk
    • HiNAT
    • FastBPM
    • ReportBuilder
  • FastWeb帮助主页
  • 学习手册

    • 基本入门

    • 功能介绍

    • 控件说明

    • 系统工具

    • 系统管理

    • 云服务工具

    • 数据库工具

    • 专用模板

    • 外部功能

    • 开发流程

      • 开发案例
      • 纺织印染业ERP设计实务
      • 页面布局
      • URLFrame与JS的交互
      • 自定控件扩展

      • RestAPI扩展

      • IsoBean开发

        • IsoBean开发流程
        • 数据型IsoBean
        • 程序型IsoBean
        • 批次型IsoBean
        • 显示型IsoBean
        • 报表型IsoBean
        • 战情型IsoBean
        • 范例汇总
        • 甘特图展示
        • 环绕风景展示
          • 1. 设计Bean模块
          • 2. 设计IsoBean模块
          • 3. 发布IsoBean
        • 图像识别
        • 网络文档浏览
        • 采购订单编辑
        • 示例使用方式
    • 函数程序

  • 开发手册

目录

环绕风景展示

# FastWeb 环绕风景展示

  环绕风景展示的 IsoBean 参照 环绕风景展示-可视化控件 进行改进。可在调用URL的同时传入查询参数 image,用于打开指定的环绕全景图片。

# 1. 设计Bean模块

  点击 [云服务工具] - [Bean模块(Web)],打开Bean模块管理界面,点击 [添加] 按钮,创建一个Bean模块,设置示例如下。点击 [保存] 按钮。

  选择刚才创建的Bean,点击 [Bean设计] 按钮,进入Bean设计的主界面,设计的界面样式如下。界面样式与脚本设计部分的配置参考 环绕风景展示-可视化控件。

  Bean模块在原有模块的基础上修改的部分如下。

UgWebRunFrameOnAfterRunScript 中程序修改如下。

    //JScript
    function UgWebRunFrameOnAfterRunScript(sender)
    {
      UGMM.LC(Self);
      ViewInit(UniApplication.Parameters.Values["image"]);
    }
    
    1
    2
    3
    4
    5
    6
    //PasScript
    procedure UgWebRunFrameOnAfterRunScript(sender: tobject);
    begin
      UGMM.LC(Self);
      ViewInit(UniApplication.Parameters.Values['image']);
    end;
    
    1
    2
    3
    4
    5
    6
    // Make sure to add code blocks to your code group

    ViewInit 修改如下。

      //JScript
      function ViewInit(url)
      {
        //设置全景图片的来源
        Ug3DAngle01.Options.image = url;
        //设置项目的类型
        Ug3DAngle01.Options.projectionType = pt_panorama;
      }
      
      1
      2
      3
      4
      5
      6
      7
      8
      //PasScript
      procedure ViewInit(url);
      begin
        //设置全景图片的来源
        Ug3DAngle01.Options.image := url;
        //设置项目的类型
        Ug3DAngle01.Options.projectionType := pt_panorama;
      end;
      
      1
      2
      3
      4
      5
      6
      7
      8
      // Make sure to add code blocks to your code group

        新增 UgWebRunFrameOnAjaxEvent 事件,设置如下。

        //JScript
        function UgWebRunFrameOnAjaxEvent(sender,eventname,params)
        //更新的WebSocket格式如下
        //*****
        //{
        //  "username": "demo",    //运行IsoBean的用户,修改为实际运行的用户
        //  "action": "callback",  
        //  "tag":"0",    
        //  "data": {
        //    "callbackcomponent": "wb-vis-0007_hydren_view",    
        //    "callbackeventname": "update",  
        //    "callbackparams": [              
        //      {
        //        "paramname": "image",
        //        "paramvalue": "https://cdn.pixabay.com/photo/2020/07/14/19/21/field-5405425_960_720.jpg"  //查询的内容,修改为想查询的内容
        //      }
        //    ]
        //  }
        //}
        {
          if (SameText(eventname,"update"))
          {
            ViewInit(Params.Values["image"]);
          }
        }
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        25
        //PasScript
        function UgWebRunFrameOnAjaxEvent(sender,eventname,params)
        //更新的WebSocket格式如下
        //*****
        //  "username": "demo",    //运行IsoBean的用户,修改为实际运行的用户
        //  "action": "callback",  
        //  "tag":"0",    
        //  "data": {
        //    "callbackcomponent": "wb-vis-0007_hydren_view",    
        //    "callbackeventname": "update",  
        //    "callbackparams": [              
        //      {
        //        "paramname": "image",
        //        "paramvalue": "https://cdn.pixabay.com/photo/2020/07/14/19/21/field-5405425_960_720.jpg"  //查询的内容,修改为想查询的内容
        //      }
        //    ]
        //  }
        //}
        begin
          if (SameText(eventname,'update')) then
          begin
            ViewInit(Params.Values['image']);
          end;
        end;
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
        15
        16
        17
        18
        19
        20
        21
        22
        23
        24
        // Make sure to add code blocks to your code group

        # 2. 设计IsoBean模块

          点击 [云服务工具] - [IsoBean模块管理],打开IsoBean模块管理界面,点击 [添加] 按钮,按照以下提示创建一个IsoBean模块。点击 [保存] 按钮。

          创建完成后,选择创建的IsoBean,点击 [API设计],创建的API请按照以下方式进行设置。

          //JScript
          function RestAPI()
          {
            var url,image,tag;
            image = iif(URLParams.Values["image"]=="",APIParams.Values["image"],URLParams.Values["image"]);
            tag = iif(URLParams.Values["tag"]=="",APIParams.Values["tag"],URLParams.Values["tag"]);
            url = "/?bean="+Var_Bean + "&userkey=" + Var_UserKey + "&language=" + Var_Language + "&image=" + Httpencode(image) + "&tag=" + tag;
            Result = " <html>"
            + "   <body style=\"margin: 0px;height: 100%;width: 100%;\">"
            + "     <iframe width=\"100%\" height=\"100%\" frameborder=\"no\" border=\"0\" marginwidth=\"0px\" marginheight=\"0px\" scrolling=\"no\" allowtransparency=\"yes\" src=\"" + url + "\"" 
            + "             width=\"100%\""
            + "             height=\"100%\""
            + "     >"
            + "     </iframe>"
            + "   </body>"
            + " </html>";
          }
          
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          //PasScript
          function RestAPI:String;
          var
            url: String;
            image: String;
            tag: String;
          begin
            image := iif(URLParams.Values['image']='',APIParams.Values['image'],URLParams.Values['image']);
            tag := iif(URLParams.Values['tag']='',APIParams.Values['tag'],URLParams.Values['tag']);
            url := '/?bean='+Var_Bean + '&userkey=' + Var_UserKey + '&language=' + Var_Language + '&image=' + image + "&tag=" + tag; 
            Result := ' <html>'
            + '   <body style="margin: 0px;height: 100%;width: 100%;">'
            + '     <iframe width="100%" height="100%" frameborder="no" border="0" marginwidth="0px" marginheight="0px" scrolling="no" allowtransparency=\"yes\" src="' + url + '"' 
            + '             width="100%"'
            + '             height="100%"'
            + '     >'
            + '     </iframe>'
            + '   </body>'
            + ' </html>';
          end;
          
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          // Make sure to add code blocks to your code group

          # 3. 发布IsoBean

            保存后,返回列表界面,选择刚才创建的IsoBean模块,点击 [IsoBean发布],打开 IsoBean 发布界面。

            选择要发布的用户(admin),点击 [IsoBean 选择...],从打开的IsoBean列表中选择刚才创建的IsoBean模块,双击导入至发布列表中,点击 [保存] 按钮,然后点击 [确定] 按钮关闭发布界面。

            重新返回API设计界面,点击 [测试] 图标按钮,打开界面。点击 [Send] 按钮查看运行的结果。如果返回的结果中包含信息,则IsoBean创建成功。

            按照本节开头的方式将IsoBean发布给其他用户,之后,可使用 http://localhost:8888/?isobean=IB_wb-vis-0007_hydren_view&userkey={user_guid}&image={image} (opens new window) 来打开页面。{user_guid} 为发布用户的ID,{image} 为使用全景模式查看的图片源。

            当此 IsoBean 处于运行状态时,可使用 WebSocket 发送以下消息模板以更新图片。

          {
            "username": "demo",    //运行IsoBean的用户,修改为实际运行的用户
            "action": "callback",      
            "tag": "0",
            "data": {
              "callbackcomponent": "wb-vis-0007_hydren_view",    
              "callbackeventname": "update",  
              "callbackparams": [              
                {
                  "paramname": "image",
                  "paramvalue": "https://cdn.pixabay.com/photo/2020/07/14/19/21/field-5405425_960_720.jpg"  //更新的图片源,修改为自定义的源,注意有些图片源服务器有CORS限制,不能直接加载,建议将文件下载至本地服务器后处理
                }
              ]
            }
          }
          
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15

            在FastWeb中使用以下示例来更新。

            //JScript
            {
              var l;
              l = new TStringlist();
              //更新的图片源,修改为自定义的源,注意有些图片源服务器有CORS限制,不能直接加载,建议将文件下载至本地服务器后处理
              l.Values["image"] = "https://cdn.pixabay.com/photo/2020/07/14/19/21/field-5405425_960_720.jpg";
              //demo 处修改为实际运行的用户名称
              UGMM.SendWsMsg("demo","callback","wb-vis-0007_hydren_view","0","update",l);
              l.Free;
            }
            
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            //PasScript
            var
              l: TStringList;
            begin
              l := TStringList.Create();
              //更新的图片源,修改为自定义的源,注意有些图片源服务器有CORS限制,不能直接加载,建议将文件下载至本地服务器后处理
              l.Values['image'] := '2022-01-01';
              //demo 处修改为实际运行的用户名称
              UGMM.SendWsMsg('demo','callback','wb-vis-0007_hydren_view','0','update',l);
              l.Free;
            end;
            
            1
            2
            3
            4
            5
            6
            7
            8
            9
            10
            11
            // Make sure to add code blocks to your code group
            甘特图展示
            图像识别

            ← 甘特图展示 图像识别→

            Copyright © 2021-2025 爱招飞IsoFace | ALL Rights Reserved
            • 跟随系统
            • 浅色模式
            • 深色模式
            • 阅读模式