congzc пре 1 година
родитељ
комит
700a28e1e8
16 измењених фајлова са 32200 додато и 62 уклоњено
  1. +9
    -3
      .env
  2. +4
    -3
      .env.development
  3. +3
    -3
      .env.production
  4. +31733
    -0
      package-lock.json
  5. +3
    -3
      package.json
  6. BIN
      src/assets/icon/icon-plus.png
  7. +348
    -0
      src/components/CutImg copy.vue
  8. +21
    -7
      src/components/CutImg.vue
  9. +6
    -2
      src/components/editPosition.vue
  10. +1
    -0
      src/main.js
  11. +13
    -0
      src/styles/index.scss
  12. +1
    -0
      src/views/login/login.vue
  13. +6
    -3
      src/views/model/editModel.vue
  14. +20
    -7
      src/views/myPage/myPage.vue
  15. +4
    -3
      vue.config.js
  16. +28
    -28
      yarn.lock

+ 9
- 3
.env Прегледај датотеку

@@ -3,9 +3,9 @@
# VUE_APP_API_ROOT_USER=https://smapitest.malls.iformall.com/C

# 开发
NODE_ENV=development
VUE_APP_ENV=development
VUE_APP_API_ROOT=https://mtest.metavatar.cc/C
# NODE_ENV=development
# VUE_APP_ENV=development
# VUE_APP_API_ROOT=https://mtest.metavatar.cc/C
# VUE_APP_API_ROOT=https://smapitest.malls.iformall.com/C 已废弃


@@ -15,3 +15,9 @@ VUE_APP_API_ROOT=https://mtest.metavatar.cc/C
# VUE_APP_ENV=production
# VUE_APP_API_ROOT=http://m.metavatar.cc/C



# .env 无论开发环境还是生成环境都会加载
# .env.development 开发环境加载这个文件
# .env.production 生成环境加载这个文件


+ 4
- 3
.env.development Прегледај датотеку

@@ -1,4 +1,5 @@

# NODE_ENV=development
# VUE_APP_ENV=development
# VUE_APP_API_ROOT=https://smapitest.malls.iformall.com/C
NODE_ENV=development
VUE_APP_ENV=development
VUE_APP_API_ROOT=https://mtest.metavatar.cc/C


+ 3
- 3
.env.production Прегледај датотеку

@@ -1,4 +1,4 @@

# NODE_ENV=production
# VUE_APP_ENV=production
# VUE_APP_API_ROOT=http://m.metavatar.cc/C
NODE_ENV=production
VUE_APP_ENV=production
VUE_APP_API_ROOT=http://m.metavatar.cc/C

+ 31733
- 0
package-lock.json
Разлика између датотеке није приказан због своје велике величине
Прегледај датотеку


+ 3
- 3
package.json Прегледај датотеку

@@ -3,8 +3,8 @@
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build"
"dev": "vue-cli-service serve --mode development",
"build": "vue-cli-service build --mode production"
},
"dependencies": {
"axios": "0.18.1",
@@ -36,4 +36,4 @@
"uglifyjs-webpack-plugin": "^2.2.0",
"vue-template-compiler": "^2.6.11"
}
}
}

BIN
src/assets/icon/icon-plus.png Прегледај датотеку

Before After
Width: 200  |  Height: 200  |  Size: 2.9 KiB

+ 348
- 0
src/components/CutImg copy.vue Прегледај датотеку

