3.2. 替换登陆页整页内容
1、修改插件包中某个文件
(1) 首先用 WinRAR 之类的压缩工具,打开 ChangeLogo.ext 文件。
(2) 然后将需要修改的文件从 WinRAR 窗口中拖出来,对其进行修改。
(3) 接着将修改后的文件,拖放回 WinRAR 窗口中,覆盖以前的旧文件。
(4) 关闭 WinRAR 窗口保存修改即可。
2、引入替换的页面
将替换的页面引入到插件包的vision文件夹下
3、修改配置文件
修改插件包/ChangeLogo/src/web/vision/js/ext/路径下的ConfigurationPatch.js文件,配置项说明如下:
loginTitle——修改登陆页的标题
loginJspPath——自定义登录页面相对vision的地址
applicationTitle——登陆后首页标题
configTitle——系统设置标题
extensionPoints——扩展的资源信息,当前插件包可以用来引入样式信息
4、注意点
若是引入的登陆页仍需要走smartbi原有的验证逻辑,需要在引入的登陆页中加入以下smartbi登陆验证的代码逻辑。
代码块 | ||||||
---|---|---|---|---|---|---|
| ||||||
var jsloader = new JSLoader({lang:'<%=smartbi.Bootstrap.getLocaleName(request)%>'}); var util = jsloader.resolve("freequery.common.util"); document.onkeydown = keydown; function init() { var userName = document.getElementById("user"); if (userName) userName.focus(); } function login() { var userName = document.getElementById("user"); //用户名输入框ID修改为实际HTML中的元素ID var password = document.getElementById("password"); //密码输入框ID修改为实际HTML中的元素ID var ret = util.remoteInvokeEx("UserService", "login", [userName.value, password.value]); //调用Smartbi登录方法 if (!ret || !ret.result){ alert("登录失败!"); return; } else { var url = window.location + ''; var p = url.indexOf('login_demo.jsp'); if (p > -1) { window.location = url.substring(0, p); } else { window.location.reload(); } } } function keydown(e) { var theEvent = e || window.event; var code = theEvent.keyCode || theEvent.which || theEvent.charCode; if (code == 13) { login(); } } |
3.3. 替换登陆页logo
将设计好的logo覆盖到/ChangeLogo/src/web/vision/img/login路径下的logo.png文件即可替换原来的logo样式
3.4替换导航栏logo
将设计好的logo覆盖到/ChangeLogo/src/web/vision/img/baseframe路径下的logo-mini.png文件即可替换原来的logo样式
3.5替换导航栏显示的样式
由于在2.2.2修改配置文件中,引入了css样式的文件的路径为/ChangeLogo/src/web/vision/css/patch.css,因此找到/ChangeLogo/src/web/vision/css下的patch.css文件,修改文件中.mainTopTd的样式。具体修改内容参考css文档的详解http://css.doyoe.com/
3.6替换关于弹窗logo
将设计好的logo覆盖到/ChangeLogo/src/web/vision/img/about路径下的logo.png文件即可替换原来的logo样式
4. 注意事项
1、修改完插件包的文件之后,需要保存
2、修改的位置需正确,否则会导致正常功能失效
3、若需要替换更多的图片,需先找到该图片所在目录,找目录请参考 前端定位技巧。