ant design pro 数据脱敏(姓名/手机号)

utils.js

export default class Utils { 

	static  onlySeeSome(str,type) {//str文本-type类型:name/姓名;phone/手机号
	    let arr = JSON.parse(localStorage.getItem('user'))?.roleList
	    let isAdmin = arr?.find((item)=>item.roleKey == 'administrator')//权限数组是否有最高权限
	    
	    if( isAdmin || !str){
	      return str
	    }else{
	      //脱敏
	      if(type == 'name'){
	        return new Array(str?.length).join('*') + str?.substr(-1);
	      }else if(type == 'phone'){
	        return str?.replace(/(\d{3})\d*(\d{4})/,'$1****$2');
	      }     
	    } 
	 }	
  
}

使用

import Utils from '@/utils/utils'
//表格中
 const columns = [
	{
	  title: '患者姓名',
	  dataIndex: 'name',
	  key: 'name',
	  render:(val)=><span>{Utils.onlySeeSome(val,'name')}</span>
    },
    {
      title: '手机号',
      dataIndex: 'mobile',
      key: 'mobile',
      render:(val)=><span>{Utils.onlySeeSome(val,'phone')}</span>
    },
]
//html中
<span>{Utils.onlySeeSome(order.name,'name')}</span>

你可能感兴趣的:(ant,design,pro,ant,design,pro,react,脱敏)