/** * Created by MyPC on 2019/11/5. */ var models=require('../models'); var moment = require('moment'); const hash=require('../class/hash'); //http://qa.smartcost.com.cn:2060/cld //"https://yhuat.smartcost.com.cn/cld"; //var curingUrl ="https://yhuat.smartcost.com.cn/cld"; //'https://yhyun.smartcost.com.cn/cld'; var curingUrl ="http://qa.smartcost.com.cn:2060/cld"; var buildUrl = 'https://yun.smartcost.com.cn/cld'; var cloudService={ /** * 获得养护列表 * paramsCompilation 传参包含 * -compilation 已升级编办 * -latestCompilation 最近使用编办 */ getCuringList: async function(paramsCompilation,page=1){ //获得远程养护用户 //分页数据 var limit=12; var offset=0; if(page!=1){ var pg=page-1; offset=pg*limit; } var compilation=''; var latestCompilation=''; if(hash.isExistence(paramsCompilation)){ if(hash.isExistence(paramsCompilation.compilation)){ compilation=paramsCompilation.compilation; } if(hash.isExistence(paramsCompilation.latestCompilation)){ latestCompilation=paramsCompilation.latestCompilation; } } var url= curingUrl+'/getUserList'+ '?page='+page+'&pageSize='+limit+'&latestUsed='+latestCompilation+'&upGrade='+compilation; /* 接口请求获得的信息 * userInfo * pageData * compilationlist */ var curingCloudData=await curlRequest(url); var curingCloudList=curingCloudData.userInfo; //组合数据以获得本地扩展数据 var mobile=[]; curingCloudList.forEach(function(v,i){ mobile.push(v.mobile); }); if(!hash.isExistence(mobile)){ return {curingList:[],pageData:[]}; } //获得指定数据 var curingList = await models.cloud_curing.getCuringInMobile(mobile); //组合同步云版数据 var falg=false; curingCloudList.forEach(async function(cclValue,cclKey){ curingCloudList[cclKey].client_id=0 falg=true; for(var i=0;i { data= response.body.data; }).catch(error => { console.log('GET调用接口超时'); }); return data; } var postRequest= async function(url,data){ //var fs = require('fs'); var got = require('got'); var qs = require('querystring'); var keysList=Object.keys(data); var content = qs.stringify(data); result= await got.post(url, { body: content, timeout:300, headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' } }).catch(error => { console.log('POST调用接口超时'); }); return result.body; //var FormData = require('form-data'); //var form = new FormData(); /* keysList.forEach(function(v,i){ console.log(v); form.append(v, data[v]); });*/ //form.append('ssoId', data.ssoId); //form.append('cid', data.cid); //console.log(form); //console.log(keysList); //form.append('my_file', fs.createReadStream('/foo/bar.jpg')); //?longle=12 //url='http://cld.com/longle/list/add'; //var content = qs.stringify({'longle':125}); //console.log(data); } var modelsQuery= async function(sql){ var data=[]; await models.sequelize.query(sql).spread((results, metadata) => { // 结果将是一个空数组,元数据将包含受影响的行数。 data=results; }); return data; } /** * 分页相关数据计算 * modelsTable 数据表对象 * parameter 设置传的参数 */ var getPage= async function(modelsTable,where,currentPage,pageSize,parameter,totalCount){ if(!hash.isExistence(totalCount)){ if(hash.isExistence(where)){ totalCount=await modelsTable.count({where}); }else{ totalCount=await modelsTable.count(); } } currentPage=parseInt(currentPage); var total =0; if(totalCount!=0){ total = Math.trunc ( totalCount / pageSize ); } var totalPage = (totalCount % pageSize) == 0 ? total : total + 1; var pageMax=1; var pageWidth=15; //开始页数 var startPage=1; if (currentPage >= pageWidth) { pageMax = parseInt ( currentPage / pageWidth ) + 1; startPage = parseInt ( currentPage / pageWidth ) * pageWidth - 1; } //结束页数 var endPage=pageWidth * pageMax; if(endPage>totalPage){ endPage=totalPage; } var page={ 'currentPage':currentPage, //当前页 'previousPage':currentPage!=0?currentPage-1:currentPage, //上一页 'nextPage': currentPage==totalPage ? totalPage:currentPage+1, 'totalPage':totalPage, 'startPage':startPage, 'endPage':endPage, 'pageWidth':pageWidth, 'parameter':encodeURI(parameter) }; return page; }