Compare commits

...

24 Commits
dev ... main

Author SHA1 Message Date
RogerWork 1061fbbfd9 增加可选套餐的取消选择逻辑 3 months ago
RogerWork edec8eafd2 修改单机升级逻辑 3 months ago
RogerWork b37f21cba5 修改ws请求配置 3 months ago
RogerWork 2c83d0a8eb 增加能否线上开卡标识 3 months ago
RogerWork 38f80df98f 添加ignore路径 3 months ago
RogerWork e85a2866e0 添加ignore路径 3 months ago
RogerWork b1cf0c19e8 添加ignore路径 3 months ago
RogerWork cdd82d3137 会员卡密码和配置修改 3 months ago
RogerWork 2f727208af 完成全部会员接口 3 months ago
RogerWork 56b2eabb24 完成全部会员接口 3 months ago
RogerWork e0d6c2c19c 完成全部会员接口 3 months ago
RogerWork 8e601e4735 完成会员锁座购票接口和卖品接口 3 months ago
RogerWork 12b69adf6b 完成会员混合下单接口的页面逻辑 4 months ago
RogerWork a69192c80e 修改配置文件的组织方式 4 months ago
RogerWork 4828a1cfce 修改请求方式 4 months ago
RogerWork 4f69527351 修改请求方式 4 months ago
RogerWork 8da9a38d0a 修改请求方式 4 months ago
RogerWork 69bf661868 修改请求方式 4 months ago
RogerWork f701e54026 修改请求方式 4 months ago
RogerWork a96dbdc688 修改线上配置 4 months ago
RogerWork de123f18d4 Merge branch 'dev' 4 months ago
RogerWork 4fa06dd674 修复主分支的升级超时问题,设置超时时间为6分钟 9 months ago
RogerWork 92ff47a357 尝试增加气泡滚动条 10 months ago
RogerWork e69352fe58 尝试增加气泡滚动条 10 months ago
  1. 2
      .gitignore
  2. 34
      package-lock.json
  3. 1
      package.json
  4. 12
      src/apis/ec_api.js
  5. 2
      src/apis/mock.js
  6. 4
      src/apis/update.js
  7. 150
      src/components/ec_api/CardLevel.vue
  8. 25
      src/components/ec_api/CardPassword.vue
  9. 43
      src/components/ec_api/CinemaGoods.vue
  10. 192
      src/components/ec_api/MapiLockBuySelector.vue
  11. 5
      src/components/ec_api/PackageSelector.vue
  12. 185
      src/components/ec_api/TabArea.vue
  13. 7
      src/components/update/CinemaUpdate.vue
  14. 6
      src/components/update/Tips.vue
  15. 3
      src/env_config.js
  16. 5
      src/request/dev.js
  17. 111
      src/request/index.js
  18. 11
      src/request/local.js
  19. 24
      src/request/prd.js
  20. 352
      yarn.lock

2
.gitignore vendored

@ -22,3 +22,5 @@ dist-ssr
*.njsproj
*.sln
*.sw?
src/env_config.js*

34
package-lock.json generated

@ -11,14 +11,17 @@
"@element-plus/icons-vue": "^2.3.1",
"@originjs/vite-plugin-commonjs": "^1.0.3",
"@types/node": "^20.10.4",
"ace-builds": "^1.35.4",
"axios": "^1.6.2",
"element-plus": "^2.4.3",
"js-md5": "^0.8.3",
"json-editor-vue3": "^1.0.9",
"normalize.css": "^8.0.1",
"sortablejs": "^1.15.2",
"vite-plugin-commonjs": "^0.10.1",
"vue": "^3.3.8",
"vue-router": "^4.0.13",
"vue3-ace-editor": "^2.2.4",
"vuex": "^4.0.2",
"ws": "^8.16.0"
},
@ -1000,9 +1003,9 @@
}
},
"node_modules/ace-builds": {
"version": "1.32.2",
"resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.32.2.tgz",
"integrity": "sha512-mnJAc803p+7eeDt07r6XI7ufV7VdkpPq4gJZT8Jb3QsowkaBTVy4tdBgPrVT0WbXLm0toyEQXURKSVNj/7dfJQ==",
"version": "1.37.5",
"resolved": "https://registry.npmmirror.com/ace-builds/-/ace-builds-1.37.5.tgz",
"integrity": "sha512-VMJ4Cnhq6L9dwvOCyuyyvQuiVTSwdZC7zDKJBBBJJax0wGQ7MvzQZFoi0gMmCm2I4Zuv/ZbtwU/dlglIhCNLhw==",
"license": "BSD-3-Clause"
},
"node_modules/acorn": {
@ -1805,6 +1808,12 @@
"node": ">= 0.6.0"
}
},
"node_modules/js-md5": {
"version": "0.8.3",
"resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.8.3.tgz",
"integrity": "sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==",
"license": "MIT"
},
"node_modules/json-editor-vue3": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/json-editor-vue3/-/json-editor-vue3-1.0.9.tgz",
@ -2167,6 +2176,12 @@
"node": ">=8.10.0"
}
},
"node_modules/resize-observer-polyfill": {
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==",
"license": "MIT"
},
"node_modules/resolve": {
"version": "1.22.8",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
@ -2619,6 +2634,19 @@
"vue": "^3.2.0"
}
},
"node_modules/vue3-ace-editor": {
"version": "2.2.4",
"resolved": "https://registry.npmmirror.com/vue3-ace-editor/-/vue3-ace-editor-2.2.4.tgz",
"integrity": "sha512-FZkEyfpbH068BwjhMyNROxfEI8135Sc+x8ouxkMdCNkuj/Tuw83VP/gStFQqZHqljyX9/VfMTCdTqtOnJZGN8g==",
"license": "MIT",
"dependencies": {
"resize-observer-polyfill": "^1.5.1"
},
"peerDependencies": {
"ace-builds": "*",
"vue": "^3"
}
},
"node_modules/vuex": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",

@ -15,6 +15,7 @@
"ace-builds": "^1.35.4",
"axios": "^1.6.2",
"element-plus": "^2.4.3",
"js-md5": "^0.8.3",
"json-editor-vue3": "^1.0.9",
"normalize.css": "^8.0.1",
"sortablejs": "^1.15.2",

