How to use openService method in devicefarmer-stf

Best JavaScript code snippet using devicefarmer-stf

app.js

Source:app.js Github

copy

Full Screen

1var express = require('express');2var path = require('path');3var favicon = require('serve-favicon');4var logger = require('morgan');5var cookieParser = require('cookie-parser');6var bodyParser = require('body-parser');7const axios = require('axios');8var request = require('superagent');9var index = require('./routes/index');10var users = require('./routes/users');11var home = require('./routes/home');12var reactspa = require('./routes/spa');13var cheerio = require('cheerio');14var rlencode = require('urlencode');15var app = express();16// view engine setup17app.set('views', path.join(__dirname, 'views'));18app.set('view engine', 'ejs');19// app.use(express.static(path.join(__dirname, 'public'),{20// maxAge:021// }));22// uncomment after placing your favicon in /public23//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));24app.use(logger('dev'));25app.use(bodyParser.json());26app.use(bodyParser.urlencoded({27 extended: false28}));29app.use(cookieParser());30app.use(express.static(path.join(__dirname, 'public/Portfolio-page'), {31 maxAge: 86400032}));33// app.all("*", (req, res, next) => { 34// let host = req.headers.host;35// host = host.replace(/\:\d+$/, ''); // Remove port number36// res.redirect(307, `https://${host}${req.path}`);37// });38app.use('/', index);39// app.use(express.static(path.join(__dirname, 'public/home'),{40// maxAge:86400041// }));42// app.use('/home', home);43// app.use(express.static(path.join(__dirname, 'public'),{44// maxAge:86400045// }));46// app.use('/reactspa',reactspa);47// app.get('/drrr',(req,res)=>{48// res.sendFile(__dirname+'/public/client/index.html')49// })50app.get('/allbuslist/services/api/monitor/monitorStatus', (req, res, next) => {51 let arr = {52 resultCode:0,53 WIState:'ok',54 clientIP:'127.0.0.1'55 }56 console.log(arr)57 res.json(arr);58});59//天气接口60app.get('/weather/:city', (req, res, next) => {61 let city = req.params.city;62 let arr63 axios.get('http://api.jisuapi.com/weather/query?appkey=adfb0e1348ec0adf', {64 params: {65 city: city66 }67 })68 .then(json => {69 arr = json.data70 }).then(() => {71 res.json(arr)72 })73 .catch(err => console.log(err))74});75//获取全部公交列表76app.get('/allbuslist', (req, res, next) => {77 let url = 'https://shanghaicity.openservice.kankanews.com/public/bus';78 axios.get(url).then(json => {79 let d = json.data;80 let $ = cheerio.load(d);81 // console.log(d)82 let list83 $('script').each(function (i, e) {84 // console.log($(this).html())85 if ($(this).html().indexOf('119') > -1) {86 let d = ($(this).html().split('[')[1].split(']')[0]);87 // console.log(eval('('+('['+d+']')+')'))88 // let t = $(this).html().replace(/[\r\n]/g,'').match(/data.*/g)[0].split('=')[1].replace(/\s/g,'');89 // console.log(t)90 list = eval('(' + ('[' + d + ']') + ')') //(t.split('[')[1].split(']')[0]).replace(/\'/g,'').split(',')91 // return;92 }93 })94 //console.log(list,1)95 return list96 }).then((list) => {97 // let fdata = JSON.parse(JSON.stringify(list));98 if (list) {99 res.send({100 allLines: list101 })102 } else {103 res.sendStatus(500)104 }105 }).catch(err => {106 res.sendStatus(500);107 console.log(err)108 })109})110var bba = { 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',111 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',112 'Host': 'shanghaicity.openservice.kankanews.com',113 // Origin:'https://shanghaicity.openservice.kankanews.com',114 'Referer': 'https://shanghaicity.openservice.kankanews.com/public/bus',115 'Upgrade-Insecure-Requests': '1'116};117// var ba = let ba = {118// Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',119// 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',120// 'Host': 'shanghaicity.openservice.kankanews.com',121// Referer: 'https://shanghaicity.openservice.kankanews.com/public/bus',122// 'Upgrade-Insecure-Requests': 1123// }124//公交站点125app.get('/busstop/:sid', (req, res, next) => {126 let sid = req.params.sid;127 // console.log(sid,1)128 let data = {}129 let url = `https://shanghaicity.openservice.kankanews.com/public/bus/mes/sid/${sid}`130// let bba = { 'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',131// 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',132// 'Host': 'shanghaicity.openservice.kankanews.com',133// // Origin:'https://shanghaicity.openservice.kankanews.com',134// 'Referer': 'https://shanghaicity.openservice.kankanews.com/public/bus',135// 'Upgrade-Insecure-Requests': '1'136// }137 request.get(url).set(bba).then((jsonR) => {138// axios.get(url, {139 // url:url,140 // responseType:'text',141// headers: { Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',142// 'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4',143// 'Host': 'shanghaicity.openservice.kankanews.com'144// }145// })146// .then(json => {147// console.log(jsonR)148 let arr = jsonR.text149 let $ = cheerio.load(arr);150 let start_stop = $('.upgoing p span').first().text().trim();151// console.log(start_stop)152// if (!start_stop) {153// res.sendStatus(500)154// return start_stop155// }156 let end_stop = $('.upgoing p span').eq(1).text().trim();157 // console.log(end_stop,123)158 let start_earlytime = $('.upgoing .time .s').first().text().trim();159 let start_latetime = $('.upgoing .time .m').first().text().trim();160 let end_earlytime = $('.upgoing .time .s').eq(1).text().trim();161 let end_latetime = $('.upgoing .time .m').eq(1).text().trim();162 let busLine = {163 start_stop,164 end_stop,165 start_earlytime,166 start_latetime,167 end_earlytime,168 end_latetime169 };170 let stops = []171 $('div .station .name').each(function (i, e) {172 stops[i] = {173 zdmc: $(this).text().trim(),174 id: 'chou' + i175 }176 })177 let lineResults0 = {178 direction: true,179 stops180 };181 data = {182 busLine,183 lineResults0184 };185 let u1 = `https://shanghaicity.openservice.kankanews.com/public/bus/mes/sid/${sid}?stoptype=1`186// let ba = {187// Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',188// 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',189// 'Host': 'shanghaicity.openservice.kankanews.com',190// Referer: 'https://shanghaicity.openservice.kankanews.com/public/bus',191// 'Upgrade-Insecure-Requests': 1192// }193 request.get(u1).set(bba).end((err,resd) => {194// console.log(resd)195 let $ = cheerio.load(resd.text);196 let stops = []197 $('div .station .name').each(function (i, e) {198 stops[i] = {199 zdmc: $(this).text().trim(),200 id: 'chou' + i201 }202 })203 let lineResults1 = {204 direction: false,205 stops206 };207 data = { ...data,208 lineResults1209 };210 let fdata = JSON.parse(JSON.stringify(data));211 if (!fdata) {212 res.sendStatus(500);213 return214 }215 res.json(fdata)216 })217// .then(() => {218 // if(!start_stop){219 // res.send(500)220 // return221 // }222// let u1 = `https://shanghaicity.openservice.kankanews.com/public/bus/mes/sid/${sid}?stoptype=1`223// let ba = {224// Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',225// 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',226// 'Host': 'shanghaicity.openservice.kankanews.com',227// 'Upgrade-Insecure-Requests': 1228// }229// request.get(u1).set(ba).end((err,resd) => {230// console.log(resd)231// let $ = cheerio.load(resd.data);232// let stops = []233// $('div .station .name').each(function (i, e) {234// 235// stops[i] = {236// zdmc: $(this).text().trim(),237// id: 'chou' + i238// }239// })240// let lineResults1 = {241// direction: false,242// stops243// };244// data = { ...data,245// lineResults1246// };247// let fdata = JSON.parse(JSON.stringify(data));248// if (!fdata) {249// res.sendStatus(500);250// return251// }252// res.json(fdata)253// })254// .then(() => {255// // console.log(data)256// let fdata = JSON.parse(JSON.stringify(data));257// if (!fdata) {258// res.sendStatus(500);259// return260// }261// res.json(fdata)262// })263// .catch(err => {264// res.sendStatus(500);265// console.log(err)266// })267// axios.get(u1, {268// Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',269// 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',270// 'Host': 'shanghaicity.openservice.kankanews.com',271// 'Upgrade-Insecure-Requests': 1272// })273// .then(resd => {274// let $ = cheerio.load(resd.data);275// let stops = []276// $('div .station .name').each(function (i, e) {277// stops[i] = {278// zdmc: $(this).text().trim(),279// id: 'chou' + i280// }281// })282// let lineResults1 = {283// direction: false,284// stops285// };286// data = { ...data,287// lineResults1288// };289// }).then(() => {290// // console.log(data)291// let fdata = JSON.parse(JSON.stringify(data));292// if (!fdata) {293// res.sendStatus(500);294// return295// }296// res.json(fdata)297// }).catch(err => {298// res.sendStatus(500);299// console.log(err)300// })301 })302 .catch(err => {303 res.sendStatus(500);304 console.log(err)305 })306});307//公交名查询id308var base1 = {309 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',310 'Accept-Encoding': 'gzip, deflate, br',311 'Accept-Language': 'zh-CN,zh;q=0.9',312 'Cache-Control':'no-cache',313// 'Connection': 'keep-alive',314// 'Content-Length': 42,315 ':authority': 'shanghaicity.openservice.kankanews.com',316 ':method': 'GET',317':path': '/public/bus',318':scheme': 'https',319 'sec-fetch-dest': 'document',320'sec-fetch-mode': 'navigate',321'sec-fetch-site': 'none',322'sec-fetch-user': '?1',323 'upgrade-insecure-requests': '1',324 // 'Host': 'shanghaicity.openservice.kankanews.com',325 // Origin: 'https://shanghaicity.openservice.kankanews.com',326 //'Referer': 'https://shanghaicity.openservice.kankanews.com/public/bus',327 // Pragma:'no-cache',328 // Host:'shanghaicity.openservice.kankanews.com',329 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F89 MicroMessenger/6.5.10 NetType/WIFI Language/zh_CN',330// 'X-Requested-With': 'XMLHttpRequest'331 }332app.get('/busname/:name', (req, res, next) => {333 var name = req.params.name;//.split('%').length===1?req.params.name.split('%')[0]:req.params.name.split('%')[0]+'路';334// let name = rlencode.parse(‘idnum:’+req.params.name, {charset: 'utf-8'});335// var aname = rlencode(name, 'utf-8');336 console.log(name);337// console.log(rlencode(name, 'utf8'));338// console.log( rlencode.decode(aname, 'utf-8')); 339// let base1 = {340// // 'Accept': '*/*',341// // 'Accept-Encoding': 'gzip, deflate, br',342// // 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',343// // 'Cache-Control':'no-cache',344// // 'Connection': 'keep-alive',345// // 'Content-Length': 42,346// // 'Host': 'shanghaicity.openservice.kankanews.com',347// // Origin: 'https://shanghaicity.openservice.kankanews.com',348// // 'Referer': 'https://shanghaicity.openservice.kankanews.com/public/bus',349// // Pragma:'no-cache',350// // Host:'shanghaicity.openservice.kankanews.com',351// 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F89 MicroMessenger/6.5.10 NetType/WIFI Language/zh_CN',352// // 'X-Requested-With': 'XMLHttpRequest'353// }354// .type("form")355 request.get('https://shanghaicity.openservice.kankanews.com/public/bus')356 .set(base1)357 .end((err, response) => {358 console.log(response,123)359 if (err) {360 res.sendStatus(500);361 return next(err);362 }363 // let c1 = response.headers['set-cookie'].join(',').match(/(acw_tc=.+?);/)[1];364 console.log(response.headers['set-cookie'],999)365 let c2 = response.headers['set-cookie'].join(',');366 // console.log(c2);367 request.post('https://shanghaicity.openservice.kankanews.com/public/bus/get')368 .set(base1)369 .set('Cookie', c2)370 .type("form")371 .send({ idnum:name})372 .then((resp) => {373 // console.log(resp)374// if (err) {375// res.sendStatus(500);376// return next(err);377// }378// console.log(resp)379// arr = resp.data;380 if (!resp.text) {381 res.sendStatus(500);382 return383 }384 385 res.json(JSON.parse(resp.text))386 }).catch(err=>{console.log(err)})387 })388// request.post('https://shanghaicity.openservice.kankanews.com/public/bus/get').set(base1).type('form').send({ idnum:name}).then((resp) => {389// console.log(resp)390// // if (err) {391// // res.sendStatus(500);392// // return next(err);393// // }394// // console.log(resp)395// // arr = resp.data;396// if (!resp.text) {397// res.sendStatus(500);398// return399// }400 401// res.json(JSON.parse(resp.text))402// }).catch(err=>{console.log(err)})403})404 var baseH = {405 Accept: '*/*',406 'Accept-Encoding': 'gzip, deflate',407 'Accept-Language': 'zh-CN,zh;q=0.9',408 Connection: 'keep-alive',409 'Content-Length': 57,410 Host: 'shanghaicity.openservice.kankanews.com',411 Origin: 'https://shanghaicity.openservice.kankanews.com',412 Referer: 'https://shanghaicity.openservice.kankanews.com/',413 'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4',414 'X-Requested-With': 'XMLHttpRequest'415 }416 var baseH1 = {417 Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',418 'Accept-Encoding': 'gzip, deflate',419 'Accept-Language': 'zh-CN,zh;q=0.9',420 Connection: 'keep-alive',421 Referer: 'https://shanghaicity.openservice.kankanews.com/',422 Host: 'shanghaicity.openservice.kankanews.com',423 'Upgrade-Insecure-Requests': 1,424 'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4'425 }426 //获取垃圾分类427// var garbageBase = {428// Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',429// 'Accept-Encoding': 'gzip, deflate',430// 'Accept-Language': 'zh-CN,zh;q=0.9',431// Host:'weixin.sh-service.com',432// Referer: 'http://weixin.sh-service.com/sites/feiguan/trashTypes_2/TrashQuery.aspx',433// 'Upgrade-Insecure-Requests': 1,434// 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'435// }436app.get('/searchGarbage/:search',(req,res,next)=>{437 438 let search = req.params.search;439 var str =encodeURI(search);440// console.log(str)441 let url = 'http://trash.lhsr.cn/sites/feiguan/trashTypes_3/TrashQuery.aspx'442 let url1 = 'http://trash.lhsr.cn/sites/feiguan/trashTypes_3/TrashQuery.aspx?kw='+str443// console.log(url1)444// var garbageBase1 = {445// Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',446// 'Accept-Encoding': 'gzip, deflate',447// 'Accept-Language': 'zh-CN,zh;q=0.9',448// Host:'weixin.sh-service.com',449// Referer:url1,450// 'Upgrade-Insecure-Requests': 1,451// 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'452// }453 request.get(url).end((error,respo)=>{454 let c1 = respo.headers['set-cookie'].join(',').match(/(ASP.NET_SessionId=.+?);/)[1];455 request.get(url1).set('Cookie', c1).end((err,resp)=>{456 let arr = resp.text457 let $ = cheerio.load(arr);458 console.log(arr)459 let listaa460 $('script').each(function (i, e) {461 // console.log($(this).html())462 if ($(this).html().indexOf(req.params.search) > -1) {463 let d = ($(this).html().split('(')[1].split(')')[0]);464 // console.log(eval('('+('['+d+']')+')'))465 // let t = $(this).html().replace(/[\r\n]/g,'').match(/data.*/g)[0].split('=')[1].replace(/\s/g,'');466 console.log(d)467 listaa = eval('(' + ('[' + d + ']') + ')') //(t.split('[')[1].split(']')[0]).replace(/\'/g,'').split(',')468 // return;469 }470 })471 console.log(listaa)472 let title = listaa[1];//$('#rm_typekey').eq(0).text().trim();473 let content = listaa[6]//$('#rm_note_1').eq(0).text().trim();474 let desc = listaa[6]//$('#rm_note_1').eq(0).text().trim();475// let li = $('.kp2 ul li').join(',').text().trim();476 let li =[]477 $('.kp2 ul li').each(function(i, elem){478 li[i]= $(this).text();});479let list = li.join(', ');480// console.log(title,content,desc,list)481 if (err) {482 res.sendStatus(500);483 return next(err);484 }485 let d = {486 title,content,desc,list487 }488 let fdata = JSON.parse(JSON.stringify(d));489 if (!fdata) {490 res.sendStatus(500);491 return492 }493 res.json(fdata)494 })495 496 })497 })498//公交接口查询实时499app.get('/bus/:sid/:direction/:stopId', (req, res, next) => {500 let sid = req.params.sid;501 let direction = req.params.direction;502 let stopId = req.params.stopId;503 let arr;504 let para = {505 stoptype: direction,506 stopid: stopId,507 sid: sid508 }509 let ref = `https://shanghaicity.openservice.kankanews.com/public/bus/mes/sid/${sid}`510// let baseH = {511// Accept: '*/*',512// 'Accept-Encoding': 'gzip, deflate',513// 'Accept-Language': 'zh-CN,zh;q=0.9',514// Connection: 'keep-alive',515// 'Content-Length': 57,516// Host: 'shanghaicity.openservice.kankanews.com',517// Origin: 'https://shanghaicity.openservice.kankanews.com',518// Referer: ref,519// 'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4',520// 'X-Requested-With': 'XMLHttpRequest'521// }522// let base1 = {523// Accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',524// 'Accept-Encoding': 'gzip, deflate',525// 'Accept-Language': 'zh-CN,zh;q=0.9',526// Connection: 'keep-alive',527// Referer: 'https://shanghaicity.openservice.kankanews.com/',528// Host: 'shanghaicity.openservice.kankanews.com',529// 'Upgrade-Insecure-Requests': 1,530// 'User-Agent': 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4'531// }532 request.get('https://shanghaicity.openservice.kankanews.com/public/bus')533 .set(baseH1)534 .end((err, response) => {535 if (err) {536 res.sendStatus(500);537 return next(err);538 }539 let c1 = response.headers['set-cookie'].join(',')//.match(/(acw_tc=.+?);/)[1];540 // console.log(c1);541 request.post('https://shanghaicity.openservice.kankanews.com/public/bus/Getstop')542 .set(baseH)543 .set('Cookie', c1)544 .type("form")545 .send(para)546 .end((err, json) => {547 // 处理数据548 // console.log(json)549 if (err) {550 res.sendStatus(500);551 return next(err);552 }553 arr = JSON.parse(json.text);554 if (!arr) {555 res.sendStatus(500);556 return557 }558 res.json(arr)559 })560 })561 // let base1 = {562 // Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',563 // 'Accept-Encoding':'gzip, deflate',564 // 'Accept-Language':'zh-CN,zh;q=0.9',565 // Connection:'keep-alive',566 // Referer:'http://shanghaicity.openservice.kankanews.com/',567 // Host:'shanghaicity.openservice.kankanews.com',568 // 'Upgrade-Insecure-Requests':1,569 // 'User-Agent':'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4'570 // }571 // let base2 = {572 // Accept:'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',573 // 'Accept-Encoding':'gzip, deflate',574 // 'Accept-Language':'zh-CN,zh;q=0.9',575 // 'Cache-Control':'max-age=0',576 // Connection:'keep-alive',577 // Host:'shanghaicity.openservice.kankanews.com',578 // 'Upgrade-Insecure-Requests':1,579 // 'User-Agent':'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_5; de-de) AppleWebKit/534.15+ (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4'580 // }581 // let c1,c2,c3,c4,c5;582 // request.get('https://hm.baidu.com/hm.gif?cc=0&ck=1&cl=24-bit&ds=375x667&vl=667&et=0&ja=0&ln=zh-cn&lo=0&lt=1524620683&rnd=719889793&si=6f69830ae7173059e935b61372431b35&v=1.2.30&lv=3&ct=!!&tt=%E4%B8%8A%E6%B5%B7%E5%8F%91%E5%B8%83-%E5%B8%82%E6%94%BF%E5%A4%A7%E5%8E%85&sn=34872')583 // .end((err,hr)=>{584 // if (err) {585 // return next(err);586 // }587 // c1 = hr.headers['set-cookie'].join(',').match(/(HMACCOUNT=.+?);/)[1];588 // //console.log(hr);589 // //console.log(c1);590 // request.get('http://shanghaicity.openservice.kankanews.com')591 // .set(base2)592 // .end((err,hrr)=>{593 // if (err) {594 // return next(err);595 // }596 // //console.log(hrr.headers['set-cookie'])597 // c2 = hrr.headers['set-cookie'].join(',').match(/(Hm_1vt_6f69830ae7173059e935b61372431b35=.+?);/)[1];598 // c4 = 'Hm_lvt_6f69830ae7173059e935b61372431b35=1524617432,1524617445,1524619410,1524620683';599 // c5 = 'Hm_lpvt_6f69830ae7173059e935b61372431b35='+new Date().valueOf();600 // //console.log(c2);601 // c3 = c1+'; '+c2+ '; _gat=1';602 // //console.log(c3);603 // request.get('http://shanghaicity.openservice.kankanews.com/public/bus')604 // .set(base1)605 // .set('Cookie',c3)606 // .end((err,response)=>{607 // if (err) {608 // return next(err);609 // }610 // let cook = response.headers['set-cookie'].join(',');611 // let cookie1 = cook.match(/(HA=.+?);/)[1];612 // let cookie2 =cook.match(/(HA=.+?);/)[1];613 // let cookie3 =cook.match(/(HB=.+?);/)[1];614 // let cookie4 =cook.match(/(HC=.+?);/)[1];615 // let cookie5 =cook.match(/(HD=.+?);/)[1];616 // let cookie6 =cook.match(/(HG=.+?);/)[1];617 // let cookie7 =cook.match(/(HH=.+?);/)[1];618 // let cookie8 =cook.match(/(HK=.+?);/)[1];619 // let cookie9 =cook.match(/(HO=.+?);/)[1];620 // let cookie10 =cook.match(/(HY=.+?);/)[1];621 // let cookie14 =cook.match(/(Hm_p1vt_6f69830ae7173059e935b61372431b35=.+?);/)[1];622 // let fin = [cookie1,cookie2,cookie3,cookie4,cookie5,cookie6,cookie7,cookie8,cookie9,cookie10,c2,c4,c5,cookie14]623 // let finC = fin.join('; ');624 // request.post('http://shanghaicity.openservice.kankanews.com/public/bus/Getstop')625 // .set(baseH)626 // .set('Cookie',finC)627 // .type("form")628 // .send(para)629 // .end((err,json) => {630 // // 处理数据631 // // console.log(json)632 // if (err) {633 // return next(err);634 // }635 // arr = JSON.parse(json.text);636 // res.json(arr)637 // })638 // })639 // }) 640 // })641});642//电影详细643app.get('/movie/subject/:id', (req, res, next) => {644 let id = req.params.id;645 let arr646 // console.log(type)647 axios.get(`https://douban.uieee.com/v2/movie/subject/${id}`)648 .then(json => {649 // console.log(json)650 arr = json.data651 }).then(() => {652 res.json(arr)653 })654 .catch(err => console.log(err))655});656//电影657app.get('/movie/:type', (req, res, next) => {658 let type = req.params.type;659 let start = req.query.start;660 let count = req.query.count;661 let city = req.query.city;662 let arr663 // console.log(type)664 axios.get(`https://douban.uieee.com/v2/movie/${type}`, {665 params: {666 start: start,667 count: count,668 city: city669 }670 })671 .then(json => {672 // console.log(json)673 arr = json.data674 }).then(() => {675 res.json(arr)676 })677 .catch(err => console.log(err))678});679//星座运势680app.get('/astro/fortune/:astroid', (req, res, next) => {681 let astroid = req.params.astroid;682 let arr683 axios.get('http://api.jisuapi.com/astro/fortune?appkey=adfb0e1348ec0adf', {684 params: {685 astroid: astroid686 }687 })688 .then(json => {689 arr = json.data690 }).then(() => {691 res.json(arr)692 })693 .catch(err => console.log(err))694});695// catch 404 and forward to error handler696app.use(function (req, res, next) {697 var err = new Error('Not Found');698 err.status = 404;699 next(err);700});701// error handler702app.use(function (err, req, res, next) {703 // set locals, only providing error in development704 res.locals.message = err.message;705 res.locals.error = req.app.get('env') === 'development' ? err : {};706 // render the error page707 res.status(err.status || 500);708 res.render('error');709});...