@@ -0,0 +1,348 @@
<template>
<div class="uploder">
<div class="change-photo-setter" style="height: 240px; width: 160px">
<van-uploader ref="uploader" class="sett-item" :before-read="beforeRead" style="height: 240px; width: 160px">
<div style="height: 240px; width: 160px">
<!-- <img :src="ImgUrl" alt="" /> -->
</div>
</van-uploader>
</div>
<div class="uploadava">
<!-- van-popup有bug,某些1情况需要绑定app为根 -->
<van-popup :get-container="this.isAndroid ? '' : '#app'" class="vanPopup" duration="0" v-model="showCropper" position="top" :style="{ height: '100%' }">
<div class="cropper-container" :style="{ height: '94vh' }">
<van-loading v-show="loadingShow" size="50" color="#fff" vertical text-color="#fff">上传中...</van-loading>
<!-- 切图组件 -->
<vueCropper
style="background-image: none"
ref="cropper"
:img="option.img"
:outputSize="option.outputSize"
:outputType="option.outputType"
:info="option.info"
:full="option.full"
:autoCropWidth="option.autoCropWidth"
:autoCropHeight="option.autoCropHeight"
:canMove="option.canMove"
:canMoveBox="option.canMoveBox"
:original="option.original"
:autoCrop="option.autoCrop"
:fixed="option.fixed"
:fixedNumber="option.fixedNumber"
:centerBox="option.centerBox"
:infoTrue="option.infoTrue"
:fixedBox="option.fixedBox"
:high="option.high"
:mode="option.mode" />
<!-- <div style="display: flex; justify-content: space-between; padding: 10px; height: 8vh">
<div @click="onClickLeft">取消</div>
<div @click="onClickRight">确定</div>
</div> -->
<van-nav-bar left-text="取消" right-text="确定" @click-left="onClickLeft" @click-right="onClickRight" />
</div>
</van-popup>
</div>
</div>
</template>

