Commit b44fb2e7 authored by beisir's avatar beisir

Merge branch 'feat/group-buy' of git.quantgroup.cn:ui/group-buy-ui into feat/group-buy

parents b6000792 7952c131
This diff is collapsed.
...@@ -105,12 +105,12 @@ ...@@ -105,12 +105,12 @@
</script> </script>
</head> </head>
<body> <body>
<script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js"></script> <!-- <script src="https://cdn.bootcdn.net/ajax/libs/vConsole/3.9.0/vconsole.min.js"></script>
<script> <script>
// init vConsole // init vConsole
var vConsole = new VConsole(); var vConsole = new VConsole();
console.log('Hello world'); console.log('Hello world');
</script> </script> -->
<noscript> <noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript> </noscript>
......
...@@ -5,7 +5,7 @@ const { talosHost } = config; ...@@ -5,7 +5,7 @@ const { talosHost } = config;
export default { export default {
// 查询商品sku详情 // 查询商品sku详情
detailInfo: params => { detailInfo: params => {
return http.get(`${talosHost}/api/kdsp/sku-info/detail/query`, { params }); return http.post(`${talosHost}/api/kdsp/activity/activity-goods-special/detail`, { ...params });
}, },
// 详情图片 // 详情图片
getDetailPic: url => { getDetailPic: url => {
......
import config from '@/config';
import http from '@/service/httpDecorator';
const { talosHost } = config;
export default {
// 获取七牛token
getQiniuToken: data => {
return http.get(`${talosHost}/api/kdsp/common/upload/token`, { params: data });
}
};
<template>
<div ref="sharePic" class="container">
<div class="groupInfo">
<!-- 组团头像信息 -->
<div class="avatorGroup">
<div class="item leader">
<img
class="avator"
src="https://img.lkbang.net/avator/0070abce3cf2fd7f0f436f5e49d3e6f8d684f4571ada0-dMUyR7_fw658.jpeg"
alt=""
/>
<div class="leaderName">团长</div>
<div class="leaderBorder">
<img src="https://img.lkbang.net/activity/share/default/leaderBorder.png?i=1" alt="" />
</div>
<div class="crown">
<img src="https://img.lkbang.net/activity/share/default/crown.png?i=1" alt="" />
</div>
</div>
<div class="item normal">
<img
src="https://img.lkbang.net/avator/0070abce3cf2fd7f0f436f5e49d3e6f8d684f4571ada0-dMUyR7_fw658.jpeg"
alt=""
/>
</div>
<div class="item placeholder" />
<div class="item more" />
<div class="item more" />
<div class="item more" />
<div class="item more" />
</div>
<div class="groupProcess">
<div class="desc">还差 <span>2人</span> 成团,参团截止时间5月3日</div>
</div>
</div>
<div class="skuImg">
<!-- 商品图 -->
<img src="https://img.lkbang.net/activity/share/default/skuImg.png" alt="" />
<div class="skuInfo">
<div class="skuPrice">
<span class="groupPriceContainer">拼团价 ¥</span>
<span class="groupPrice">0</span>
<span class="salePrice">¥3899</span>
</div>
<div class="skuSuccess">
<p>已有<span>6999人</span></p>
<p>拼团成功</p>
</div>
</div>
</div>
<div class="skuName">
<!-- 商品名称 -->
SAINT LAURENT PARIS 圣罗兰 方管纯口红 3.8克 女神挚爱款 千颂伊同款
</div>
<div class="shareInfo">
<!-- 底部分享信息 -->
<div class="qrcode">
<img src="https://img.lkbang.net/activity/share/default/qrcode.png" alt="" />
</div>
<div class="shareDesc">
<p>分享自 <span>羊小咩小程序</span></p>
<p>扫码或长按识别二维码0元拿好物</p>
</div>
</div>
</div>
</template>
<script>
import html2canvas from 'html2canvas';
import qiNiuApi from '@/api/qiniu.api';
import { upload } from 'qiniu-js';
import config from '@/config';
export default {
mounted() {
// this.uploadPic();
},
methods: {
async uploadPic() {
const [res] = await qiNiuApi.getQiniuToken();
const token = res.token;
html2canvas(this.$refs.sharePic, {
width: 1080,
height: 1920,
useCORS: true,
scale: 1
}).then(function(canvas) {
canvas.toBlob(
blob => {
const observable = upload(blob, null, token);
const observer = {
error(err) {
console.log(err);
},
complete({ hash }) {
const fileLink = config.qiniuHost + hash;
console.log('fileLink', fileLink);
}
};
observable.subscribe(observer);
// newImg.onload = function() {
// URL.revokeObjectURL(url);
// };
// newImg.src = url;
// document.body.appendChild(newImg);
},
'image/jpeg',
0.85
);
});
}
}
};
</script>
<style lang="less" scoped>
* {
margin: 0;
padding: 0;
}
div,
span,
p,
img {
box-sizing: border-box;
}
html,
body {
width: 100%;
height: 100%;
font-size: 12px;
}
.container {
position: fixed;
top: -9999999px;
left: -9999999px;
width: 1080px;
height: 1920px;
padding: 48px;
color: #333;
}
.groupInfo {
height: 319px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.groupInfo .avatorGroup {
display: flex;
}
.groupInfo .avatorGroup .item {
width: 94px;
height: 94px;
background-color: #ffe1e1;
margin: 0 21px;
border-radius: 50%;
position: relative;
}
.groupInfo .avatorGroup .normal,
.groupInfo .avatorGroup .leader {
background: transparent;
}
.groupInfo .avatorGroup .leader {
display: flex;
align-items: center;
justify-content: center;
}
.groupInfo .avatorGroup .leader .avator {
width: 84px;
height: 84px;
border-radius: 50%;
}
.groupInfo .avatorGroup .leader .leaderBorder {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 2;
}
.groupInfo .avatorGroup .leader .leaderBorder img {
width: 100%;
height: 100%;
}
.groupInfo .avatorGroup .leader .crown {
position: absolute;
top: -18px;
right: -5px;
width: 49px;
height: 43px;
}
.groupInfo .avatorGroup .leader .crown img {
width: 100%;
height: 100%;
}
.groupInfo .avatorGroup .leader .leaderName {
position: absolute;
bottom: -18px;
left: 50%;
transform: translateX(-50%);
z-index: 3;
width: 76px;
height: 36px;
color: #fff;
font-size: 24px;
display: flex;
align-items: center;
justify-content: center;
background: #ff9700;
border-radius: 8px;
}
.groupInfo .avatorGroup .normal img {
width: 100%;
height: 100%;
border-radius: 50%;
}
.groupInfo .avatorGroup .more {
border: 2px dashed #ff9393;
display: flex;
align-items: center;
align-content: center;
justify-content: center;
color: #ec1500;
font-size: 34px;
}
.groupInfo .avatorGroup .more::after {
content: '?';
}
.groupInfo .avatorGroup .placeholder {
display: flex;
align-items: center;
align-content: center;
justify-content: center;
color: #ec1500;
font-size: 34px;
}
.groupInfo .avatorGroup .placeholder::after {
content: '...';
margin-top: -15px;
}
.groupInfo .groupProcess {
width: 750px;
height: 123px;
padding-top: 50px;
}
.groupInfo .groupProcess .desc {
width: 100%;
height: 100%;
background: #ffe8e8;
border-radius: 36.5px;
color: #333;
font-size: 34px;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}
.groupInfo .groupProcess .desc span {
color: #ec1500;
margin: 0 10px;
}
.skuImg {
width: 984px;
height: 984px;
position: relative;
}
.skuImg img {
width: 100%;
height: 100%;
}
.skuImg .skuInfo {
position: absolute;
bottom: 0;
left: 0;
display: flex;
width: 100%;
height: 134px;
background-image: url('https://img.lkbang.net/activity/share/default/skuInfoBg.png');
background-repeat: no-repeat;
background-size: cover;
}
.skuImg .skuInfo .skuPrice {
display: flex;
align-items: baseline;
width: 653px;
height: 100%;
flex-shrink: 0;
color: @white;
font-size: 34px;
padding-left: 32px;
margin-right: 10px;
}
.skuImg .skuInfo .skuPrice .groupPrice {
display: inline-block;
color: @white;
font-size: 64px;
margin-right: 10px;
}
.skuImg .skuInfo .skuPrice .salePrice {
font-size: 34px;
text-decoration: line-through;
font-weight: lighter;
line-height: 134px;
}
.skuImg .skuInfo .skuSuccess {
flex: 1;
flex-shrink: 0;
display: flex;
flex-direction: column;
justify-content: center;
}
.skuImg .skuInfo .skuSuccess p {
font-size: 34px;
text-align: center;
}
.skuImg .skuInfo .skuSuccess p:first-child {
margin-bottom: 15px;
}
.skuImg .skuInfo .skuSuccess p span {
color: #ec1500;
}
.skuName {
height: 132px;
margin: 28px 0 42px;
font-size: 44px;
color: #333333;
line-height: 62px;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.shareInfo {
height: 318px;
background: #f7f8f9;
border-radius: 24px;
padding: 0 48px;
display: flex;
align-items: center;
justify-content: space-between;
}
.shareInfo .qrcode {
width: 353px;
height: 278px;
flex-shrink: 0;
padding: 0 75px 0 0;
}
.shareInfo .qrcode img {
width: 100%;
height: 100%;
}
.shareInfo .shareDesc {
flex: 1;
font-size: 34px;
color: #666;
}
.shareInfo .shareDesc p:first-child {
margin-bottom: 25px;
}
.shareInfo .shareDesc span {
font-weight: bold;
}
</style>
...@@ -10,6 +10,7 @@ const shenceHost = 'https://bn.xyqb.com/sa?project=default'; // 测试地址 ...@@ -10,6 +10,7 @@ const shenceHost = 'https://bn.xyqb.com/sa?project=default'; // 测试地址
const talosHost = 'https://talos-vcc3.liangkebang.net'; const talosHost = 'https://talos-vcc3.liangkebang.net';
const faceHost = 'https://auth-vcc3.liangkebang.net'; const faceHost = 'https://auth-vcc3.liangkebang.net';
const kdspHost = 'https://kdsp-api-vcc3.liangkebang.net'; const kdspHost = 'https://kdsp-api-vcc3.liangkebang.net';
const opapiHost = 'https://opapi-vcc3.liangkebang.net';
const VCC_CHANNEL = ''; const VCC_CHANNEL = '';
const TERMINAL = 'H5'; const TERMINAL = 'H5';
const VERSION = '7.9.00'; const VERSION = '7.9.00';
...@@ -23,5 +24,6 @@ export default { ...@@ -23,5 +24,6 @@ export default {
VCC_CHANNEL, VCC_CHANNEL,
TERMINAL, TERMINAL,
VERSION, VERSION,
kdspHost kdspHost,
opapiHost
}; };
...@@ -7,6 +7,7 @@ const VCC_CHANNEL = ''; ...@@ -7,6 +7,7 @@ const VCC_CHANNEL = '';
const TERMINAL = 'H5'; const TERMINAL = 'H5';
const VERSION = '7.9.00'; const VERSION = '7.9.00';
const kdspHost = 'https://kdsp-api.q-gp.com'; const kdspHost = 'https://kdsp-api.q-gp.com';
const opapiHost = `${protocol}//opapi.xyqb.com`;
export default { export default {
// apiHost, // apiHost,
...@@ -18,5 +19,6 @@ export default { ...@@ -18,5 +19,6 @@ export default {
TERMINAL, TERMINAL,
VERSION, VERSION,
qiniuHost, qiniuHost,
kdspHost kdspHost,
opapiHost
}; };
...@@ -19,7 +19,8 @@ ...@@ -19,7 +19,8 @@
<div class="goods-group-buy-info"> <div class="goods-group-buy-info">
<div class="goods-group-buy-info-price"> <div class="goods-group-buy-info-price">
<p class="price"> <p class="price">
成团价¥<span class="group-price">0</span>售价¥<span class="sale-price">3000</span> 成团价¥<span class="group-price">{{ detailInfo.activityPrice }}</span
>售价¥<span class="sale-price">{{ detailInfo.price }}</span>
</p> </p>
<p class="desc">拼团成功/失败,款项原路返回至账户</p> <p class="desc">拼团成功/失败,款项原路返回至账户</p>
</div> </div>
...@@ -30,7 +31,7 @@ ...@@ -30,7 +31,7 @@
</div> </div>
<!-- 商品名称/价格 --> <!-- 商品名称/价格 -->
<div class="goods-info"> <div class="goods-info">
<div class="goods-info-name">{{ detailInfo.skuName || name.goodsName }}</div> <div class="goods-info-name">{{ detailInfo.goodsName }}</div>
</div> </div>
<div class="goods-param"> <div class="goods-param">
...@@ -169,6 +170,7 @@ ...@@ -169,6 +170,7 @@
:disabled="false" :disabled="false"
@buy="goVccOrDetail" @buy="goVccOrDetail"
/> />
<sharePic ref="sharePic" />
</div> </div>
</template> </template>
<script> <script>
...@@ -183,6 +185,7 @@ import successInfo from '@/components/groupBuySuccessInfo'; ...@@ -183,6 +185,7 @@ import successInfo from '@/components/groupBuySuccessInfo';
import rules from '@/components/rules'; import rules from '@/components/rules';
import groupDescInfo from './components/groupDescInfo'; import groupDescInfo from './components/groupDescInfo';
import { mapState } from 'vuex'; import { mapState } from 'vuex';
import sharePic from '@/components/sharePic';
export default { export default {
// eslint-disable-next-line vue/name-property-casing // eslint-disable-next-line vue/name-property-casing
name: 'goodDetail', name: 'goodDetail',
...@@ -194,7 +197,8 @@ export default { ...@@ -194,7 +197,8 @@ export default {
avatorGroup, avatorGroup,
successInfo, successInfo,
rules, rules,
groupDescInfo groupDescInfo,
sharePic
}, },
filters: { filters: {
Img2Thumb Img2Thumb
...@@ -243,7 +247,6 @@ export default { ...@@ -243,7 +247,6 @@ export default {
this.hasLogin = window.localStorage.getItem('vccToken') != 'null' ? true : false; this.hasLogin = window.localStorage.getItem('vccToken') != 'null' ? true : false;
this.detailParam = { ...this.$route.query }; this.detailParam = { ...this.$route.query };
this.name = this.$route.params; this.name = this.$route.params;
this.imgList = [this.name.goodsimg];
this.init(this.detailParam); this.init(this.detailParam);
}, },
mounted() { mounted() {
...@@ -269,10 +272,10 @@ export default { ...@@ -269,10 +272,10 @@ export default {
}, },
async init(detailParam) { async init(detailParam) {
const [res] = await goods.detailInfo(detailParam); const [res] = await goods.detailInfo(detailParam);
this.imgList = res.imageList || []; this.imgList = res.imageUrl || [];
this.detailInfo = res; this.detailInfo = res;
try { try {
const detailImages = await goods.getDetailPic(this.detailInfo.detailUrl); const detailImages = await goods.getDetailPic(this.detailInfo.contentDetailUrl);
// const imgReg = new RegExp('(?<=src=").[^"]*', 'g'); // const imgReg = new RegExp('(?<=src=").[^"]*', 'g');
// this.detailImgList = (detailImages || '').match(imgReg); // this.detailImgList = (detailImages || '').match(imgReg);
let imgReg = /<img.*?(?:>|\/>)/gi; let imgReg = /<img.*?(?:>|\/>)/gi;
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<div class="goods-product-info-desc"> <div class="goods-product-info-desc">
<div class="goods-product-info-desc-part1"> <div class="goods-product-info-desc-part1">
<div class="goods-product-info-desc-title"> <div class="goods-product-info-desc-title">
{{ detailInfo.skuName || name.goodsName }} {{ detailInfo.goodsName }}
</div> </div>
<div class="goods-product-info-desc-progress"> <div class="goods-product-info-desc-progress">
<cr-progress <cr-progress
...@@ -33,11 +33,9 @@ ...@@ -33,11 +33,9 @@
</div> </div>
<div class="goods-product-info-desc-price"> <div class="goods-product-info-desc-price">
<div class="goods-product-info-desc-price-group"> <div class="goods-product-info-desc-price-group">
成团价 ¥<span class="actualPrice">0</span> 成团价 ¥<span class="actualPrice">{{ detailInfo.activityPrice }}</span>
</div>
<div class="goods-product-info-desc-price-market">
售价¥3389
</div> </div>
<div class="goods-product-info-desc-price-market">售价¥{{ detailInfo.price }}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -138,10 +136,10 @@ export default { ...@@ -138,10 +136,10 @@ export default {
}, },
async init(detailParam) { async init(detailParam) {
const [res] = await goods.detailInfo(detailParam); const [res] = await goods.detailInfo(detailParam);
this.imgList = res.imageList || []; this.imgList = res.imageUrl || [];
this.detailInfo = res; this.detailInfo = res;
try { try {
const detailImages = await goods.getDetailPic(this.detailInfo.detailUrl); const detailImages = await goods.getDetailPic(this.detailInfo.contentDetailUrl);
// const imgReg = new RegExp('(?<=src=").[^"]*', 'g'); // const imgReg = new RegExp('(?<=src=").[^"]*', 'g');
// this.detailImgList = (detailImages || '').match(imgReg); // this.detailImgList = (detailImages || '').match(imgReg);
let imgReg = /<img.*?(?:>|\/>)/gi; let imgReg = /<img.*?(?:>|\/>)/gi;
......
...@@ -798,6 +798,14 @@ ...@@ -798,6 +798,14 @@
"@babel/types" "^7.4.4" "@babel/types" "^7.4.4"
"esutils" "^2.0.2" "esutils" "^2.0.2"
"@babel/runtime-corejs2@^7.10.2":
"integrity" "sha1-3aVVTRji69TjdOc3CFkOcuHmdPc="
"resolved" "http://npmprivate.quantgroups.com/@babel%2fruntime-corejs2/-/runtime-corejs2-7.15.4.tgz"
"version" "7.15.4"
dependencies:
"core-js" "^2.6.5"
"regenerator-runtime" "^0.13.4"
"@babel/runtime@^7.0.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.6": "@babel/runtime@^7.0.0", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.6":
"integrity" "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg==" "integrity" "sha512-otddXKhdNn7d0ptoFRHtMLa8LqDxLYwTjB4nYgM1yy5N6gU/MUf8zqyyLltCH3yAVitBzmwK4us+DD0l/MauAg=="
"resolved" "http://npmprivate.quantgroups.com/@babel%2fruntime/-/runtime-7.10.5.tgz" "resolved" "http://npmprivate.quantgroups.com/@babel%2fruntime/-/runtime-7.10.5.tgz"
...@@ -1854,6 +1862,16 @@ ...@@ -1854,6 +1862,16 @@
"mixin-deep" "^1.2.0" "mixin-deep" "^1.2.0"
"pascalcase" "^0.1.1" "pascalcase" "^0.1.1"
"base64-arraybuffer@^0.2.0":
"integrity" "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ=="
"resolved" "http://npmprivate.quantgroups.com/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz"
"version" "0.2.0"
"base64-arraybuffer@^1.0.1":
"integrity" "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA=="
"resolved" "http://npmprivate.quantgroups.com/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz"
"version" "1.0.1"
"base64-js@^1.0.2": "base64-js@^1.0.2":
"integrity" "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==" "integrity" "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g=="
"resolved" "http://npmprivate.quantgroups.com/base64-js/-/base64-js-1.3.1.tgz" "resolved" "http://npmprivate.quantgroups.com/base64-js/-/base64-js-1.3.1.tgz"
...@@ -2755,6 +2773,11 @@ ...@@ -2755,6 +2773,11 @@
"resolved" "http://npmprivate.quantgroups.com/core-js/-/core-js-2.6.10.tgz" "resolved" "http://npmprivate.quantgroups.com/core-js/-/core-js-2.6.10.tgz"
"version" "2.6.10" "version" "2.6.10"
"core-js@^2.6.5":
"integrity" "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA=="
"resolved" "http://npmprivate.quantgroups.com/core-js/-/core-js-2.6.10.tgz"
"version" "2.6.10"
"core-js@^3.6.5": "core-js@^3.6.5":
"integrity" "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" "integrity" "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
"resolved" "http://npmprivate.quantgroups.com/core-js/-/core-js-3.6.5.tgz" "resolved" "http://npmprivate.quantgroups.com/core-js/-/core-js-3.6.5.tgz"
...@@ -2892,6 +2915,13 @@ ...@@ -2892,6 +2915,13 @@
"postcss" "^7.0.1" "postcss" "^7.0.1"
"timsort" "^0.3.0" "timsort" "^0.3.0"
"css-line-break@2.0.1":
"integrity" "sha512-gwKYIMUn7xodIcb346wgUhE2Dt5O1Kmrc16PWi8sL4FTfyDj8P5095rzH7+O8CTZudJr+uw2GCI/hwEkDJFI2w=="
"resolved" "http://npmprivate.quantgroups.com/css-line-break/-/css-line-break-2.0.1.tgz"
"version" "2.0.1"
dependencies:
"base64-arraybuffer" "^0.2.0"
"css-loader@^3.5.3": "css-loader@^3.5.3":
"integrity" "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==" "integrity" "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ=="
"resolved" "http://npmprivate.quantgroups.com/css-loader/-/css-loader-3.6.0.tgz" "resolved" "http://npmprivate.quantgroups.com/css-loader/-/css-loader-3.6.0.tgz"
...@@ -4643,6 +4673,14 @@ ...@@ -4643,6 +4673,14 @@
"toposort" "^1.0.0" "toposort" "^1.0.0"
"util.promisify" "1.0.0" "util.promisify" "1.0.0"
"html2canvas@^1.3.2":
"integrity" "sha512-4+zqv87/a1LsaCrINV69wVLGG8GBZcYBboz1JPWEgiXcWoD9kroLzccsBRU/L9UlfV2MAZ+3J92U9IQPVMDeSQ=="
"resolved" "http://npmprivate.quantgroups.com/html2canvas/-/html2canvas-1.3.2.tgz"
"version" "1.3.2"
dependencies:
"css-line-break" "2.0.1"
"text-segmentation" "^1.0.2"
"htmlparser2@^3.3.0", "htmlparser2@^3.8.3": "htmlparser2@^3.3.0", "htmlparser2@^3.8.3":
"integrity" "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==" "integrity" "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ=="
"resolved" "http://npmprivate.quantgroups.com/htmlparser2/-/htmlparser2-3.10.1.tgz" "resolved" "http://npmprivate.quantgroups.com/htmlparser2/-/htmlparser2-3.10.1.tgz"
...@@ -7350,6 +7388,15 @@ ...@@ -7350,6 +7388,15 @@
dependencies: dependencies:
"request" "^2.88.0" "request" "^2.88.0"
"qiniu-js@^3.3.1":
"integrity" "sha512-boT5oS5ZDQKZmrkioWp1wXhus0pKJTJXXKsims5JbnqCtAk87dJKzBZEDdKZ1l/bt04WEU5zXf/gvcyj4IpAug=="
"resolved" "http://npmprivate.quantgroups.com/qiniu-js/-/qiniu-js-3.3.3.tgz"
"version" "3.3.3"
dependencies:
"@babel/runtime-corejs2" "^7.10.2"
"querystring" "^0.2.1"
"spark-md5" "^3.0.0"
"qs@^6.10.1": "qs@^6.10.1":
"integrity" "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==" "integrity" "sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg=="
"resolved" "http://npmprivate.quantgroups.com/qs/-/qs-6.10.1.tgz" "resolved" "http://npmprivate.quantgroups.com/qs/-/qs-6.10.1.tgz"
...@@ -7380,6 +7427,11 @@ ...@@ -7380,6 +7427,11 @@
"resolved" "http://npmprivate.quantgroups.com/querystring-es3/-/querystring-es3-0.2.1.tgz" "resolved" "http://npmprivate.quantgroups.com/querystring-es3/-/querystring-es3-0.2.1.tgz"
"version" "0.2.1" "version" "0.2.1"
"querystring@^0.2.1":
"integrity" "sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg=="
"resolved" "http://npmprivate.quantgroups.com/querystring/-/querystring-0.2.1.tgz"
"version" "0.2.1"
"querystring@0.2.0": "querystring@0.2.0":
"integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
"resolved" "http://npmprivate.quantgroups.com/querystring/-/querystring-0.2.0.tgz" "resolved" "http://npmprivate.quantgroups.com/querystring/-/querystring-0.2.0.tgz"
...@@ -8191,6 +8243,11 @@ ...@@ -8191,6 +8243,11 @@
"resolved" "http://npmprivate.quantgroups.com/source-map/-/source-map-0.6.1.tgz" "resolved" "http://npmprivate.quantgroups.com/source-map/-/source-map-0.6.1.tgz"
"version" "0.6.1" "version" "0.6.1"
"spark-md5@^3.0.0":
"integrity" "sha1-eVLEoweENHq87nMmjkc7nAFn4/w="
"resolved" "http://npmprivate.quantgroups.com/spark-md5/-/spark-md5-3.0.2.tgz"
"version" "3.0.2"
"spdx-correct@^3.0.0": "spdx-correct@^3.0.0":
"integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==" "integrity" "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w=="
"resolved" "http://npmprivate.quantgroups.com/spdx-correct/-/spdx-correct-3.1.1.tgz" "resolved" "http://npmprivate.quantgroups.com/spdx-correct/-/spdx-correct-3.1.1.tgz"
...@@ -8678,6 +8735,13 @@ ...@@ -8678,6 +8735,13 @@
"source-map" "~0.6.1" "source-map" "~0.6.1"
"source-map-support" "~0.5.12" "source-map-support" "~0.5.12"
"text-segmentation@^1.0.2":
"integrity" "sha512-uTqvLxdBrVnx/CFQOtnf8tfzSXFm+1Qxau7Xi54j4OPTZokuDOX8qncQzrg2G8ZicAMOM8TgzFAYTb+AqNO4Cw=="
"resolved" "http://npmprivate.quantgroups.com/text-segmentation/-/text-segmentation-1.0.2.tgz"
"version" "1.0.2"
dependencies:
"utrie" "^1.0.1"
"text-table@^0.2.0": "text-table@^0.2.0":
"integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
"resolved" "http://npmprivate.quantgroups.com/text-table/-/text-table-0.2.0.tgz" "resolved" "http://npmprivate.quantgroups.com/text-table/-/text-table-0.2.0.tgz"
...@@ -9084,6 +9148,13 @@ ...@@ -9084,6 +9148,13 @@
"resolved" "http://npmprivate.quantgroups.com/utils-merge/-/utils-merge-1.0.1.tgz" "resolved" "http://npmprivate.quantgroups.com/utils-merge/-/utils-merge-1.0.1.tgz"
"version" "1.0.1" "version" "1.0.1"
"utrie@^1.0.1":
"integrity" "sha512-JPaDXF3vzgZxfeEwutdGzlrNoVFL5UvZcbO6Qo9D4GoahrieUPoMU8GCpVpR7MQqcKhmShIh8VlbEN3PLM3EBg=="
"resolved" "http://npmprivate.quantgroups.com/utrie/-/utrie-1.0.1.tgz"
"version" "1.0.1"
dependencies:
"base64-arraybuffer" "^1.0.1"
"uuid@^3.3.2", "uuid@^3.4.0": "uuid@^3.3.2", "uuid@^3.4.0":
"integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" "integrity" "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
"resolved" "http://npmprivate.quantgroups.com/uuid/-/uuid-3.4.0.tgz" "resolved" "http://npmprivate.quantgroups.com/uuid/-/uuid-3.4.0.tgz"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment