Commit a72063fd by 陈英杰

合并分支 'test' 到 'dev'

Test



查看合并请求 !91
parents 3682ccf3 6355f541
@font-face {
font-family: 'Regular35';
font-weight: normal;
src: url('../fonts/35--Regular.eot'); /* IE9 Compat Mode */
src: url('../fonts/35--Regular.woff') format('woff'),
url('../fonts/35--Regular.eot') format('eot'),
url('../fonts/35--Regular.svg') format('svg');
}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -44,4 +44,19 @@ cbn:
location: live
command:
build: build:cbn
\ No newline at end of file
build: build:cbn
huawei:
config:
spa: false
ssr: true
folder: nuxt-dist
proxy: http://172.18.0.1:33000
server: /web\.aodiansoft\.com/
target:
project: Web
location: live
command:
build: build:huawei
\ No newline at end of file
......@@ -10,12 +10,36 @@
</div>
<div class="invite__list-box">
<div class="invite__list-box__list">
<div class="invite__list-box__list--item" v-for="(item, index) in list" :key="index">
<div class="invite__list-box__list--topthree">
<div v-for="(item, index) in threeList" :key="index" style="display: inline-block;" :class="index === 0 ? 'first-box' : index === 1 ? 'second-box': 'third-box'">
<div class="invite__list-box__list--topthree__item">
<div class="invite__list-box__list--topthree__item--head second" v-if="index === 0">
<img v-if="item.userHeadImg" :src="item.userHeadImg" />
<img v-else :src="channelInfo.defaultPhoneHeadAva" />
</div>
<div class="invite__list-box__list--topthree__item--head first" v-if="index === 1">
<img v-if="item.userHeadImg" :src="item.userHeadImg" />
<img v-else :src="channelInfo.defaultPhoneHeadAva" />
</div>
<div class="invite__list-box__list--topthree__item--head third" v-if="index === 2">
<img v-if="item.userHeadImg" :src="item.userHeadImg" />
<img v-else :src="channelInfo.defaultPhoneHeadAva" />
</div>
<div class="invite__list-box__list--topthree__item--name">{{ item.userNick }}</div>
<div class="invite__list-box__list--topthree__item--num">
邀请
<span>{{ item.times | formatNum }}</span>
</div>
</div>
</div>
</div>
<div class="invite__list-box__list--item" v-for="(item, index) in afterList" :key="index">
<div class="invite__list-box__list--item--no">
<img v-if="index == 0" src="./img/no-1.png" />
<!-- <img v-if="index == 0" src="./img/no-1.png" />
<img v-else-if="index == 1" src="./img/no-2.png" />
<img v-else-if="index == 2" src="./img/no-3.png" />
<span v-else>{{ index + 1 }}</span>
<img v-else-if="index == 2" src="./img/no-3.png" /> -->
<span>{{ index + 4 }}</span>
</div>
<div class="invite__list-box__list--item--head">
<img v-if="item.userHeadImg" :src="item.userHeadImg" />
......@@ -49,7 +73,13 @@ export default {
...mapGetters({
nowDate: 'nowDate',
channelInfo: 'channelInfo'
})
}),
threeList(){
return this.list.slice(0, 3)
},
afterList() {
return this.list.slice(3)
}
},
mounted() {
this._getInvitationList();
......@@ -116,6 +146,107 @@ export default {
}
.invite__list-box {
.invite__list-box__list {
&--topthree {
margin: .2rem;
position: relative;
height: 1.6rem;
.first-box {
position: absolute;
left: calc(50% - 0.6rem);
bottom: 0;
}
.second-box {
position: absolute;
left: 0;
bottom: 0;
}
.third-box {
position: absolute;
right: 0;
bottom: 0;
}
&__item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-end;
font-size: 0.12rem;
.first {
&::after {
position: absolute;
top: -.2rem;
left: calc(50% - .15rem);
height: .2rem;
width: .3rem;
content: '';
background-image: url(./img/second.png);
background-size: 100% 100%;
}
position:relative;
border: 3px solid #f7f2fc;
height: .8rem;
width: .8rem;
}
.second {
&::after {
position: absolute;
top: -.233rem;
left: calc(50% - .2rem);
height: .233rem;
width: .4rem;
content: '';
background-image: url(./img/first.png);
background-size: 100% 100%;
}
position:relative;
border: 3px solid #eda52a;
height: 1.2rem;
width: 1.2rem;
}
.third {
&::after {
position: absolute;
top: -.2rem;
left: calc(50% - .15rem);
height: .2rem;
width: .3rem;
content: '';
background-image: url(./img/third.png);
background-size: 100% 100%;
}
position:relative;
border: 3px solid #e96717;
height: .8rem;
width: .8rem;
}
&--head {
flex: 0 0 auto;
width: 1rem;
height: 1rem;
border-radius: 100%;
img {
display: block;
width: 100%;
height: 100%;
border-radius: 100%;
}
}
&--name {
margin: 0.08rem;
font-size: 0.12rem;
color: #808080;
word-break: break-all;
}
&--num {
flex: 0 0 auto;
font-size: 0.12rem;
color: #808080;
span {
color: #ff3b3b;
}
}
}
}
.invite__list-box__list--item {
display: flex;
align-items: center;
......
......@@ -48,7 +48,6 @@ export default {
redTimer: null,
showHead: false,
showAdvert: false,
oldSV: ''
};
},
computed: {
......@@ -90,7 +89,6 @@ export default {
const res = await robRedpacket(parm);
this.isAjax = true;
if (res.code === 200 && res.errorCode === 0) {
this.oldSV = this.$md5(`${this.channelInfo.uin}_${this.userInfo.id}_${this.$redSV.rob}`)
this.redInfo = res.data;
this._timerWait(res.data.wait);
}
......
<template>
<div class="red-box">
<div class="suspension-red">
<answer-box :answerList="answerList"></answer-box>
<business-box :businessList="businessList"></business-box>
<answer-box :answerList="answerList" />
<business-box :businessList="businessList" />
<rainBox :rainInfo="rainInfo" />
</div>
<transition name="fade">
<default-box v-show="showRedInfo.type == 1 && showRedInfo.id && showRed"></default-box>
......@@ -15,13 +16,14 @@
</template>
<script>
import { getSpecialRedList } from '@/plugins/API/apiRed';
import { getSpecialRedList, RainRedpacketInfo } from '@/plugins/API/apiRed';
import { mapGetters } from 'vuex';
import defaultBox from './default/index';
import passwordBox from './password/index';
import shareBox from './share/index';
import answerBox from './answer/index';
import businessBox from './business/index';
import rainBox from './rain/index';
export default {
name: 'red-box',
......@@ -30,13 +32,15 @@ export default {
passwordBox,
shareBox,
answerBox,
businessBox
businessBox,
rainBox
},
data() {
return {
shareTimer: [],
answerList: [],
businessList: [],
rainInfo: {},
shareList: []
};
},
......@@ -55,6 +59,8 @@ export default {
this.$Bus.$on('bus-editBusinessLis', this.edit_businessLis);
this.$Bus.$on('bus-addShareList', this.add_shareList);
this.$Bus.$on('bus-delShareList', this.del_shareList);
this.$Bus.$on('bus-addRain', this.add_rain);
this.$Bus.$on('bus-delRain', this.del_rain);
this._getSpecialRedList();
},
methods: {
......@@ -68,6 +74,13 @@ export default {
this.businessList = res.data.businessList;
this.shareList = res.data.shareList;
}
const rain = await RainRedpacketInfo({
uin: this.channelInfo.uin,
channelId: this.channelInfo.id
})
if (res.code === 200 && res.errorCode === 0) {
this.rainInfo = rain.data;
}
},
_showRed(type, id) {
if (this.userInfo.id) {
......@@ -80,6 +93,12 @@ export default {
this.$Bus.$emit('bus-showLogin', true);
}
},
add_rain(obj) {
this.rainInfo = obj
},
del_rain() {
this.rainInfo = {};
},
add_answerList(obj) {
this.answerList.push(obj);
},
......
<template>
<div>
<div class="rain-list" v-show="!isGet && rainInfo.id">
<div class="receive" @click="_showRed()">
<div class="name">红包雨</div>
</div>
</div>
<transition name="fade">
<div v-show="showRedInfo.type == 15 && showRedInfo.id && showRed">
<div class="rain" >
<div class="rain-box" >
<i class="close" @click="_closeRed"></i>
<div class="info">
<div class="greeting">红包雨来袭</div>
<div class="big">快来戳!</div>
</div>
<div class="btn" @click="playGame">立即抢红包</div>
</div>
</div>
</div>
</transition>
<transition name="fade">
<div class="rainGame" v-if="showGame" ref="rainGame" id="rainGame">
<!-- 游戏区域 -->
</div>
</transition>
</div>
</template>
<script>
const RED_TYPE = 15;
import { mapGetters, mapMutations } from 'vuex';
import { openRedRainpacket, checkRainIsOpen, robRedpacket } from '@/plugins/API/apiRed';
import sha1 from 'crypto-js/sha1';
export default {
name: 'red-rain-box',
props: {
rainInfo: {}
},
data() {
return {
showGame: false,
isAjax: true,
isGet: false
}
},
computed: {
...mapGetters({
channelInfo: 'channelInfo',
userInfo: 'userInfo',
showRed: 'showRed',
showRedInfo: 'showRedInfo'
}),
},
mounted() {
this.$Bus.$on('bus-showRainStart', () => {
this.isGet = true
this.set_showRedInfo({
type: RED_TYPE,
id: this.rainInfo.id
})
})
},
methods: {
...mapMutations({
set_showRed: 'set_showRed',
set_showRedInfo: 'set_showRedInfo'
}),
async _robRedpacket() {
if (!this.isAjax) {
return false;
}
this.isAjax = false;
const parm = {
id: this.showRedInfo.id,
uin: this.channelInfo.uin,
channelId: this.channelInfo.id,
sv: this.$md5(`${this.channelInfo.uin}_${this.userInfo.id}_${this.$redSV.rob}`)
}
const res = await robRedpacket(parm);
this.isAjax = true;
if (res.code === 200 && res.errorCode === 0) {
this.rainInfo.svSalt = res.data.svSalt || '';
}
},
async checkRainIsOpen() {
if (this.userInfo.id && this.rainInfo.id){
const res = await checkRainIsOpen({
uin: this.channelInfo.uin,
id: this.rainInfo.id
});
if (res.code === 200 && res.errorCode === 0) {
this.isGet = res.data
}
}
},
async _openRed() {
await this._robRedpacket()
if (!this.isAjax) {
return false;
}
this.isAjax = false;
const id = this.showRedInfo.id
const uin = this.channelInfo.uin
const channelId = this.channelInfo.id
const timestamp = ~~(new Date().getTime() / 1000)
const sv = this.$md5(`${this.channelInfo.uin}_${this.userInfo.id}_${this.$redSV.open}_${this.showRedInfo.id}_${this.rainInfo.svSalt || ''}`)
console.log()
const sign = sha1(channelId + '' + id + '' + sv + '' + timestamp + '' + uin + 'zf33f4248819bf94e73wx937fecfe9b8').toString()
const res = await openRedRainpacket({
id,
uin,
channelId,
sv,
timestamp,
sign
});
if (res.code === 200) {
if (res.errorCode === 0) {
this.isGet = true
return res.data
} else {
return res.errorMessage || '未抢到'
}
}
return '未抢到'
},
playGame() {
if (this.userInfo.id) {
const rainGame = require('./game')
this.showGame = !this.showGame
this.$nextTick(() => {
rainGame(this.$refs.rainGame, this.rainInfo.rainTime || 20, () => {
this.showGame = !this.showGame
this.set_showRed(false)
}, this._openRed)
})
} else {
this.$layer.msg('登陆后才能领取红包哦!~');
this.$Bus.$emit('bus-showLogin', true);
}
},
_showRed(id) {
if (this.userInfo.id) {
this.set_showRedInfo({
type: RED_TYPE,
id: id || this.rainInfo.id || 1
});
} else {
this.$layer.msg('登陆后才能领取红包哦!~');
this.$Bus.$emit('bus-showLogin', true);
}
},
_closeRed() {
this.set_showRed(false);
}
},
watch: {
rainInfo() {
this.checkRainIsOpen()
}
}
};
</script>
<style lang="less" scoped>
.rain-list {
position: relative;
display: block;
width: 0.4rem;
height: 0.4rem;
margin-bottom: 0.05rem;
background: url('./img/red-small.png');
background-repeat: no-repeat;
background-position: center center;
background-size: 100% 100%;
.receive {
position: absolute;
bottom: 0;
left: -0.1rem;
display: block;
height: 0.25rem;
line-height: 0.25rem;
width: 0.6rem;
background-size: auto 100%;
text-align: center;
font-size: 0.1rem;
.name {
color: #fff;
transform: scale(0.6) rotate(30deg);
margin-right: .125rem;
margin-top: .01rem;
}
}
}
.rainGame {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 999;
background-color: rgba(0, 0, 0, 0.3);
.close {
z-index: 1000;
}
}
.rain {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 500;
background-color: rgba(0, 0, 0, 0.3);
.rain-box {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 100;
margin: auto;
width: 2.75rem;
height: 4.625rem;
.close {
position: absolute;
left: calc(50% - 0.16rem);
bottom: -0.1rem;
z-index: 2;
width: 0.32rem;
height: 0.32rem;
background: url('./img/icon-close.png') no-repeat center center;
background-size: 100% 100%;
}
.info {
position: relative;
width: 100%;
height: 3.875rem;
background: url('./img/red-bg.png') no-repeat 0 0;
background-size: 100% 100%;
overflow: hidden;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.greeting,
.big {
margin-top: 1.3rem;
z-index: 2;
font-size: .3rem;
font-family: Regular35;
font-weight: 400;
font-style: italic;
color: #FFFFFF;
line-height: 47px;
background: linear-gradient(180deg, #FFC788 0%, #FFFAEF 100%);
background-clip: text;
-webkit-text-fill-color: transparent;
}
.big {
margin-top: 0;
font-size: .36rem;
text-align: center;
}
}
.btn {
position: absolute;
left: calc(50% - .8rem);
bottom: 0.8rem;
z-index: 2;
width: 1.6rem;
height: .35rem;
background: linear-gradient(180deg, #FFEDB0, #FF9D29);
border-radius: 41px;
text-align: center;
line-height: .35rem;
font-weight: normal;
font-style: italic;
color: #CF0B00;
}
}
}
</style>
module.exports = {
DEF_DOMAIM: '//cgateway.aodiansoft.com',
DEF_OSS: '//g-resource.obs.cn-north-4.myhuaweicloud.com',
DEF_AODIANYUN: 'http://cdn.aodiansoft.com',
DEF_S_AODIANYUN: 'https://cdn.aodiansoft.com',
HTTPS_PORT: '',
HTTP_PORT: '',
X_CA_STAGE: '',
private: true,
sentryOptions: {},
uploaderName: 'huaweicloud',
uploaderOptions: {
accessKeyId: 'GOQ82NEHQYDQCHMW5GZT',
accessKeySecret: 'lX5c2fYf4hxXhKsEczdfVR9ZRi6Y2LtZ0pTq7v3p',
endpoint: 'obs.dualstack.cn-north-4.myhuaweicloud.com',
cname: 'false',
bucket: 'g-gallery',
multiFiles: true
},
DEF_SITE: '//web.aodiansoft.com',
};
\ No newline at end of file
FROM alpine AS builder
WORKDIR /home/app
RUN apk add --no-cache --update nodejs yarn
COPY package.json yarn.lock ./
RUN yarn install --registry=https://registry.yarnpkg.com
FROM registry.cn-hangzhou.aliyuncs.com/open_images/node12.13.1-pm2
ADD ./ /var/www/web_live
ENV HOST 0.0.0.0
ENV TZ Asia/Shanghai
WORKDIR /var/www/web_live
COPY --from=builder /home/app/package.json ./package.json
COPY --from=builder /home/app/node_modules ./node_modules
RUN yarn build:huawei
RUN rm -rf assets components layouts middleware pages plugins store .eslintrc.js .gitignore build.yml Dockerfile README.md start.sh
EXPOSE 33000
RUN chmod +x huaweiStart.sh
ENTRYPOINT ["./huaweiStart.sh"]
#!/bin/sh
yarn run pm2:huawei
while true
do
sleep 5;
done
\ No newline at end of file
......@@ -74,7 +74,10 @@ export default {
{ src: `${DEF_S_AODIANYUN}/dms/rop_client.js` },
{ src: '//res.wx.qq.com/open/js/jweixin-1.0.0.js' },
{ src: `${DEF_OSS}/static/js/web-animations.min.js` },
{ src: `${DEF_OSS}/static/js/sdk.min.js` }
{ src: `${DEF_OSS}/static/js/sdk.min.js` },
{ src: `${DEF_OSS}/static/js/pixi.js` },
{ src: `${DEF_OSS}/static/js/p2.js` },
{ src: `${DEF_OSS}/static/js/phaser-split.js` }
]
},
serverMiddleware: ['@/serverMiddleware/router'],
......
{
"name": "ssr-program-live",
"version": "1.1.0",
"version": "1.2.0",
"description": "My superb Nuxt.js project",
"author": "1006903445@qq.com",
"private": true,
......@@ -9,24 +9,28 @@
"serve:cm": "cross-env mode=cm.private nuxt",
"serve:vvku": "cross-env mode=vvku.private nuxt",
"serve:cbn": "cross-env mode=cbn.private nuxt",
"serve:huawei": "cross-env mode=huawei.private nuxt",
"serve:pre": "cross-env mode=pre nuxt",
"serve:test": "cross-env mode=test nuxt",
"build": "nuxt build",
"build:cm": "cross-env mode=cm.private nuxt build",
"build:vvku": "cross-env mode=vvku.private nuxt build",
"build:cbn": "cross-env mode=cbn.private nuxt build",
"build:huawei": "cross-env mode=huawei.private nuxt build",
"build:pre": "cross-env mode=pre nuxt build",
"build:test": "cross-env mode=test nuxt build",
"start": "nuxt start",
"start:vvku": "cross-env mode=vvku.private nuxt start",
"start:cm": "cross-env mode=cm.private nuxt start",
"start:cbn": "cross-env mode=cbn.private nuxt start",
"start:huawei": "cross-env mode=huawei.private nuxt start",
"start:pre": "cross-env mode=pre nuxt start",
"start:test": "cross-env mode=test nuxt start",
"pm2": "pm2 start pm2.json --only live",
"pm2:cm": "pm2 start pm2.json --only live-cm",
"pm2:vvku": "pm2 start pm2.json --only live-vvku",
"pm2:cbn": "pm2 start pm2.json --only live-cbn",
"pm2:huawei": "pm2 start pm2.json --only live-huawei",
"pm2:pre": "pm2 start pm2.json --only live-pre",
"pm2:test": "pm2 start pm2.json --only live-test",
"generate": "nuxt generate",
......@@ -35,7 +39,7 @@
},
"dependencies": {
"@gdyfe/ink-marks": "^1.1.4",
"@gdyfe/uploader": "^2.2.2",
"@gdyfe/uploader": "^2.3.6",
"@nuxtjs/axios": "^5.3.6",
"@nuxtjs/component-cache": "^1.1.5",
"@nuxtjs/google-gtag": "^1.0.4",
......@@ -47,6 +51,7 @@
"clipboard": "^2.0.6",
"cookieparser": "^0.1.0",
"cross-env": "^6.0.3",
"crypto-js": "^4.0.0",
"dplayer": "^1.26.0",
"fastclick": "^1.0.6",
"hls.js": "^0.14.16",
......
import request from './request';
let api = {
getSpecialRedList: '/Program/Redpacket/getSpecialRedList', // 获取 分享,商家,竞答红包
RainRedpacketInfo: '/Program/Redpacket/RainRedpacketInfo', // 获取 红包雨信息
robRedpacket: '/Program/Redpacket/robRedpacket', // 获取红包详情
openRedpacket: '/Program/Redpacket/openRedpacket', // 打开 普通,口令红包
redpacketDetail: '/Program/Redpacket/redpacketDetail', // 获取手气信息
......@@ -8,7 +9,9 @@ let api = {
submitAnswerQuestion: '/Program/Redpacket/submitAnswerQuestion', // 答题
userReviveCard: '/Program/Redpacket/userReviveCard', // 使用复活卡
openAnswerRedpacket: '/Program/Redpacket/openAnswerRedpacket', // 打开竞答红包
openBusinessRedpacket: '/Program/Redpacket/openBusinessRedpacket' // 打开商家红包
openBusinessRedpacket: '/Program/Redpacket/openBusinessRedpacket', // 打开商家红包
openRedRainpacket: '/Program/Redpacket/CheckRedpacket', // 打开红包雨
checkRainIsOpen: '/Program/Redpacket/checkRainIsOpen' // 是否抢过红包雨
};
const prodApi = {
getSpecialRedList:
......@@ -101,6 +104,15 @@ export const openAnswerRedpacket = data => {
export const openBusinessRedpacket = data => {
return request.post(api['openBusinessRedpacket'], data);
};
export const openRedRainpacket = data => {
return request.post(api['openRedRainpacket'], data);
};
export const RainRedpacketInfo = data => {
return request.post(api['RainRedpacketInfo'], data);
};
export const checkRainIsOpen = data => {
return request.post(api['checkRainIsOpen'], data);
};
export default {
getSpecialRedList,
robRedpacket,
......@@ -110,5 +122,8 @@ export default {
submitAnswerQuestion,
userReviveCard,
openAnswerRedpacket,
openBusinessRedpacket
openBusinessRedpacket,
openRedRainpacket,
RainRedpacketInfo,
checkRainIsOpen,
};
......@@ -133,6 +133,7 @@ const mixin = {
});
},
_dmsChat(data) {
console.log(data)
if (data.cmd === 'watchCode') {
const tokenKey = `white-${this.type}-${this.channelInfo.id}`;
if (data.clearAll === 1) {
......@@ -171,6 +172,18 @@ const mixin = {
});
return false;
}
if (Number(data.msgType) === 15 && data.redpacketId) {
this.$Bus.$emit('bus-addRain', {
id: data.redpacketId,
isRob: 2
});
this.$Bus.$emit('bus-showRainStart');
return false;
}
if (Number(data.msgType) === 16 && data.redpacketId) {
this.$Bus.$emit('bus-delRain');
return false;
}
if (Number(data.msgType) === 2 || Number(data.msgType) === 14) {
this.$Bus.$emit('bus-giftRoll', data);
}
......
import Vue from 'vue';
import '@/assets/css/transition.css';
import '@/assets/css/font.css';
import '@/plugins/Filters/index';
......
......@@ -76,6 +76,21 @@
"out_file": "./logs/app-out.log"
},
{
"name": "live-huawei",
"script": "npm",
"args": "run start:huawei",
"instances": "max",
"exec_mode": "cluster",
"autorestart": true,
"max_memory_restart": "8G",
"env": {
"port": 33000,
"NODE_ENV": "production"
},
"error_file": "./logs/app-err.log",
"out_file": "./logs/app-out.log"
},
{
"name": "live",
"script": "npm",
"args": "run start",
......
......@@ -2135,17 +2135,21 @@
dayjs "^1.8.34"
pako "^1.0.11"
"@gdyfe/uploader@^2.2.2":
version "2.2.2"
resolved "https://registry.yarnpkg.com/@gdyfe/uploader/-/uploader-2.2.2.tgz#92222c2746bdddc86efc7e72e34bbef18e378590"
integrity sha512-PUzGOTRADaVSP0h0hu7/aFjcnWusdpJEuuKOFLpj2yCNjgADAwox7DJBirlT8fcbFZECTyz4kX/rmHabluBbfg==
"@gdyfe/uploader@^2.3.6":
version "2.3.6"
resolved "https://registry.yarnpkg.com/@gdyfe/uploader/-/uploader-2.3.6.tgz#0117dcaa1c8bde3b08c82b8a5abf37d28a87772c"
integrity sha512-1SfWou+vFstnvBnmnXMw8FfVB/tNYUvnqQdYcDt+SR+t1NoykIX+AoxigY0YehqhOWxBGoA/FNQheO6x8zZxag==
dependencies:
ali-oss "^6.11.1"
aws-amplify "^3.3.7"
aws-sdk "^2.762.0"
axios "^0.21.1"
blueimp-md5 "^2.18.0"
cos-js-sdk-v5 "^1.1.5"
dayjs "^1.9.1"
esdk-obs-nodejs "^3.20.11"
object-hash "^2.0.3"
urijs "^1.19.5"
"@nodelib/fs.scandir@2.1.3":
version "2.1.3"
......@@ -3472,6 +3476,13 @@ axios@^0.20.0:
dependencies:
follow-redirects "^1.10.0"
axios@^0.21.1:
version "0.21.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
dependencies:
follow-redirects "^1.10.0"
babel-eslint@^10.0.3:
version "10.1.0"
resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
......@@ -3567,6 +3578,11 @@ bluebird@^3.1.1, bluebird@^3.5.5:
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
blueimp-md5@^2.18.0:
version "2.18.0"
resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.18.0.tgz#1152be1335f0c6b3911ed9e36db54f3e6ac52935"
integrity sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0:
version "4.11.9"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
......@@ -4679,6 +4695,16 @@ data-uri-to-buffer@1:
resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-1.2.0.tgz#77163ea9c20d8641b4707e8f18abdf9a78f34835"
integrity sha512-vKQ9DTQPN1FLYiiEEOQ6IBGFqvjCa5rSK3cWMy/Nespm5d/x3dGFT9UBZnkLxCwua/IXBi2TYnwTEpsOvhC4UQ==
date-format@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/date-format/-/date-format-2.1.0.tgz#31d5b5ea211cf5fd764cd38baf9d033df7e125cf"
integrity sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==
date-format@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/date-format/-/date-format-3.0.0.tgz#eb8780365c7d2b1511078fb491e6479780f3ad95"
integrity sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==
dateformat@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062"
......@@ -5231,6 +5257,14 @@ escodegen@1.x.x:
optionalDependencies:
source-map "~0.6.1"
esdk-obs-nodejs@^3.20.11:
version "3.20.11"
resolved "https://registry.yarnpkg.com/esdk-obs-nodejs/-/esdk-obs-nodejs-3.20.11.tgz#fdb32eceedeaa13fb12e098272083cc8ce8c22c1"
integrity sha512-pFdlFIV24yLXYwIg6UZz/xFHom5bTF+D5yyJHxngoP4o6KfxVIid3BTMPLh6MVTpSLBgiTwiGKfvvAJavH240g==
dependencies:
log4js "^6.3.0"
xml2js "^0.4.23"
eslint-config-standard@^14.1.0:
version "14.1.1"
resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-14.1.1.tgz#830a8e44e7aef7de67464979ad06b406026c56ea"
......@@ -5778,7 +5812,7 @@ flat@^5.0.0:
resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241"
integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
flatted@^2.0.0:
flatted@^2.0.0, flatted@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
......@@ -7221,6 +7255,17 @@ lodash@^4.15.0, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
log4js@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.3.0.tgz#10dfafbb434351a3e30277a00b9879446f715bcb"
integrity sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==
dependencies:
date-format "^3.0.0"
debug "^4.1.1"
flatted "^2.0.1"
rfdc "^1.1.4"
streamroller "^2.2.4"
lolex@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz#ddbd7f6213ca1ea5826901ab1222b65d714b3cd7"
......@@ -9512,6 +9557,11 @@ rewrite-imports@^2.0.3:
resolved "https://registry.yarnpkg.com/rewrite-imports/-/rewrite-imports-2.0.3.tgz#210fc05ebda6a6c6a2e396608b0146003d510dda"
integrity sha512-R7ICJEeP3y+d/q4C8YEJj9nRP0JyiSqG07uc0oQh8JvAe706dDFVL95GBZYCjADqmhArZWWjfM/5EcmVu4/B+g==
rfdc@^1.1.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.2.0.tgz#9e9894258f48f284b43c3143c68070a4f373b949"
integrity sha512-ijLyszTMmUrXvjSooucVQwimGUk84eRcmCuLV8Xghe3UO85mjUtRAHRyoMM6XtyqbECaXuBWx18La3523sXINA==
rgb-regex@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
......@@ -10073,6 +10123,15 @@ stream-wormhole@^1.0.4:
resolved "https://registry.yarnpkg.com/stream-wormhole/-/stream-wormhole-1.1.0.tgz#300aff46ced553cfec642a05251885417693c33d"
integrity sha512-gHFfL3px0Kctd6Po0M8TzEvt3De/xu6cnRrjlfYNhwbhLPLwigI2t1nc6jrzNuaYg5C4YF78PPFuQPzRiqn9ew==
streamroller@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-2.2.4.tgz#c198ced42db94086a6193608187ce80a5f2b0e53"
integrity sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==
dependencies:
date-format "^2.1.0"
debug "^4.1.1"
fs-extra "^8.1.0"
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
......@@ -10647,6 +10706,11 @@ uri-js@^4.2.2:
dependencies:
punycode "^2.1.0"
urijs@^1.19.5:
version "1.19.5"
resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.5.tgz#119683ab4b2fb0bd637e5ea6dd9117bcac68d3e4"
integrity sha512-48z9VGWwdCV5KfizHsE05DWS5fhK6gFlx5MjO7xu0Krc5FGPWzjlXEVV0nPMrdVuP7xmMHiPZ2HoYZwKOFTZOg==
urix@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
......@@ -11203,7 +11267,7 @@ xml2js@0.4.19:
sax ">=0.6.0"
xmlbuilder "~9.0.1"
xml2js@^0.4.16:
xml2js@^0.4.16, xml2js@^0.4.23:
version "0.4.23"
resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
......
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 sign in to comment