common.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. import {
  2. checkLogin
  3. } from '@/api/user'
  4. var isEmpty = function(obj) {
  5. if (typeof obj == "undefined" || obj == null || obj == "") {
  6. return true;
  7. } else {
  8. return false;
  9. }
  10. }
  11. var getDictLabelName = function(key, dictValue) {
  12. if (dictValue == null) {
  13. return "";
  14. }
  15. var dicts = uni.getStorageSync('dicts');
  16. dicts = JSON.parse(dicts);
  17. var dict = dicts[key]
  18. var name = "";
  19. dict.forEach(function(item, index, array) {
  20. if (dictValue.toString() == item.dictValue.toString()) {
  21. name = item.dictLabel
  22. }
  23. });
  24. return name;
  25. }
  26. var getDict = function(key) {
  27. var dicts = uni.getStorageSync('dicts');
  28. dicts = JSON.parse(dicts);
  29. var dict = dicts[key]
  30. return dict;
  31. }
  32. var photosToArr = function(photoUrl) {
  33. var photos = [];
  34. if (photoUrl != null && photoUrl != '') {
  35. photos = photoUrl.split(',');
  36. }
  37. return photos
  38. }
  39. var dateFormat = function dateFormat(fmt, date) {
  40. let ret;
  41. const opt = {
  42. "Y+": date.getFullYear().toString(), // 年
  43. "m+": (date.getMonth() + 1).toString(), // 月
  44. "d+": date.getDate().toString(), // 日
  45. "H+": date.getHours().toString(), // 时
  46. "M+": date.getMinutes().toString(), // 分
  47. "S+": date.getSeconds().toString() // 秒
  48. // 有其他格式化字符需求可以继续添加,必须转化成字符串
  49. };
  50. for (let k in opt) {
  51. ret = new RegExp("(" + k + ")").exec(fmt);
  52. if (ret) {
  53. fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
  54. };
  55. };
  56. return fmt;
  57. }
  58. var getProvider = service => {
  59. return new Promise((resolve, reject) => {
  60. // 获取当前环境的服务商
  61. uni.getProvider({
  62. service: service || 'oauth',
  63. success: function(res) {
  64. // 此处可以排除h5
  65. if (res.provider) {
  66. resolve(res.provider[0])
  67. }
  68. },
  69. fail() {
  70. reject('获取环境服务商失败')
  71. },
  72. })
  73. }).catch(error => {
  74. console.log('167', error)
  75. })
  76. }
  77. var parsePhone = function parsePhone(mobile) {
  78. var str = mobile.substr(0, 3) + "****" + mobile.substr(7);
  79. return str;
  80. }
  81. var getAge = function GetAge(strBirthday) {
  82. var returnAge,
  83. strBirthdayArr = strBirthday.split("-"),
  84. birthYear = strBirthdayArr[0],
  85. birthMonth = strBirthdayArr[1],
  86. birthDay = strBirthdayArr[2],
  87. d = new Date(),
  88. nowYear = d.getFullYear(),
  89. nowMonth = d.getMonth() + 1,
  90. nowDay = d.getDate();
  91. if (nowYear == birthYear) {
  92. returnAge = 0; //同年 则为0周岁
  93. } else {
  94. var ageDiff = nowYear - birthYear; //年之差
  95. if (ageDiff > 0) {
  96. if (nowMonth == birthMonth) {
  97. var dayDiff = nowDay - birthDay; //日之差
  98. if (dayDiff < 0) {
  99. returnAge = ageDiff - 1;
  100. } else {
  101. returnAge = ageDiff;
  102. }
  103. } else {
  104. var monthDiff = nowMonth - birthMonth; //月之差
  105. if (monthDiff < 0) {
  106. returnAge = ageDiff - 1;
  107. } else {
  108. returnAge = ageDiff;
  109. }
  110. }
  111. } else {
  112. returnAge = -1; //返回-1 表示出生日期输入错误 晚于今天
  113. }
  114. }
  115. return returnAge; //返回周岁年龄
  116. }
  117. const urlToObj = function(url) {
  118. let obj = {}
  119. let str = url.slice(url.indexOf('?') + 1)
  120. let arr = str.split('&')
  121. for (let j = arr.length, i = 0; i < j; i++) {
  122. let arr_temp = arr[i].split('=')
  123. obj[arr_temp[0]] = arr_temp[1]
  124. }
  125. return obj
  126. }
  127. var isLogin = function() {
  128. var token = uni.getStorageSync('AppToken');
  129. if (token != null && token != "") {
  130. return true;
  131. } else {
  132. return false;
  133. }
  134. // return new Promise((resolve, reject) => {
  135. // checkLogin().then(
  136. // res => {
  137. // console.log(res)
  138. // if(res.code==200){
  139. // resolve(true);
  140. // }else{
  141. // resolve(false);
  142. // }
  143. // },
  144. // rej => { }
  145. // );
  146. // });
  147. }
  148. /**
  149. * 随机字符串
  150. *
  151. */
  152. export function generateRandomString(length) {
  153. let result = '';
  154. const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
  155. const charactersLength = characters.length;
  156. for (let i = 0; i < length; i++) {
  157. result += characters.charAt(Math.floor(Math.random() * charactersLength));
  158. }
  159. return result;
  160. }
  161. var logout = function() {
  162. uni.getStorageSync('storeId', null);
  163. uni.setStorageSync('AppToken', null);
  164. }
  165. module.exports = {
  166. isEmpty: isEmpty,
  167. getDictLabelName: getDictLabelName,
  168. photosToArr: photosToArr,
  169. dateFormat: dateFormat,
  170. getProvider: getProvider,
  171. parsePhone: parsePhone,
  172. getAge: getAge,
  173. urlToObj: urlToObj,
  174. getDict: getDict,
  175. logout: logout,
  176. isLogin: isLogin,
  177. generateRandomString
  178. };