Full Screen

Full Screen

OpenService.js

Source:OpenService.js Github

copy

Full Screen

1openService= {2 openServiceAPIURL: "http://123.57.32.46:8080/openServiceAPI?",3 scriptURL: "http://123.57.32.46:8080/plugins/",4 authedServices:[],5 unauthedServices:[],6 pluginNum:0,7 afterInit: function(){8 $.get(openService.openServiceAPIURL, {9 action : 'services',10 userid : userid11 }, function(data) {12 var toolbar = $('#toolbar');13 toolbar.append($("<div/>").attr("id", "ToolsMenu"));14 var sevlist =$.parseJSON(data);15 openService.authedServices = sevlist;16 dialog.delPlugin.flushTable();17 for (i in openService.authedServices) {18 var serviceName = openService.authedServices[i].serviceName;19 var ownerName = openService.authedServices[i].ownerName;20 jQuery.getScript(openService.scriptURL+ownerName+"/"+serviceName+"/"+serviceName+".js")21 .done(function() { 22 openService.pluginNum++;23 if(openService.pluginNum== openService.authedServices.length){24 openService.initToolbarButton();25 }26 27 28 29 });30 31 }32 if(openService.authedServices.length==0)33 openService.initToolbarButton();34 35 36 37 });38 $.get(openService.openServiceAPIURL, {39 action : 'unauthedservices',40 userid : userid41 }, function(data) {42 openService.unauthedServices = $.parseJSON(data);43 dialog.addPlugin.flushTable();44 45 });46 47 48 49 },50 51 authSevIndex: function (sevname) {52 for (var i = 0; i < openService.authedServices.length; i++) {53 var sev = openService.authedServices[i];54 if (sev.serviceName == sevname) {55 return i;56 }57 }58 return openService.authedServices.length;59 },60 61 unauthSevIndex:function (sevname) {62 for (var i = 0; i < openService.unauthedServices.length; i++) {63 var sev = openService.unauthedServices[i];64 if (sev.serviceName == sevname) {65 return i;66 }67 }68 return openService.unauthedServices.length;69 },70 71 getClassesPath: function(){72 return "/data/workspace/javaweb/"+ownername+"/"+appname+"/target/classes/";73 },74 75 initWorkSpace: function(userName, serviceName){76 $.post(openService.openServiceAPIURL, {77 action: 'initWorkSpace',78 apptype: apptype,79 appowner: ownername,80 appname: appname,81 serviceowner: userName,82 servicename: serviceName83 }, function(data){84 85 86 });87 },88 89 initToolbarButton: function(){90 91 var ToolsMB= $("#ToolsMB");92 var ToolsMenu = $("#ToolsMenu");93 var findbugs = $("<div/>").attr("id", "findbugs").html("findbugs").bind('click', function(){94 95 var url = Global.url.findbugs;96 var param = {97 filepath: "/data/repo/javaweb/"+ownername+"/"+appname+"/target/classes/"98 99 };100 var success = function(data){101 consolePanel.append('info', 'FindBugs', data);102 103 };104 $.post(url, param, success);105 });106 var checkstyle = $("<div/>").attr("id", "checkstyle").html("checkstyle").bind('click', function(){107 108 var url = Global.url.checkstyle;109 var param = {110 filepath: "/data/repo/javaweb/"+ownername+"/"+appname+"/src/main/"111 112 };113 var success = function(data){114 consolePanel.append('info', 'Checkstyle', data);115 116 };117 $.post(url, param, success);118 });119 var addPlugin = $("<div/>").attr("id", "addPlugin").html("install plugin").bind('click',120 function(){121 122 //dialog.addPlugin.flushTable();123 $('#addPluginDialog').dialog("open");124 });125 var delPlugin= $("<div/>").attr("id", "delPlugin").html("uninstall plugin").bind('click',126 function(){127 $('#delPluginDialog').dialog("open");128 129 });130 ToolsMenu.append(findbugs,checkstyle,$("<div class='menu-sep'></div>"),addPlugin,delPlugin);131 ToolsMB.menubutton({132 menu: "#ToolsMenu"133 });134 135 },136 137 ...

Full Screen

Full Screen

open.ts

Source:open.ts Github

copy

Full Screen

1import { Router, Request, Response, NextFunction } from 'express';2import { Container } from 'typedi';3import OpenService from '../services/open';4import { Logger } from 'winston';5import { celebrate, Joi } from 'celebrate';6const route = Router();7export default (app: Router) => {8 app.use('/', route);9 route.get(10 '/apps',11 async (req: Request, res: Response, next: NextFunction) => {12 const logger: Logger = Container.get('logger');13 try {14 const openService = Container.get(OpenService);15 const data = await openService.list();16 return res.send({ code: 200, data });17 } catch (e) {18 return next(e);19 }20 },21 );22 route.post(23 '/apps',24 celebrate({25 body: Joi.object({26 name: Joi.string().optional().allow('').disallow('system'),27 scopes: Joi.array().items(Joi.string().required()),28 }),29 }),30 async (req: Request, res: Response, next: NextFunction) => {31 const logger: Logger = Container.get('logger');32 try {33 const openService = Container.get(OpenService);34 const data = await openService.create(req.body);35 return res.send({ code: 200, data });36 } catch (e) {37 return next(e);38 }39 },40 );41 route.put(42 '/apps',43 celebrate({44 body: Joi.object({45 name: Joi.string().optional().allow(''),46 scopes: Joi.array().items(Joi.string()),47 id: Joi.number().required(),48 }),49 }),50 async (req: Request, res: Response, next: NextFunction) => {51 const logger: Logger = Container.get('logger');52 try {53 const openService = Container.get(OpenService);54 const data = await openService.update(req.body);55 return res.send({ code: 200, data });56 } catch (e) {57 return next(e);58 }59 },60 );61 route.delete(62 '/apps',63 celebrate({64 body: Joi.array().items(Joi.number().required()),65 }),66 async (req: Request, res: Response, next: NextFunction) => {67 const logger: Logger = Container.get('logger');68 try {69 const openService = Container.get(OpenService);70 const data = await openService.remove(req.body);71 return res.send({ code: 200, data });72 } catch (e) {73 return next(e);74 }75 },76 );77 route.put(78 '/apps/:id/reset-secret',79 celebrate({80 params: Joi.object({81 id: Joi.number().required(),82 }),83 }),84 async (req: Request<{ id: number }>, res: Response, next: NextFunction) => {85 const logger: Logger = Container.get('logger');86 try {87 const openService = Container.get(OpenService);88 const data = await openService.resetSecret(req.params.id);89 return res.send({ code: 200, data });90 } catch (e) {91 return next(e);92 }93 },94 );95 route.get(96 '/auth/token',97 celebrate({98 query: {99 client_id: Joi.string().required(),100 client_secret: Joi.string().required(),101 },102 }),103 async (req: Request, res: Response, next: NextFunction) => {104 const logger: Logger = Container.get('logger');105 try {106 const openService = Container.get(OpenService);107 const result = await openService.authToken(req.query as any);108 return res.send(result);109 } catch (e) {110 return next(e);111 }112 },113 );...

Full Screen

Full Screen

Using AI Code Generation

copy

Full Screen

1var stf = require('devicefarmer-stf-client');2var client = new stf();3 if (err) {4 console.log('Error opening service: ' + err);5 } else {6 console.log('Service opened');7 }8});9var stf = require('devicefarmer-stf-client');10var client = new stf();11 if (err) {12 console.log('Error opening service: ' + err);13 } else {14 console.log('Service opened');15 client.getDevices(function (err, devices) {16 if (err) {17 console.log('Error getting devices: ' + err);18 } else {19 console.log(devices);20 }21 });22 }23});24[ { serial: '0123456789ABCDEF',25 network: { wifi: false, type: 'none' },26 battery: { present: false, level: null, scale: null, status: null, health: null, source: null, voltage: null, temperature: null, technology: null },27 display: { id: 0, width: 0, height: 0, xdpi: 0, ydpi: 0, fps: 0, density: 0, rotation: 0, secure: false, size: 0, url: null },28 phone: { id: 0, name: null, product: null, device: null, model: null, brand: null, manufacturer: null, board: null, bootloader: null, hardware: null, serial: null, abi: null, abi2

Full Screen

Using AI Code Generation

copy

Full Screen

1var service = require('devicefarmer-stf-service');2service.openService(function(err, result) {3 console.log('result', result);4});5var service = require('devicefarmer-stf-service');6service.closeService(function(err, result) {7 console.log('result', result);8});9var service = require('devicefarmer-stf-service');10service.restartService(function(err, result) {11 console.log('result', result);12});13var service = require('devicefarmer-stf-service');14service.getServiceStatus(function(err, result) {15 console.log('result', result);16});

Full Screen

Using AI Code Generation

copy

Full Screen

1var stfService = require('devicefarmer-stf-service');2service.getDevices(function (err, devices) {3 console.log("Devices: " + JSON.stringify(devices));4});5var stfService = require('devicefarmer-stf-service');6service.getDevices(function (err, devices) {7 console.log("Devices: " + JSON.stringify(devices));8});9var stfService = require('devicefarmer-stf-service');10service.getDevices(function (err, devices) {11 console.log("Devices: " + JSON.stringify(devices));12});13var stfService = require('devicefarmer-stf-service');14service.getDevices(function (err, devices) {15 console.log("Devices: " + JSON.stringify(devices));16});17var stfService = require('devicefarmer-stf-service');18service.getDevices(function (err, devices) {19 console.log("Devices: " + JSON.stringify(devices));20});21var stfService = require('devicefarmer-stf-service');22service.getDevices(function (err, devices) {23 console.log("Devices: " + JSON.stringify(devices));24});25var stfService = require('devicefarmer-st

Full Screen

Using AI Code Generation

copy

Full Screen

1var openService = require('devicefarmer-stf-client').openService;2var service = openService('wifi', function(err, service){3 if(err){4 console.log(err);5 }6 else{7 service.startService(function(err, status){8 if(err){9 console.log(err);10 }11 else{12 console.log(status);13 setTimeout(function(){14 service.stopService(function(err, status){15 if(err){16 console.log(err);17 }18 else{19 console.log(status);20 }21 });22 }, 5000);23 }24 });25 }26});27setTimeout(function(){28 service.stopService(function(err, status){29 if(err){30 console.log(err);31 }32 else{33 console.log(status);34 }35 });36}, 10000);37setTimeout(function(){38 service.stopService(function(err, status){39 if(err){40 console.log(err);41 }42 else{43 console.log(status);44 }45 });46}, 15000);47setTimeout(function(){48 service.stopService(function(err, status){49 if(err){50 console.log(err);51 }52 else{53 console.log(status);54 }55 });56}, 20000);57setTimeout(function(){58 service.stopService(function(err, status){59 if(err){60 console.log(err);61 }62 else{63 console.log(status);64 }65 });66}, 25000);67setTimeout(function(){68 service.stopService(function(err, status){69 if(err){70 console.log(err);71 }72 else{73 console.log(status);74 }75 });76}, 30000);77setTimeout(function(){78 service.stopService(function(err, status){79 if(err){80 console.log(err);81 }82 else{83 console.log(status);84 }85 });86}, 35000);

Full Screen

Using AI Code Generation

copy

Full Screen

1var client = require('devicefarmer-stf-client');2service.on('message', function(data) {3 console.log(data);4});5service.on('error', function(err) {6 console.log(err);7});8service.on('close', function() {9 console.log('Connection closed');10});

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run devicefarmer-stf automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful