Commit 508bec01352ad436a7ec3e67a79ebec56a316e0b

Authored by fengtao
1 parent 671e245a

pref:优化移除无用代码

Showing 1 changed file with 120 additions and 212 deletions
1   -import Vue from 'vue';
2   -import moment from 'moment';
3   -const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
4   -//金额过滤
5   -Vue.filter('money', function(val) {
6   - if (val) {
7   - let value = Math.round(parseFloat(val) * 100) / 100;
8   - let valMoney = value.toString().split(".");
9   - if (valMoney.length == 1) {
10   - value = value.toString() + ".00";
11   - return value;
12   - }
13   - if (valMoney.length > 1) {
14   - if (valMoney[1].length < 2) {
15   - value = value.toString() + "0";
16   - }
17   - return value;
18   - }
19   - return value;
20   - } else {
21   - return "0.00";
22   - }
23   -});
  1 +import Vue from "vue";
  2 +import moment from "moment";
  3 +const DATE_TIME_FORMAT = "YYYY-MM-DD HH:mm:ss";
24 4 //手机号中间4位为*
25   -Vue.filter('phone', function(val) {
26   - var tel = val;
27   - tel = "" + tel;
28   - var telShort = tel.replace(tel.substring(3, 7), "****")
29   - return telShort
30   -})
  5 +Vue.filter("phone", function (val) {
  6 + var tel = val;
  7 + tel = "" + tel;
  8 + var telShort = tel.replace(tel.substring(3, 7), "****");
  9 + return telShort;
  10 +});
31 11 //获取系统信息、判断ipX安全距离
32   -export const getTabbarHeight = function() {
33   - var systemInfo = uni.getSystemInfoSync()
34   - var data = {
35   - ...systemInfo,
36   - tabbarH: 50, //tabbar高度--单位px
37   - tabbarPaddingB: 0, //tabbar底部安全距离高度--单位px
38   - device: systemInfo.system.indexOf('iOS') != -1 ? 'iOS' : 'Android', //苹果或者安卓设备
39   - }
40   - let modelArr = ['10,3', '10,6', 'X', 'XR', 'XS', '11', '12', '13', '14', '15', '16'];
41   - let model = systemInfo.model;
42   - model && modelArr.forEach(item => {
43   - //适配iphoneX以上的底部,给tabbar一定高度的padding-bottom
44   - if (model.indexOf(item) != -1 && (model.indexOf('iPhone') != -1 || model.indexOf('iphone') != -1)) {
45   - data.tabbarH = 70
46   - data.tabbarPaddingB = 20
47   - }
48   - })
49   - return data;
50   -}
  12 +export const getTabbarHeight = function () {
  13 + var systemInfo = uni.getSystemInfoSync();
  14 + var data = {
  15 + ...systemInfo,
  16 + tabbarH: 50, //tabbar高度--单位px
  17 + tabbarPaddingB: 0, //tabbar底部安全距离高度--单位px
  18 + device: systemInfo.system.indexOf("iOS") != -1 ? "iOS" : "Android", //苹果或者安卓设备
  19 + };
  20 + let modelArr = [
  21 + "10,3",
  22 + "10,6",
  23 + "X",
  24 + "XR",
  25 + "XS",
  26 + "11",
  27 + "12",
  28 + "13",
  29 + "14",
  30 + "15",
  31 + "16",
  32 + ];
  33 + let model = systemInfo.model;
  34 + model &&
  35 + modelArr.forEach((item) => {
  36 + //适配iphoneX以上的底部,给tabbar一定高度的padding-bottom
  37 + if (
  38 + model.indexOf(item) != -1 &&
  39 + (model.indexOf("iPhone") != -1 || model.indexOf("iphone") != -1)
  40 + ) {
  41 + data.tabbarH = 70;
  42 + data.tabbarPaddingB = 20;
  43 + }
  44 + });
  45 + return data;
  46 +};
51 47
52   -//计算两点距离
53   -export const commonDistance = function(lat1, lng1, lat2, lng2) {
54   - var f = ((lat1 + lat2) / 2) * Math.PI / 180.0;
55   - var g = ((lat1 - lat2) / 2) * Math.PI / 180.0;
56   - var l = ((lng1 - lng2) / 2) * Math.PI / 180.0;
57   - var sg = Math.sin(g);
58   - var sl = Math.sin(l);
59   - var sf = Math.sin(f);
60   - var s, c, w, r, d, h1, h2;
61   - var a = 6378137.0; //地球的直径
62   - var fl = 1 / 298.257;
63   - sg = sg * sg;
64   - sl = sl * sl;
65   - sf = sf * sf;
66   - s = sg * (1 - sl) + (1 - sf) * sl;
67   - c = (1 - sg) * (1 - sl) + sf * sl;
68   - w = Math.atan(Math.sqrt(s / c));
69   - r = Math.sqrt(s * c) / w;
70   - d = 2 * w * a;
71   - h1 = (3 * r - 1) / 2 / c;
72   - h2 = (3 * r + 1) / 2 / s;
73   - var num = d * (1 + fl * (h1 * sf * (1 - sg) - h2 * (1 - sf) * sg))
74   - // 换算单位
75   - if (num == undefined) {
76   - num = "0.0 m"
77   - };
78   - if (num < 1000) {
79   - num = (Math.round(num)).toFixed(1) + "m"
80   - } else if (num > 1000) {
81   - num = (Math.round(num / 100) / 10).toFixed(1) + "km"
82   - }
83   - return num
84   -}
85 48 // px转upx
86   -export const px2upx = function(n) {
87   - return n / (uni.upx2px(n) / n);
88   -}
89   -
90   -// 判断两时间段之间活动状态、判断活动还有多长时间开始、多长时间结束----添加定时器运行此方法可倒计时
91   -// var startTime = new Date(item.startTime.replace(/-/g, '/')).getTime(); //转时间戳
92   -// var closeTime = new Date(item.closeTime.replace(/-/g, '/')).getTime(); //转时间戳
93   -// var djs = this.djsTime(startTime, closeTime);
94   -export const djsTime = function(startTime, endTime) {
95   - var bbb = new Date().getTime(),
96   - leftTime = startTime - bbb,
97   - rightTime = endTime - bbb,
98   - djsTime = '',
99   - speed = 0,
100   - activityStatus = 0, //活动状态 1:未开始 2:进行中 3:已结束
101   - dd, hh, mm, ss;
102   - if (leftTime > 0) { //还未开始
103   - activityStatus = 1
104   - dd = Math.floor(leftTime / 1000 / 60 / 60 / 24);
105   - hh = Math.floor((leftTime / 1000 / 60 / 60) % 24) < 10 ? '0' + Math.floor((leftTime / 1000 / 60 / 60) %
106   - 24) : Math.floor((leftTime / 1000 / 60 / 60) % 24);
107   - mm = Math.floor((leftTime / 1000 / 60) % 60) < 10 ? '0' + Math.floor((leftTime / 1000 / 60) % 60) : Math
108   - .floor((leftTime / 1000 / 60) % 60);
109   - ss = Math.floor((leftTime / 1000) % 60) < 10 ? '0' + Math.floor((leftTime / 1000) % 60) : Math.floor((
110   - leftTime / 1000) % 60);
111   - if (dd != 0) {
112   - djsTime = dd + "天 " + hh + ":" + mm + ":" + ss;
113   - } else {
114   - djsTime = hh + ":" + mm + ":" + ss;
115   - }
116   - } else if (leftTime <= 0) {
117   - if (rightTime > 0) { //进行中
118   - activityStatus = 2;
119   - speed = (1 - rightTime / (endTime - startTime)) * 100;
120   - dd = Math.floor(rightTime / 1000 / 60 / 60 / 24);
121   - hh = Math.floor((rightTime / 1000 / 60 / 60) % 24) < 10 ? '0' + Math.floor((rightTime / 1000 / 60 /
122   - 60) % 24) : Math.floor((rightTime / 1000 / 60 / 60) % 24);
123   - mm = Math.floor((rightTime / 1000 / 60) % 60) < 10 ? '0' + Math.floor((rightTime / 1000 / 60) % 60) :
124   - Math.floor((rightTime / 1000 / 60) % 60);
125   - ss = Math.floor((rightTime / 1000) % 60) < 10 ? '0' + Math.floor((rightTime / 1000) % 60) : Math.floor((
126   - rightTime / 1000) % 60);
127   - if (dd != 0) {
128   - djsTime = dd + "天 " + hh + ":" + mm + ":" + ss;
129   - } else {
130   - djsTime = hh + ":" + mm + ":" + ss;
131   - }
132   - } else { //已结束
133   - speed = 100;
134   - djsTime = '已结束';
135   - activityStatus = 3;
136   - }
137   - }
138   - var item = {
139   - djsTime: djsTime, //距离当前时间差
140   - activityStatus: activityStatus, //活动状态 1:未开始 2:进行中 3:已结束
141   - speed: speed, //进度(单位%)
142   - dd: dd, //天
143   - hh: hh, //小时
144   - mm: mm, //分
145   - ss: ss, //秒
146   - }
147   - return item;
148   -}
  49 +export const px2upx = function (n) {
  50 + return n / (uni.upx2px(n) / n);
  51 +};
