前端vue导出PPT幻灯片,使用pptxgen.js,超详细(赋原数据)

即上一篇文章最终代码
前端vue导出PPT,使用pptxgen.js

前端vue导出PPT,使用pptxgen.js

一个平台下有10个国家,这个是后端返回数据固定的,每一个国家下面有10个物流方式,这10个物流方式是这10个国家都有的,也就是所有物流方式去重之后也只有10个物流方式,10个国家,物流方式method0到method9最多也为10个,但也可以不是10个,也就是method0到method9以内是不固定的,它跟methodTotalCount0数量是有联系的,methodTotalCount0也是0–9之内的范围

参数说明

buyerCountryName:对应国家
comparison:是否上涨下降
method0–method9:物流方式的名称
methodTotalCount0–methodTotalCount9:物流方式对应的数量
totalCount:每个国家的总数

ppt 前端导出ppt 导出ppt pptxgenjs Pptxgen

为了方便查看逻辑代码,我把原数据放下面,temp1 就是模拟接口的数据

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="utf-8"><title>前端vue导出PPT,使用pptxgen.js Demo</title>
</head>
<body><h1 style="text-align: center;">请打开F12控制台查看数据</h1><div id="chart-container"></div><!--加载整个Lodash库--><script src="https://cdn.bootcdn.net/ajax/libs/lodash.js/4.17.21/lodash.js"></script><script >// import _ from 'lodash'// temp1 就是模拟接口的数据const temp1 = {// 这里的数据在下面*******
}let salechannelArr = Object.keys(temp1).map(key1 => key1) // 获取平台的总数console.log('temp1', temp1)console.log('获取平台的总数', salechannelArr)this.salechannelSumArr = salechannelArrlet salechannelItemList = [] // 存放所有平台的数据let buyerCountryList = [] // 存放所有平台对应国家的数据let result = Object.keys(temp1).slice(0, 30)console.log('result', result)result.forEach(item => {// console.log('result[item]', item, temp1[item]) // item是平台  temp1[item] 是对应平台的数据temp1[item].forEach(item1 => {item1.aSalechannel = itemitem1.buyerCountryName1 = item1.buyerCountryNamebuyerCountryList.push({ salechannel: item, buyerCountryName: item1.buyerCountryName })salechannelItemList.push(item1)})})console.log('buyerCountryList', buyerCountryList)console.log('salechannelItemList', salechannelItemList)this.salechannelItemArr = salechannelItemListlet shippingmethodArr = []let CountryArr2 = []let exportAllSalechannelList = [] //// 合计let sumArr = []for (let i = 0; i < salechannelItemList.length; i++) { // 外层循环遍历每个国家的数据const buyerCountryName = salechannelItemList[i].buyerCountryNameconst aSalechannel = salechannelItemList[i].aSalechannelfor (let j = 0; salechannelItemList[i][`method${j}`] !== undefined; j++) { // 内层循环根据method的动态数目来获取对应的内容const methodName = salechannelItemList[i][`method${j}`]const methodTotalCount = salechannelItemList[i][`methodTotalCount${j}`]shippingmethodArr.push(methodName)CountryArr2.push(buyerCountryName)exportAllSalechannelList.push({ aSalechannel, methodName: methodName, buyerCountryName, methodTotalCount })// console.log(`${buyerCountryName} - ${methodName}: ${methodTotalCount}`)}const comparison = salechannelItemList[i].comparison // 上涨xx.xx%  下降xx.xx%const totalCount = salechannelItemList[i].totalCount // 总数sumArr.push({ aSalechannel, comparison: comparison, buyerCountryName, totalCount })console.log(`国家对应的数据 ${buyerCountryName}: ${comparison}总数: ${totalCount}`)}// 先把平台里对应的国家找出来,最后在循环平台对应国家的数据this.comparisonSumArr = sumArrconsole.log('exportAllSalechannelList', exportAllSalechannelList)console.log('comparisonSumArr-是否上涨', sumArr)let dataChartAreaLine = []dataChartAreaLine.push({ name: [], labels: [], values: [] })console.log('dataChartAreaLine-ppt数据', dataChartAreaLine)let methodNameArr1 = []let methodNameArr1Set = []sumArr.forEach((item1, idx1) => {exportAllSalechannelList.forEach((item2, idx2) => {if (item1.aSalechannel == item2.aSalechannel) {methodNameArr1.push(item2.methodName)// methodNameArr1.push({ aSalechannel: item2.aSalechannel, methodName: item2.methodName })}})})methodNameArr1Set = [...new Set(methodNameArr1)]console.log('methodNameArr1', methodNameArr1, '去重的物流方式', methodNameArr1Set)let methodNameArr2 = []methodNameArr1Set.forEach((item1, idx1) => {exportAllSalechannelList.forEach((item2, idx2) => {if (item1 == item2.methodName) {// methodNameArr2.push(item2.methodName)methodNameArr2.push({ aSalechannel: item2.aSalechannel, methodName: item2.methodName })}})})console.log('methodNameArr2', methodNameArr2)// 初始化 dataChartAreaLine// 获取唯一的 aSalechannel 列表const uniqueChannels = [...new Set(exportAllSalechannelList.map(item => item.aSalechannel))]console.log('uniqueChannels', uniqueChannels)let dataChartAreaLine3 = {}salechannelArr.forEach(channel => {const channelData = exportAllSalechannelList.filter(item => item.aSalechannel === channel)const uniqueMethods = [...new Set(channelData.map(item => item.methodName))]const uniqueCountries = [...new Set(channelData.map(item => item.buyerCountryName))]const channelChartData2 = uniqueMethods.map(method => ({labels: uniqueCountries.map(country => country),name: method,values: []}))console.log('channelData01', channel, channelData, 'uniqueMethods', uniqueMethods, 'uniqueCountries', uniqueCountries, 'channelChartData2', channelChartData2)// channelData aSalechannel: 'Amazon', methodName: '线下EUB深圳新', buyerCountryName: '美国', methodTotalCount:0let dataChartAreaLine2 = []uniqueMethods.forEach(method => {let chartData = {name: method,labels: uniqueCountries.map(country => country),values: []}chartData.labels.forEach(country => {let countryData = channelData.find(item => item.methodName === method && item.buyerCountryName === country)chartData.values.push(countryData ? countryData.methodTotalCount : 0)})dataChartAreaLine2.push(chartData)})console.log('dataChartAreaLine2', dataChartAreaLine2)dataChartAreaLine3[channel] = dataChartAreaLine2})// dataChartAreaLine3就是ppt最后的下载数据了,由于HTML中没有在线cdn的引用pptxgenjs,你需要通过node去下载安装console.log('最终传给ppt生成的数据', dataChartAreaLine3)// this.exportPPT(startDate, endDate)  这块你在项目中可以打开运行
// ****************************************需要通过node去下载安装调试,代码已经有现成的***********************************************************************************// import Pptxgen from 'pptxgenjs'// this.$cloneDeep是下载的lodashjs绑定到vue原型的,也可以不用function exportPPT(startDate='2023.12.4', endDate='2023.12.10') {// 1. 创建PPTconst pres = new Pptxgen()// 2. 创建一个PPT页面,每调用一次 pres.addSlide() 都可以生成一张新的页面// 建议把每个页面的构造抽成一个个函数,然后通过函数调用生成新页面,代码不会很乱// const slide = pres.addSlide()let slidesObj = {} // salechannelSumArr salechannelItemArr// console.log('salechannelSumArr-9', this.$cloneDeep(this.salechannelSumArr))// console.log('dataChartAreaLine3-9', this.$cloneDeep(this.dataChartAreaLine3))// console.log('comparisonSumArr-9', this.$cloneDeep(this.comparisonSumArr))this.salechannelSumArr.slice(0, 30).forEach((item, idx) => {slidesObj['slide' + idx + item] = pres.addSlide()slidesObj['slide' + idx + item].addText(item + '平台', {x: 0.4, // 横坐标y: 0.4,color: '363636',fontSize: 20, // 字号fill: { color: 'F1F1F1' },align: 'center'})// 2023-05-01至2023-11-01主要国家发货分布 startDate, endDateslidesObj['slide' + idx + item].addText(`${startDate}${endDate}主要国家发货发布`, {x: 0.5, // 横坐标y: 0.8,color: '363636',fontSize: 18, // 字号fill: { color: 'F1F1F1' },align: 'center'})// console.log('item-dataChartAreaLine3', ['slide' + idx + item])// console.log('item-dataChartAreaLine33', ['slide' + idx + item], this.dataChartAreaLine3[item])slidesObj['slide' + idx + item].addChart(pres.ChartType.bar, this.dataChartAreaLine3[item],{x: 0.6,y: 1,w: 9,h: 3.7,title: item + '平台' // 标题})let SalechannelTemp1 = '' // 每个平台对应国家,是否上涨的变量this.comparisonSumArr.forEach((item2, idx2) => {if (item === item2.aSalechannel && item2.comparison) { // 平台相同才是上涨SalechannelTemp1 += item2.buyerCountryName + item2.comparison + ','}})slidesObj['slide' + idx + item].addText(SalechannelTemp1, {x: 0.5, // 横坐标y: 5.2,w: 9,color: '363636',fontSize: 12, // 字号fill: { color: 'F1F1F1' },align: 'center'})// 画图表 this.dataChartAreaLine3 (temp1[Object.keys(temp1)[xIndex]])/* this.exportAllSalechannelList.forEach((item3, idx3) => {const dataChartAreaLine = [{name: '菜鸟-平邮',labels: ['美国', '英国', '德国', '法国', '意大利', '西班牙', '加拿大', '墨西哥', '巴西', '智利'],values: [1500, 4600, 5156, 3167, 8510, 8009, 6006, 7855, 12102, 12789]},{name: '菜鸟-挂号',labels: ['美国', '英国', '德国', '法国', '意大利', '西班牙', '加拿大', '墨西哥', '巴西', '智利'],values: [1000, 2600, 3456, 4567, 5010, 6009, 7006, 8855, 9102, 10789]},{name: '顺友-平邮',labels: ['美国', '英国', '德国', '法国', '意大利', '西班牙', '加拿大', '墨西哥', '巴西', '智利'],values: [2000, 4200, 5156, 3167, 6510, 8009, 6006, 5855, 10102, 11789]},{name: '顺友-挂号',labels: ['美国', '英国', '德国', '法国', '意大利', '西班牙', '加拿大', '墨西哥', '巴西', '智利'],values: [1300, 2100, 3456, 4567, 4010, 6009, 7006, 6855, 8102, 10789]},{name: '燕文-平邮',labels: ['美国', '英国', '德国', '法国', '意大利', '西班牙', '加拿大', '墨西哥', '巴西', '智利'],values: [2000, 4200, 5156, 3167, 6510, 8009, 6006, 5855, 10102, 11789]},{name: '燕文-挂号',labels: ['美国', '英国', '德国', '法国', '意大利', '西班牙', '加拿大', '墨西哥', '巴西', '智利'],values: [1300, 2100, 3456, 4567, 4010, 6009, 7006, 6855, 8102, 10789]}]slidesObj['slide' + idx + item].addChart(pres.ChartType.bar, dataChartAreaLine,{x: 0.6,y: 1.2,w: 8,h: 3.5,title: item + '平台' // 标题})}) */})// 4. 生成PPT, 括号中的fileName,就是生成的 PPT名字,可以使用 .then 或者 .catch处理对应事件。pres.writeFile({ fileName: `${startDate}${endDate}周报.pptx` }).then(() => {this.$Message.success({ content: '导出成功!', duration: 5, closable: true })})}</script>
</body>
</html>

