From cf870dafc555956d9b942ea8fd78bafaa89a8b95 Mon Sep 17 00:00:00 2001 From: guyuexuan <2651919937@qq.com> Date: Wed, 20 Jan 2021 16:25:48 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BA=AC=E4=B8=9C=E7=A5=9E=E4=BB=99=E4=B9=A6?= =?UTF-8?q?=E9=99=A2]=20=E8=87=AA=E5=8A=A8=E8=8E=B7=E5=8F=96=E7=BB=8F?= =?UTF-8?q?=E7=BA=AC=E5=BA=A6=20lng=20lat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_immortal.js | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/jd_immortal.js b/jd_immortal.js index 7bb7b6bc..608bc8c1 100644 --- a/jd_immortal.js +++ b/jd_immortal.js @@ -312,7 +312,7 @@ function shareCodesFormat() { }) } function requireConfig() { - return new Promise(resolve => { + return new Promise(async resolve => { console.log(`开始获取${$.name}配置文件\n`); //Node.js用户请在jdCookie.js处填写京东ck; let shareCodes = [] @@ -331,7 +331,7 @@ function requireConfig() { $.shareCodesArr.push(shareCodes[item]) } }) - $.cor = process.env.JD_IMMORTAL_LATLON?JSON.parse(process.env.JD_IMMORTAL_LATLON):{} + $.cor = process.env.JD_IMMORTAL_LATLON?JSON.parse(process.env.JD_IMMORTAL_LATLON):(await getLatLng()) }else{ $.cor = $.getdata("IMMORTAL_LATLON")?JSON.parse($.getdata("IMMORTAL_LATLON")):{} } @@ -341,6 +341,39 @@ function requireConfig() { }) } +// 自动获取经纬度 +function getLatLng() { + return new Promise(resolve => { + try { + console.log('开始自动获取经纬度 lat lng ……'); + $.get({ + url: 'https://jingweidu.bmcx.com/web_system/bmcx_com_www/system/file/jingweidu/api/?v=20031911', + headers: { + "referer": "https://jingweidu.bmcx.com/", + 'Content-Type': 'text/html; charset=utf-8', + "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_1_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36" + } + }, async (err, resp, data) => { + const res = data.match(/qq\.maps\.LatLng\(([\d\.]+), ([\d\.]+)\)/); + let lat = res[1]; + let lng = res[2]; + if (lat > 0 && lng > 0) { + resolve({ + 'lng': lng, + 'lat': lat + }); + return; + } + console.log('自动获取经纬度 lat lng 失败,返回经纬度结果错误'); + resolve({}); + }); + } catch (e) { + console.log('自动获取经纬度 lat lng 失败,触发异常'); + resolve({}); + } + }); +} + function taskPostUrl(function_id, body = {}, function_id2) { let url = `${JD_API_HOST}`; if (function_id2) {