From a39c9f4d7228eb5bd0bda613fd326824fc7777ee Mon Sep 17 00:00:00 2001 From: YeMingfei666 <1619116647@qq.com> Date: Thu, 25 Sep 2025 20:27:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E4=B8=AD=E5=BF=83=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E4=BF=AE=E6=94=B9=EF=BC=8C=E4=BD=99=E9=A2=9D=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E8=B0=83=E6=95=B4=EF=BC=8C=E5=BC=80=E9=80=9A=E4=BC=9A?= =?UTF-8?q?=E5=91=98=E9=A1=B5=E9=9D=A2=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/api/market/config.js | 1 + common/api/market/recharge.js | 12 + common/api/market/vip.js | 25 + common/api/order/index.js | 8 + common/api/request.js | 5 +- common/css/common.scss | 6 + framework/0-conf.js | 8 +- manifest.json | 170 +-- package.json | 16 +- pages.json | 19 +- pages/user/member/billDetails.vue | 161 +-- .../member/charge-detail/charge-detail.vue | 168 +++ pages/user/member/czzx.vue | 287 +++- pages/user/user.vue | 78 +- pnpm-lock.yaml | 1165 ++++++++++++++--- static/icon/code.png | Bin 0 -> 846 bytes static/vip/money.png | Bin 0 -> 1287 bytes static/vip/sel.png | Bin 0 -> 1080 bytes user/components/registermember.vue | 500 +++++++ user/{images => static}/Frame_220.png | Bin user/{images => static}/Frame_221.png | Bin user/{images => static}/Frame_222.png | Bin user/{images => static}/Frame_223.png | Bin user/{images => static}/Frame_224.png | Bin user/{images => static}/Frame_225.png | Bin user/{images => static}/Rectangle_25.png | Bin user/static/buy-vip/Frame_220.png | Bin 0 -> 4813 bytes user/static/buy-vip/Frame_221.png | Bin 0 -> 4121 bytes user/static/buy-vip/Frame_222.png | Bin 0 -> 3965 bytes user/static/buy-vip/Frame_223.png | Bin 0 -> 4145 bytes user/static/buy-vip/Frame_224.png | Bin 0 -> 6096 bytes user/static/buy-vip/Frame_225.png | Bin 0 -> 4098 bytes user/{images => static}/image_21.png | Bin user/vip/buy-vip.vue | 578 ++++++++ user/vip/vip.vue | 36 +- vite.config.js | 2 +- 36 files changed, 2818 insertions(+), 427 deletions(-) create mode 100644 common/api/market/config.js create mode 100644 common/api/market/recharge.js create mode 100644 common/api/market/vip.js create mode 100644 pages/user/member/charge-detail/charge-detail.vue create mode 100644 static/icon/code.png create mode 100644 static/vip/money.png create mode 100644 static/vip/sel.png create mode 100644 user/components/registermember.vue rename user/{images => static}/Frame_220.png (100%) rename user/{images => static}/Frame_221.png (100%) rename user/{images => static}/Frame_222.png (100%) rename user/{images => static}/Frame_223.png (100%) rename user/{images => static}/Frame_224.png (100%) rename user/{images => static}/Frame_225.png (100%) rename user/{images => static}/Rectangle_25.png (100%) create mode 100644 user/static/buy-vip/Frame_220.png create mode 100644 user/static/buy-vip/Frame_221.png create mode 100644 user/static/buy-vip/Frame_222.png create mode 100644 user/static/buy-vip/Frame_223.png create mode 100644 user/static/buy-vip/Frame_224.png create mode 100644 user/static/buy-vip/Frame_225.png rename user/{images => static}/image_21.png (100%) create mode 100644 user/vip/buy-vip.vue diff --git a/common/api/market/config.js b/common/api/market/config.js new file mode 100644 index 0000000..b346f79 --- /dev/null +++ b/common/api/market/config.js @@ -0,0 +1 @@ +export const prveUrl='/market' \ No newline at end of file diff --git a/common/api/market/recharge.js b/common/api/market/recharge.js new file mode 100644 index 0000000..08f5e62 --- /dev/null +++ b/common/api/market/recharge.js @@ -0,0 +1,12 @@ +// 引入 request 文件 +import request from '@/common/api/request.js' +import {prveUrl} from './config.js' + +export const config = (data) => { + const shopId=uni.getStorageSync('shopId')||''; + return request({ + url: prveUrl + '/user/recharge/config', + method: 'get', + data: {...data,shopId:shopId} + }) +} diff --git a/common/api/market/vip.js b/common/api/market/vip.js new file mode 100644 index 0000000..b463675 --- /dev/null +++ b/common/api/market/vip.js @@ -0,0 +1,25 @@ +// 引入 request 文件 +import request from '@/common/api/request.js' +import {prveUrl} from './config.js' + +export const list = (data) => { + return request({ + url: prveUrl + '/user/member/list', + method: 'get', + data: data + }) +} +export const detail = (data) => { + return request({ + url: prveUrl + '/user/member/detail', + method: 'get', + data: data + }) +} +export const config = (data) => { + return request({ + url: prveUrl + '/user/member/config', + method: 'get', + data: data + }) +} diff --git a/common/api/order/index.js b/common/api/order/index.js index 52b5aac..cfabfea 100644 --- a/common/api/order/index.js +++ b/common/api/order/index.js @@ -62,4 +62,12 @@ export const APIrmPlaceOrder = (data) => { method: 'post', data: data }) +} +//会员开通 +export const joinMember = (data) => { + return request({ + url: url + '/user/order/joinMember', + method: 'post', + data: data + }) } \ No newline at end of file diff --git a/common/api/request.js b/common/api/request.js index 42d51ee..6e62009 100644 --- a/common/api/request.js +++ b/common/api/request.js @@ -6,6 +6,7 @@ export default (params) => { let toast = params.toast || true; let token=uni.cache.get('token') || ''; const shopId=uni.cache.get('shopId')*1; + const userInfo=uni.cache.get('userInfo')||{}; // #ifdef H5 token="21f0a0b10e1d40ce9c6464037fedb792" // #endif @@ -25,9 +26,9 @@ export default (params) => { platformType: 'ALI', // #endif token, - id: uni.cache.get('userInfo').id || '', + id: userInfo.id || '', shopId:shopId || '', - userId: uni.cache.get('userInfo').id || '', + userId: userInfo.id || '', } if (toast) { uni.showLoading({ diff --git a/common/css/common.scss b/common/css/common.scss index cc011bf..04012c7 100644 --- a/common/css/common.scss +++ b/common/css/common.scss @@ -85,4 +85,10 @@ page, } .no-wrap{ white-space: nowrap; + } + .line-through{ + text-decoration: line-through; + } + .u-flex-1{ + flex:1; } \ No newline at end of file diff --git a/framework/0-conf.js b/framework/0-conf.js index 6186f4e..0031c6f 100644 --- a/framework/0-conf.js +++ b/framework/0-conf.js @@ -5,16 +5,16 @@ const proxyApi = "/api" // #endif // #ifdef MP-WEIXIN || APP || MP-ALIPAY -const proxyApi = 'http://192.168.0.71' // 调试地址 -const proxyApiwws = 'ws://192.168.0.71:2348' // 调试地址 +const proxyApi = 'http://192.168.1.42' // 调试地址 +const proxyApiwws = 'ws://192.168.1.42:2348' // 调试地址 // 测试 // const proxyApi = "https://fv901fw8033.vicp.fun" // const proxyApiwws = 'wss://sockets.sxczgkj.com/wss' // #endif // #ifdef H5 -const baseUrl = debug ? proxyApi : "http://192.168.0.71" -const baseUrlwws = 'ws://192.168.0.71:2348' +const baseUrl = debug ? proxyApi : "http://192.168.1.42" +const baseUrlwws = 'ws://192.168.1.42:2348' // #endif // #ifdef APP || MP-WEIXIN || MP-ALIPAY diff --git a/manifest.json b/manifest.json index f2f08c5..9c57f15 100644 --- a/manifest.json +++ b/manifest.json @@ -1,83 +1,89 @@ { - "name" : "wepp", - "appid" : "__UNI__C94DF77", - "description" : "", - "versionName" : "1.0.0", - "versionCode" : "100", - "transformPx" : false, - /* 5+App特有相关 */ - "app-plus" : { - "usingComponents" : true, - "nvueStyleCompiler" : "uni-app", - "compilerVersion" : 3, - "splashscreen" : { - "alwaysShowBeforeRender" : true, - "waiting" : true, - "autoclose" : true, - "delay" : 0 - }, - /* 模块配置 */ - "modules" : {}, - /* 应用发布信息 */ - "distribute" : { - /* android打包配置 */ - "android" : { - "permissions" : [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ] - }, - /* ios打包配置 */ - "ios" : {}, - /* SDK配置 */ - "sdkConfigs" : {} - } - }, - /* 快应用特有相关 */ - "quickapp" : {}, - /* 小程序特有相关 */ - "mp-weixin" : { - "appid" : "wxd88fffa983758a30", - "setting" : { - "urlCheck" : false, - "minified" : true, - "es6" : true, - "postcss" : true - }, - "usingComponents" : true, - "libVersion" : "latest", - "permission" : { - "scope.userLocation" : { - "desc" : "你的位置信息将用于小程序位置接口的效果展示" - } - }, - "requiredPrivateInfos" : [ "getLocation", "onLocationChange", "chooseLocation", "chooseAddress" ] - }, - "h5" : {}, - "mp-alipay" : { - "usingComponents" : true - }, - "mp-baidu" : { - "usingComponents" : true - }, - "mp-toutiao" : { - "usingComponents" : true - }, - "uniStatistics" : { - "enable" : false - }, - "vueVersion" : "3" -} + "name": "wepp", + "appid": "__UNI__C94DF77", + "description": "", + "versionName": "1.0.0", + "versionCode": "100", + "transformPx": false, + /* 5+App特有相关 */ + "app-plus": { + "usingComponents": true, + "nvueStyleCompiler": "uni-app", + "compilerVersion": 3, + "splashscreen": { + "alwaysShowBeforeRender": true, + "waiting": true, + "autoclose": true, + "delay": 0 + }, + /* 模块配置 */ + "modules": {}, + /* 应用发布信息 */ + "distribute": { + /* android打包配置 */ + "android": { + "permissions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + /* ios打包配置 */ + "ios": {}, + /* SDK配置 */ + "sdkConfigs": {} + } + }, + /* 快应用特有相关 */ + "quickapp": {}, + /* 小程序特有相关 */ + "mp-weixin": { + "appid": "wxd88fffa983758a30", + "setting": { + "urlCheck": false, + "minified": true, + "es6": true, + "postcss": true + }, + "optimization": { + "subPackages": true + }, + "usingComponents": true, + "libVersion": "latest", + "permission": { + "scope.userLocation": { + "desc": "你的位置信息将用于小程序位置接口的效果展示" + } + }, + "requiredPrivateInfos": ["getLocation", "onLocationChange", "chooseLocation", "chooseAddress"] + }, + "h5": {}, + "mp-alipay": { + "usingComponents": true, + "optimization": { + "subPackages": true + } + }, + "mp-baidu": { + "usingComponents": true + }, + "mp-toutiao": { + "usingComponents": true + }, + "uniStatistics": { + "enable": false + }, + "vueVersion": "3" +} \ No newline at end of file diff --git a/package.json b/package.json index 0c4b779..8527ebd 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { - "dependencies": { - "@dcloudio/uni-app": "^2.0.2-4040520250103001", - "dayjs": "^1.11.13", - "jsbarcode": "^3.11.6", - "pinia": "^2.3.1", - "pinia-plugin-unistorage": "^0.1.2" - } -} + "dependencies": { + "@dcloudio/uni-app": "^2.0.2-4040520250103001", + "dayjs": "^1.11.13", + "jsbarcode": "^3.11.6", + "pinia": "^2.3.1", + "pinia-plugin-unistorage": "^0.1.2" + } +} \ No newline at end of file diff --git a/pages.json b/pages.json index ab037fa..56f0b82 100644 --- a/pages.json +++ b/pages.json @@ -118,7 +118,8 @@ { "path": "pages/user/member/billDetails", "style": { - "navigationBarTitleText": "账单明细" + "navigationBarTitleText": "账单明细", + "navigationStyle": "custom" } }, { @@ -187,6 +188,14 @@ "navigationBarTitleText": "充值中心", "navigationStyle": "custom" } + }, + { + "path" : "pages/user/member/charge-detail/charge-detail", + "style" : + { + "navigationBarTitleText" : "", + "navigationStyle": "custom" + } } ], "subPackages": [ @@ -199,6 +208,14 @@ "navigationBarTitleText" : "", "navigationStyle": "custom" } + }, + { + "path" : "vip/buy-vip", + "style" : + { + "navigationBarTitleText" : "", + "navigationStyle": "custom" + } } ] diff --git a/pages/user/member/billDetails.vue b/pages/user/member/billDetails.vue index 5971016..5cacd58 100644 --- a/pages/user/member/billDetails.vue +++ b/pages/user/member/billDetails.vue @@ -1,7 +1,8 @@ + + \ No newline at end of file diff --git a/pages/user/member/czzx.vue b/pages/user/member/czzx.vue index 10da58c..c22862c 100644 --- a/pages/user/member/czzx.vue +++ b/pages/user/member/czzx.vue @@ -23,76 +23,265 @@ + + + + + + + + + 立即充值 + + + 充值代表接受 + 《用户隐私协议》 + + + + + + + {{item.amount}} + + + + + {{item.rewardAmount}} + + + + + {{item.rewardPoints}} + + + + {{item.couponInfoList.length}} + 张券 + 查看 + + + + + + + + + 其他金额 + + + 自定义金额充值时,不享受任何优惠赠送 + + + 充值说明 + + 适用门店 + 全国门店通用 > + + + 有效期限 + 永久有效 + + + 注意事项 + + 1.储值完成后不支持自助退款,可联系商家处理 + 2.余额不支持转赠,不可提现,长期有效 + + + + + 充值说明 + + 此处显示内容:管理端配置,读取智慧充值中《充值说明》字段内容 + + + + .bottom { + background-color: rgba(255, 255, 255, .3); + padding: 40rpx 28rpx 0 28rpx; + transform: translateY(-140rpx); + border-radius: 74rpx 74rpx 0 0; + } + + .list { + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 20rpx; + row-gap: 22rpx; + + .item { + padding: 36rpx 22rpx; + border-radius: 42rpx; + background: linear-gradient(180deg, #F5F5F5 58.54%, #FFF 140.47%); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + position: relative; + box-sizing: border-box; + border: 6rpx solid transparent; + transition: all .3s ease-in-out; + + &.active { + background: linear-gradient(180deg, #FFC29A -26.17%, #FFF 64.06%); + border: 6rpx solid #FE6C0E; + box-shadow: 0 0 31rpx 2rpx #fe8b435e; + } + + .sel { + position: absolute; + bottom: 0; + left: 50%; + + transform: translateX(-50%) translateY(21rpx); + + .image { + width: 42rpx; + height: 42rpx; + } + } + } + } + \ No newline at end of file diff --git a/pages/user/user.vue b/pages/user/user.vue index aba3f93..82ad439 100644 --- a/pages/user/user.vue +++ b/pages/user/user.vue @@ -9,17 +9,21 @@ {{userInfo.nickName}} - + + + - - 我的资产 + + + 我的资产 @@ -45,7 +49,7 @@ 这里是店铺名称 - + 查看全部 @@ -55,9 +59,7 @@ - + 会员 @@ -66,7 +68,7 @@ - + @@ -77,15 +79,15 @@ 这里是店铺名称 - + - 查看全部 + 查看全部 - + - + @@ -126,6 +128,7 @@ import { productStore } from '@/stores/user.js'; + import * as vipApi from '@/common/api/market/vip.js' const store = productStore(); const myFunList = ref([{ name: "积分", @@ -159,20 +162,38 @@ const userInfo = reactive({}) const ShopId = ref(uni.cache.get('shopId')) - + + + function tomemberList(){ + uni.navigateTo({ + url:'/pages/user/member/list' + }) + } const clickEvent = () => { if (ShopId.value) { - if (userInfo.isVip == 0) { - uni.pro.navigateTo('user/member/memberdetails', { - shopId: uni.cache.get('shopId') + if(!userInfo.isVip){ + uni.navigateTo({ + url: '/user/vip/buy-vip?shopId='+ShopId.value }) - } else { - uni.pro.navigateTo('user/member/paycode', { - shopId: uni.cache.get('shopId'), - shopInfo: JSON.stringify(uni.cache.get('orderVIP').shopInfo) + }else{ + uni.navigateTo({ + url: '/user/vip/vip?shopId='+ShopId.value }) } + + // if (userInfo.isVip == 0) { + + + // uni.pro.navigateTo('user/member/memberdetails', { + // shopId: uni.cache.get('shopId') + // }) + // } else { + // uni.pro.navigateTo('user/member/paycode', { + // shopId: uni.cache.get('shopId'), + // shopInfo: JSON.stringify(uni.cache.get('orderVIP').shopInfo) + // }) + // } } else { uni.pro.navigateTo('member/list', { type: 'user_payCode' @@ -246,6 +267,10 @@ break; } } + async function getData() { + const res = await vipApi.list() + console.log(res); + } onShow(() => { store.actionsAPIuser() if (uni.cache.get('shopId')) { @@ -256,6 +281,7 @@ ...uni.cache.get('userInfo').assetsSummary }) } + getData() }) @@ -312,8 +338,8 @@ } .my_info_right_qr { - width: 60rpx; - height: 60rpx; + width: 40rpx; + height: 40rpx; } } @@ -420,10 +446,12 @@ grid-template-columns: repeat(4, 1fr); column-gap: 40rpx; margin-top: 20rpx; - .card-list-item{ + + .card-list-item { max-width: 182rpx; box-shadow: 8rpx 8rpx 32rpx 0 #0b18390f; - .info{ + + .info { padding-bottom: 16rpx; overflow: hidden; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b4c495..d4c60f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,200 +1,426 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - '@dcloudio/uni-app': - specifier: ^2.0.2-4040520250103001 - version: 2.0.2-4070620250821001(@dcloudio/types@3.4.21)(@vue/composition-api@1.7.2) - dayjs: - specifier: ^1.11.13 - version: 1.11.18 - jsbarcode: - specifier: ^3.11.6 - version: 3.12.1 - pinia: - specifier: ^2.3.1 - version: 2.3.1(@vue/composition-api@1.7.2)(vue@3.5.21) - pinia-plugin-unistorage: - specifier: ^0.1.2 - version: 0.1.2 +importers: + + .: + dependencies: + '@dcloudio/uni-app': + specifier: ^2.0.2-4040520250103001 + version: 2.0.2-4070620250821001(@dcloudio/types@3.4.21)(@vue/composition-api@1.7.2(vue@3.5.22)) + dayjs: + specifier: ^1.11.13 + version: 1.11.18 + jsbarcode: + specifier: ^3.11.6 + version: 3.12.1 + pinia: + specifier: ^2.3.1 + version: 2.3.1(@vue/composition-api@1.7.2(vue@3.5.22))(vue@3.5.22) + pinia-plugin-unistorage: + specifier: ^0.1.2 + version: 0.1.2 + devDependencies: + copy-webpack-plugin: + specifier: ^12.0.2 + version: 12.0.2(webpack@5.101.3) packages: - /@babel/helper-string-parser@7.27.1: + '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-validator-identifier@7.27.1: + '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - dev: false - /@babel/parser@7.28.4: + '@babel/parser@7.28.4': resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.28.4 - dev: false - /@babel/types@7.28.4: + '@babel/types@7.28.4': resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - dev: false - /@dcloudio/types@3.4.21: + '@dcloudio/types@3.4.21': resolution: {integrity: sha512-rsv3XfAaD/dtuVboPeYh+vPcULnWyozGaGKHWyN0dYRm7L1uypFUM30qNYMj9iNmbAENuBjV177S1gNEBIvdDA==} - dev: false - /@dcloudio/uni-app@2.0.2-4070620250821001(@dcloudio/types@3.4.21)(@vue/composition-api@1.7.2): + '@dcloudio/uni-app@2.0.2-4070620250821001': resolution: {integrity: sha512-kZBLLRmFsF3HvqfgTKHh1NDb1G7L5jJXZ3rncrGnaIirc6mE4jpBoSeqQY5jFxgQXFdJVXsHvLezBi13XiqazA==} peerDependencies: '@dcloudio/types': ^3.0.15 '@vue/composition-api': ^1.7.0 - dependencies: - '@dcloudio/types': 3.4.21 - '@vue/composition-api': 1.7.2(vue@3.5.21) - dev: false - /@jridgewell/sourcemap-codec@1.5.5: + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - dev: false - /@vue/compiler-core@3.5.21: - resolution: {integrity: sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==} - dependencies: - '@babel/parser': 7.28.4 - '@vue/shared': 3.5.21 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - dev: false + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - /@vue/compiler-dom@3.5.21: - resolution: {integrity: sha512-jNtbu/u97wiyEBJlJ9kmdw7tAr5Vy0Aj5CgQmo+6pxWNQhXZDPsRr1UWPN4v3Zf82s2H3kF51IbzZ4jMWAgPlQ==} - dependencies: - '@vue/compiler-core': 3.5.21 - '@vue/shared': 3.5.21 - dev: false + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} - /@vue/compiler-sfc@3.5.21: - resolution: {integrity: sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==} - dependencies: - '@babel/parser': 7.28.4 - '@vue/compiler-core': 3.5.21 - '@vue/compiler-dom': 3.5.21 - '@vue/compiler-ssr': 3.5.21 - '@vue/shared': 3.5.21 - estree-walker: 2.0.2 - magic-string: 0.30.19 - postcss: 8.5.6 - source-map-js: 1.2.1 - dev: false + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} - /@vue/compiler-ssr@3.5.21: - resolution: {integrity: sha512-vKQ5olH5edFZdf5ZrlEgSO1j1DMA4u23TVK5XR1uMhvwnYvVdDF0nHXJUblL/GvzlShQbjhZZ2uvYmDlAbgo9w==} - dependencies: - '@vue/compiler-dom': 3.5.21 - '@vue/shared': 3.5.21 - dev: false + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} - /@vue/composition-api@1.7.2(vue@3.5.21): + '@sindresorhus/merge-streams@2.3.0': + resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} + engines: {node: '>=18'} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/node@24.5.2': + resolution: {integrity: sha512-FYxk1I7wPv3K2XBaoyH2cTnocQEu8AOZ60hPbsyukMPLv5/5qr7V1i8PLHdl6Zf87I+xZXFvPCXYjiTFq+YSDQ==} + + '@vue/compiler-core@3.5.22': + resolution: {integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==} + + '@vue/compiler-dom@3.5.22': + resolution: {integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==} + + '@vue/compiler-sfc@3.5.22': + resolution: {integrity: sha512-tbTR1zKGce4Lj+JLzFXDq36K4vcSZbJ1RBu8FxcDv1IGRz//Dh2EBqksyGVypz3kXpshIfWKGOCcqpSbyGWRJQ==} + + '@vue/compiler-ssr@3.5.22': + resolution: {integrity: sha512-GdgyLvg4R+7T8Nk2Mlighx7XGxq/fJf9jaVofc3IL0EPesTE86cP/8DD1lT3h1JeZr2ySBvyqKQJgbS54IX1Ww==} + + '@vue/composition-api@1.7.2': resolution: {integrity: sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==} peerDependencies: vue: '>= 2.5 < 2.7' - dependencies: - vue: 3.5.21 - dev: false - /@vue/devtools-api@6.6.4: + '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - dev: false - /@vue/reactivity@3.5.21: - resolution: {integrity: sha512-3ah7sa+Cwr9iiYEERt9JfZKPw4A2UlbY8RbbnH2mGCE8NwHkhmlZt2VsH0oDA3P08X3jJd29ohBDtX+TbD9AsA==} - dependencies: - '@vue/shared': 3.5.21 - dev: false + '@vue/reactivity@3.5.22': + resolution: {integrity: sha512-f2Wux4v/Z2pqc9+4SmgZC1p73Z53fyD90NFWXiX9AKVnVBEvLFOWCEgJD3GdGnlxPZt01PSlfmLqbLYzY/Fw4A==} - /@vue/runtime-core@3.5.21: - resolution: {integrity: sha512-+DplQlRS4MXfIf9gfD1BOJpk5RSyGgGXD/R+cumhe8jdjUcq/qlxDawQlSI8hCKupBlvM+3eS1se5xW+SuNAwA==} - dependencies: - '@vue/reactivity': 3.5.21 - '@vue/shared': 3.5.21 - dev: false + '@vue/runtime-core@3.5.22': + resolution: {integrity: sha512-EHo4W/eiYeAzRTN5PCextDUZ0dMs9I8mQ2Fy+OkzvRPUYQEyK9yAjbasrMCXbLNhF7P0OUyivLjIy0yc6VrLJQ==} - /@vue/runtime-dom@3.5.21: - resolution: {integrity: sha512-3M2DZsOFwM5qI15wrMmNF5RJe1+ARijt2HM3TbzBbPSuBHOQpoidE+Pa+XEaVN+czbHf81ETRoG1ltztP2em8w==} - dependencies: - '@vue/reactivity': 3.5.21 - '@vue/runtime-core': 3.5.21 - '@vue/shared': 3.5.21 - csstype: 3.1.3 - dev: false + '@vue/runtime-dom@3.5.22': + resolution: {integrity: sha512-Av60jsryAkI023PlN7LsqrfPvwfxOd2yAwtReCjeuugTJTkgrksYJJstg1e12qle0NarkfhfFu1ox2D+cQotww==} - /@vue/server-renderer@3.5.21(vue@3.5.21): - resolution: {integrity: sha512-qr8AqgD3DJPJcGvLcJKQo2tAc8OnXRcfxhOJCPF+fcfn5bBGz7VCcO7t+qETOPxpWK1mgysXvVT/j+xWaHeMWA==} + '@vue/server-renderer@3.5.22': + resolution: {integrity: sha512-gXjo+ao0oHYTSswF+a3KRHZ1WszxIqO7u6XwNHqcqb9JfyIL/pbWrrh/xLv7jeDqla9u+LK7yfZKHih1e1RKAQ==} peerDependencies: - vue: 3.5.21 - dependencies: - '@vue/compiler-ssr': 3.5.21 - '@vue/shared': 3.5.21 - vue: 3.5.21 - dev: false + vue: 3.5.22 - /@vue/shared@3.5.21: - resolution: {integrity: sha512-+2k1EQpnYuVuu3N7atWyG3/xoFWIVJZq4Mz8XNOdScFI0etES75fbny/oU4lKWk/577P1zmg0ioYvpGEDZ3DLw==} - dev: false + '@vue/shared@3.5.22': + resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==} - /csstype@3.1.3: + '@webassemblyjs/ast@1.14.1': + resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} + + '@webassemblyjs/floating-point-hex-parser@1.13.2': + resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} + + '@webassemblyjs/helper-api-error@1.13.2': + resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} + + '@webassemblyjs/helper-buffer@1.14.1': + resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} + + '@webassemblyjs/helper-numbers@1.13.2': + resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': + resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} + + '@webassemblyjs/helper-wasm-section@1.14.1': + resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} + + '@webassemblyjs/ieee754@1.13.2': + resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} + + '@webassemblyjs/leb128@1.13.2': + resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} + + '@webassemblyjs/utf8@1.13.2': + resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} + + '@webassemblyjs/wasm-edit@1.14.1': + resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} + + '@webassemblyjs/wasm-gen@1.14.1': + resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} + + '@webassemblyjs/wasm-opt@1.14.1': + resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} + + '@webassemblyjs/wasm-parser@1.14.1': + resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} + + '@webassemblyjs/wast-printer@1.14.1': + resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + acorn-import-phases@1.0.4: + resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} + engines: {node: '>=10.13.0'} + peerDependencies: + acorn: ^8.14.0 + + acorn@8.15.0: + resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + engines: {node: '>=0.4.0'} + hasBin: true + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + baseline-browser-mapping@2.8.6: + resolution: {integrity: sha512-wrH5NNqren/QMtKUEEJf7z86YjfqW/2uw3IL3/xpqZUC95SSVIFXYQeeGjL6FT/X68IROu6RMehZQS5foy2BXw==} + hasBin: true + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.26.2: + resolution: {integrity: sha512-ECFzp6uFOSB+dcZ5BK/IBaGWssbSYBHvuMeMt3MMFyhI0Z8SqGgEkBLARgpRH3hutIgPVsALcMwbDrJqPxQ65A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + caniuse-lite@1.0.30001745: + resolution: {integrity: sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==} + + chrome-trace-event@1.0.4: + resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} + engines: {node: '>=6.0'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + copy-webpack-plugin@12.0.2: + resolution: {integrity: sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==} + engines: {node: '>= 18.12.0'} + peerDependencies: + webpack: ^5.1.0 + + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: false - /dayjs@1.11.18: + dayjs@1.11.18: resolution: {integrity: sha512-zFBQ7WFRvVRhKcWoUh+ZA1g2HVgUbsZm9sbddh8EC5iv93sui8DVVz1Npvz+r6meo9VKfa8NyLWBsQK1VvIKPA==} - dev: false - /entities@4.5.0: + electron-to-chromium@1.5.223: + resolution: {integrity: sha512-qKm55ic6nbEmagFlTFczML33rF90aU+WtrJ9MdTCThrcvDNdUHN4p6QfVN78U06ZmguqXIyMPyYhw2TrbDUwPQ==} + + enhanced-resolve@5.18.3: + resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==} + engines: {node: '>=10.13.0'} + + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: false - /estree-walker@2.0.2: + es-module-lexer@1.7.0: + resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: false - /jsbarcode@3.12.1: + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + globby@14.1.0: + resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} + engines: {node: '>=18'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jsbarcode@3.12.1: resolution: {integrity: sha512-QZQSqIknC2Rr/YOUyOkCBqsoiBAOTYK+7yNN3JsqfoUtJtkazxNw1dmPpxuv7VVvqW13kA3/mKiLq+s/e3o9hQ==} - dev: false - /magic-string@0.30.19: + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + magic-string@0.30.19: resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - dev: false - /nanoid@3.3.11: + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: false - /picocolors@1.1.1: + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + node-releases@2.0.21: + resolution: {integrity: sha512-5b0pgg78U3hwXkCM8Z9b2FJdPZlr9Psr9V2gQPESdGHqbntyFJKFW4r5TeWGFzafGY3hzs1JC62VEQMbl1JFkw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + path-type@6.0.0: + resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} + engines: {node: '>=18'} + + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - dev: false - /pinia-plugin-unistorage@0.1.2: + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pinia-plugin-unistorage@0.1.2: resolution: {integrity: sha512-WXit2cGnm5rG6CDTcLSLehNWhyJS/Yq7WEeeXAapZbCnqoPJxlszqg7rT8S+OP47az0h5nlajGo+LuyMxUQ2uw==} - dev: false - /pinia@2.3.1(@vue/composition-api@1.7.2)(vue@3.5.21): + pinia@2.3.1: resolution: {integrity: sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==} peerDependencies: typescript: '>=4.4.4' @@ -202,55 +428,676 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@vue/devtools-api': 6.6.4 - vue: 3.5.21 - vue-demi: 0.14.10(@vue/composition-api@1.7.2)(vue@3.5.21) - transitivePeerDependencies: - - '@vue/composition-api' - dev: false - /postcss@8.5.6: + postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - dev: false - /source-map-js@1.2.1: + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + schema-utils@4.3.2: + resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} + engines: {node: '>= 10.13.0'} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - dev: false - /vue-demi@0.14.10(@vue/composition-api@1.7.2)(vue@3.5.21): + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + tapable@2.2.3: + resolution: {integrity: sha512-ZL6DDuAlRlLGghwcfmSn9sK3Hr6ArtyudlSAiCqQ6IfE+b+HHbydbYDIG15IfS5do+7XQQBdBiubF/cV2dnDzg==} + engines: {node: '>=6'} + + terser-webpack-plugin@5.3.14: + resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.44.0: + resolution: {integrity: sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==} + engines: {node: '>=10'} + hasBin: true + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + undici-types@7.12.0: + resolution: {integrity: sha512-goOacqME2GYyOZZfb5Lgtu+1IDmAlAEu5xnD3+xTzS10hT0vzpf0SPjkXwAw9Jm+4n/mQGDP3LO8CPbYROeBfQ==} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + update-browserslist-db@1.1.3: + resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + vue-demi@0.14.10: resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} engines: {node: '>=12'} hasBin: true - requiresBuild: true peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 vue: ^3.0.0-0 || ^2.6.0 peerDependenciesMeta: '@vue/composition-api': optional: true - dependencies: - '@vue/composition-api': 1.7.2(vue@3.5.21) - vue: 3.5.21 - dev: false - /vue@3.5.21: - resolution: {integrity: sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==} + vue@3.5.22: + resolution: {integrity: sha512-toaZjQ3a/G/mYaLSbV+QsQhIdMo9x5rrqIpYRObsJ6T/J+RyCSFwN2LHNVH9v8uIcljDNa3QzPVdv3Y6b9hAJQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true + + watchpack@2.4.4: + resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==} + engines: {node: '>=10.13.0'} + + webpack-sources@3.3.3: + resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==} + engines: {node: '>=10.13.0'} + + webpack@5.101.3: + resolution: {integrity: sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + +snapshots: + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/parser@7.28.4': dependencies: - '@vue/compiler-dom': 3.5.21 - '@vue/compiler-sfc': 3.5.21 - '@vue/runtime-dom': 3.5.21 - '@vue/server-renderer': 3.5.21(vue@3.5.21) - '@vue/shared': 3.5.21 - dev: false + '@babel/types': 7.28.4 + + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@dcloudio/types@3.4.21': {} + + '@dcloudio/uni-app@2.0.2-4070620250821001(@dcloudio/types@3.4.21)(@vue/composition-api@1.7.2(vue@3.5.22))': + dependencies: + '@dcloudio/types': 3.4.21 + '@vue/composition-api': 1.7.2(vue@3.5.22) + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/source-map@0.3.11': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@sindresorhus/merge-streams@2.3.0': {} + + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.8 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.8': {} + + '@types/json-schema@7.0.15': {} + + '@types/node@24.5.2': + dependencies: + undici-types: 7.12.0 + + '@vue/compiler-core@3.5.22': + dependencies: + '@babel/parser': 7.28.4 + '@vue/shared': 3.5.22 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.22': + dependencies: + '@vue/compiler-core': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/compiler-sfc@3.5.22': + dependencies: + '@babel/parser': 7.28.4 + '@vue/compiler-core': 3.5.22 + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-ssr': 3.5.22 + '@vue/shared': 3.5.22 + estree-walker: 2.0.2 + magic-string: 0.30.19 + postcss: 8.5.6 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.22': + dependencies: + '@vue/compiler-dom': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/composition-api@1.7.2(vue@3.5.22)': + dependencies: + vue: 3.5.22 + + '@vue/devtools-api@6.6.4': {} + + '@vue/reactivity@3.5.22': + dependencies: + '@vue/shared': 3.5.22 + + '@vue/runtime-core@3.5.22': + dependencies: + '@vue/reactivity': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/runtime-dom@3.5.22': + dependencies: + '@vue/reactivity': 3.5.22 + '@vue/runtime-core': 3.5.22 + '@vue/shared': 3.5.22 + csstype: 3.1.3 + + '@vue/server-renderer@3.5.22(vue@3.5.22)': + dependencies: + '@vue/compiler-ssr': 3.5.22 + '@vue/shared': 3.5.22 + vue: 3.5.22 + + '@vue/shared@3.5.22': {} + + '@webassemblyjs/ast@1.14.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + + '@webassemblyjs/floating-point-hex-parser@1.13.2': {} + + '@webassemblyjs/helper-api-error@1.13.2': {} + + '@webassemblyjs/helper-buffer@1.14.1': {} + + '@webassemblyjs/helper-numbers@1.13.2': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.13.2 + '@webassemblyjs/helper-api-error': 1.13.2 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.13.2': {} + + '@webassemblyjs/helper-wasm-section@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/wasm-gen': 1.14.1 + + '@webassemblyjs/ieee754@1.13.2': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.13.2': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.13.2': {} + + '@webassemblyjs/wasm-edit@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/helper-wasm-section': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-opt': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + '@webassemblyjs/wast-printer': 1.14.1 + + '@webassemblyjs/wasm-gen@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wasm-opt@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-buffer': 1.14.1 + '@webassemblyjs/wasm-gen': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + + '@webassemblyjs/wasm-parser@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/helper-api-error': 1.13.2 + '@webassemblyjs/helper-wasm-bytecode': 1.13.2 + '@webassemblyjs/ieee754': 1.13.2 + '@webassemblyjs/leb128': 1.13.2 + '@webassemblyjs/utf8': 1.13.2 + + '@webassemblyjs/wast-printer@1.14.1': + dependencies: + '@webassemblyjs/ast': 1.14.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + acorn-import-phases@1.0.4(acorn@8.15.0): + dependencies: + acorn: 8.15.0 + + acorn@8.15.0: {} + + ajv-formats@2.1.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv-keywords@5.1.0(ajv@8.17.1): + dependencies: + ajv: 8.17.1 + fast-deep-equal: 3.1.3 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + baseline-browser-mapping@2.8.6: {} + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.26.2: + dependencies: + baseline-browser-mapping: 2.8.6 + caniuse-lite: 1.0.30001745 + electron-to-chromium: 1.5.223 + node-releases: 2.0.21 + update-browserslist-db: 1.1.3(browserslist@4.26.2) + + buffer-from@1.1.2: {} + + caniuse-lite@1.0.30001745: {} + + chrome-trace-event@1.0.4: {} + + commander@2.20.3: {} + + copy-webpack-plugin@12.0.2(webpack@5.101.3): + dependencies: + fast-glob: 3.3.3 + glob-parent: 6.0.2 + globby: 14.1.0 + normalize-path: 3.0.0 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + webpack: 5.101.3 + + csstype@3.1.3: {} + + dayjs@1.11.18: {} + + electron-to-chromium@1.5.223: {} + + enhanced-resolve@5.18.3: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.3 + + entities@4.5.0: {} + + es-module-lexer@1.7.0: {} + + escalade@3.2.0: {} + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + events@3.3.0: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-uri@3.1.0: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + globby@14.1.0: + dependencies: + '@sindresorhus/merge-streams': 2.3.0 + fast-glob: 3.3.3 + ignore: 7.0.5 + path-type: 6.0.0 + slash: 5.1.0 + unicorn-magic: 0.3.0 + + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + ignore@7.0.5: {} + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-number@7.0.0: {} + + jest-worker@27.5.1: + dependencies: + '@types/node': 24.5.2 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jsbarcode@3.12.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@1.0.0: {} + + loader-runner@4.3.0: {} + + magic-string@0.30.19: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + nanoid@3.3.11: {} + + neo-async@2.6.2: {} + + node-releases@2.0.21: {} + + normalize-path@3.0.0: {} + + path-type@6.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pinia-plugin-unistorage@0.1.2: {} + + pinia@2.3.1(@vue/composition-api@1.7.2(vue@3.5.22))(vue@3.5.22): + dependencies: + '@vue/devtools-api': 6.6.4 + vue: 3.5.22 + vue-demi: 0.14.10(@vue/composition-api@1.7.2(vue@3.5.22))(vue@3.5.22) + transitivePeerDependencies: + - '@vue/composition-api' + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + queue-microtask@1.2.3: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + require-from-string@2.0.2: {} + + reusify@1.1.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.2.1: {} + + schema-utils@4.3.2: + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.17.1 + ajv-formats: 2.1.1(ajv@8.17.1) + ajv-keywords: 5.1.0(ajv@8.17.1) + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + slash@5.1.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + tapable@2.2.3: {} + + terser-webpack-plugin@5.3.14(webpack@5.101.3): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.2 + serialize-javascript: 6.0.2 + terser: 5.44.0 + webpack: 5.101.3 + + terser@5.44.0: + dependencies: + '@jridgewell/source-map': 0.3.11 + acorn: 8.15.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + undici-types@7.12.0: {} + + unicorn-magic@0.3.0: {} + + update-browserslist-db@1.1.3(browserslist@4.26.2): + dependencies: + browserslist: 4.26.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + vue-demi@0.14.10(@vue/composition-api@1.7.2(vue@3.5.22))(vue@3.5.22): + dependencies: + vue: 3.5.22 + optionalDependencies: + '@vue/composition-api': 1.7.2(vue@3.5.22) + + vue@3.5.22: + dependencies: + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-sfc': 3.5.22 + '@vue/runtime-dom': 3.5.22 + '@vue/server-renderer': 3.5.22(vue@3.5.22) + '@vue/shared': 3.5.22 + + watchpack@2.4.4: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + webpack-sources@3.3.3: {} + + webpack@5.101.3: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.26.2 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.18.3 + es-module-lexer: 1.7.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.2 + tapable: 2.2.3 + terser-webpack-plugin: 5.3.14(webpack@5.101.3) + watchpack: 2.4.4 + webpack-sources: 3.3.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js diff --git a/static/icon/code.png b/static/icon/code.png new file mode 100644 index 0000000000000000000000000000000000000000..e7149a7b65712be2c72cbfa77938f35e4363d5eb GIT binary patch literal 846 zcmV-U1F`&xP)HD*5gU&-WfylJsAHO4;)tpE(mA@%d&YPS<_#BL(s& z%U`G#^@%c~bU;0lSCK-rq3&l0L=ylS5nTlkWS>e+DY=a8SMe9LG0}E7X^KF1$AG_g z9&jSqW^y_P@mbB7raH%mE_-q|ZSUw!?Td{T#<_56gOy9$o3j~vfr*uvhCNkpOxZ77Bl0&6d(n#~ST0UH!)GwHunKjU{Swne^2AWQwewPA za_@i%mW#=@{lt3v#`Knh@6Enxx~RLEZ{;$FZkrN#r6{neuExQ2lhZMv_GnOn)ei}@ zqF^i!iotcdFLP3e#|kn^+%3;h%DgPdf_av(j+)ul-U~0>43C;BNm*|5w3b6}X_f8z z)irIEI9>NaO-h_$McjU;h%c2yR`?qcv1Y&K>j#4zP@7LA?RU<^`dl;=`KsPtuxq^{ zKd6b|c_rz7{z`j-Qz@$<)^je%!77~8KUg!=w{_V4^<0Ic)-);1m*+H9?p3AYDN?bx6WesDKYO{O-IN?jCZoK2Z|ZnVv$;&i7ES0+pw1OsIJzL3P2eLk zo|*q|!pO&VK^{0RR7@_~Wnu000I_L_t&o Y0BlLz&2WLCga7~l07*qoM6N<$g7i|ASpWb4 literal 0 HcmV?d00001 diff --git a/static/vip/money.png b/static/vip/money.png new file mode 100644 index 0000000000000000000000000000000000000000..0e327e93bf96c0bd7e32d688b8347cfa6208478f GIT binary patch literal 1287 zcmV+i1^D`jP)@@tP;|Fzk7haKOX1mCtpixFMYkU1q@4` zgJm0G@$;}y<0Y@boK}d2!xXby2vxWH0~=ny50^W@-k+{#sQobc-23$O!V@nDXf?#A zfzvVP$~|foHSq8M-Tzi{PSAF9Y=rVS>are*fxMnQA3qdOLQI?QUi0CM;M5u}Tm@3^1^PK)C`p zE4gPkyR5s@md=kicL2O^1WeqU>2Kqj@8K+5R}sF76!Xi~^R|9QA_3T}$gu(6ik z5ydqUhx{ZIq&L{3USp#^slA375egNX11858QPf6GK#3_<7Q2)Hja@7ORdr&euM{46 zWPL#lO)}C86fy%&r=hM1LecdBenMf;W>hhp%t_moB_#G;N93C3A$eiRGO+}d;v2w- zlHK$eSb}X&j$veqJRT^%W8_j|C1xWx%AiPT+I(27Vi-^?BU(0=#>xOnqBRRkbv@Xe zsb<$O5^WA}6X!`?g^;xKV^h0My;#PktMXKFamC+2EJSuow2LJ-te9p-G_&&(C-DlA z_oC)TPl5nPuR&I>nMEBfe*qYPT`x;$PPs^_NQ^){4wW)I+E1wo6ZFdnt5EC-h!op! zsk|x=>Xf9OzbQ8hn8fR_C0866PO3=c-K5s9orR35bXzCFCc#dI)ND!*gYck%q{3T3|4i1{B!s0zMll0@}NLh++y1zJ>@)>lJSpwk+slM0avDWv-vugDUQeNTR1sayBkE;*w> zmvMBuJh=Ps7POsli}tJ`R;( literal 0 HcmV?d00001 diff --git a/static/vip/sel.png b/static/vip/sel.png new file mode 100644 index 0000000000000000000000000000000000000000..f71f8a63e6f89c73446047226ef5461cd0b200c5 GIT binary patch literal 1080 zcmV-81jqY{P)E;L#4tnG4?XC z#9Fdv4WGOSTUNo~=T6EHL_=Az*);t88N9g?c5Q%M1|qSwq$ghT9N}6KoH>3MrPXW5 zXJPwOuy+R-X$qod8W;#LB2pW~@a=oI!w&IRa6I`uVQt-pld^z?|WCKI}+yAS2Zrnryv`vw_;_U@^_O(PLVJYjcC=Y(D5X6t`FN4sB37& zM_~o&5(q|uj9MIe?V!9S?Btzd@b@wJX*a}@aPtFT1KCK4aNmbv-up>BYIV6Pq`yL8 z%*vG<^!d8$K^?p#3L}tj-hqR=Ko9(PTj79g=7kXkaw>Em>ZQMe^0`BneCA8dGpD@> zDiK5?4lAqkeJ^Z#3fSq2MK((VWM)}X#~Iy^>rUs##uHr!;E#)VLG?G#w1AH+-; zxj-@#V2f{;wtFB1GI&k1VU|BcY4T>PHFeh=Ba?m`E1eh1l`E@;xa@qqbjlX;T24B& zUe~#xWR+p@(_my)xpQxsWO7t;z}b^8Fqu0{Y6dKM22yp9tb{}bl!y{j`9!7hbxExg zRfylRHBdDZa@isN=$DrWJk+Eb$K^G;SMa0MHp5bJY-)wl6chkzRXUIksMGCS2UoR# zbED+b%S~guKIkD-V3?Bf!<-&%C!g>0u!ZvUb;z{l$-~ohD>N*CSz_nQ*h`*;)(4@q z3i7#r&YW!X{S_qgk&5-7scaY~2-?N-VHthc!}Uhpa5pTt5A>R9S!duFW-{9?8+E&> ytd;BK5&rid00030{}*-o?*IS*21!IgR09A~`ZkGjP4KV)0000 + + + + 欢迎加入{{shopUserInfo.shopName?shopUserInfo.shopName:'本店'}} + 请完善个人信息完成会员注册 + + + + + + + + + + + + + + 昵称* + + + + 生日 + + {{ formInfo.birthDay || '请选择日期'}} + + + + + + + + + 性别* + + + + + + + 手机号 + + + + + + 我已阅读并同意以下内容 + + + + + 用户协议/隐私条款 + + + + 快速注册 + + + + + + + + \ No newline at end of file diff --git a/user/images/Frame_220.png b/user/static/Frame_220.png similarity index 100% rename from user/images/Frame_220.png rename to user/static/Frame_220.png diff --git a/user/images/Frame_221.png b/user/static/Frame_221.png similarity index 100% rename from user/images/Frame_221.png rename to user/static/Frame_221.png diff --git a/user/images/Frame_222.png b/user/static/Frame_222.png similarity index 100% rename from user/images/Frame_222.png rename to user/static/Frame_222.png diff --git a/user/images/Frame_223.png b/user/static/Frame_223.png similarity index 100% rename from user/images/Frame_223.png rename to user/static/Frame_223.png diff --git a/user/images/Frame_224.png b/user/static/Frame_224.png similarity index 100% rename from user/images/Frame_224.png rename to user/static/Frame_224.png diff --git a/user/images/Frame_225.png b/user/static/Frame_225.png similarity index 100% rename from user/images/Frame_225.png rename to user/static/Frame_225.png diff --git a/user/images/Rectangle_25.png b/user/static/Rectangle_25.png similarity index 100% rename from user/images/Rectangle_25.png rename to user/static/Rectangle_25.png diff --git a/user/static/buy-vip/Frame_220.png b/user/static/buy-vip/Frame_220.png new file mode 100644 index 0000000000000000000000000000000000000000..dafcb619b8f4272cef1d822ab53f4ef4d5b83c63 GIT binary patch literal 4813 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 XOKY0v3pIt<00000NkvXXu0mjfmYwxM literal 0 HcmV?d00001 diff --git a/user/static/buy-vip/Frame_222.png b/user/static/buy-vip/Frame_222.png new file mode 100644 index 0000000000000000000000000000000000000000..a095e74bdc08ee7f417306bd024e5efe70ce9cbf GIT binary patch literal 3965 zcmV-@4}$QCP)FOLC{TG8TG}n8E!`K;?rirtGxzxW&g{?s}-xpD`wG`ns2zo{sZPs^fB#YX7C_Id~VJpWyQ=Ce^v0@h*~?K$^D8 z^mcAzx|Utf`)#JD>oU{V{teUr*>dtu)T!F2J3vh8(-k!4jYxI<6`9ON8g3(eY=n{D z1KzECz7htjV9b{pZzW9(nsyp|b1pNq>}|ZS2mFo5$VQ~eGu8c&Np)ODkWOP>U4>}} z#CpNuj!R5$2jBkA9Wb#SH0FJPSqsRw0h|cIY~HI4bIIT&(uIKkLxTDM@4HM-=MLMp z%0Q1~{F^KgslT+-ki*=m9?X_L~*8w+7qPwp9jtr0H$HnWSD;dr{b8O#v}x zSJLzzyohh)o$zD_+rJArFE|d<|Dz1_NMAO7GB046fSsH@ZEe+2O!Z2*rb51x@*A@N64C)KTdg{hTr4hZM? zadV{e>qs>}NtgdK#X6njydCnab%;|RPCD3)_0Io~>EW7&YbDo0xHr_1t{adwk5KsU zP*^I#>(Lf;9Rzt4sg4_5tL6+4bGY*qjurQC4Y2{hO4owcA-_`r*}yJr19fK{PJT`R zF}>}r5OW{LiW{9s)lf{#4b=U9YXb*zR}Bc~>sP{;S18MONeR-i7PMQwgf@8Hq&mM} zt@2d?VtP6*0NoZq-R%icrdkKxmbp7;lc_g7Wk5`C*HsYNG_uJzbqS89n!4dhn^@aS zQLiZhV&4K|*3W=Z#OewPZDVazB)eQv#emp;l5fEb7$r=rpwLDp)p2EsQbn^W0>sWF zi2e*1MQvG_sGu0!VQp5JQ}QV^Aa<_pb1?+y;DwoAC=2kQO#VjOof4`v3xx&*g4)knDNz;>?$?~d z?GW{ja=fM|Ka)mg-wverZU-2j9wEZCDmSCA>#TAmO9EoInMLj*6K8uh zwmyx)H=aZKlMkKpcFb%gvSz)tX$i(90pS+mn<0@=DD9))kn2;pIqt<;=Q}se}-Gd(3b26g8+!ARv6(uHisl zw_R0UAuopbvQsUA@qBvyMo#67_1YluiUMN2!-x*#L^P;s{iK_rewg%d{RmWA658Cm z$$s=vq#QE~Q*(n(OsBYo8Fl=W-t#`vd)}o(`*kd3foMq}c3aNY1?iXs2nU_jbg3%~ zi`DN_wrf9z+up(OuD6i=>|p&0I#Du%D{y4)`4f{T10v=s7HTCmL`Z-9K1_cv%)k*0 zfAqhGkaN0(WXnT$& zhuRDF2ANnOk%G}&kW!})KD{En=e{)=2Q1?GS^*MCxC@QG&k>-rcKXSNe zcKs#N=GOK($;JQ?UtQ<8Typ(hb-gk4{;SZnN05}Z%)47)h6jU+)KmI#$l2b?GzJJ_ zm)evnFNQm=*~8s{pRJNp@#>k5y~uX%EuJ|pHQTul8Pd2UcTwu5I;yU2n2y=r0+RdF zF0;Y~^MNgoqyO25F!0(_FzF!|Eb~0nD~7kzJ3_3=t(Uz05?p(U85+RAD^KQheEEsI zY}G}~iqVz31%xi+>?F`X)MaHeeJSV0&=t9kAGU!I7cyUp2o`2BRzT(dV%D;g8;O z+I4yJTF~^>a}i&D8j@#U6jqG#<;1&KPZT{2EMCM8|Ag{2!j(vz{58y4bvY6zo&iYC z0pZ}MvnpMYSIWu^_QB~im^vj+T8UW~Tn4>YDo=2Ea{~H5YxR(hFJmDk-W&uGNGuLD z-tg|X;rAXwwOxj;#+9ZjU8enGD4^hKeyTjQuHVH`Ng$LF}fGE+-q_4}rgeb?1`YhC~w5ltlK64h(L49{n$Fgicv2oel@B$SV~#`$ap3 zKiFDXHBJW9yZX2MgF3u`?C0%}L=zAvRmQ1&X~Asx=1h;MI2%94w<@LEt$ZdrRF52$U_SZ1}%~v2)hW=;% zV$W0bg$ZKm&56uhfOzb(fEGmb3-dN<7cso^O^z>|jqS^Q=%%x>AkT3js;=O5!3g6M zfHvFqFi#sx0WsRHOz4J3)1BOnNzy|&-EzWhGLzW+g_9ElQuJ(NaO>0Pf9dbg^YMUU z&XUu6x3jIsG4S6fa_1@pCk*paULU4@nKC-0oCVy?_(gN`~gyfRtbnucy6ZL3{wrL;xJwQH$!2lxqshdkv#I7EZ>;-J& z2|%eJ(dk1UJhPL7I=Uewr@Y6Q2^WWmMZ1_9Yc0B%5Dca0TCf;!+8d8?|GB5TqlECv=3 zXGy-Iw$=%&wC0Y5ohON-sF+hyBnIeBdavmi56|QrcCo=TrEtr_(>iG-gY;XCE0g{M)z$t1qreFY0Fi}Db?5g!HtP0&RB*Z&YdrytOtgvnAl@dKzmyB}G1diu z*ksRtoc9h=Lxlzuwj0J2c!%mR8IXB>TOs(TX3kKA7BJY1=9FCwj&EfWAR?!849VWf zLcH_pDCn2ujZBWrFpf?3-khz+B{4b)5T-%w${kL}68%=UkxA|1h%)4Jrz}`r^grbk z1%ws2B#Ax5dmCvcIJJPZ!DJr}Vi^dCENI;Z$Zr8CqP)!nM;7>9kasBmKtME;gU%)% z??$#YZ`(MQE(Whzo0ibIBp`OsiHrX4#qA|{gvx4KxeAR;p_D9Ls10InwKgqLt|TC~ z-rPmp-!k{wcoml<0cm8aLiLfVW<8phyfyL=cqr8owA>%(#i4TvmQya%4ShK$=tGa;M>_R?l+ zX}i!i3k`_2Z#Tkx+zydwzjoBd8lBWezWl=4tO8vs0z~=B!X=xL#+n&W)EWV#V9-Xg zaItRG1{5luTrnWZMvhc2NtL{*1csaixPZK=J}LFQJ#1wa}f-eBx0R;Z_J(9*jakZVc$&G6AMw&<5QyQt4ksN45s-r{#vS2+GT2V_(}-DZ}S#Sg<| zu4dXjq(%<u#Lf}t0>0sN28>YkYHPW)=ZpnR88(1UCjA;X8R4M)P zTNW&Nfu6ID1LhfkcRB>u^Zppiyh74#nLggD3%S3=-v_7{$fMw5j$;EoVKHghIx9n~ z{slmF%~V@^+5wrUfV3>yEzL_FM04x4NXO|phUBe*p2GloYPlJn=tpMyCt$@U2;I<4 zK9N_+do%0Z4P$-Nklpib^h+_o<$?gB8^A0NXSG81UP05U=fT&5r?uv*hqneKka-?=?AQun-m z^Sb+XPmk1H_q^pU=bn4Md+u`XoAFSiKM{$`=uoc=_g^Q8{#zw+?0;nV=>2^E4&R@X z#K2)b50WI0G;Y5n2lg;t^KRq)9vL3|h>RY)M#he>An%46Z8mBS5J?MeiL}{?6nQ3w9+gD@ z?F4BJ(`qWrJ0R8yPWIm{$$s|!fxVE}UMllpK(+wp1^}yIu!#3^!(uWxpL9Lo|06;D zGVl9kcwn!sTVslW69Q^$T0Ub+$*^j!o8wK z2Jb*d9;5JoMPb;yA}0q{bFO%hdx-4--sf7-8sv8YV77Az z+s?N08BTsq0FmUeE*N>3bH$xbq*_o+-CNB&2yCHL!<`MxfXO- zzL`3BQ4#}xS8n6W0z`)UKLDC7fSU6OQKo7Kb;~@E)k*19mkfv`2RFf(T~kiJ(j_>X zN~*(?I^#$k&>;-i&LR71uP)CyJ-x!iB zFsUd&>`H>@*TD$XWp1Q`BKVxuS#C<`TVz1&THEJl2++w3^gk~xFn3{e@Y2vMObi9Yx|xmPsUDp9YFOvF8s3MDY_mEI(Lg95 zbfItJq0+jL^7W+RG_c<4G^9*HK&DQ|{x76#J*jvNa1NIL*HhF&MGFD~&-*wh^7>F! zNOPsfU%(aXZH0;l0%EO0j85c4v{2D{e2E&M&b?3Ck3IqzFflhaJL$x9iJO~He{-pU zCLnfCR@b>~X92=VX9G=YV{W!G-o%GLJcRL=pTfxQ9Z2rnwlHYd=P~-kS1@_-HOTmA z844&+RPeVLS$ti7>TE!aY+|M^l9P}gJd9H>Jb~0(6>69hDFc{jM@pW+#c#g(2s_r~K6Wq;Wo~7WO;-0)OlJT=Dsw4dNO1B~ zKxA^<39njV;*Xq!pZKF=aj0{v`z+hjfEZs*XIVD7{Hu<;<#VYq4zvzkq&Svp8M3;! zY)=D%*ey23(M86RjyTm88yOj{fIz2pZvn~vX_u^ZS<~4zTutkyGVPMJ(>r$y2u-Gb z5;(2#Iqu?T=EzZEvTrtMNl)bE28gF$9qM~cl4)p!*VYMdNeAG?qRD6syp~qPSFW+- zwJrrrw*R3Pf5uy{CyE|UbuS0}^J-B>l_}nL0h+J-Fcw{ZE1K7lu2^pst!ZHt>spyD z$1;mZ%0uJA%FJ(?oQJXFT^>^LJ_@45o4XKO+6~jvS{B3j%8Rh*hL1u)Q45JJU5+^WZ8)ZW zE2R>c6fV-t9<9B)@uI6yP8hIp>r_w?Zwx9H z8fRLTp!u4=hFY4oCp2@ZiGnUVb!j2+*OG_+4L5J@g15LGv1Pqz;t;dw#(#imF0Kky zf~Rvv0g+-|d7~^XK`o>C`i&^mi|q=DJMIE31Eb@8tI=}PKcV5hm%!_w&KjEo^OYTG zun4|f;t`d+mX*zV76a|kjcc!tJ|WNI5D?*~b0Whm!)Ej|m^|>ReT;fh%Wk^-MtF#B?GH)a-pHm!unf&V{@Twl`NoUc zGEuJN+qm{GXl=`)e6+VUoOe-JmYg*87OMhfVk{?Kl{>lr*HG8K zCPcCf=1-}05J)W(g}f#0h_9$hUp+${Sx!KtO7@6s1LF;62oV104xc?9Dz^>#B1}IdxUqGG=7+=I0A2wU8MZs_{_r7aUcxjAqGF1GgJ7vGn-l91DU|hfJ6hkr?W-A z%UBWp`sC*HMs#Lx7O@T1$bwT9rBa{YNnJ?T0Y(oiAcCir1F=5I=bW6R-RPV^2MXQ_p@AlW*>+ zbud)(N0Dkc>Y?R5M8>Pi(pPH*io6mS-B6ynk}8tJLdkv@ot=Z8F(wTU?gz%833;KY zCPYpXFa9Hm5O$}NOy((Kk>aGzI7vUltJ6@fSJ$a94w;$e7Khx~c&DHDdbHk{{xWp>b(N63B zG$7*bX4~H-ISKLJKZ896b;7MSm{^Bp$hTr8O8G9by0^to1JV$Coy%X6jW7EWYwtvu zU#aX0s>~qlOUm*@k=J2$pXD+Gh*{iq3^2Rk>gUDK^!^V*zg~nfSkOPN7#lCS2JxQr zE76R{v%1f+o&m(Z`l7>@v-1&MX*FN-q3lP`wt@wCVaIA*b2%E(JQQfGipPB@Di+iO$J*F!6?kK{0jz8|NyRVJO&*wuIdb&cyM-Bjp5RF611NxsQ>& z^I8uT(m>{+tgds}&jLh~vpaVBNox@5SGR@Tez6)4)L(x!dYAB!4I%w%p?7^l!;S_PKs3Lj$r6Z9T8d#b8cA zj4^4`-b+B_3uIR0hfOR|4{2@yA5tBvF6UCmoPf+Q5Ks3evo1XAGlSXk4_O?ak z6d4fH(ft-Y`8XLLB-KMS4ZKaAZK3WW>nt)LTEBIK`M4LxzsddWHfa=IM|7~@a zlMwz=6d=mVEbZBi6gJmEQEe0;1%o;=OS{!kTOd<#bkTq)8`IhSJbb@yDXNToQZT3+ ztE2q12=65UqI^w9@2|G(JyiKvpxUD zw*8G+(*2sY6^?(-0hyLh-OQ%F`)iQ&#~Ak@X(0#wzTiQKzeU@mZL3scDh9~3zG-qm+3EOy+X7;lE5rA5T#$D{jRBnHJyZp?-Uk6TW{N zdzu21m` zr3T7iW!VZ}F18lY+V@kHxm1Rwl&dNrX9}q6cB2Ph@%UyA3!4G|0l?@20M-3zovd5v zFrAEVHtjtRnCvID)fHo^ws`|&s($E~-=?GIXFh;w`R~`>00000NkvXXu0mjfa9<2! literal 0 HcmV?d00001 diff --git a/user/static/buy-vip/Frame_224.png b/user/static/buy-vip/Frame_224.png new file mode 100644 index 0000000000000000000000000000000000000000..097c4c7aeb1c2b74ad62e9b64ee68ae038b67347 GIT binary patch literal 6096 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 literal 0 HcmV?d00001 diff --git a/user/static/buy-vip/Frame_225.png b/user/static/buy-vip/Frame_225.png new file mode 100644 index 0000000000000000000000000000000000000000..2f9811578553986a64f3643a31a1f99d643d9bc7 GIT binary patch literal 4098 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 + + + + + + + + {{shopInfo.shopName||'店铺名称' }} + 暂未开通 + + + + + + + + + + + + + + + + + + + + + + {{model.title}} + + + + + + + + + + + + {{model.title}} + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/user/vip/vip.vue b/user/vip/vip.vue index 0b03860..8810e2c 100644 --- a/user/vip/vip.vue +++ b/user/vip/vip.vue @@ -2,9 +2,9 @@ - + - + 当前等级 店铺名称 @@ -34,10 +34,10 @@ - + - - + + @@ -108,54 +108,54 @@ const pay_menus = [{ name: '赠送成长值', desc: '赠送10000成长值', - icon: '/user/images/Frame_220.png', + icon: '/user/static/Frame_220.png', }, { name: '优惠券', desc: '每月赠送2张优惠券', - icon: '/user/images/Frame_221.png' + icon: '/user/static/Frame_221.png' }, { name: '享会员价', desc: '全店会员价', - icon: '/user/images/Frame_222.png' + icon: '/user/static/Frame_222.png' }, { name: '会员折扣', desc: '全店折扣98折', - icon: '/user/images/Frame_223.png' + icon: '/user/static/Frame_223.png' }, { name: '消费送积分', desc: '', - icon: '/user/images/Frame_224.png' + icon: '/user/static/Frame_224.png' }, { name: '周期福利', desc: '', - icon: '/user/images/Frame_225.png' + icon: '/user/static/Frame_225.png' } ] const tiaojian_menus = [{ name: '享会员价', desc: '全店会员价', - icon: '/user/images/Frame_222.png' + icon: '/user/static/Frame_222.png' }, { name: '会员折扣', desc: '全店折扣98折', - icon: '/user/images/Frame_223.png' + icon: '/user/static/Frame_223.png' }, { name: '消费送积分', desc: '', - icon: '/user/images/Frame_224.png' + icon: '/user/static/Frame_224.png' }, { name: '周期福利', desc: '', - icon: '/user/images/Frame_225.png' + icon: '/user/static/Frame_225.png' } ] @@ -199,11 +199,11 @@ } .top { - padding: 100rpx 30rpx 78rpx 30rpx; + padding: 208rpx 30rpx 78rpx 30rpx; } .vip-box { - background-image: url(/user/images/Rectangle_25.png); + background-size: cover; position: relative; border-radius: 12px; @@ -310,7 +310,7 @@ /* 列间距 */ column-gap: 10px; /* 行间距 */ - row-gap: 10px; + row-gap: 32rpx; /* 可以添加容器的内边距 */ } diff --git a/vite.config.js b/vite.config.js index ffeaa31..f9cb735 100644 --- a/vite.config.js +++ b/vite.config.js @@ -9,7 +9,7 @@ export default defineConfig({ hmr: true, proxy: { '/api': { - target: 'http://192.168.0.71', + target: 'http://192.168.1.42', changeOrigin: true, rewrite: path => path.replace(/^\/api/, ''), secure: false