历史版本6 :JS实现预览模板时进行密码效验 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0-

1.2 预期效果

用户希望对模板内容进行加密,确保拥有密码的用户方可查看模板内容。

1.3 实现思路

通过JS事件,实现预览模板时,先弹出密码输入框。密码验证成功后方可查看模板主体内容。

2. 示例编辑

2.1 添加事件

以 GettingStarted.cpt 为例,打开%FR_HOME%\webapps\webroot\WEB-INF\reportlets\GettingStarted.cpt

点击菜单栏「模板>模板Web属性」,点击「分页预览设置」,选择「为该模板单独设置」,添加一个「加载起始」事件。

输入 JavaScript 代码,如下图所示:

JavaScript 代码如下:

const password = () => {
  var i = 1;
  var passwd = prompt("请输入密码:");
  while (i < 3) {
    //给员工3次输入机会
    if (passwd == "123") {
      //假设密码预先设置为123
      break;
    }
    i++;
    var passwd = prompt("密码错误!请重新输入:\n你还有" + (4 - i) + "次机会。");
  }
  if (passwd != "123" && i == 3) {
    //如果连续3次输错
    alert("连续密码错误,本页面关闭"); //弹出本信息
    window.close(); //本页面关闭
    //或者可以跳转至其他页面,代码如下
    //location.href="https://www.hao123.com/"     }
    return "";
  }
};
password();

注1:在「模板Web属性」中,请根据模板预览方式,选择正确的预览设置 Tab 。

注2:用户请自行修改代码中的密码,默认为 123 。

注3:若为 FVS 模板,请在顶部菜单栏「模板>页面加载结束事件」中输入相同 JavaScript 代码。

注4:若为决策报表,请选中 body ,在「事件」中添加「初始化后」事件,JavaScript 代码相同。如下图所示:

2.2 效果预览

保存模板,点击预览。预览模板主体时,默认弹出密码输入框。

  • 若正确输入密码,则进入模板预览页面。

2022-11-16_13-52-23.gif

  • 若三次输错密码,则自动关闭该浏览器窗口。

2022-11-16_13-51-56.gif

注1:仅模板主体部分进行加密,参数面板部分不在加密范围内。

注2:不支持移动端。

3. 模板下载编辑