<script>
import { awsImgUpload } from '@/api/editModel';
import { Toast } from 'vant';
import { VueCropper } from 'vue-cropper';
import { scrollToID, getDeviceType } from '../utils';
import { saveImgApi } from '../api/editModel';
import { watch } from 'vue';
export default {
name: 'uploadAva',
components: {
VueCropper
},
props: {
showAta: {
default: false,
type: Boolean
},
avaUrl: {
default: '',
type: String
},
type: {
default: '',
type: Number
},
videoType: {
default: null,
type: Number
}
},
data() {
return {
isAndroid: false, //判断是不是ios
aaa: null,
ImgUrl: '',
show: true, // 上传类型的弹窗
imageFileName: '',
showCropper: false, // 裁剪的弹窗
option: {
img: '',
outputSize: 0.8,
info: false, // 裁剪框的大小信息
// outputType: 'jpeg', // 裁剪生成图片的格式
outputType: 'png', // 裁剪生成图片的格式
canScale: true, // 图片是否允许滚轮缩放
autoCrop: true, // 是否默认生成截图框
autoCropWidth: window.innerWidth - 100 + 'px', // 默认生成截图框宽度
autoCropHeight: window.innerWidth - 100 + 'px', // 默认生成截图框高度
high: true, // 是否按照设备的dpr 输出等比例图片
fixedBox: false, // 固定截图框大小 不允许改变
fixed: false, // 是否开启截图框宽高固定比例
// fixedNumber: [1, 1], // 截图框的宽高比例
full: true, // 是否输出原图比例的截图
canMoveBox: true, // 截图框能否拖动
original: false, // 上传图片按照原始比例渲染
centerBox: true, // 截图框是否被限制在图片里面
infoTrue: false, // true 为展示真实输出图片宽高 false 展示看到的截图框宽高
mode: '100% auto' // 图片默认渲染方式
},
loadingShow: false // 是否展示loading
};
},
created() {
const deviceType = getDeviceType();
this.isAndroid = false;
if (!deviceType) {
// 设备类型为pc
this.isAndroid = false;
} else {
if (deviceType[0] == 'Android') {
// 设备类型为安卓
this.isAndroid = true;
} else {
// 其他设备
this.isAndroid = false;
}
}
if (this.type == 4 && this.videoType == 1) {
this.option.autoCropWidth = 1080 + 'px'; // 默认生成截图框宽度
this.option.autoCropHeight = 1920 + 'px'; // 默认生成截图框高度
this.option.fixed = true;
this.option.fixedNumber = [1080, 1920];
}
if (this.type == 4 && this.videoType == 2) {
this.option.autoCropWidth = 1920 + 'px'; // 默认生成截图框宽度
this.option.autoCropHeight = 1080 + 'px'; // 默认生成截图框高度
this.option.fixed = true;
this.option.fixedNumber = [1920, 1080];
}
},
methods: {
beforeRead(file) {
// console.log(file)
if (file.type !== 'image/jpeg' && file.type !== 'image/png') {
this.$toast('请上传 jpg/png 格式图片');
return false;
}
let data = window.URL.createObjectURL(new Blob([file]));
this.option.img = data; //给裁剪图片的路径
this.showCropper = true;
return false;
},
// 点击裁剪的选择
onClickRight() {
let that = this;
this.loadingShow = true;
console.log(this.$refs.cropper);
this.$refs.cropper.getCropBlob(async data => {
console.log(data, '图片数据');
let formData = new FormData();
formData.append('file', data);
let file = formData.get('file');
// 转为 base64
// let reader = new FileReader();
// const base64Data = await new Promise((resolve, reject) => {
// reader.onload = () => {
// resolve(reader.result);
// };
// reader.readAsDataURL(file);
// });
// let imgBinary = await that.base64ToBinary(base64Data.substring(23));
// // base64结果
// that.ImgUrl = base64Data;
that.loading = false;
// console.log(that.ImgUrl, 'dasdasd')
// 发请求
const AccessToken = localStorage.getItem('AccessToken');
that
.$axios({
method: 'post',
// url: `https://smapitest.malls.iformall.com/C/api/upload/awsImgUpload`,
// url: `http://m.metavatar.cc/C/api/upload/awsImgUpload`,
url: process.env.VUE_APP_API_ROOT + `/api/upload/awsImgUpload`,
headers: {
'content-type': 'multipart/form-data',
token: AccessToken,
'Access-Control-Allow-Credentials': true
},
data: formData
})
.then(async res => {
// console.log(res.data.data.url)
const res1 = await saveImgApi({
type: that.type,
videoType: that.videoType,
material: res.data.data.url
});
// 重新获取列表
await that.$parent.$parent.getMyBGIListApi();
await that.$parent.$parent.getMyScListApi();
if (this.type == 4) {
that.$parent.$parent.changeShowBGIList(1);
}
if (this.type == 5) {
that.$parent.$parent.changeShowBGIList(3);
}
that.loadingShow = false;
that.showCropper = false;
Toast.success('上传成功');
});
});
},

// 点击取消
onClickLeft() {
this.loadingShow = false;
this.showCropper = false;
this.$parent.showPhotoUploader = false;
},
// 上传图片
async pushImg(data) {
try {
const res = await awsImgUpload(data);
this.loadingShow = false;
this.showCropper = false;
Toast.success('上传成功');
} catch (error) {
console.log(error, 'error');
Toast.fail(error.message);
}
},
//图片转base64,异步
toBase64(file) {
let that = this;
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onload = () => {
// base64结果
that.ImgUrl = this.result;
that.loading = false;
};
reader.onerror = reject;
reader.readAsDataURL(file);
});
},
// base64 转二进制
base64ToBinary(base64) {
const binaryStr = window.atob(base64);
const len = binaryStr.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; ++i) {
bytes[i] = binaryStr.charCodeAt(i);
}
return bytes;
}
},
mounted() {}
};
</script>

<style lang="scss" scoped>
// /deep/.cropper-container {
// z-index: 2005 !important;
// }
// .uploder{
// overflow: hidden;
// }
/deep/.cropper-view-box {
outline: 2px dashed #fff !important;
}
/deep/.crop-point {
background-color: auto !important;
}

/deep/.van-loading {
position: absolute;
// color: red;
z-index: 9999;
left: 50%;
top: 50%;
margin-left: -55px;
margin-top: -30px;
background: rgba(0, 0, 0, 0.3);
padding: 10px 30px;
border-radius: 25px;
}

