| 
					
				 | 
			
			
				@@ -78,42 +78,32 @@ module.exports = app => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * 发送请求获取详细地址
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @param {String} ip - ip地址
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         * @param {Number} max - 最大重试次数
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @return {Object} the result of request
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          * @private
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        async sendRequest(ip, max = 3) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return new Promise(resolve => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                const start = () => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (max <= 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        resolve(); // 已达到最大重试次数,返回空的执行承若
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    max--;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    this.ctx.curl(`https://api01.aliyun.venuscn.com/ip?ip=${ip}`, {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        dateType: 'json',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        encoding: 'utf8',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        timeout: 2000,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        headers: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            Authorization: 'APPCODE 85c64bffe70445c4af9df7ae31c7bfcc',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }).then(({ status, data }) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        if (status === 200) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            const result = JSON.parse(data.toString()).data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (!result.ip) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                start();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                max++;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                resolve(result);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        async sendRequest(ip) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return new Promise((resolve, reject) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.ctx.curl(`https://api01.aliyun.venuscn.com/ip?ip=${ip}`, {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    dateType: 'json',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    encoding: 'utf8',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    timeout: 2000,
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    headers: {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        Authorization: 'APPCODE 85c64bffe70445c4af9df7ae31c7bfcc',
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    },
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }).then(({ status, data }) => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (status === 200) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        const result = JSON.parse(data.toString()).data;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (!result.ip) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            resolve();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            max--;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            start();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            resolve(result);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }).catch(() => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        start();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                };
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                start();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        resolve();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                }).catch(error => {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    reject(error);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             });
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
 
			 |