util.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. import * as CryptoJS from "crypto-js";
  2. /**
  3. *加密处理
  4. */
  5. export const encryption = params => {
  6. let {
  7. data,
  8. type,
  9. param,
  10. key
  11. } = params;
  12. const result = JSON.parse(JSON.stringify(data));
  13. if (type === "Base64") {
  14. param.forEach(ele => {
  15. result[ele] = btoa(result[ele]);
  16. });
  17. } else {
  18. param.forEach(ele => {
  19. var data = result[ele];
  20. key = CryptoJS.enc.Latin1.parse(key);
  21. var iv = key;
  22. // 加密
  23. var encrypted = CryptoJS.AES.encrypt(data, key, {
  24. iv: iv,
  25. mode: CryptoJS.mode.CBC,
  26. padding: CryptoJS.pad.ZeroPadding
  27. });
  28. result[ele] = encrypted.toString();
  29. });
  30. }
  31. return result;
  32. };
  33. /**
  34. * 判断手机号码是否正确(可以为空)
  35. */
  36. export function isValidateNoneMobile(phone) {
  37. const list = []
  38. let result = true
  39. let msg = ''
  40. var isPhone = /^0\d{2,3}-?\d{7,8}$/
  41. // 增加134 减少|1349[0-9]{7},增加181,增加145,增加17[678]
  42. if (!validatenull(phone)) {
  43. if (phone.length === 11) {
  44. if (isPhone.test(phone)) {
  45. msg = '手机号码格式不正确'
  46. } else {
  47. result = false
  48. }
  49. } else {
  50. msg = '手机号码长度不为11位'
  51. }
  52. } else {
  53. result = false
  54. }
  55. list.push(result)
  56. list.push(msg)
  57. return list
  58. }
  59. /**
  60. * 获取url参数
  61. * @param {Object} url
  62. */
  63. export function getUrlParams(url) {
  64. // 通过 ? 分割获取后面的参数字符串
  65. let urlStr = url.split('?')[1]
  66. // 创建空对象存储参数
  67. let obj = {};
  68. // 再通过 & 将每一个参数单独分割出来
  69. let paramsArr = urlStr.split('&')
  70. for (let i = 0, len = paramsArr.length; i < len; i++) {
  71. // 再通过 = 将每一个参数分割为 key:value 的形式
  72. let arr = paramsArr[i].split('=')
  73. obj[arr[0]] = arr[1];
  74. }
  75. return obj
  76. }
  77. /** 根据url参数获取url值
  78. * @param {Object} url
  79. * @param {Object} paramName
  80. */
  81. export function getUrlValueByParamName(url, paramName) {
  82. // 通过 ? 分割获取后面的参数字符串
  83. let urlStr = url.split('?')[1]
  84. // 创建空对象存储参数
  85. let obj = {};
  86. // 再通过 & 将每一个参数单独分割出来
  87. let paramsArr = urlStr.split('&')
  88. for (let i = 0, len = paramsArr.length; i < len; i++) {
  89. // 再通过 = 将每一个参数分割为 key:value 的形式
  90. let arr = paramsArr[i].split('=')
  91. obj[arr[0]] = arr[1];
  92. }
  93. return obj[paramName] || ''
  94. }
  95. export function getTenantCacheList() {
  96. let arr = []
  97. var tenantList = uni.getStorageSync('tenantInfo');
  98. if (!tenantList) {
  99. return arr;
  100. }
  101. console.log("获取到当前租户的缓存信息、", tenantList);
  102. var tenantId = uni.getStorageSync('currentTenantId').value;
  103. tenantList.filter(i => i.statusFlag == 1).forEach(item => {
  104. //unshift 会插入到第一个
  105. if (tenantId == item.tenantId) {
  106. arr.unshift({
  107. text: item.tenantName,
  108. value: item.tenantId
  109. })
  110. } else {
  111. arr.push({
  112. text: item.tenantName,
  113. value: item.tenantId
  114. })
  115. }
  116. })
  117. return arr;
  118. }
  119. export function getOrderType(orderTypeSource) {
  120. let arr = orderTypeSource
  121. var permissionInfo = uni.getStorageSync('permissionInfo');
  122. if (!permissionInfo || permissionInfo.length == 0) {
  123. return arr;
  124. }
  125. let returnArr = [];
  126. console.log("获取到当前租户的权限缓存信息、", permissionInfo);
  127. arr.forEach(item => {
  128. if (item.key == "all" || permissionInfo.filter((permissionInfo) => {
  129. return permissionInfo.permission == item.key || permissionInfo.path == item.key
  130. }).length > 0) {
  131. item.isShow = true
  132. returnArr.push(item);
  133. }
  134. })
  135. console.log("获取到当前租户的权限下的订单类型信息、", returnArr);
  136. return returnArr;
  137. }
  138. export function isPermission(key) {
  139. let isPermission = false
  140. var permissionInfo = uni.getStorageSync('permissionInfo');
  141. if (!permissionInfo || permissionInfo.length == 0) {
  142. return isPermission;
  143. }
  144. console.log("当前信息、", permissionInfo);
  145. console.log("获取到当前租户的权限缓存信息和对应的KEY信息、", permissionInfo, key);
  146. return permissionInfo.filter((permissionInfo) => {
  147. return permissionInfo.permission == key || permissionInfo.path == key
  148. }).length > 0
  149. }
  150. export function getLabel(str, arr, label = 'name', value = 'value') {
  151. if (!String(str)) return ''
  152. const newObj = arr.find(item => String(item[value]) === String(str))
  153. const returnValue = newObj ? newObj[label] : ''
  154. return returnValue
  155. }
  156. export function getTimeInfo() {
  157. var nowdate = new Date();
  158. var year = nowdate.getFullYear(),
  159. month = nowdate.getMonth() + 1,
  160. date = nowdate.getDate(),
  161. day = nowdate.getDay(),
  162. h = nowdate.getHours(),
  163. m = nowdate.getMinutes(),
  164. s = nowdate.getSeconds(),
  165. h = checkTime(h),
  166. m = checkTime(m),
  167. s = checkTime(s);
  168. return year+month + date + h + m + s;
  169. }
  170. var checkTime = function(i) {
  171. if (i < 10) {
  172. i = "0" + i;
  173. }
  174. return i;
  175. }