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 //手机号中间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 //获取系统信息、判断ipX安全距离 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 // px转upx 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 // isOpenSetting 默认false:不检验授权,true:检验授权后获取地址 54 // isOpenSetting 默认false:不检验授权,true:检验授权后获取地址
152 function getMpLocation(successCallback, errCallback, isOpenSetting) { 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 let locationAuthorize = true; 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 export function formatToDate(date = undefined, format = DATE_TIME_FORMAT) { 132 export function formatToDate(date = undefined, format = DATE_TIME_FORMAT) {
225 - return moment(date).format(format); 133 + return moment(date).format(format);
226 } 134 }