index.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. function formatNumber(n) {
  2. const str = n.toString();
  3. return str[1] ? str : `0${str}`;
  4. }
  5. export function objToUrl(obj) {
  6. let uri = '';
  7. let keys = Object.keys(obj);
  8. keys.forEach(item => {
  9. uri += '&' + item + '=' + obj[item];
  10. });
  11. uri = uri.substr(1);
  12. return uri;
  13. }
  14. export function formatTime(date) {
  15. date = new Date(date.substr(0, 19));
  16. let year1 = date.getFullYear();
  17. let month1 = date.getMonth() + 1;
  18. let day1 = date.getDate();
  19. let hour1 = date.getHours();
  20. let minute1 = date.getMinutes();
  21. let second1 = date.getSeconds();
  22. let [year, month, day, hour, minute, second] = [year1, month1, day1, hour1, minute1, second1].map(formatNumber);
  23. return {
  24. year, month, day, hour, minute, second
  25. };
  26. }
  27. // 计算经纬度距离
  28. export function getDistance(lat1, lng1, currentPosition) {
  29. const lat2 = currentPosition.lat;
  30. const lng2 = currentPosition.lng;
  31. if (lat1 && lng1 && lat2 && lng2) {
  32. const radLat1 = lat1 * Math.PI / 180.0;
  33. const radLat2 = lat2 * Math.PI / 180.0;
  34. const a = radLat1 - radLat2;
  35. const b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0;
  36. let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
  37. Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
  38. s = s * 6378.137;// EARTH_RADIUS;
  39. s = Math.round(s * 10000) / 10000;
  40. return s;
  41. }
  42. return null;
  43. }
  44. // 打开位置
  45. export function openLocation(item) {
  46. uni.openLocation({
  47. latitude: item.lat - 0,
  48. longitude: item.lng - 0,
  49. name: item.name,
  50. address: item.addrProvinceName + item.addrCityName + item.addrDistrictName + item.addrDetail
  51. });
  52. }
  53. // 评分
  54. export function getStarNum(level) {
  55. console.log(level,'level')
  56. if(level){
  57. const star = level.toString();
  58. return star.indexOf('.') > -1 ? star : star + '.0';
  59. }
  60. return 0
  61. }
  62. // webview 打开新页面
  63. export function openWebView(item){
  64. if (item.url) {
  65. // 外链
  66. if(item.url.indexOf("http")>=0){
  67. uni.navigateTo({
  68. url: '/pages/h5Page/index?src='+item.url
  69. })
  70. }else{
  71. uni.navigateTo({
  72. url: '/' + item.url
  73. })
  74. }
  75. }
  76. }