From d383e6a800c63bff06c1dfc8773ee7b3596a01b9 Mon Sep 17 00:00:00 2001 From: Penley Date: Fri, 29 Jan 2021 21:56:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=91=E5=87=BD=E6=95=B0js?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E8=8E=B7=E5=8F=96=E9=80=94=E5=BE=84=E7=9A=84?= =?UTF-8?q?=E7=8E=AF=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.js | 40 +++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/index.js b/index.js index 02ee6309..40d28368 100644 --- a/index.js +++ b/index.js @@ -1,24 +1,38 @@ //'use strict'; exports.main_handler = async (event, context, callback) => { try { + const { SCF_SOURCE_TYPE, SCF_SOURCE_URL } = process.env //如果想在一个定时触发器里面执行多个js文件需要在定时触发器的【附加信息】里面填写对应的名称,用 & 链接 //例如我想一个定时触发器里执行jd_speed.js和jd_bean_change.js,在定时触发器的【附加信息】里面就填写 jd_speed&jd_bean_change for (const v of event["Message"].split("&")) { console.log(v); var request = require('request'); - //1.执行自己上传的js文件 - //delete require.cache[require.resolve('./'+v+'.js')]; - //require('./'+v+'.js') - - //2.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 - //request('https://gitee.com/lxk0301/jd_scripts/raw/master/'+v+'.js', function (error, response, body) { - // eval(response.body) - //}) - - //3.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数不推荐) - request('https://gitee.com/lxk0301/jd_scripts/raw/master/' + v + '.js', function (error, response, body) { - eval(response.body) - }) + switch (SCF_SOURCE_TYPE) { + case 'local': + //1.执行自己上传的js文件 + delete require.cache[require.resolve('./'+v+'.js')]; + require('./'+v+'.js') + break; + case 'git': + //2.执行github远端的js文件(因github的raw类型的文件被墙,此方法云函数不推荐) + request(`https://raw.githubusercontent.com/LXK9301/jd_scripts/master/${v}.js`, function (error, response, body) { + eval(response.body) + }) + break; + case 'custom': + //3.执行自定义远端js文件网址 + if (!SCF_SOURCE_URL) return console.log('自定义模式需要设置SCF_SOURCE_URL变量') + request(`${SCF_SOURCE_URL}${v}.js`, function (error, response, body) { + eval(response.body) + }) + break; + default: + //4.执行国内gitee远端js文件如果部署,在国内节点,选择1或2的方式 + request(`https://gitee.com/lxk0301/jd_scripts/raw/master/${v}.js`, function (error, response, body) { + eval(response.body) + }) + break; + } } } catch (e) { console.error(e)