dataUtil.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /**
  2. * 数据相关-本地持久化,global data...
  3. */
  4. import globalData from '@/util/globalData'
  5. import {
  6. get,
  7. cloneDeep,
  8. identity,
  9. pickBy
  10. } from 'lodash'
  11. // 本地存储
  12. export const setStorage = (key, data) => {
  13. uni.setStorage({
  14. key,
  15. data
  16. })
  17. }
  18. // 删除本地和global data
  19. export const clearStorageSync = () => {
  20. try {
  21. globalData = {}
  22. uni.clearStorageSync()
  23. } catch (e) {
  24. // Do something when catch error
  25. }
  26. }
  27. // global data set
  28. export const saveGlobalDataByKey = (key, value) => {
  29. globalData[key] = value
  30. }
  31. // global data get
  32. export const getGlobalDataByKey = (key) => {
  33. return globalData[key]
  34. }
  35. // global data delete
  36. export const deleteGlobalDataByKey = (key, value) => {
  37. delete globalData[key]
  38. }
  39. // 同步delete
  40. export const removeStorageSync = (key) => {
  41. try {
  42. deleteGlobalDataByKey(key)
  43. uni.removeStorageSync(key)
  44. } catch (e) {
  45. // Do something when catch error
  46. }
  47. }
  48. // 同步set
  49. export const setStorageSync = (key, data) => {
  50. saveGlobalDataByKey(key, data)
  51. uni.setStorageSync(key, data)
  52. }
  53. // 同步get
  54. export const getStorageSync = (key) => {
  55. const data = getGlobalDataByKey(key)
  56. if (data) {
  57. return data
  58. }
  59. try {
  60. var value = uni.getStorageSync(key)
  61. if (value) {
  62. saveGlobalDataByKey(key, value)
  63. return value
  64. }
  65. } catch (e) {}
  66. }
  67. export const deleteGlobalDataByIds = (key, ids) => {
  68. const n = ids.split(',')
  69. const array = uni.getStorageSync(key)
  70. if (!array) {
  71. return
  72. }
  73. const newArray = cloneDeep(array)
  74. n.forEach((id) => {
  75. const index = newArray.findIndex((j) => j.id === id)
  76. if (index !== -1) {
  77. newArray.splice(index, 1)
  78. }
  79. })
  80. uni.setStorageSync(key, newArray)
  81. }
  82. export const getTimeStr = (str) => {
  83. if (str == '2099-12-31') {
  84. return '长期有效'
  85. }
  86. return str
  87. }
  88. export const formatCurrency = (num) => {
  89. num = num.toString().replace(/\$|\,/g, '');
  90. if (isNaN(num))
  91. num = "0";
  92. let sign = (num == (num = Math.abs(num)));
  93. num = Math.floor(num * 100 + 0.50000000001);
  94. let cents = num % 100;
  95. num = Math.floor(num / 100).toString();
  96. if (cents < 10)
  97. cents = "0" + cents;
  98. for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
  99. num = num.substring(0, num.length - (4 * i + 3)) + ',' +
  100. num.substring(num.length - (4 * i + 3));
  101. return (((sign) ? '' : '-') + num + '.' + cents);
  102. }