almost-utils.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /**
  2. * 存储 localStorage 数据
  3. * @param {String} name - 缓存数据的标识
  4. * @param {any} content - 缓存的数据内容
  5. */
  6. export const setStore = (name, content) => {
  7. if (!name) return
  8. if (typeof content !== 'string') {
  9. content = JSON.stringify(content)
  10. }
  11. uni.setStorageSync(name, content)
  12. }
  13. /**
  14. * 获取 localStorage 数据
  15. * @param {String} name - 缓存数据的标识
  16. */
  17. export const getStore = (name) => {
  18. if (!name) return
  19. return uni.getStorageSync(name)
  20. }
  21. /**
  22. * 清除 localStorage 数据
  23. * @param {String} name - 缓存数据的标识
  24. */
  25. export const clearStore = (name) => {
  26. if (name) {
  27. uni.removeStorageSync(name)
  28. } else {
  29. console.log('清理本地全部缓存')
  30. uni.clearStorageSync()
  31. }
  32. }
  33. /**
  34. * 下载文件,并返回临时路径
  35. * @return {String} 临时路径
  36. * @param {String} fileUrl - 网络地址
  37. */
  38. export const downloadFile = (fileUrl) => {
  39. return new Promise((resolve) => {
  40. uni.downloadFile({
  41. url: fileUrl,
  42. success: (res) => {
  43. // #ifdef MP-ALIPAY
  44. if (res.errMsg === 'downloadFile:ok') {
  45. resolve({
  46. ok: true,
  47. tempFilePath: res.tempFilePath
  48. })
  49. } else {
  50. resolve({
  51. ok: false,
  52. msg: '图片下载失败'
  53. })
  54. }
  55. // #endif
  56. // #ifndef MP-ALIPAY
  57. if (res.statusCode === 200) {
  58. resolve({
  59. ok: true,
  60. tempFilePath: res.tempFilePath
  61. })
  62. } else {
  63. resolve({
  64. ok: false,
  65. msg: '图片下载失败'
  66. })
  67. }
  68. // #endif
  69. },
  70. fail: (err) => {
  71. resolve({
  72. ok: false,
  73. msg: `图片下载失败,${err}`
  74. })
  75. }
  76. })
  77. })
  78. }
  79. /**
  80. * 清理应用已缓存的文件
  81. */
  82. export const clearCacheFile = () => {
  83. // #ifndef H5
  84. uni.getSavedFileList({
  85. success: (res) => {
  86. let fileList = res.fileList
  87. if (fileList.length) {
  88. for (let i = 0; i < fileList.length; i++) {
  89. uni.removeSavedFile({
  90. filePath: fileList[i].filePath,
  91. complete: () => {
  92. console.log('清除缓存已完成')
  93. }
  94. })
  95. }
  96. }
  97. },
  98. fail: (err) => {
  99. console.log('getSavedFileList Fail')
  100. }
  101. })
  102. // #endif
  103. // #ifdef H5
  104. clearStore()
  105. // #endif
  106. }