common.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. let isReadyLogin = 1
  2. let loginFlag = 1
  3. export default {
  4. //提示窗
  5. tipMsg: function (title, icon, time, mask,callback) {
  6. title = title == undefined ? "系统繁忙" : title;
  7. icon = icon == undefined ? "none" : icon;
  8. time = time == undefined ? 1300 : time;
  9. mask = mask == undefined ? true : mask;
  10. uni.showToast({
  11. title: title,
  12. icon: icon,
  13. mask: mask,
  14. duration: time,
  15. success() {
  16. if(callback){
  17. setTimeout(()=>{
  18. callback()
  19. },time);
  20. }
  21. }
  22. })
  23. },
  24. getTelephoneInfo(){
  25. return new Promise((resolve, reject) => {
  26. var data = uni.getStorageSync("telephoneInfo");
  27. if(!data){
  28. // 获取右上角胶囊的位置信息
  29. //#ifndef H5
  30. let btn = wx.getMenuButtonBoundingClientRect();
  31. uni.getSystemInfo({
  32. success: e => {
  33. let info = {
  34. screenHeight:e.screenHeight,
  35. statusBarHeight:e.statusBarHeight,
  36. windowWidth:e.windowWidth,
  37. top:btn.top
  38. }
  39. uni.setStorageSync("telephoneInfo",info);
  40. resolve(info);
  41. },
  42. fail: (err) => {
  43. reject(err);
  44. }
  45. })
  46. //#endif
  47. }else{
  48. resolve(data);
  49. }
  50. })
  51. },
  52. // 获取当前年月日
  53. getNowDate(){
  54. let date = new Date;
  55. let now = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();
  56. return now;
  57. },
  58. // 获取上个月的年月日
  59. getPreMonth(date) {
  60. var arr = date.split('-');
  61. var year = arr[0]; //获取当前日期的年份
  62. var month = arr[1]; //获取当前日期的月份
  63. var day = arr[2]; //获取当前日期的日
  64. var days = new Date(year, month, 0);
  65. days = days.getDate(); //获取当前日期中月的天数
  66. var year2 = year;
  67. var month2 = parseInt(month) - 1;
  68. if (month2 == 0) {
  69. year2 = parseInt(year2) - 1;
  70. month2 = 12;
  71. }
  72. var day2 = day;
  73. var days2 = new Date(year2, month2, 0);
  74. days2 = days2.getDate();
  75. if (day2 > days2) {
  76. day2 = days2;
  77. }
  78. if (month2 < 10) {
  79. month2 = '0' + month2;
  80. }
  81. var t2 = year2 + '-' + month2 + '-' + "01";
  82. return t2;
  83. },
  84. //检测小程序更新
  85. checkUpdateVersion(){
  86. //新版本更新
  87. if (uni.canIUse('getUpdateManager')) {
  88. //判断当前微信版本是否支持版本更新
  89. const updateManager = uni.getUpdateManager();
  90. updateManager.onCheckForUpdate(function (res) {
  91. if (res.hasUpdate) {
  92. // 请求完新版本信息的回调
  93. updateManager.onUpdateReady(function () {
  94. uni.showModal({
  95. title: '更新提示',
  96. content: '已更新版本,是否重启小程序?',
  97. showCancel:false,
  98. cancelColor:'#eeeeee',
  99. confirmColor:'#40A2ED',
  100. success: function (res) {
  101. if (res.confirm) {
  102. // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
  103. updateManager.applyUpdate();
  104. }
  105. },
  106. });
  107. });
  108. // 新的版本下载失败
  109. updateManager.onUpdateFailed(function () {
  110. uni.showModal({
  111. title: '更新失败',
  112. content: '请检查网络设置,若仍更新失败,重新搜索打开',
  113. success(res) {
  114. if (res.confirm) {
  115. // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
  116. updateManager.applyUpdate();
  117. }
  118. }
  119. });
  120. });
  121. }
  122. });
  123. } else {
  124. uni.showModal({
  125. // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
  126. title: '提示',
  127. content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。',
  128. });
  129. }
  130. },
  131. /**
  132. * @param {string} url 目标页面的路由
  133. * @param {Object} param 传递给目标页面的参数
  134. * @description 处理目标页面的参数,转成json字符串传递给param字段,在目标页面通过JSON.parse(options.param)接收
  135. */
  136. navigateTo(url, param = {},flag) {
  137. if(isReadyLogin<=0 && !flag){
  138. this.loginTip();
  139. }else{
  140. let part = '';
  141. for(var item in param){
  142. part += '&' + item + '=' + param[item];
  143. }
  144. url = url + part.replace('&','?');
  145. uni.navigateTo({
  146. url: url,
  147. fail:err=> {
  148. this.tipMsg('页面正在火速开发中,敬请期待!');
  149. },
  150. })
  151. }
  152. },
  153. navigateBack(url, param = {}) {
  154. if (loginFlag <= 0) {
  155. this.tipMsg("很抱歉,你没有权限!");
  156. } else {
  157. let part = '';
  158. for (var item in param) {
  159. part += '&' + item + '=' + param[item];
  160. }
  161. url = "/pages" + url + part.replace('&', '?');
  162. uni.navigateBack({
  163. url: url,
  164. fail: err => {
  165. this.tipMsg('暂未开放该功能!');
  166. },
  167. })
  168. }
  169. },
  170. }