Commit fe27d805a0863284e7edabad853a11388017600d

Authored by fengtao
1 parent faf8f168

fix:移除框架作者判断app权限组件

Showing 1 changed file with 128 additions and 141 deletions
1 1 import Vue from 'vue';
2 2 import moment from 'moment';
3   -// #ifdef APP-PLUS
4   -import {judgePermission} from './permission'
5   -// #endif
6 3 const DATE_TIME_FORMAT = 'YYYY-MM-DD HH:mm:ss';
7 4 //金额过滤
8 5 Vue.filter('money', function(val) {
... ... @@ -26,68 +23,68 @@ Vue.filter('money', function(val) {
26 23 });
27 24 //手机号中间4位为*
28 25 Vue.filter('phone', function(val) {
29   - var tel = val;
30   - tel = "" + tel;
31   - var telShort = tel.replace(tel.substring(3, 7), "****")
32   - return telShort
  26 + var tel = val;
  27 + tel = "" + tel;
  28 + var telShort = tel.replace(tel.substring(3, 7), "****")
  29 + return telShort
33 30 })
34 31 //获取系统信息、判断ipX安全距离
35 32 export const getTabbarHeight = function() {
36   - var systemInfo = uni.getSystemInfoSync()
37   - var data = {
38   - ...systemInfo,
39   - tabbarH: 50,//tabbar高度--单位px
40   - tabbarPaddingB: 0,//tabbar底部安全距离高度--单位px
41   - device: systemInfo.system.indexOf('iOS') != -1?'iOS':'Android', //苹果或者安卓设备
42   - }
43   - let modelArr = ['10,3','10,6','X', 'XR', 'XS', '11', '12', '13', '14', '15', '16'];
44   - let model = systemInfo.model;
45   - model && modelArr.forEach(item => {
46   - //适配iphoneX以上的底部,给tabbar一定高度的padding-bottom
47   - if(model.indexOf(item) != -1 && (model.indexOf('iPhone') != -1 || model.indexOf('iphone') != -1)) {
48   - data.tabbarH = 70
49   - data.tabbarPaddingB = 20
50   - }
51   - })
52   - return data;
  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;
53 50 }
54 51
55 52 //计算两点距离
56   -export const commonDistance = function(lat1, lng1, lat2, lng2) {
57   - var f = ((lat1 + lat2) / 2) * Math.PI / 180.0;
58   - var g = ((lat1 - lat2) / 2) * Math.PI / 180.0;
59   - var l = ((lng1 - lng2) / 2) * Math.PI / 180.0;
60   - var sg = Math.sin(g);
61   - var sl = Math.sin(l);
62   - var sf = Math.sin(f); 
63   - var s, c, w, r, d, h1, h2;
64   - var a = 6378137.0; //地球的直径
65   - var fl = 1 / 298.257;
66   - sg = sg * sg;  
67   - sl = sl * sl;  
68   - sf = sf * sf;  
69   - s = sg * (1 - sl) + (1 - sf) * sl;  
70   - c = (1 - sg) * (1 - sl) + sf * sl;  
71   - w = Math.atan(Math.sqrt(s / c));  
72   - r = Math.sqrt(s * c) / w;  
73   - d = 2 * w * a;  
74   - h1 = (3 * r - 1) / 2 / c;  
75   - h2 = (3 * r + 1) / 2 / s;  
76   - var num = d * (1 + fl * (h1 * sf * (1 - sg) - h2 * (1 - sf) * sg))  
77   - // 换算单位
78   - if (num == undefined) {
79   - num = "0.0 m"
80   - };
81   - if (num < 1000) {
82   - num = (Math.round(num)).toFixed(1) + "m"
83   - } else if (num > 1000) {
84   - num = (Math.round(num / 100) / 10).toFixed(1) + "km"
85   - }
86   - return num
  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
87 84 }
88 85 // px转upx
89   -export const px2upx = function(n){
90   - return n/(uni.upx2px(n)/n);
  86 +export const px2upx = function(n) {
  87 + return n / (uni.upx2px(n) / n);
91 88 }
92 89
93 90 // 判断两时间段之间活动状态、判断活动还有多长时间开始、多长时间结束----添加定时器运行此方法可倒计时
... ... @@ -95,53 +92,59 @@ export const px2upx = function(n){
95 92 // var closeTime = new Date(item.closeTime.replace(/-/g, '/')).getTime(); //转时间戳
96 93 // var djs = this.djsTime(startTime, closeTime);
97 94 export const djsTime = function(startTime, endTime) {
98   - var bbb = new Date().getTime(),
99   - leftTime = startTime - bbb,
100   - rightTime = endTime - bbb,
101   - djsTime = '',
102   - speed = 0,
103   - activityStatus = 0, //活动状态 1:未开始 2:进行中 3:已结束
104   - dd,hh,mm,ss;
105   - if (leftTime > 0) { //还未开始
106   - activityStatus = 1
107   - dd = Math.floor(leftTime / 1000 / 60 / 60 / 24);
108   - hh = Math.floor((leftTime / 1000 / 60 / 60) % 24) < 10 ? '0' + Math.floor((leftTime / 1000 / 60 / 60) % 24) : Math.floor((leftTime / 1000 / 60 / 60) % 24);
109   - mm = Math.floor((leftTime / 1000 / 60) % 60) < 10 ? '0' + Math.floor((leftTime / 1000 / 60) % 60) : Math.floor((leftTime / 1000 / 60) % 60);
110   - ss = Math.floor((leftTime / 1000) % 60) < 10 ? '0' + Math.floor((leftTime / 1000) % 60) : Math.floor((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 / 60) % 24) : Math.floor((rightTime / 1000 / 60 / 60) % 24);
122   - mm = Math.floor((rightTime / 1000 / 60) % 60) < 10 ? '0' + Math.floor((rightTime / 1000 / 60) % 60) : Math.floor((rightTime / 1000 / 60) % 60);
123   - ss = Math.floor((rightTime / 1000) % 60) < 10 ? '0' + Math.floor((rightTime / 1000) % 60) : Math.floor((rightTime / 1000) % 60);
124   - if (dd != 0) {
125   - djsTime = dd + "天 " + hh + ":" + mm + ":" + ss;
126   - } else {
127   - djsTime = hh + ":" + mm + ":" + ss;
128   - }
129   - } else { //已结束
130   - speed = 100;
131   - djsTime = '已结束';
132   - activityStatus = 3;
133   - }
134   - }
135   - var item = {
136   - djsTime: djsTime, //距离当前时间差
137   - activityStatus: activityStatus, //活动状态 1:未开始 2:进行中 3:已结束
138   - speed: speed, //进度(单位%)
139   - dd: dd, //天
140   - hh: hh, //小时
141   - mm: mm, //分
142   - ss: ss, //秒
143   - }
144   - return item;
  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;
145 148 }
146 149
147 150 // 小程序获取定位权限判断
... ... @@ -151,14 +154,14 @@ function getMpLocation(successCallback, errCallback, isOpenSetting) {
151 154 success: res => {
152 155 if (res.authSetting['scope.userLocation'] || !isOpenSetting) {
153 156 uni.getLocation({
154   - // #ifndef MP-ALIPAY
155   - type: 'gcj02',
156   - // #endif
157   - success(res){
158   - console.log('successCallback')
  157 + // #ifndef MP-ALIPAY
  158 + type: 'gcj02',
  159 + // #endif
  160 + success(res) {
  161 + console.log('successCallback')
159 162 successCallback(res);
160 163 },
161   - fail(err){
  164 + fail(err) {
162 165 console.log("位置信息错误", err);
163 166 errCallback("位置信息获取失败");
164 167 }
... ... @@ -200,40 +203,24 @@ export const getAppLatLon = function(successCallback, errCallback, isOpenSetting
200 203 getMpLocation(successCallback, errCallback, isOpenSetting);
201 204 }
202 205 // #endif
203   - // #ifdef MP-ALIPAY
204   - getMpLocation(successCallback, errCallback, false);
205   - // #endif
206   - // #ifdef H5
207   - uni.getLocation({
208   - type: 'gcj02',
209   - success(res){
210   - console.log('successCallback')
211   - successCallback(res);
212   - },
213   - fail(err){
214   - console.log("位置信息错误", err);
215   - errCallback("位置信息获取失败");
216   - }
217   - });
218   - // #endif
219   - // #ifdef APP-PLUS
220   - judgePermission("location", function(result) {
221   - if (result == 1) {
222   - uni.getLocation({
223   - type: 'gcj02',
224   - success: res => {
225   - successCallback(res);
226   - },
227   - fail: (err) => {
228   - console.log("位置信息错误", err);
229   - errCallback("位置信息获取失败");
230   - }
231   - });
  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("位置信息获取失败");
232 219 }
233 220 });
234 221 // #endif
235 222 }
236 223
237 224 export function formatToDate(date = undefined, format = DATE_TIME_FORMAT) {
238   - return moment(date).format(format);
239   -}
\ No newline at end of file
  225 + return moment(date).format(format);
  226 +}
... ...