149 52
150 53 // 小程序获取定位权限判断
151 54 // isOpenSetting 默认false:不检验授权,true:检验授权后获取地址
152 55 function getMpLocation(successCallback, errCallback, isOpenSetting) {
153   - uni.getSetting({
154   - success: res => {
155   - if (res.authSetting['scope.userLocation'] || !isOpenSetting) {
156   - uni.getLocation({
157   - // #ifndef MP-ALIPAY
158   - type: 'gcj02',
159   - // #endif
160   - success(res) {
161   - console.log('successCallback')
162   - successCallback(res);
163   - },
164   - fail(err) {
165   - console.log("位置信息错误", err);
166   - errCallback("位置信息获取失败");
167   - }
168   - });
169   - } else {
170   - errCallback("“位置信息”未授权");
171   - isOpenSetting && uni.showModal({
172   - title: '提示',
173   - content: '请先在设置页面打开“位置信息”使用权限',
174   - confirmText: '去设置',
175   - cancelText: '再逛会',
176   - success: res => {
177   - if (res.confirm) {
178   - uni.openSetting();
179   - }
180   - }
181   - });
182   - }
183   - }
184   - });
  56 + uni.getSetting({
  57 + success: (res) => {
  58 + if (res.authSetting["scope.userLocation"] || !isOpenSetting) {
  59 + uni.getLocation({
  60 + // #ifndef MP-ALIPAY
  61 + type: "gcj02",
  62 + // #endif
  63 + success(res) {
  64 + console.log("successCallback");
  65 + successCallback(res);
  66 + },
  67 + fail(err) {
  68 + console.log("位置信息错误", err);
  69 + errCallback("位置信息获取失败");
  70 + },
  71 + });
  72 + } else {
  73 + errCallback("“位置信息”未授权");
  74 + isOpenSetting &&
  75 + uni.showModal({
  76 + title: "提示",
  77 + content: "请先在设置页面打开“位置信息”使用权限",
  78 + confirmText: "去设置",
  79 + cancelText: "再逛会",
  80 + success: (res) => {
  81 + if (res.confirm) {
  82 + uni.openSetting();
  83 + }
  84 + },
  85 + });
  86 + }
  87 + },
  88 + });
185 89 }
186 90 // 获取地址信息
187 91 let locationAuthorize = true;
188   -export const getAppLatLon = function(successCallback, errCallback, isOpenSetting) {
189   - const _this = this;
190   - // #ifdef MP-WEIXIN
191   - if (locationAuthorize && isOpenSetting) {
192   - uni.authorize({
193   - scope: 'scope.userLocation',
194   - success: () => {
195   - getMpLocation(successCallback, errCallback, isOpenSetting);
196   - locationAuthorize = false;
197   - },
198   - fail: () => {
199   - locationAuthorize = false;
200   - }
201   - });
202   - } else {
203   - getMpLocation(successCallback, errCallback, isOpenSetting);
204   - }
205   - // #endif
206   - // #ifdef MP-ALIPAY
207   - getMpLocation(successCallback, errCallback, false);
208   - // #endif
209   - // #ifdef H5
210   - uni.getLocation({
211   - type: 'gcj02',
212   - success(res) {
213   - console.log('successCallback')
214   - successCallback(res);
215   - },
216   - fail(err) {
217   - console.log("位置信息错误", err);
218   - errCallback("位置信息获取失败");
219   - }
220   - });
221   - // #endif
222   -}
  92 +export const getAppLatLon = function (
  93 + successCallback,
  94 + errCallback,
  95 + isOpenSetting
  96 +) {
  97 + const _this = this;
  98 + // #ifdef MP-WEIXIN
  99 + if (locationAuthorize && isOpenSetting) {
  100 + uni.authorize({
  101 + scope: "scope.userLocation",
  102 + success: () => {
  103 + getMpLocation(successCallback, errCallback, isOpenSetting);
  104 + locationAuthorize = false;
  105 + },
  106 + fail: () => {
  107 + locationAuthorize = false;
  108 + },
  109 + });
  110 + } else {
  111 + getMpLocation(successCallback, errCallback, isOpenSetting);
  112 + }
  113 + // #endif
  114 + // #ifdef MP-ALIPAY
  115 + getMpLocation(successCallback, errCallback, false);
  116 + // #endif
  117 + // #ifdef H5
  118 + uni.getLocation({
  119 + type: "gcj02",
  120 + success(res) {
  121 + console.log("successCallback");
  122 + successCallback(res);
  123 + },
  124 + fail(err) {
  125 + console.log("位置信息错误", err);
  126 + errCallback("位置信息获取失败");
  127 + },
  128 + });
  129 + // #endif
  130 +};
223 131
224 132 export function formatToDate(date = undefined, format = DATE_TIME_FORMAT) {
225   - return moment(date).format(format);
  133 + return moment(date).format(format);
226 134 }
... ...