.uploadava {
// width: 100%;
// width: 100vw;
height: 94vh;
.update-avatar {
height: 100%;
text-align: center;
.update-avatar-line {
width: 100%;
height: 1px;
background-color: #979797;
}
.avatar-select-type {
background-color: #fff;
width: 346px;
border-radius: 12px;
padding-bottom: 4px;
.upload-avator {
padding: 14px;
}
}
p {
margin: 15px 0 30px;
background-color: #fff;
width: 346px;
border-radius: 12px;
padding: 15px 0 18px;
}
}
.cropper-container {
position: relative;
width: 100%;
height: 94vh;
// height: 100%;
/deep/ .van-nav-bar {
position: absolute;
z-index: 999;
width: 100%;
bottom: 0px;
left: 0px;
height: 6vh;
background-color: rgba(0, 0, 0, 0.87);
:global(.van-nav-bar__text) {
color: #000;
// font-size: $font-size-normal-x;
}
:global(.van-nav-bar__text:nth-child(2)) {
color: #000;
font-weight: 500;
}
// :global(.van-icon) {
// color: red;
// }
}
}
.vue-cropper {
background: #000;
width: 100%;
height: 88vh;
padding-top: 46px;
box-sizing: border-box;
}
}
</style>

+ 21
- 7
src/components/CutImg.vue Прегледај датотеку

