| | |
| | | import React from 'react' |
| | | import moment from 'moment' |
| | | import md5 from 'md5' |
| | | // import NodeRSA from 'node-rsa' |
| | | |
| | | const formatKeys = [ |
| | | { key: 'select', value: ' msltk ' }, |
| | |
| | | * @description sql加密 |
| | | * @return {String} value |
| | | */ |
| | | static formatOptions (value) { |
| | | static formatOptions (value, exec_type = '') { |
| | | if (!value) return '' |
| | | |
| | | let salt = 'minKe' // 盐值 |
| | | |
| | | value = value.replace(/\n/ig, ' \n ') |
| | | // 替换关键字 |
| | |
| | | if (window.GLOB.externalDatabase !== null) { |
| | | value = value.replace(/@db@/ig, window.GLOB.externalDatabase) |
| | | } |
| | | // encode编码(中文字符超出base64加密范围) |
| | | value = window.btoa(window.encodeURIComponent(value)) |
| | | // 插入字符 |
| | | let index = Math.floor(value.length / 2) |
| | | value = value.slice(0, index) + salt + value.slice(index) |
| | | // base64加密 |
| | | value = window.btoa(value) |
| | | |
| | | // if (exec_type === 'x') { |
| | | // // let publicKey = `-----BEGIN PUBLIC KEY----- |
| | | // // MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwGxFURiCrk5a2xfWuM3W |
| | | // // 2lkS3ioZhUFXpkK1inMivItsA/J8MTaBB3EAVxC29xdVCU+xOzs512PuD2b1sjzX |
| | | // // jwO6kx433NtB2okqGiP4RkzhEJHwdyc9dPUKdjirDznUWI9R7WayAf5Z4COhMsj2 |
| | | // // IbkyJgkb6Ivn0UgU0GSWc92HqJJmnb3Ti2gk6A2+oybz2RE3+xB/yOaNu3xav4yi |
| | | // // xxo6harVLNBiaU+D7aDed1W3kE20gLOnEAvcLMjpe3n/QvF5RtELsm3T+vH3TIT2 |
| | | // // GI9+8cT20NZ2d7i41+j/AQZiPJNS3MVmc3aIhuyCOsNPLmvbZZi1KPSJIqkCwdEg |
| | | // // mQIDAQAB |
| | | // // -----END PUBLIC KEY-----` |
| | | |
| | | // // let pubKey = new NodeRSA(publicKey, 'pkcs8-public') |
| | | |
| | | // // value = window.encodeURIComponent(value) |
| | | // // value = pubKey.encrypt(value, 'base64') |
| | | |
| | | // // const priKey = new NodeRSA(privateKey, 'pkcs8-private') |
| | | // // const res = priKey.decrypt(value, 'utf8') |
| | | // } else { |
| | | // encode编码(中文字符超出base64加密范围) |
| | | // let str = window.encodeURIComponent(value) |
| | | |
| | | // if (str.length % 3 === 1) { |
| | | // str += '%2F*123*%2F' |
| | | // } else if (str.length % 3 === 2) { |
| | | // str += '%2F*12*%2F' |
| | | // } |
| | | |
| | | value = window.btoa(window.encodeURIComponent(value)) |
| | | // 插入字符 |
| | | let salt = 'minKe' // 盐值 |
| | | let index = Math.floor(value.length / 2) |
| | | value = value.slice(0, index) + salt + value.slice(index) |
| | | // base64加密 |
| | | value = window.btoa(value) |
| | | // } |
| | | |
| | | return value |
| | | } |
| | |
| | | |
| | | // return value |
| | | // } |
| | | |
| | | /** |
| | | * @description sPC_TableData_InUpDe sql加密 |
| | | * @return {String} value |
| | | */ |
| | | static sPCInUpDeFormatOptions (value) { |
| | | if (!value) return {LText: '', LText1: '', LText2: ''} |
| | | let salt = 'minKe' // 盐值 |
| | | |
| | | value = value.replace(/\n/ig, ' \n ') |
| | | // 替换关键字 |
| | | formatKeys.forEach(item => { |
| | | let reg = new RegExp('(^|\\s)' + item.key + '(\\s|$)', 'ig') |
| | | value = value.replace(reg, item.value) |
| | | }) |
| | | |
| | | // 1、替换%符(数据库中解析后sql报错) |
| | | value = value.replace(/%/ig, ' mpercent ') |
| | | // 外联数据库替换 |
| | | if (window.GLOB.externalDatabase !== null) { |
| | | value = value.replace(/@db@/ig, window.GLOB.externalDatabase) |
| | | } |
| | | |
| | | let encodesql = (val) => { |
| | | if (!val) return '' |
| | | |
| | | let _value = window.btoa(window.encodeURIComponent(val)) |
| | | |
| | | // 插入字符 |
| | | let index = Math.floor(_value.length / 2) |
| | | _value = _value.slice(0, index) + salt + _value.slice(index) |
| | | |
| | | // base64加密 |
| | | return window.btoa(_value) |
| | | } |
| | | |
| | | let len = value.length |
| | | // 注:LText 与 LText1 顺序颠倒 |
| | | if (len > 1000) { |
| | | let limit = Math.floor(len / 3) |
| | | return { |
| | | LText1: encodesql(value.substring(0, limit)), |
| | | LText: encodesql(value.substring(limit, limit * 2)), |
| | | LText2: encodesql(value.substring(limit * 2)) |
| | | } |
| | | } else { |
| | | return { |
| | | LText1: '', |
| | | LText: encodesql(value), |
| | | LText2: '' |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 初始化搜索条件初始值 |
| | |
| | | z_debug_end: select @ErrorCode='E',@retmsg='debug_end' goto aaa` |
| | | } |
| | | |
| | | if (retmsg) { |
| | | if (retmsg || btn.returnValue === 'true') { |
| | | _sql += ` |
| | | aaa: if @ErrorCode!='' |
| | | insert into tmp_err_retmsg (ID, ErrorCode, retmsg, CreateUserID) select @time_id@,@ErrorCode, @retmsg,@UserID@` |