原数据在这里

const temp1 = {"Lazada": [{"buyerCountryName": "菲律宾","totalCount": 11563,"method0": "LAZADA菲律宾","methodTotalCount0": 11563,"method1": "LAZADA泰国陆运","methodTotalCount1": 0,"method2": "lazada越南","methodTotalCount2": 0,"method3": "lazada马来","methodTotalCount3": 0,"method4": "LAZADA-SG3","methodTotalCount4": 0,"method5": "LAZADA印尼普","methodTotalCount5": 0,"method6": "LAZADA泰国","methodTotalCount6": 0,"method7": "LAZADA印尼敏","methodTotalCount7": 0,"methodSum": 8,"comparison": "上涨99.93%"},{"buyerCountryName": "泰国","totalCount": 11281,"method0": "LAZADA菲律宾","methodTotalCount0": 0,"method1": "LAZADA泰国陆运","methodTotalCount1": 11262,"method2": "lazada越南","methodTotalCount2": 0,"method3": "lazada马来","methodTotalCount3": 0,"method4": "LAZADA-SG3","methodTotalCount4": 0,"method5": "LAZADA印尼普","methodTotalCount5": 0,"method6": "LAZADA泰国","methodTotalCount6": 19,"method7": "LAZADA印尼敏","methodTotalCount7": 0,"methodSum": 8,"comparison": "上涨99.94%"},{"buyerCountryName": "越南","totalCount": 6550,"method0": "LAZADA菲律宾","methodTotalCount0": 0,"method1": "LAZADA泰国陆运","methodTotalCount1": 0,"method2": "lazada越南","methodTotalCount2": 6550,"method3": "lazada马来","methodTotalCount3": 0,"method4": "LAZADA-SG3","methodTotalCount4": 0,"method5": "LAZADA印尼普","methodTotalCount5": 0,"method6": "LAZADA泰国","methodTotalCount6": 0,"method7": "LAZADA印尼敏","methodTotalCount7": 0,"methodSum": 8,"comparison": "上涨99.92%"},{"buyerCountryName": "马来西亚","totalCount": 5621,"method0": "LAZADA菲律宾","methodTotalCount0": 0,"method1": "LAZADA泰国陆运","methodTotalCount1": 0,"method2": "lazada越南","methodTotalCount2": 0,"method3": "lazada马来","methodTotalCount3": 5621,"method4": "LAZADA-SG3","methodTotalCount4": 0,"method5": "LAZADA印尼普","methodTotalCount5": 0,"method6": "LAZADA泰国","methodTotalCount6": 0,"method7": "LAZADA印尼敏","methodTotalCount7": 0,"methodSum": 8,"comparison": "上涨99.95%"},{"buyerCountryName": "新加坡","totalCount": 4015,"method0": "LAZADA菲律宾","methodTotalCount0": 0,"method1": "LAZADA泰国陆运","methodTotalCount1": 0,"method2": "lazada越南","methodTotalCount2": 0,"method3": "lazada马来","methodTotalCount3": 0,"method4": "LAZADA-SG3","methodTotalCount4": 4015,"method5": "LAZADA印尼普","methodTotalCount5": 0,"method6": "LAZADA泰国","methodTotalCount6": 0,"method7": "LAZADA印尼敏","methodTotalCount7": 0,"methodSum": 8,"comparison": ""},{"buyerCountryName": "印度尼西亚","totalCount": 376,"method0": "LAZADA菲律宾","methodTotalCount0": 0,"method1": "LAZADA泰国陆运","methodTotalCount1": 0,"method2": "lazada越南","methodTotalCount2": 0,"method3": "lazada马来","methodTotalCount3": 0,"method4": "LAZADA-SG3","methodTotalCount4": 0,"method5": "LAZADA印尼普","methodTotalCount5": 375,"method6": "LAZADA泰国","methodTotalCount6": 0,"method7": "LAZADA印尼敏","methodTotalCount7": 1,"methodSum": 8,"comparison": ""}],"Amazon": [{"buyerCountryName": "墨西哥","totalCount": 1007,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 958,"method1": "顺邮宝挂号","methodTotalCount1": 23,"method2": "线下EUB深圳特货新","methodTotalCount2": 0,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 0,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "线下EUB深圳带电新","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 22,"methodSum": 10,"comparison": ""},{"buyerCountryName": "美国","totalCount": 549,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 38,"method2": "线下EUB深圳特货新","methodTotalCount2": 0,"method3": "递四方-联邮通美国专线","methodTotalCount3": 294,"method4": "线下EUB深圳新","methodTotalCount4": 0,"method5": "义达-美国经济挂号普货","methodTotalCount5": 212,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "线下EUB深圳带电新","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": "上涨64.3%"},{"buyerCountryName": "日本","totalCount": 444,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 108,"method2": "线下EUB深圳特货新","methodTotalCount2": 232,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 33,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "线下EUB深圳带电新","methodTotalCount7": 17,"method8": "义达-日本普货专线","methodTotalCount8": 50,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": ""},{"buyerCountryName": "西班牙","totalCount": 250,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 54,"method2": "线下EUB深圳特货新","methodTotalCount2": 51,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 92,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "线下EUB深圳带电新","methodTotalCount7": 53,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": "上涨98.8%"},{"buyerCountryName": "法国","totalCount": 173,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 10,"method2": "线下EUB深圳特货新","methodTotalCount2": 4,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 24,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 132,"method7": "线下EUB深圳带电新","methodTotalCount7": 1,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": "上涨97.69%"},{"buyerCountryName": "德国","totalCount": 102,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 59,"method2": "线下EUB深圳特货新","methodTotalCount2": 3,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 27,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 2,"method7": "线下EUB深圳带电新","methodTotalCount7": 4,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": "上涨96.08%"},{"buyerCountryName": "英国","totalCount": 100,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 100,"method2": "线下EUB深圳特货新","methodTotalCount2": 0,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 0,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "线下EUB深圳带电新","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": "上涨94.0%"},{"buyerCountryName": "加拿大","totalCount": 81,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 74,"method2": "线下EUB深圳特货新","methodTotalCount2": 2,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 1,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "线下EUB深圳带电新","methodTotalCount7": 4,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": ""},{"buyerCountryName": "意大利","totalCount": 30,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 16,"method2": "线下EUB深圳特货新","methodTotalCount2": 3,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 8,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "线下EUB深圳带电新","methodTotalCount7": 2,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": "上涨83.33%"},{"buyerCountryName": "土耳其","totalCount": 27,"method0": "纬狮-轻小件标准专线B","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 15,"method2": "线下EUB深圳特货新","methodTotalCount2": 0,"method3": "递四方-联邮通美国专线","methodTotalCount3": 0,"method4": "线下EUB深圳新","methodTotalCount4": 12,"method5": "义达-美国经济挂号普货","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "线下EUB深圳带电新","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"method9": "纬狮-墨西哥专线带电","methodTotalCount9": 0,"methodSum": 10,"comparison": ""}],"SMT": [{"buyerCountryName": "澳大利亚","totalCount": 462,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 461,"method1": "顺邮宝挂号","methodTotalCount1": 1,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""},{"buyerCountryName": "西班牙","totalCount": 360,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 4,"method2": "菜鸟专线经济","methodTotalCount2": 356,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""},{"buyerCountryName": "比利时","totalCount": 239,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 236,"method1": "顺邮宝挂号","methodTotalCount1": 3,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""},{"buyerCountryName": "加拿大","totalCount": 220,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 217,"method1": "顺邮宝挂号","methodTotalCount1": 3,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""},{"buyerCountryName": "摩尔多瓦","totalCount": 120,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 120,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""},{"buyerCountryName": "塞尔维亚","totalCount": 116,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 116,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""},{"buyerCountryName": "墨西哥","totalCount": 49,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 8,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 21,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 12,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 8,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": "上涨93.88%"},{"buyerCountryName": "毛里求斯","totalCount": 41,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 41,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""},{"buyerCountryName": "马尔代夫","totalCount": 37,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 37,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""},{"buyerCountryName": "南非","totalCount": 37,"method0": "菜鸟-无忧标准普货","methodTotalCount0": 0,"method1": "顺邮宝挂号","methodTotalCount1": 37,"method2": "菜鸟专线经济","methodTotalCount2": 0,"method3": "纬狮-墨西哥纯电敏感货","methodTotalCount3": 0,"method4": "纬狮-轻小件标准专线B","methodTotalCount4": 0,"method5": "纬狮-墨西哥专线带电","methodTotalCount5": 0,"method6": "递四方-普货经济挂号","methodTotalCount6": 0,"method7": "递四方-联邮通美国专线","methodTotalCount7": 0,"method8": "义达-日本普货专线","methodTotalCount8": 0,"methodSum": 9,"comparison": ""}],"Walmart": [{"buyerCountryName": "美国","totalCount": 181,"method0": "朗智-美国虚拟仓普货","methodTotalCount0": 178,"method1": "义达-美国虚拟仓普货","methodTotalCount1": 3,"methodSum": 2,"comparison": "下降159.67%"}],"Fruugo": [{"buyerCountryName": "瑞士","totalCount": 23,"method0": "顺邮宝挂号","methodTotalCount0": 23,"method1": "递四方-普货经济挂号","methodTotalCount1": 0,"method2": "云途挂号(普货)","methodTotalCount2": 0,"methodSum": 3,"comparison": ""},{"buyerCountryName": "法国","totalCount": 16,"method0": "顺邮宝挂号","methodTotalCount0": 2,"method1": "递四方-普货经济挂号","methodTotalCount1": 10,"method2": "云途挂号(普货)","methodTotalCount2": 4,"methodSum": 3,"comparison": ""},{"buyerCountryName": "挪威","totalCount": 14,"method0": "顺邮宝挂号","methodTotalCount0": 14,"method1": "递四方-普货经济挂号","methodTotalCount1": 0,"method2": "云途挂号(普货)","methodTotalCount2": 0,"methodSum": 3,"comparison": "上涨92.86%"},{"buyerCountryName": "南非","totalCount": 14,"method0": "顺邮宝挂号","methodTotalCount0": 14,"method1": "递四方-普货经济挂号","methodTotalCount1": 0,"method2": "云途挂号(普货)","methodTotalCount2": 0,"methodSum": 3,"comparison": ""},{"buyerCountryName": "德国","totalCount": 10,"method0": "顺邮宝挂号","methodTotalCount0": 1,"method1": "递四方-普货经济挂号","methodTotalCount1": 7,"method2": "云途挂号(普货)","methodTotalCount2": 2,"methodSum": 3,"comparison": ""},{"buyerCountryName": "丹麦","totalCount": 7,"method0": "顺邮宝挂号","methodTotalCount0": 7,"method1": "递四方-普货经济挂号","methodTotalCount1": 0,"method2": "云途挂号(普货)","methodTotalCount2": 0,"methodSum": 3,"comparison": ""},{"buyerCountryName": "爱尔兰","totalCount": 7,"method0": "顺邮宝挂号","methodTotalCount0": 7,"method1": "递四方-普货经济挂号","methodTotalCount1": 0,"method2": "云途挂号(普货)","methodTotalCount2": 0,"methodSum": 3,"comparison": "上涨85.71%"},{"buyerCountryName": "澳大利亚","totalCount": 7,"method0": "顺邮宝挂号","methodTotalCount0": 4,"method1": "递四方-普货经济挂号","methodTotalCount1": 0,"method2": "云途挂号(普货)","methodTotalCount2": 3,"methodSum": 3,"comparison": ""},{"buyerCountryName": "罗马尼亚","totalCount": 5,"method0": "顺邮宝挂号","methodTotalCount0": 5,"method1": "递四方-普货经济挂号","methodTotalCount1": 0,"method2": "云途挂号(普货)","methodTotalCount2": 0,"methodSum": 3,"comparison": ""},{"buyerCountryName": "意大利","totalCount": 4,"method0": "顺邮宝挂号","methodTotalCount0": 2,"method1": "递四方-普货经济挂号","methodTotalCount1": 0,"method2": "云途挂号(普货)","methodTotalCount2": 2,"methodSum": 3,"comparison": ""}],"Ebay": [{"buyerCountryName": "希腊","totalCount": 13,"method0": "顺邮宝挂号","methodTotalCount0": 13,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""},{"buyerCountryName": "美国","totalCount": 10,"method0": "顺邮宝挂号","methodTotalCount0": 8,"method1": "递四方-联邮通美国专线","methodTotalCount1": 2,"methodSum": 2,"comparison": "上涨90.0%"},{"buyerCountryName": "澳大利亚","totalCount": 10,"method0": "顺邮宝挂号","methodTotalCount0": 10,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""},{"buyerCountryName": "以色列","totalCount": 6,"method0": "顺邮宝挂号","methodTotalCount0": 6,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""},{"buyerCountryName": "爱沙尼亚","totalCount": 5,"method0": "顺邮宝挂号","methodTotalCount0": 5,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""},{"buyerCountryName": "墨西哥","totalCount": 4,"method0": "顺邮宝挂号","methodTotalCount0": 4,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""},{"buyerCountryName": "毛里求斯","totalCount": 4,"method0": "顺邮宝挂号","methodTotalCount0": 4,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""},{"buyerCountryName": "匈牙利","totalCount": 4,"method0": "顺邮宝挂号","methodTotalCount0": 4,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""},{"buyerCountryName": "阿根廷","totalCount": 3,"method0": "顺邮宝挂号","methodTotalCount0": 3,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""},{"buyerCountryName": "挪威","totalCount": 3,"method0": "顺邮宝挂号","methodTotalCount0": 3,"method1": "递四方-联邮通美国专线","methodTotalCount1": 0,"methodSum": 2,"comparison": ""}],"NewEgg": [{"buyerCountryName": "美国","totalCount": 10,"method0": "递四方-联邮通美国专线","methodTotalCount0": 10,"methodSum": 1,"comparison": ""}]
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/211116.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第二十一章 网络通信

21.1网络程序设计基础 21.1.1局域网与互联网 服务器是指提供信息的计算机程序&#xff0c;客户机是指请求信息的计算机程序。网络用于连接服务器与客户机&#xff0c;实现两者间的相互通信。 21.1.2网络协议 1. IP协议 IP是Internet Protocol的简称。 TCP/IP模式是一种层…

Ubuntu18.04 本地安装CVAT标注工具

写在前面&#xff1a; 1、如果直接clone最新版本的cvat&#xff0c;python版本最好安装3.8的&#xff0c;因为其中部分代码的语法只有高版本的python才可以支持。 2、安装完成以后本地登陆可能出现"cannot connect to cvat server"的错误&#xff0c;可以从Cannot …

使用求2个字符串最短编辑距离动态规划算法实现 git diff 算法 java 实现

测试类 MyDiffTest.java&#xff1a; import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; import java.util.List;public class MyDiffTest {private static String path "\\xxx\\";private static List<String> lines…

【PUSDN】SpringBoot的jar进行解压后,替换其中的文件重新生成新的jar-SW

当你解压Spring Boot的JAR文件时&#xff0c;实际上是在打开一个压缩文件&#xff0c;类似于ZIP。你可以按照以下步骤进行替换文件并重新生成新的JAR&#xff1a; 解压原始的JAR文件&#xff1a; 使用任何ZIP工具&#xff08;如WinRAR、7-Zip或命令行工具&#xff09;&#xf…

[论文精读]序列建模使大视觉模型的规模化学习成为可能

本博客是一篇最新论文的精读&#xff0c;论文为UC伯克利大学及约翰霍普金斯大学相关研究者新近(2023.12.1)在arxiv上上传的《Sequential Modeling Enables Scalable Learning for Large Vision Models》 。知名科技新媒体“新智元”给与本文极高评价&#xff0c;并以《计算机视…

Linux(统信UOS) 发布.Net Core,并开启Https,绑定证书

实际开发中&#xff0c;有时会需要为小程序或者需要使用https的应用提供API接口服务&#xff0c;这就需要为.Net Core 配置https&#xff0c;配置起来很简单&#xff0c;只需要在配置文件appsettings.json中添加下面的内容即可 "Kestrel": {"Endpoints": …

一文带你了解云计算的未来发展趋势与优势

试问现在IT圈还有什么技术比较火&#xff1f;云在数字世界中扮演一个非常重要的角色&#xff0c;目前云计算还不算技术“红海”&#xff0c;它正处于高速发展前期的技术领域&#xff0c;现在早早转型过去&#xff0c;可能还能赶上一波技术红利&#xff0c;连目前大火的ChatGPT …

STM32-新建工程(标准库)

目录 STM32F10x新建工程&#xff08;标准库&#xff09; 移植文件夹 新建工程 添加启动文件和必需文件 在工程中加载新添加的文件 在工程中添加文件路径 在工程中添加main函数 添加lib库 添加必需文件 添加宏定义 点亮LED&#xff08;标准库&#xff09; STM32F10x新…

力扣题:字符的统计-12.4

力扣题-12.4 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;657. 机器人能否返回原点 解题思想&#xff1a;进行统计即可 class Solution(object):def judgeCircle(self, moves):""":type moves: str:rtype: bool""&qu…

安装获取mongodb

目录 本地安装 获取云上资源 获取Atlas免费数据库 本地连接数据库 在Atlas中连接数据库 本文适合初学者或mongodb感兴趣的同学来准备学习测试环境&#xff0c;或本地临时开发环境。mongodb是一个对用户非常友好的数据库。这种友好&#xff0c;不仅仅体现在灵活的数据结构和…

pre标签展示代码块

pre样式 添加背景色、边框、以及调整了字体大小。 pre { border: 1px solid #999; page-break-inside: avoid; display: block; padding: 3px 3px 2px; margin: 0 0 10px; font-size: 13px; line-height: 20px; word-break: break-all; word-wrap: break-word; /* white-space:…

​HTML代码混淆技术:原理、应用和实现方法详解

​HTML代码混淆技术&#xff1a;原理、应用和实现方法详解 HTML代码混淆是一种常用的反爬虫技术&#xff0c;它可以有效地防止爬虫对网站数据的抓取。本文将详细介绍HTML代码混淆技术的原理、应用以及实现方法&#xff0c;帮助大家更好地了解和运用这一技术。 一、HTML代码混淆…

HarmonyOS学习--初次下载安装和配置环境

一、Windows下载与安装软件 运行环境要求&#xff1a; 为保证DevEco Studio正常运行&#xff0c;建议电脑配置满足如下要求&#xff1a; 操作系统&#xff1a;Windows10 64位、Windows11 64位内存&#xff1a;8GB及以上硬盘&#xff1a;100GB及以上分辨率&#xff1a;1280*80…

springBoot3.2 + jdk21 + GraalVM上手体验

springBoot3.2 jdk21 GraalVM上手体验 SpringBoot2.x官方已经停止维护了&#xff0c;jdk8这次真的得换了&#x1f923; 可以参考官方文章进行体验&#xff1a;https://spring.io/blog/2023/09/09/all-together-now-spring-boot-3-2-graalvm-native-images-java-21-and-virt…

行云海CMS SQL注入漏洞复现

0x01 产品简介 行云海cms是完全开源的一套CMS内容管理系统,简洁,易用,安全,稳定,免费。 0x02 漏洞概述 行云海cms中ThinkPHP在处理order by排序时可利用key构造SQL语句进行注入,LtController.class.php中发现传入了orderby未进行过滤导致sql注入。攻击者除了可以利用 SQL 注入…

Web开发-问题-前后端交互数据不一致

0x01 问题描述 所用的技术&#xff1a;VueSpring Boot后端传给前端数据&#xff1a; [Student(studentId1, personorg.fatmansoft.teach.models.Person4abe6020, major软件工程, className一班, grade一年级), Student(studentId2, personorg.fatmansoft.teach.models.Person…

产品学习之路(一)

在做好开发的同时&#xff0c;还需要熟悉产品业务逻辑&#xff0c;不能为了功能而做功能&#xff0c;要从产品经理的角度去看待每个需求和客户痛点所在&#xff0c;这样针对产品设计出来的东西自己也有发言权&#xff1b; 目前作为一名前端开发人员&#xff0c;也在自学产品知识…

mysql原理--InnoDB记录结构

1.InnoDB行格式 我们平时是以记录为单位来向表中插入数据的&#xff0c;这些记录在磁盘上的存放方式也被称为 行格式 或者 记录格式 。 设计 InnoDB 存储引擎的大叔们到现在为止设计了4种不同类型的 行格式 &#xff0c;分别是 Compact 、 Redundant 、Dynamic 和 Compressed 行…

多线程--11--ConcurrentHashMap

ConcurrentHashMap与HashMap等的区别 HashMap线程不安全 我们知道HashMap是线程不安全的&#xff0c;在多线程环境下&#xff0c;使用Hashmap进行put操作会引起死循环&#xff0c;导致CPU利用率接近100%&#xff0c;所以在并发情况下不能使用HashMap。 ConcurrentHashMap 主…

arcgis图上添加发光效果!

看完本文, 你可以不借助外部图片素材, 让你的图纸符号表达出你想要的光! 我们以之前的某个项目图纸为例,来介绍下让符号发光的技术! 第一步—底图整理 准备好栅格影像底图、行政边界的矢量数据,确保“数据合适、位置正确、边界吻合”。 确定好图纸的大小、出图比例、投…