@ -1,4 +1,4 @@
import request from "@/request/index.js";
import {request, request_ip} from "@/request/index.js";
export const get_ec_api_env = () => {
return request({
@ -77,7 +77,7 @@ export const get_ec_api_request_url = (req_data) => {
}
export const ec_api_send_request = (req_data) => {
return request({
return request_ip({
url: 'ec/send_request',
method: 'post',
data: {
@ -103,7 +103,7 @@ export const ec_api_get_suggest = (api_type, api, env, cid, pid, options) => {
if (options) {
req_params['options'] = options
}
return request({
return request_ip({
url: 'ec/get_suggest_params',
method: 'get',
params: req_params
@ -121,7 +121,7 @@ export const ec_api_get_suggest_timestamp = (api_type, api, env, cid, pid, optio
if (options !== null) {
req_params['options'] = options
}
return request({
return request_ip({
url: 'ec/get_suggest_params_timestamp',
method: 'get',
params: req_params
@ -129,7 +129,7 @@ export const ec_api_get_suggest_timestamp = (api_type, api, env, cid, pid, optio
}
export const ec_api_set_user_data = (req_data) => {
return request({
return request_ip({
url: 'ec/set_user_data',
method: 'post',
data: {
@ -145,7 +145,7 @@ export const ec_api_set_user_data = (req_data) => {
}
export const ec_api_clear_user_data = (req_data) => {
return request({
return request_ip({
url: 'ec/clear_user_data',
method: 'post',
data: {

@ -1,4 +1,4 @@
import request from "@/request/index.js";
import {request, request_ip} from "@/request/index.js";
export const get_overtime_show_info = (params) => {
const req_params = {

@ -1,4 +1,4 @@
import request from "@/request/index.js";
import {request, request_ip} from "@/request/index.js";
export const cinema_list = () => {
// console.log('cinema_list')
@ -80,6 +80,6 @@ export const handle_update = (params) => {
url: '/update/update_cine/',
method: 'get',
params: params,
timeout: 3*60*1000,
timeout: 6*60*1000,
})
}

@ -0,0 +1,150 @@
<script setup>
import {ref, reactive, computed, watch, onMounted, onBeforeMount} from 'vue'
import {ec_api_set_user_data, ec_api_clear_user_data} from '@/apis/ec_api.js'
import {ElMessage} from "element-plus";
// TabArea
const props = defineProps(['level', 'data', 'base_info'])
//
const selectLevel = ref('')
const levelList = reactive([])
//
async function handle_set_user_data() {
let selectLevelData = {}
props.level.forEach((item) => {
if (item['levelId'] === selectLevel.value) {
selectLevelData = item
}
})
const req_data = {
api: props.data.path,
member_type: props.data.type,
format: props.data.format,
user_data: JSON.stringify(selectLevelData),
env: props.base_info.env,
cid: props.base_info.cinema,
pid: props.base_info.channel,
}
console.log('handle_set_user_data', req_data)
await ec_api_set_user_data(req_data).then(
(req) => {
if (req['result'] === 'success') {
ElMessage({message: '选择的卡级别已做为后续测试数据!', type: 'success'})
} else {
ElMessage({message: '设置用户选择卡级别数据失败!', type: 'error'})
}
}
).catch(
(err) => {
console.log(err)
ElMessage({message: '设置用户选择卡级别数据失败!', type: 'error'})
}
)
}
async function handle_clear_user_data() {
const req_data = {
api: props.data.path,
member_type: props.data.type,
env: props.base_info.env,
cid: props.base_info.cinema,
pid: props.base_info.channel,
}
console.log('handle_clear_user_data', req_data)
await ec_api_clear_user_data(req_data).then(
(req) => {
if (req['result'] === 'success') {
ElMessage({message: '选择的联名卡级别已清除,推荐参数将使用随机值!', type: 'success'})
} else {
ElMessage({message: '清除用户选择联名卡级别数据失败!', type: 'error'})
}
}
).catch(
(err) => {
console.log(err)
ElMessage({message: '清除用户选择联名卡级别数据失败!', type: 'error'})
}
)
}
onBeforeMount(() => {
console.log('CardLevel onBeforeMount')
console.log(props.level)
//
props.level.forEach((item) => {
levelList.push({
key: item['levelId'],
name: item['levelName'],
fee: item['initMoney'],
type: item['typeDesc'],
ticket_discount: `${item['ticketDiscount']}%`,
online: item['enableOnlineIssue'],
data: item
})
})
console.log(levelList)
})
watch(() => selectLevel.value, () => {
console.log('selectLevel.value', selectLevel.value)
handle_set_user_data()
})
</script>
<template>
<hr id="break_line"/>
<div style="font-size: 16px; font-weight: bold; color: #909399; text-align: left; margin-bottom: 10px">选择场次
<el-tooltip
class="box-item"
effect="dark"
content="点击清除选择后会将后台服务器中记录的选择内容清空,其他接口将通过随机获取的方式从此接口返回的数据中模拟参数"
placement="right"
>
<el-button size="small" style="font-weight: bold;color: #909399" @click="handle_clear_user_data">清除选择
</el-button>
</el-tooltip>
</div>
<el-form style="max-width: 600px; margin-left: 20px">
<el-form-item>
<el-radio-group v-model="selectLevel">
<el-radio-button v-for="s in levelList" :label="s.key" :value="s.key" :key="s.key">
<div style="text-align: left">
<div style="margin-top: 5px"><span>{{ s.key }}</span> -- <span style="font-weight: bold">{{ s.name }}</span> -- <span>{{s.type}}</span><span v-if="s.online=== '1'"> -- </span><span style="font-weight: bold">{{s.online === '1' ? '支持线上开': ''}}</span>
</div>
<div style="margin-top: 5px"><span>开卡费 {{ s.fee }} </span><span>&nbsp&nbsp&nbsp&nbsp{{s.renew}}</span></div>
</div>
</el-radio-button>
</el-radio-group>
</el-form-item>
</el-form>
</template>
<style scoped>
#break_line {
margin-top: 30px;
margin-bottom: 30px;
background-color: rgba(144, 147, 153, 0.5);
height: 1px;
border: none
}
:deep(.el-radio-button) {
margin-bottom: 10px;
margin-right: 15px;
}
:deep(.el-radio-button__inner) {
width: 400px;
height: 60px;
background: #ebebeb;
color: #333;
border: 0 !important;
border-radius: 10px !important;
}
</style>

@ -0,0 +1,25 @@
<script setup>
import {ref, watch} from 'vue'
const pwd = ref('123321')
const emits = defineEmits(['get_card_pwd'])
watch(() => pwd.value, () => {
console.log(pwd.value)
emits("getCardPwd", pwd.value)
})
</script>
<template>
<el-row style="margin: 20px 0 20px 0">
<el-col :span="2"><label style="font-size: 14px; margin-left: 20px">会员卡密码:</label></el-col>
<el-col :span="7">
<el-input style="margin-left: 20px" size="small" v-model="pwd"></el-input>
</el-col>
</el-row>
</template>
<style scoped>
</style>

@ -95,11 +95,24 @@ function openOptionalPackageDialog(goods_type, goods_info) {
//
function numChange(goods_id, goods_num) {
let find_in_select = false
selectGoods.value.forEach((goods) => {
if (goods.id === goods_id) {
find_in_select = true
goods['buy_num'] = goods_num
}
})
if (find_in_select === false) {
goodsList.forEach((item) => {
if (item['id'] === goods_id) {
selectGoods.value.push(item)
console.log('可选套餐', item)
if (item['show_type'] === '可选套餐') {
openOptionalPackageDialog(item['show_type'], item)
}
}
})
}
handle_set_user_data()
}
@ -119,18 +132,31 @@ const getOptionalPackageDetail = (select) => {
handle_set_user_data()
}
//
const removeOptionalPackage = (select) => {
console.log('getOptionalPackageDetail', select)
goodsDialogVisible.value = false
const g_index = selectGoods.value.indexOf(select)
console.log('g_index', g_index)
selectGoods.value.splice(g_index,1)
console.log('select', select)
console.log('removeOptionalPackage', selectGoods.value)
handle_set_user_data()
}
//
const getDiscountDetail = (discount) => {
console.log('getDiscountDetail', discount)
discountDialogVisible.value = false
discount.forEach((item) => {
selectGoods.value.forEach((select) => {
if (select.id === discount.id) {
select.discount1 = item.discount1
select.discount2 = item.discount2
}
})
})
selectGoods.value.forEach((select) => {
if (select.id === discount.id) {
select.discount1 = item.discount1
select.discount2 = item.discount2
}
})
})
console.log('getDiscountDetail-selectGoods.value', selectGoods.value)
handle_set_user_data()
}
@ -210,7 +236,8 @@ watch(() => selectGoods.value, () => {
</el-checkbox-group>
</el-form-item>
</el-form>
<PackageSelector v-if="goodsDialogVisible" @get_detail="getOptionalPackageDetail" :is_show="goodsDialogVisible"
<PackageSelector v-if="goodsDialogVisible" @get_detail="getOptionalPackageDetail"
@remove_package="removeOptionalPackage" :is_show="goodsDialogVisible"
:package="optionalPackageInfo"></PackageSelector>
<GoodsDiscount v-if="discountDialogVisible" @get_discount="getDiscountDetail" :is_show="discountDialogVisible"
:goods_array="selectGoods"></GoodsDiscount>

@ -0,0 +1,192 @@
<script setup>
import {ref, watch} from 'vue'
import {ElMessageBox} from "element-plus";
// props
const props = defineProps(['type'])
// emits
const emits = defineEmits(["getSaleType", "getPriceType"])
//
const selectSaleType = props.type === 'goods' ? ref('goods') : ref('ticket')
const selectPriceType = ref("cinema_price")
const ticketPrice = ref('20.00')
const haveServiceFee = ref(true)
const ticketQuanCheck = ref(false)
const ticketQuanNum = ref('0')
const ticketQuanValue = ref('0.00')
const ticketQuanType = ref('兑换券')
const ticketQuanTypeOptions = ref([{value: '兑换券', label: '兑换券'},{value: '抵值兑换券', label: '抵值兑换券'}, {value: '代金券', label: '代金券'}])
const goodsQuanCheck = ref(false)
const goodsQuanNum = ref('0')
const goodsQuanValue = ref('0.00')
const goodsQuanType = ref('兑换券')
const goodsQuanTypeOptions = ref([{value: '兑换券', label: '兑换券'},{value: '抵值兑换券', label: '抵值兑换券'}, {value: '代金券', label: '代金券'}])
const containTicket = ["ticket", "all"]
const containGoods = ["goods", "all"]
//
watch(() => selectSaleType.value, () => {
emits("getSaleType", selectSaleType.value)
})
watch(() => ticketQuanCheck.value, () => {
if (ticketQuanCheck.value) {
console.log("ticketQuanCheck.value", ticketQuanCheck.value, ticketQuanNum.value, ticketQuanValue.value)
if (ticketQuanNum.value === 0 || ticketQuanValue.value === 0) {
ElMessageBox.alert('请设置影票券数量和面值!', "影票券", {
confirmButtonText: '知道了',
callback: () => {
ticketQuanCheck.value = false
}
})
}
}
})
watch(() => goodsQuanCheck.value, () => {
if (goodsQuanCheck.value) {
console.log("goodsQuanCheck.value", goodsQuanCheck.value, goodsQuanNum.value, goodsQuanValue.value)
if (goodsQuanNum.value === 0 || goodsQuanValue.value === 0) {
ElMessageBox.alert('请设置卖品券数量和面值!', "卖品券", {
confirmButtonText: '知道了',
callback: () => {
goodsQuanCheck.value = false
}
})
}
}
})
//
watch(() => [selectPriceType.value, haveServiceFee.value, ticketPrice.value, ticketQuanCheck.value, ticketQuanNum.value, ticketQuanValue.value, goodsQuanCheck.value, goodsQuanNum.value, goodsQuanValue.value, goodsQuanType.value, ticketQuanType.value], () => {
emits("getPriceType", {
select_price_type: selectPriceType.value,
ticket_info: {
ticket_price: ticketPrice.value,
have_service_fee: haveServiceFee.value,
},
ticket_quan_check: ticketQuanCheck.value,
ticket_quan: {
ticket_quan_num: ticketQuanNum.value,
ticket_quan_value: ticketQuanValue.value,
ticket_quan_type: ticketQuanType.value,
},
goods_quan_check: goodsQuanCheck.value,
goods_quan: {
goods_quan_num: goodsQuanNum.value,
goods_quan_value: goodsQuanValue.value,
goods_quan_type: goodsQuanType.value,
}
})
})
</script>
<template>
<el-row type="flex" justify="start" align="middle" style="margin: 20px 0 10px 20px">
<el-col :span="1" style="font-size: 14px; font-weight: bold; color: #919399;" class="col-right">售卖类型</el-col>
<el-col :span="6" class="col-left">
<el-radio-group v-model="selectSaleType">
<el-radio label="ticket" v-if="props['type'] === 'ticket'">单影票</el-radio>
<el-radio label="goods" v-if="props['type'] === 'goods'">单卖品</el-radio>
<el-radio label="all" v-if="props['type'] === 'ticket'">影票加卖品</el-radio>
</el-radio-group>
</el-col>
</el-row>
<el-row type="flex" justify="start" align="middle" style="margin: 0 0 10px 20px">
<el-col :span="1" style="font-size: 14px; font-weight: bold; color: #919399;" class="col-right">定价方式</el-col>
<el-col :span="7" class="col-left">
<el-radio-group v-model="selectPriceType">
<el-radio label="cinema_price">影院定价</el-radio>
<el-radio label="third_price">三方定价</el-radio>
</el-radio-group>
</el-col>
</el-row>
<el-row v-if="selectPriceType === 'third_price'" type="flex" justify="start" align="middle" style="margin: 0 0 0 20px">
<el-col :span="1" style="font-size: 14px; font-weight: bold; color: #919399;" class="col-right">三方定价</el-col>
<el-col v-if="containTicket.includes(selectSaleType)" :span="8" class="col-left">
<span style="font-size: 14px">单张影票结算价</span>
<el-input-number v-model="ticketPrice" :min="0.01" :max="99999.99" :step="0.01"
controls-position="right" size="small"></el-input-number>
<el-checkbox v-model="haveServiceFee" style="margin-left: 20px">是否包含服务费</el-checkbox>
</el-col>
</el-row>
<el-row v-if="selectPriceType === 'third_price' && containTicket.includes(selectSaleType)" type="flex" justify="start" align="middle" style="margin: 0 0 0 20px">
<el-col :span="1" style="font-size: 14px; font-weight: bold; color: #919399;" class="col-right"></el-col>
<el-col :span="15" class="col-left">
<span>影票券</span>
<el-input-number v-model="ticketQuanNum" :min="0" :max="10" :step="1"
controls-position="right" size="small"></el-input-number>
<span>&nbsp张价值&nbsp</span>
<el-input-number v-model="ticketQuanValue" :min="0.00" :max="99999.99" :step="0.01"
controls-position="right" size="small"></el-input-number>
<span>&nbsp元</span>
<span style="margin-left: 20px">券类型&nbsp</span>
<el-select
v-model="ticketQuanType"
placeholder="请选择"
size="small"
style="width: 120px"
>
<el-option
v-for="item in ticketQuanTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-checkbox v-model="ticketQuanCheck" style="margin-left: 20px">使用影票券</el-checkbox>
</el-col>
</el-row>
<el-row v-if="selectPriceType === 'third_price' && containGoods.includes(selectSaleType)" type="flex" justify="start" align="middle" style="margin: 0 0 30px 20px">
<el-col :span="1" style="font-size: 14px; font-weight: bold; color: #919399;" class="col-right"></el-col>
<el-col :span="15" class="col-left">
<span>卖品券</span>
<el-input-number v-model="goodsQuanNum" :min="0" :max="10" :step="1"
controls-position="right" size="small"></el-input-number>
<span>&nbsp张价值&nbsp</span>
<el-input-number v-model="goodsQuanValue" :min="0.00" :max="99999.99" :step="0.01"
controls-position="right" size="small"></el-input-number>
<span>&nbsp元</span>
<span style="margin-left: 20px">券类型&nbsp</span>
<el-select
v-model="goodsQuanType"
placeholder="请选择"
size="small"
style="width: 120px"
>
<el-option
v-for="item in goodsQuanTypeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
<el-checkbox v-model="goodsQuanCheck" style="margin-left: 20px">使用卖品券</el-checkbox>
</el-col>
</el-row>
</template>
<style scoped>
.col-right {
display: flex;
justify-content: end;
align-items: center;
height: 100%;
}
.col-left {
display: flex;
justify-content: start;
align-items: center;
height: 100%;
margin-left: 20px;
font-size: 14px;
}
</style>

@ -53,6 +53,10 @@ function finish() {
}
}
function cancel() {
emit('remove_package', props.package)
}
//
function beforeClose(done) {
if (!checkResult()) {
@ -106,6 +110,7 @@ onBeforeMount(() => {
</el-tabs>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="finish">完成</el-button>
</div>
</template>

@ -29,7 +29,10 @@ import CinemaGoods from "@/components/ec_api/CinemaGoods.vue";
import EcardLevel from "@/components/ec_api/EcardLevel.vue";
import CheckQuan from "@/components/ec_api/CheckQuan.vue";
import ApiLockBuySelector from "@/components/ec_api/ApiLockBuySelector.vue";
import MapiLockBuySelector from "@/components/ec_api/MapiLockBuySelector.vue";
import CardLevel from "@/components/ec_api/CardLevel.vue";
import CardPassword from "@/components/ec_api/CardPassword.vue";
import {md5} from "js-md5";
// store
const store = useStore()
@ -56,6 +59,31 @@ const saleType = ref('ticket')
//
const payType = ref('cash')
//
const priceType = ref({
select_price_type: "cinema_price",
ticket_info: {
ticket_price: "20",
have_service_fee: true,
},
ticket_quan_check: false,
ticket_quan: {
ticket_quan_num: 0,
ticket_quan_value: "0.00",
ticket_quan_type: "兑换券",
},
goods_quan_check: false,
goods_quan: {
goods_quan_num: 0,
goods_quan_value: "0.00",
goods_quan_type: "兑换券",
},
card_num: null,
card_password: '123321',
})
const card_pwd = ref('c8837b23ff8aaa8a2dde915473ce0991')
//
//
function handleParamsChange(newCheckedResult) {
@ -261,7 +289,6 @@ function send_request() {
send_btn.value = '发送'
ElMessage.error('获取请求结果失败!')
})
}
async function get_suggest(options = {sale_type: saleType.value, pay_type: payType.value}) {
@ -271,6 +298,21 @@ async function get_suggest(options = {sale_type: saleType.value, pay_type: payTy
const env = UserApiData.value.base_info['env']
const cid = UserApiData.value.base_info['cinema']
const pid = UserApiData.value.base_info['channel']
if (api_type === 'member') {
UserApiData.value.api[activeTab.value]['params'].forEach(p => {
if (p['param'] === 'card') {
const reg = /^\d*?$/
const result = reg.test(p['value'])
console.log('正则结果', result)
if (result) {
priceType.value['card_num'] = p['value']
}
}
})
options['pay_type'] = JSON.stringify(priceType.value)
console.log('options.pay_type', options.pay_type)
console.log('priceType.value', priceType.value)
}
await ec_api_get_suggest(api_type, api, env, cid, pid, options).then(
(res) => {
@ -306,6 +348,21 @@ async function get_timestamp(options = {sale_type: saleType.value, pay_type: pay
const env = UserApiData.value.base_info['env']
const cid = UserApiData.value.base_info['cinema']
const pid = UserApiData.value.base_info['channel']
if (api_type === 'member') {
UserApiData.value.api[activeTab.value]['params'].forEach(p => {
if (p['param'] === 'card') {
const reg = /^\d*?$/
const result = reg.test(p['value'])
console.log('正则结果', result)
if (result) {
priceType.value['card_num'] = p['value']
}
}
})
options['pay_type'] = JSON.stringify(priceType.value)
console.log('options.pay_type', options.pay_type)
console.log('priceType.value', priceType.value)
}
await ec_api_get_suggest_timestamp(api_type, api, env, cid, pid, options).then(
res => {
console.log('get_timestamp', res['timestamp'])
@ -334,8 +391,11 @@ function check_params(checked, unchecked) {
//
function get_sale_type(sale_type) {
console.log('sale_type', sale_type)
saleType.value = sale_type
if (UserApiData.value.api[activeTab.value].path === "order/buy-goods")
saleType.value = 'goods'
console.log('sale_type', sale_type)
if (UserApiData.value.api[activeTab.value].path === "seat/check-coupon") {
switch (saleType.value) {
case 'ticket':
@ -362,6 +422,13 @@ function get_sale_type(sale_type) {
break;
}
}
if (UserApiData.value.api[activeTab.value].path === "order/buy-goods") {
switch (saleType.value) {
case 'goods':
check_params(["goods"], ["play_id", "play_update_time", "seat", "lock_flag"]);
break;
}
}
get_timestamp()
get_suggest()
markIsChecked()
@ -423,6 +490,73 @@ function get_pay_type(pay_type) {
markIsChecked()
}
function setup_sale_type() {
console.log('UserApiData.value.api[activeTab.value].path', UserApiData.value.api[activeTab.value].path)
console.log('saleType.value', saleType.value)
if (UserApiData.value.api[activeTab.value].path === "order/buy-goods")
console.log('UserApiData.value.api[activeTab.value].path === "order/buy-goods"')
saleType.value = 'goods'
}
function get_sale_type_member(sale_type) {
saleType.value = sale_type
console.log('sale_type', sale_type)
if (UserApiData.value.api[activeTab.value].path === "seat/lock-buy") {
switch (saleType.value) {
case 'ticket':
check_params(["play_id", "play_update_time", "seat", "lock_flag"], ["goods", "goods_card_balance_pay", "goods_cash", "delivery_type", "delivery_location", "delivery_appoint_time", "contact_number"]);
break;
case 'goods':
check_params(["goods", "goods_card_balance_pay", "goods_cash"], ["play_id", "play_update_time", "seat", "lock_flag"]);
break;
case 'all':
check_params(["play_id", "play_update_time", "seat", "lock_flag", "goods", "goods_card_balance_pay", "goods_cash"], []);
break;
}
}
if (UserApiData.value.api[activeTab.value].path === "order/buy-goods") {
switch (saleType.value) {
case 'goods':
check_params(["goods", "goods_card_balance_pay", "goods_cash"], ["play_id", "play_update_time", "seat", "lock_flag"]);
break;
}
}
get_timestamp()
get_suggest()
markIsChecked()
}
function get_price_type_member(price_type) {
console.log('price_type', price_type)
priceType.value = price_type
console.log('get_price_type_member', price_type.value)
if (payType.value["select_price_type"] === "cinema_price") {
check_params(["is_cinema_price", "t3d_pay_amount"], ["is_split_service_fee", "seat_coupons"]);
} else {
check_params(["is_cinema_price", "t3d_pay_amount", "is_split_service_fee"], []);
}
if (payType.value["ticket_quan_check"] === true) {
check_params(["seat_coupons"], []);
} else {
check_params([], ["seat_coupons"]);
}
get_timestamp()
get_suggest()
markIsChecked()
}
function get_card_pwd(pwd) {
card_pwd.value = md5(pwd)
priceType.value['card_password'] = card_pwd.value
get_timestamp()
get_suggest()
markIsChecked()
}
//
function test() {
console.log('store.state.ecApiModule.ec_api_data', store.state.ecApiModule.ec_api_data)
@ -535,6 +669,24 @@ const levelList = computed(() => {
}
}
}
if (api.path === 'cinema/card-level-rule') {
if (api.format === 'json') {
if (api.response === '{"root": "root"}') {
return []
} else {
console.log("api.handled['res']['data']['ecardLevelData']", api.handled['res']['data']['rule'])
return api.handled['res']['data']['rule']
}
}
if (api.format === 'xml' || api.format === 'html') {
if (api.response === '<root></root>') {
return []
} else {
console.log("api.handled['res']['data']['rule']", api.handled['res']['data']['rule'])
return api.handled['res']['data']['rule']
}
}
}
return []
})
@ -554,6 +706,7 @@ watch(() => store.state.ecApiModule.ec_api_data.api, (oldValue, newValue) => {
// activeTab
watch(activeTab, () => {
console.log('watch.activeTab')
setup_sale_type()
markIsChecked()
get_timestamp()
get_suggest()
@ -628,10 +781,20 @@ const ace_options = {
>
<CheckQuan v-if="api['path'] === 'seat/check-coupon'" @getQuan="get_quan_detail" @getSaleType="get_sale_type"
:cid="UserApiData['base_info']['cinema']"></CheckQuan>
<ApiLockBuySelector v-if="api['path'] === 'seat/lock-buy'" @getSaleType="get_sale_type"
<ApiLockBuySelector v-if="api['path'] === 'seat/lock-buy' && api['type'] === 'nonmember'"
@getSaleType="get_sale_type"
@getPayType="get_pay_type" type="ticket"></ApiLockBuySelector>
<ApiLockBuySelector v-if="api['path'] === 'order/buy-goods'" @getSaleType="get_sale_type"
<ApiLockBuySelector v-if="api['path'] === 'order/buy-goods' && api['type'] === 'nonmember'"
@getSaleType="get_sale_type"
@getPayType="get_pay_type" type="goods"></ApiLockBuySelector>
<MapiLockBuySelector v-if="api['path'] === 'seat/lock-buy' && api['type'] === 'member'"
@getSaleType="get_sale_type_member"
@getPriceType="get_price_type_member" type="ticket"></MapiLockBuySelector>
<MapiLockBuySelector v-if="api['path'] === 'order/buy-goods' && api['type'] === 'member'"
@getSaleType="get_sale_type_member"
@getPriceType="get_price_type_member" type="goods"></MapiLockBuySelector>
<CardPassword v-if="api['path'] === 'card/auth' || api['path'] === 'card/regist'"
@getCardPwd="get_card_pwd"></CardPassword>
<el-table
ref='ApiTableRef'
:data="UserApiData.api[api['id']].params"
@ -683,9 +846,9 @@ const ace_options = {
<el-button type="primary" @click="send_request" :loading="req_loading" :disabled="req_loading">
{{ send_btn }}
</el-button>
<!-- <el-button @click="test" >-->
<!-- 测试-->
<!-- </el-button>-->
<!-- <el-button @click="test" >-->
<!-- 测试-->
<!-- </el-button>-->
</el-col>
<el-col :span="8">
</el-col>
@ -698,8 +861,12 @@ const ace_options = {
:base_info="UserApiData.base_info"/>
<CinemaGoods v-if="goodsList.length > 0" :goods="goodsList" :data="UserApiData.api[activeTab]"
:base_info="UserApiData.base_info"/>
<EcardLevel v-if="levelList.length > 0" :level="levelList" :data="UserApiData.api[activeTab]"
<EcardLevel v-if="levelList.length > 0 && api['path'] === 'ecard/ecard-levels'" :level="levelList"
:data="UserApiData.api[activeTab]"
:base_info="UserApiData.base_info"/>
<CardLevel v-if="levelList.length > 0 && api['path'] === 'cinema/card-level-rule'" :level="levelList"
:data="UserApiData.api[activeTab]"
:base_info="UserApiData.base_info"/>
</el-tab-pane>
</el-tabs>
<el-backtop :right="300" :bottom="100" :visibility-height="100"/>

@ -3,7 +3,7 @@ import {onBeforeMount, ref, computed} from "vue";
import {useStore} from "vuex";
import {get_git_ver, get_update_alter, get_update_option, handle_update} from "@/apis/update.js"
import Tips from "@/components/update/Tips.vue"
import config from "@/request/config.js"
import config from "@/request/prd.js"
import ProcessIcon from "@/components/update/ProcessIcon.vue";
import {ElMessageBox} from "element-plus";
@ -42,7 +42,7 @@ const createWs = () => {
console.log(ws)
if (!ws) {
console.log("建立ws连接")
ws = new WebSocket(config.baseWS + "/ws/update/")
ws = new WebSocket(config.direct.baseWS + "/ws/update/")
ws.onopen = wsOpen
ws.onmessage = wsMessage
ws.onerror = wsError
@ -187,6 +187,9 @@ onBeforeMount(
console.log(res)
res.forEach(
(value, index) => {
if (value.process === "before_sys") {
updateCmd.value.setup.push(value)
}
if (value.process === "setup") {
updateCmd.value.setup.push(value)
}

@ -37,4 +37,8 @@ const props = defineProps({
</template>
<style>
</style>
.el-popover {
height: 200px;
overflow: auto;
}
</style>

@ -0,0 +1,3 @@
export default function env_config() {
return 'local'
}

@ -1,11 +1,6 @@
export default {
// method: 'get',
// baseURL: 'http://172.16.1.63:8000',
baseURL: 'http://172.16.1.168:8000',
// baseURL: 'http://127.0.0.1:8000',
// baseWS: 'ws://172.16.1.63:8000',
baseWS: 'ws://172.16.1.168:8000',
// baseWS: 'ws://127.0.0.1:8000',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': 'token 4e63b8854974c1fdac9deb891fd74dc145b53f85'

@ -1,40 +1,105 @@
import axios from "axios";
import config from "@/request/config.js";
import prd from "@/request/prd.js";
import dev from "@/request/dev.js";
import local from "@/request/local.js";
import env_config from "@/env_config.js";
// import {ElMessage} from "element-plus";
// import {rejects} from "node:assert";
// import router from "@/router";
function request(options) {
const instance = axios.create({...config})
const environment = env_config()
const config = {
'prd': {direct: {...prd.direct}, nginx: {...prd.nginx}},
'dev': {direct: {...dev}, nginx: {...dev}},
'local': {direct: {...local}, nginx: {...local}}
}
// console.log(environment, config[environment], config[environment].direct, config[environment].nginx)
export function request(options) {
const instance = axios.create({
baseURL: config[environment].direct.baseURL,
baseWS: config[environment].direct.baseWS,
headers: {
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': 'token 4e63b8854974c1fdac9deb891fd74dc145b53f85'
},
timeout: 60000,
withCredentials: true,
responseType: 'json',
})
options = {...options, instance} // 使用创建的实例
// 请求拦截器
instance.interceptors.request.use(
config => {
// 处理请求前的逻辑...
instance.interceptors.request.use(config => {
// 处理请求前的逻辑...
return config
},
error => {
// 请求错误处理
return config
}, error => {
// 请求错误处理
return Promise.reject(error)
}
)
return Promise.reject(error)
})
// 响应拦截器
instance.interceptors.response.use(
response => {
// 处理响应数据
instance.interceptors.response.use(response => {
// 处理响应数据
return response
}, error => {
// 处理响应错误
return Promise.reject(error)
})
return new Promise((resolve, reject) => {
instance(options)
.then(res => {
resolve(res.data)
// console.log(res.data)
})
.catch(err => {
reject(err)
})
})
}
return response
export function request_ip(options) {
const instance = axios.create({
baseURL: config[environment].direct.baseURL,
baseWS: config[environment].direct.baseWS,
headers: {
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': 'token 4e63b8854974c1fdac9deb891fd74dc145b53f85'
},
error => {
// 处理响应错误
timeout: 60000,
withCredentials: true,
responseType: 'json',
})
return Promise.reject(error)
}
)
options = {...options, instance} // 使用创建的实例
// 请求拦截器
instance.interceptors.request.use(config => {
// 处理请求前的逻辑...
return config
}, error => {
// 请求错误处理
return Promise.reject(error)
})
// 响应拦截器
instance.interceptors.response.use(response => {
// 处理响应数据
return response
}, error => {
// 处理响应错误
return Promise.reject(error)
})
return new Promise((resolve, reject) => {
instance(options)
@ -75,4 +140,4 @@ function request(options) {
// console.log(res)
// })
export default request
// export default request

@ -0,0 +1,11 @@
export default {
baseURL: 'http://127.0.0.1:8000',
baseWS: 'ws://127.0.0.1:8000',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': 'token 4e63b8854974c1fdac9deb891fd74dc145b53f85'
},
timeout: 60000,
withCredentials: true,
responseType: 'json',
}

@ -0,0 +1,24 @@
export default {
direct: {
baseURL: 'http://172.16.1.63:8000',
baseWS: 'ws://172.16.1.63:8000',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': 'token 4e63b8854974c1fdac9deb891fd74dc145b53f85'
},
timeout: 60000,
withCredentials: true,
responseType: 'json',
},
nginx:{
baseURL: 'http://172.16.1.222',
baseWS: 'ws://172.16.1.63:8000',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': 'token 4e63b8854974c1fdac9deb891fd74dc145b53f85'
},
timeout: 60000,
withCredentials: true,
responseType: 'json',
}
}

@ -7,7 +7,7 @@
resolved "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz"
integrity sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==
"@babel/parser@^7.23.5":
"@babel/parser@^7.15.8", "@babel/parser@^7.23.5":
version "7.23.5"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz"
integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==
@ -22,121 +22,6 @@
resolved "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz"
integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==
"@esbuild/aix-ppc64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
"@esbuild/android-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
"@esbuild/android-arm@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
"@esbuild/android-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
"@esbuild/darwin-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb"
integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
"@esbuild/darwin-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
"@esbuild/freebsd-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
"@esbuild/freebsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
"@esbuild/linux-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
"@esbuild/linux-arm@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
"@esbuild/linux-ia32@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
"@esbuild/linux-loong64@0.14.54":
version "0.14.54"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz#de2a4be678bd4d0d1ffbb86e6de779cde5999028"
integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
"@esbuild/linux-loong64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
"@esbuild/linux-mips64el@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
"@esbuild/linux-ppc64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
"@esbuild/linux-riscv64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
"@esbuild/linux-s390x@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
"@esbuild/linux-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
"@esbuild/netbsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
"@esbuild/openbsd-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
"@esbuild/sunos-x64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
"@esbuild/win32-arm64@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
"@esbuild/win32-ia32@0.20.2":
version "0.20.2"
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
"@esbuild/win32-x64@0.20.2":
version "0.20.2"
resolved "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz"
@ -175,7 +60,7 @@
"@nodelib/fs.stat" "2.0.5"
run-parallel "^1.1.9"
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
version "2.0.5"
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
@ -209,81 +94,6 @@
estree-walker "^2.0.2"
picomatch "^2.3.1"
"@rollup/rollup-android-arm-eabi@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz#bbd0e616b2078cd2d68afc9824d1fadb2f2ffd27"
integrity sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==
"@rollup/rollup-android-arm64@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz#97255ef6384c5f73f4800c0de91f5f6518e21203"
integrity sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==
"@rollup/rollup-darwin-arm64@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz#b6dd74e117510dfe94541646067b0545b42ff096"
integrity sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==
"@rollup/rollup-darwin-x64@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz#e07d76de1cec987673e7f3d48ccb8e106d42c05c"
integrity sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==
"@rollup/rollup-linux-arm-gnueabihf@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz#9f1a6d218b560c9d75185af4b8bb42f9f24736b8"
integrity sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==
"@rollup/rollup-linux-arm-musleabihf@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz#53618b92e6ffb642c7b620e6e528446511330549"
integrity sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==
"@rollup/rollup-linux-arm64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz#99a7ba5e719d4f053761a698f7b52291cefba577"
integrity sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==
"@rollup/rollup-linux-arm64-musl@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz#f53db99a45d9bc00ce94db8a35efa7c3c144a58c"
integrity sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==
"@rollup/rollup-linux-powerpc64le-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz#cbb0837408fe081ce3435cf3730e090febafc9bf"
integrity sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==
"@rollup/rollup-linux-riscv64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz#8ed09c1d1262ada4c38d791a28ae0fea28b80cc9"
integrity sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==
"@rollup/rollup-linux-s390x-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz#938138d3c8e0c96f022252a28441dcfb17afd7ec"
integrity sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==
"@rollup/rollup-linux-x64-gnu@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz#1a7481137a54740bee1ded4ae5752450f155d942"
integrity sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==
"@rollup/rollup-linux-x64-musl@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz#f1186afc601ac4f4fc25fac4ca15ecbee3a1874d"
integrity sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==
"@rollup/rollup-win32-arm64-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz#ed6603e93636a96203c6915be4117245c1bd2daf"
integrity sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==
"@rollup/rollup-win32-ia32-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz#14e0b404b1c25ebe6157a15edb9c46959ba74c54"
integrity sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==
"@rollup/rollup-win32-x64-msvc@4.18.0":
version "4.18.0"
resolved "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz"
@ -294,12 +104,12 @@
resolved "https://registry.npmjs.org/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz"
integrity sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==
"@types/estree@1.0.5", "@types/estree@^1.0.0":
"@types/estree@^1.0.0", "@types/estree@1.0.5":
version "1.0.5"
resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz"
integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
"@types/lodash-es@^4.17.6":
"@types/lodash-es@*", "@types/lodash-es@^4.17.6":
version "4.17.12"
resolved "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz"
integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==
@ -311,7 +121,7 @@
resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz"
integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==
"@types/node@^20.10.4":
"@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.10.4":
version "20.10.4"
resolved "https://registry.npmjs.org/@types/node/-/node-20.10.4.tgz"
integrity sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==
@ -423,7 +233,7 @@
resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.10.tgz"
integrity sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw==
"@vueuse/core@^9.1.0":
"@vueuse/core@*", "@vueuse/core@^9.1.0":
version "9.13.0"
resolved "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz"
integrity sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==
@ -445,15 +255,10 @@
dependencies:
vue-demi "*"
ace-builds@^1.31.1:
version "1.32.2"
resolved "https://registry.npmjs.org/ace-builds/-/ace-builds-1.32.2.tgz"
integrity sha512-mnJAc803p+7eeDt07r6XI7ufV7VdkpPq4gJZT8Jb3QsowkaBTVy4tdBgPrVT0WbXLm0toyEQXURKSVNj/7dfJQ==
ace-builds@^1.35.4:
version "1.35.4"
resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.35.4.tgz#f41d7ef57c3a7d424cd7e3300bef0cbef905c84f"
integrity sha512-r0KQclhZ/uk5a4zOqRYQkJuQuu4vFMiA6VTj54Tk4nI1TUR3iEMMppZkWbNoWEgWwv4ciDloObb9Rf4V55Qgjw==
ace-builds@*, ace-builds@^1.31.1, ace-builds@^1.35.4:
version "1.37.5"
resolved "https://registry.npmmirror.com/ace-builds/-/ace-builds-1.37.5.tgz"
integrity sha512-VMJ4Cnhq6L9dwvOCyuyyvQuiVTSwdZC7zDKJBBBJJax0wGQ7MvzQZFoi0gMmCm2I4Zuv/ZbtwU/dlglIhCNLhw==
acorn@^8.10.0, acorn@^8.11.2, acorn@^8.8.2:
version "8.11.2"
@ -521,7 +326,7 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.1.1"
"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
chokidar@^3.5.3, "chokidar@>=3.0.0 <4.0.0":
version "3.5.3"
resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@ -591,106 +396,11 @@ es-module-lexer@^1.2.1:
resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz"
integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==
esbuild-android-64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz#505f41832884313bbaffb27704b8bcaa2d8616be"
integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==
esbuild-android-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz#8ce69d7caba49646e009968fe5754a21a9871771"
integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==
esbuild-darwin-64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz#24ba67b9a8cb890a3c08d9018f887cc221cdda25"
integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==
esbuild-darwin-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz#3f7cdb78888ee05e488d250a2bdaab1fa671bf73"
integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==
esbuild-freebsd-64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz#09250f997a56ed4650f3e1979c905ffc40bbe94d"
integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==
esbuild-freebsd-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz#bafb46ed04fc5f97cbdb016d86947a79579f8e48"
integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==
esbuild-linux-32@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz#e2a8c4a8efdc355405325033fcebeb941f781fe5"
integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==
esbuild-linux-64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz#de5fdba1c95666cf72369f52b40b03be71226652"
integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==
esbuild-linux-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz#dae4cd42ae9787468b6a5c158da4c84e83b0ce8b"
integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==
esbuild-linux-arm@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz#a2c1dff6d0f21dbe8fc6998a122675533ddfcd59"
integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==
esbuild-linux-mips64le@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz#d9918e9e4cb972f8d6dae8e8655bf9ee131eda34"
integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==
esbuild-linux-ppc64le@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz#3f9a0f6d41073fb1a640680845c7de52995f137e"
integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==
esbuild-linux-riscv64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz#618853c028178a61837bc799d2013d4695e451c8"
integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==
esbuild-linux-s390x@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz#d1885c4c5a76bbb5a0fe182e2c8c60eb9e29f2a6"
integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==
esbuild-netbsd-64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz#69ae917a2ff241b7df1dbf22baf04bd330349e81"
integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==
esbuild-openbsd-64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz#db4c8495287a350a6790de22edea247a57c5d47b"
integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==
esbuild-sunos-64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz#54287ee3da73d3844b721c21bc80c1dc7e1bf7da"
integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==
esbuild-windows-32@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz#f8aaf9a5667630b40f0fb3aa37bf01bbd340ce31"
integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==
esbuild-windows-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz"
integrity sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==
esbuild-windows-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz#937d15675a15e4b0e4fafdbaa3a01a776a2be982"
integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==
esbuild@^0.14.14:
version "0.14.54"
resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.14.54.tgz"
@ -811,11 +521,6 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
@ -881,6 +586,11 @@ jmespath@^0.16.0:
resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz"
integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==
js-md5@^0.8.3:
version "0.8.3"
resolved "https://registry.npmmirror.com/js-md5/-/js-md5-0.8.3.tgz"
integrity sha512-qR0HB5uP6wCuRMrWPTrkMaev7MJZwJuuw4fnwAzRgP4J4/F8RwtodOKpGp4XpqsLBFzzgqIO42efFAyz2Et6KQ==
json-editor-vue3@^1.0.9:
version "1.0.9"
resolved "https://registry.npmjs.org/json-editor-vue3/-/json-editor-vue3-1.0.9.tgz"
@ -936,7 +646,7 @@ local-pkg@^0.5.0:
mlly "^1.4.2"
pkg-types "^1.0.3"
lodash-es@^4.17.21:
lodash-es@*, lodash-es@^4.17.21:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz"
integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
@ -946,7 +656,7 @@ lodash-unified@^1.0.2:
resolved "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz"
integrity sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==
lodash@^4.17.21:
lodash@*, lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@ -1102,7 +812,7 @@ readdirp@~3.6.0:
resize-observer-polyfill@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
resolved "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz"
integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
resolve@^1.22.4:
@ -1119,7 +829,7 @@ reusify@^1.0.4:
resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
rollup@^4.13.0:
rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^4.13.0:
version "4.18.0"
resolved "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz"
integrity sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==
@ -1151,7 +861,7 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
sass@^1.69.5:
sass@*, sass@^1.69.5:
version "1.69.5"
resolved "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz"
integrity sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==
@ -1170,7 +880,7 @@ sortablejs@^1.15.2:
resolved "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.2.tgz"
integrity sha512-FJF5jgdfvoKn1MAKSdGs33bIqLi3LmsgVTliuX6iITj834F+JRQZN90Z93yql8h0K2t0RwDPBmxwlbZfDcxNZA==
"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2, source-map-js@^1.2.0:
source-map-js@^1.0.2, source-map-js@^1.2.0, "source-map-js@>=0.6.2 <2.0.0":
version "1.2.0"
resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz"
integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
@ -1295,7 +1005,7 @@ vite-plugin-dynamic-import@^1.5.0:
fast-glob "^3.2.12"
magic-string "^0.30.1"
vite@^5.0.0:
"vite@^4.0.0 || ^5.0.0", vite@^5.0.0:
version "5.2.13"
resolved "https://registry.npmjs.org/vite/-/vite-5.2.13.tgz"
integrity sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==
@ -1318,14 +1028,7 @@ vue-router@^4.0.13:
dependencies:
"@vue/devtools-api" "^6.0.0"
vue3-ace-editor@^2.2.4:
version "2.2.4"
resolved "https://registry.yarnpkg.com/vue3-ace-editor/-/vue3-ace-editor-2.2.4.tgz#1f2a787f91cf7979f27fab29e0e0604bb3ee1c17"
integrity sha512-FZkEyfpbH068BwjhMyNROxfEI8135Sc+x8ouxkMdCNkuj/Tuw83VP/gStFQqZHqljyX9/VfMTCdTqtOnJZGN8g==
dependencies:
resize-observer-polyfill "^1.5.1"
vue@^3.3.8:
vue@^3, "vue@^3.0.0-0 || ^2.6.0", vue@^3.0.2, vue@^3.2.0, vue@^3.2.25, vue@^3.3.8, "vue@2 || 3", vue@3.3.10:
version "3.3.10"
resolved "https://registry.npmjs.org/vue/-/vue-3.3.10.tgz"
integrity sha512-zg6SIXZdTBwiqCw/1p+m04VyHjLfwtjwz8N57sPaBhEex31ND0RYECVOC1YrRwMRmxFf5T1dabl6SGUbMKKuVw==
@ -1336,6 +1039,13 @@ vue@^3.3.8:
"@vue/server-renderer" "3.3.10"
"@vue/shared" "3.3.10"
vue3-ace-editor@^2.2.4:
version "2.2.4"
resolved "https://registry.npmmirror.com/vue3-ace-editor/-/vue3-ace-editor-2.2.4.tgz"
integrity sha512-FZkEyfpbH068BwjhMyNROxfEI8135Sc+x8ouxkMdCNkuj/Tuw83VP/gStFQqZHqljyX9/VfMTCdTqtOnJZGN8g==
dependencies:
resize-observer-polyfill "^1.5.1"
vuex@^4.0.2:
version "4.0.2"
resolved "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz"

Loading…
Cancel
Save