下午沒事, 看一下同事寫的脫敏白名單管理功能. 所謂的脫敏就是將頁面中查詢出的信息列表當中的身份證號及手機號等關鍵信息部分用*號代替.該功能主要思路是新增一個頁面用於配置哪些頁面以及頁面中哪些字段須要加入脫敏管理. 不上圖的窮b叨叨就是耍流氓.html
以手機號爲例, 大體思路就是在須要脫敏顯示關鍵信息的頁面初始化時判斷該頁面的手機號是否啓用了脫敏, 若是啓用了則將手機號的值中間5位用*號代替. 未啓用則正常顯示.ajax
引入判斷是否啓用脫敏的js, 頁面初始化的執行方法json
js部分app
var phoneNoFlag;
$(function () { //檢查手機號是否脫敏 phoneNoFlag = isTuoMin('managerPhone','cEquipmentInfoController',false); }); //手機號碼脫敏顯示 function changePhNoStyle(value, row, index) { var phNoLen = value.length; if (phNoLen != 11) { return value;//格式不許確,不脫敏 } else { if (phoneNoFlag) { return value.substr(0, 3) + "*****" + value.substr(8, 3); } return value; } }
用於判斷字段是否啓用了脫敏異步
/**
* 查詢某菜單某字段是否要求脫敏
* @author wangzhuang
* @date 2019/10/08
* @param fieldNo 字段名
* @param url 菜單url 格式如:whiteListController
* @returns
*/
function isTuoMin(fieldNo,url,flag){
$.ajax({
type: "post", url: "whiteListController.do?checkIsTuoMin", data: { fieldNo: fieldNo, url:url }, async : false,//異步請求 dataType: "json", success: function (data) { if (data.success) { flag = true; } } }); return flag; }
/**
* 檢查是否要求脫敏
*
* @param request
* @return
*/
@RequestMapping(params = "checkIsTuoMin") @ResponseBody public AjaxJson checkIsTuoMin(HttpServletRequest request) { AjaxJson j = new AjaxJson(); String url = request.getParameter("url"); String fieldNo = request.getParameter("fieldNo"); if (whiteListService.queryFlag(url, fieldNo)) { j.setSuccess(true); } else { j.setSuccess(false); } return j; }
功能自己思路簡單感受沒什麼亮點, 惟一想深刻看的就數zTree了, 自從畢業只是ctrl+c ctrl+v, 今天詳細看一下zTree.http://www.javashuo.com/article/p-xwoxrwry-gc.htmljsp