@@ -10,11 +10,12 @@
<div class="uploadava">
<!-- van-popup有bug,某些1情况需要绑定app为根 -->
<van-popup :get-container="this.isAndroid ? '' : '#app'" class="vanPopup" duration="0" v-model="showCropper" position="top" :style="{ height: '100%' }">
<div class="cropper-container" :style="{ height: '94vh' }">
<div class="cropper-container" :style="{ height: '92vh', position: 'relative' }">
<van-loading v-show="loadingShow" size="50" color="#fff" vertical text-color="#fff">上传中...</van-loading>
<!-- 切图组件 -->
<!-- :outputSize="option.outputSize" -->
<vueCropper
style="background-image: none"
:style="{ backgroundImage: 'none', height: '92vh' }"
ref="cropper"
:img="option.img"
:outputSize="option.outputSize"
@@ -38,7 +39,7 @@
<div @click="onClickLeft">取消</div>
<div @click="onClickRight">确定</div>
</div> -->
<van-nav-bar left-text="取消" right-text="确定" @click-left="onClickLeft" @click-right="onClickRight" />
<van-nav-bar :style="{ height: '8vh', width: '100%', position: 'absolute' }" left-text="取消" right-text="确定" @click-left="onClickLeft" @click-right="onClickRight" />
</div>
</van-popup>
</div>
@@ -85,7 +86,7 @@ export default {
showCropper: false, // 裁剪的弹窗
option: {
img: '',
outputSize: 0.8,
outputSize: 0.01, //图片质量
info: false, // 裁剪框的大小信息
// outputType: 'jpeg', // 裁剪生成图片的格式
outputType: 'png', // 裁剪生成图片的格式
@@ -149,13 +150,18 @@ export default {
},
// 点击裁剪的选择
onClickRight() {
const timestamp = Date.now();
let that = this;
this.loadingShow = true;
console.log(this.$refs.cropper);
// console.log(this.$refs.cropper);
this.$refs.cropper.getCropData(data => {
// do something
// console.log(data, 'base64');
});
this.$refs.cropper.getCropBlob(async data => {
console.log(data, '图片数据');
console.log(data, '上传图片数据');
let formData = new FormData();
formData.append('file', data);
formData.append('file', data, timestamp + '.png');
let file = formData.get('file');
// 转为 base64
// let reader = new FileReader();
@@ -262,6 +268,14 @@ export default {
// .uploder{
// overflow: hidden;
// }

/deep/.van-nav-bar__content {
height: 8vh;
background-color: #ccc;
}
/deep/.van-hairline--bottom::after {
// height: 8vh;
}
/deep/.cropper-view-box {
outline: 2px dashed #fff !important;
}


+ 6
- 2
src/components/editPosition.vue Прегледај датотеку

@@ -1,6 +1,7 @@
<template>
<div v-if="proportion" :class="inPage ? 'page active' : 'page'" id="pageBody" @touchstart="globalClick">
<div class="content" :style="bgStyle" ref="fatherBox">
<div ref="fatherBox1" v-if="proportion" :class="inPage ? 'page active' : 'page'" id="pageBody" @touchstart="globalClick">
<div class="content" id="content" :style="bgStyle" ref="fatherBox">
<!-- <img style="width: 100px; height: 100px" :src="newImg" alt="" /> -->
<!-- 控制框 -->
<!-- <div class="control">
<div @click="controlImg(1)">放大</div>
@@ -96,6 +97,7 @@ export default {
},
data() {
return {
newImg: false,
inPage: false,
dragging: false,
proportionSon: null,
@@ -133,6 +135,7 @@ export default {

methods: {
...mapActions(['setCharacters']),

// 组件
globalClick(e) {
console.log(e.target.id);
@@ -224,6 +227,7 @@ export default {
// 数字人的处理
// 鼠标按下事件
virtualTouchStart() {
this.generateImage();
this.domIndex = -2;
this.isFcous = true;
this.dragging = true;


+ 1
- 0
src/main.js Прегледај датотеку

@@ -28,3 +28,4 @@ new Vue({
render: function (h) { return h(App) }
}).$mount('#app')



+ 13
- 0
src/styles/index.scss Прегледај датотеку

@@ -53,6 +53,10 @@ p {
transform: translate(-50%, -50%);
}

.van-toast {
// font-size: 12px !important;
width: 70% !important;
}
// 字体导入
@font-face {
font-family: "ALi Regular";
@@ -76,3 +80,12 @@ p {
font-family: "ALi Regular","Heiti", "Simsun", "Helvetica Neue", Helvetica, Arial, sans-serif;
}


// @media screen and (max-width: 280px) {
// /* 根据实际情况修改字体大小和元素宽度 */
// html {
// -webkit-text-size-adjust: none !important;
// font-size: 8px;
// }
// }


+ 1
- 0
src/views/login/login.vue Прегледај датотеку

@@ -416,6 +416,7 @@ export default {
try {
const res = await doRegisterByPhone(data);
console.log(res);
Toast.success('注册成功!');
this.loginType = 1;
} catch (error) {
console.log(error, 'error');


+ 6
- 3
src/views/model/editModel.vue Прегледај датотеку

@@ -442,7 +442,8 @@ export default {
clickBottomTab(index) {
if (index == 1) {
if (this.textareaContent == 0) {
Toast.fail('输入文案后才可以选择声音哦~~');
// Toast.fail('输入文案后才可以选择声音哦~~');
Toast('输入文案后才可以选择声音哦~~');
return;
}
this.showSoundList2 = false;
@@ -577,12 +578,14 @@ export default {
forbidClick: true
});
if (!this.textareaContent) {
Toast.fail('请输入文案内容!');
// Toast.fail('请输入文案内容!');
Toast('请输入文案内容!');
return;
}
// 当没有选择声音参数时
if (!this.soundChoose.id) {
Toast.fail('请选择声音!');
// Toast.fail('请选择声音!');
Toast('请选择声音!');
return;
}
// 当没有选择声音参数时


+ 20
- 7
src/views/myPage/myPage.vue Прегледај датотеку

@@ -26,7 +26,7 @@
<!-- 具体内容 -->
<div v-show="!showLoading">
<!-- 列表样式--大图 -->
<div v-if="videoList.length == 0">暂无数据</div>
<div v-if="videoList.length == 0" style="height: 550px">暂无数据</div>
<!-- 新 修改v-if-->
<div v-if="waterfallBug">
<waterfall v-if="videoList.length != 0" v-show="listActive == 1" class="waterFall" :col="2" :data="videoList">
@@ -104,7 +104,8 @@
<!-- 创建新作品 -->
<!-- <div class="goAdd" @click="checkInviteCode">+ 创作新作品</div> -->
<div class="goNewAdd" @click="checkInviteCode">
<i class="el-icon-plus"></i>
<img src="../../assets/icon/icon-plus.png" alt="" />
<!-- <i class="el-icon-plus"></i> -->
</div>

<div class="messageCover" :class="isShowMessageCover ? 'active' : ''" @click="exitCover">
@@ -210,7 +211,7 @@ export default {
if (seconds) {
return formatSeconds(seconds);
} else {
return '';
return '暂未获取';
}
},

@@ -219,7 +220,7 @@ export default {
if (bytes) {
return bytesToSize(bytes);
} else {
return '';
return '暂未获取';
}
},

@@ -361,6 +362,10 @@ export default {
mounted() {
this.inPage = true;
scrollToID('top');

console.log(process.env.NODE_ENV);
console.log(process.env.VUE_APP_ENV);
console.log(process.env.VUE_APP_API_ROOT);
},

async created() {
@@ -383,6 +388,7 @@ export default {
}
.page {
// transform: translateX(30%);
min-height: 100vh;
opacity: 0;
transition: all 0.5s; // global-transition
padding-bottom: 25px;
@@ -590,12 +596,19 @@ export default {
width: 60px;
height: 60px;
border-radius: 50%;
font-size: 40px;
line-height: 60px;
text-align: center;
// font-size: 40px;
// line-height: 60px;
// text-align: center;
color: #ffffff;
background: linear-gradient(316deg, #6ee4d7 0%, #37c4f1 32%, #a49afc 100%);
box-shadow: 0px 2px 6px 0px rgba(114, 100, 245, 0.25);
display: flex;
justify-content: space-around;
align-items: center;
img {
width: 60%;
height: 60%;
}
}
.messageCover {
position: fixed;


+ 4
- 3
vue.config.js Прегледај датотеку

@@ -1,6 +1,7 @@
// const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
const path = require('path');


let externals = {}
let cdn = { css: [], js: [] }
const isProduction = process.env.VUE_APP_ENV == 'production' // 判断是否是生产环境
@@ -27,15 +28,15 @@ if (isProduction) {
}
}


module.exports = {
configureWebpack: {
configureWebpack: {
resolve: {
alias: {
'@': path.resolve(__dirname, 'src')
}
},
externals
externals,
},
css: {
loaderOptions: {


+ 28
- 28
yarn.lock Прегледај датотеку

@@ -316,13 +316,13 @@
resolved "https://registry.npmmirror.com/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz#eade9fd1f537993bc1f0949f3aea276ecc4fab31"
integrity sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==

"@tufjs/models@1.0.2":
version "1.0.2"
resolved "https://registry.npmmirror.com/@tufjs/models/-/models-1.0.2.tgz#6c1e99210ada62c057b1742b5528d85acbfe0a47"
integrity sha512-uxarDtxTIK3f8hJS4yFhW/lvTa3tsiQU5iDCRut+NCnOXvNtEul0Ct58NIIcIx9Rkt7OFEK31Ndpqsd663nsew==
"@tufjs/models@1.0.3":
version "1.0.3"
resolved "https://registry.npmmirror.com/@tufjs/models/-/models-1.0.3.tgz#e6cb8a86834da7459a7c836cd892dee56b4bab44"
integrity sha512-mkFEqqRisi13DmR5pX4x+Zk97EiU8djTtpNW1GeuX410y/raAsq/T3ZCjwoRIZ8/cIBfW0olK/sywlAiWevDVw==
dependencies:
"@tufjs/canonical-json" "1.0.0"
minimatch "^8.0.3"
minimatch "^7.4.6"

"@types/body-parser@*":
version "1.19.2"
@@ -3239,7 +3239,7 @@ file-loader@^4.2.0:

file-saver@^2.0.5:
version "2.0.5"
resolved "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38"
resolved "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz"
integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==

file-uri-to-path@1.0.0:
@@ -5179,9 +5179,9 @@ lru-cache@^7.4.4, lru-cache@^7.5.1, lru-cache@^7.7.1:
integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==

lru-cache@^9.0.0:
version "9.0.3"
resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-9.0.3.tgz#8a04f282df5320227bb7215c55df2660d3e4e25b"
integrity sha512-cyjNRew29d4kbgnz1sjDqxg7qg8NW4s+HQzCGjeon7DV5T2yDije16W9HaUFV1dhVEMh+SjrOcK0TomBmf3Egg==
version "9.1.1"
resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-9.1.1.tgz#c58a93de58630b688de39ad04ef02ef26f1902f1"
integrity sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==

make-dir@^2.0.0:
version "2.1.0"
@@ -5468,14 +5468,14 @@ minimatch@^6.1.6, minimatch@^6.2.0:
dependencies:
brace-expansion "^2.0.1"

minimatch@^7.4.2:
minimatch@^7.4.2, minimatch@^7.4.6:
version "7.4.6"
resolved "https://registry.npmmirror.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb"
integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==
dependencies:
brace-expansion "^2.0.1"

minimatch@^8.0.2, minimatch@^8.0.3:
minimatch@^8.0.2:
version "8.0.4"
resolved "https://registry.npmmirror.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229"
integrity sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==
@@ -5694,10 +5694,10 @@ nan@^2.12.1, nan@^2.13.2:
resolved "https://registry.npmmirror.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb"
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==

nanoid@^3.3.4:
version "3.3.4"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz"
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
nanoid@^3.3.6:
version "3.3.6"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz"
integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==

nanomatch@^1.2.9:
version "1.2.13"
@@ -6970,11 +6970,11 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3
source-map "^0.6.1"

postcss@^8.4.14:
version "8.4.21"
resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.21.tgz"
integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
version "8.4.23"
resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.23.tgz"
integrity sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==
dependencies:
nanoid "^3.3.4"
nanoid "^3.3.6"
picocolors "^1.0.0"
source-map-js "^1.0.2"

@@ -7775,13 +7775,13 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.7:
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==

sigstore@^1.0.0:
version "1.2.0"
resolved "https://registry.npmmirror.com/sigstore/-/sigstore-1.2.0.tgz#ae5b31dac75c2d31e7873897e2862f0d0b205bce"
integrity sha512-Fr9+W1nkBSIZCkJQR7jDn/zI0UXNsVpp+7mDQkCnZOIxG9p6yNXBx9xntHsfUyYHE55XDkkVV3+rYbrkzAeesA==
version "1.3.2"
resolved "https://registry.npmmirror.com/sigstore/-/sigstore-1.3.2.tgz#2f70ec3e1192911484d9d148ecd9c98345cd172d"
integrity sha512-0KT1DjpVB11FK15ep7BIsZQV6j1jBm4SnXIInbBCRvql6II39IKONOMO+j036sGsArU/+2xqa1NDJwJkic0neA==
dependencies:
"@sigstore/protobuf-specs" "^0.1.0"
make-fetch-happen "^11.0.1"
tuf-js "^1.0.0"
tuf-js "^1.1.3"

simple-swizzle@^0.2.2:
version "0.2.2"
@@ -8520,12 +8520,12 @@ tty-browserify@0.0.0:
resolved "https://registry.npmmirror.com/tty-browserify/-/tty-browserify-0.0.0.tgz"
integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==

tuf-js@^1.0.0:
version "1.1.3"
resolved "https://registry.npmmirror.com/tuf-js/-/tuf-js-1.1.3.tgz#db3aada70fbf91fd9def9ad255645eaf81309f69"
integrity sha512-jGYi5nG/kqgfTFQSdoN6PW9eIn+XRZqdXku+fSwNk6UpWIsWaV7pzAqPgFr85edOPhoyJDyBqCS+DCnHroMvrw==
tuf-js@^1.1.3:
version "1.1.4"
resolved "https://registry.npmmirror.com/tuf-js/-/tuf-js-1.1.4.tgz#e85a936b16859c7fae23e5f040bc0f7b559b3192"
integrity sha512-Lw2JRM3HTYhEtQJM2Th3aNCPbnXirtWMl065BawwmM2pX6XStH/ZO9e8T2hh0zk/HUa+1i6j+Lv6eDitKTau6A==
dependencies:
"@tufjs/models" "1.0.2"
"@tufjs/models" "1.0.3"
make-fetch-happen "^11.0.1"

tunnel-agent@^0.6.0:


Loading…
Откажи
Сачувај