From bdcac9a8d8017418bb8e625dc9581b6288c4826f Mon Sep 17 00:00:00 2001 From: Wayne Date: Fri, 17 Nov 2023 16:51:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B3=87=E6=96=99=E4=BF=AE=E6=94=B9=E5=8F=8A?= =?UTF-8?q?=E7=A4=BE=E7=BE=A4=E5=88=86=E4=BA=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.stage | 2 +- bun.lockb | Bin 178931 -> 179998 bytes package.json | 5 +- src/App.vue | 4 + src/api/user.js | 14 + src/main.js | 7 +- src/store/user.js | 36 +- src/views/Home/index.vue | 356 +++++++-------- src/views/Member/index.vue | 907 ++++++++++++++++--------------------- src/views/Shop/index.vue | 68 ++- yarn.lock | 222 +++++++-- 11 files changed, 815 insertions(+), 806 deletions(-) create mode 100644 src/api/user.js diff --git a/.env.stage b/.env.stage index 97ff37b..e4c019b 100644 --- a/.env.stage +++ b/.env.stage @@ -1,4 +1,4 @@ -NODE_ENV = production +NODE_ENV = development VITE_ENV = stage diff --git a/bun.lockb b/bun.lockb index 2f1765790de0fc6586a5292410335cc0a740198b..40eb7d931bafb4383fba738efdae5daf305c9f01 100755 GIT binary patch delta 31334 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 diff --git a/package.json b/package.json index 9735a43..1e5a11b 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "dev": "vite", "build": "vite build", - "build:sta": "vite build --mode stage", + "build:sta": "vite build --mode stage", "preview": "vite preview" }, "dependencies": { @@ -19,6 +19,9 @@ "lodash": "^4.17.21", "moment": "^2.29.4", "nprogress": "^0.2.0", + "pinia": "^2.1.7", + "pinia-plugin-persist": "^1.0.0", + "pinia-plugin-persistedstate": "^3.2.0", "pwacompat": "^2.0.17", "qrcode.vue": "^3.4.1", "register-service-worker": "^1.7.2", diff --git a/src/App.vue b/src/App.vue index 554d89c..b0b4280 100644 --- a/src/App.vue +++ b/src/App.vue @@ -15,7 +15,11 @@ // import { useStore } from 'vuex' // const store = useStore() +// import { useUserStore } from '@/store/user' +// const userStore = useUserStore(); + +// userStore.getUserData(); diff --git a/src/views/Member/index.vue b/src/views/Member/index.vue index 1d80447..e8f90b4 100644 --- a/src/views/Member/index.vue +++ b/src/views/Member/index.vue @@ -2,19 +2,23 @@ import _ from 'lodash' import axios from 'axios' -import { ref , nextTick, onBeforeMount} from 'vue' +import { ref, onBeforeMount, onMounted } from 'vue' import { Cropper } from 'vue-advanced-cropper'; import 'vue-advanced-cropper/dist/style.css'; // import Footer from '@/components/Footer.vue' import { useStore } from 'vuex' + +import { useUserStore } from '@/store/user' + import { useRouter } from 'vue-router' -import { showToast } from 'vant' -import { showLoadingToast,showSuccessToast } from 'vant'; +import { showToast, showFailToast, showLoadingToast, showSuccessToast } from 'vant'; + +import { getUserInfo, updateUserInfo, updateCard, searchConnection, addUserFavi, setUserNfcTpl } from '@/api' -import { getUserInfo, updateUserInfo, updateCard, searchConnection, addUserFavi, setUserNfcTpl} from '@/api' +import { updateUserExtra, updateUserLink, updateUserAddon } from '@/api/user'; import imgTp1 from '@/assets/images/tp/tp_1.jpg' import imgTp2 from '@/assets/images/tp/tp_2.jpg' @@ -24,10 +28,14 @@ import imgTp4 from '@/assets/images/tp/tp_4.jpg' const URL = window.URL || window.webkitURL; const store = useStore() + +const userStore = useUserStore() + const router = useRouter() -const form = ref({addon:[]}) -const uInfoForm = ref({addon:[]}) +const form = ref({ addon: [] }) + +const uInfoForm = ref({ addon: [] }) const genderChecked = ref() @@ -38,54 +46,58 @@ const fileList = ref([]); const myCrop = ref(null) const tabActive = ref(0) + const tabItemObj = ref([ - {title:"基本資料",icon:"fa-id-card-clip"}, - {title:"社群分享",icon:"fa-share-nodes"}, - {title:"人脈資訊",icon:"fa-gem"}, - {title:"版型設定",icon:"fa-layer-group"} + { title: "基本資料", icon: "fa-id-card-clip" }, + { title: "社群分享", icon: "fa-share-nodes" }, + { title: "人脈資訊", icon: "fa-gem" }, + { title: "版型設定", icon: "fa-layer-group" } ]); -const crop = ref({ - show: false, - img: null, -}) - const validatorUrl = (val) => { - if(val.length>0){ + if (val.length > 0) { return /(https?:\/\/|line:\/\/|tel:|mailto:)\S+/.test(val) - }else{ + } else { return true } }; const validatorTel = (val) => { - if(val.length>0){ + if (val.length > 0) { return /(\d{2,3}-?|\(\d{2,3}\))\d{3,4}-?\d{4}/.test(val) - }else{ + } else { return true } }; +// START: 基本資料 + +const crop = ref({ + show: false, + img: null, +}) -// onMounted(async ()=>{ +onMounted(async () => { let userRes = await getUserInfo() - if(userRes.code===200){ - form.value = userRes.data - }else{ + if (userRes.code === 200) { + form.value = userRes.data + } else { } -// }) -if (userRes.data.nfc_addon && (userRes.data.nfc_addon.length > 0)) { + + if (userRes.data.nfc_addon && (userRes.data.nfc_addon.length > 0)) { form.value.addon = JSON.parse(userRes.data.nfc_addon) -} -console.log(form,"form") + } + +}) + const onCrop = () => { const { canvas } = myCrop.value.getResult(); if (canvas) { const imgFile = new FormData(); canvas.toBlob(async (blob) => { - let ufile = new File([blob], "image.jpg"); + let ufile = new File([blob], "image.jpg"); imgFile.append("user_id", form.value.user_id) imgFile.append("fileType", "IMAGE") imgFile.append('file', ufile) @@ -106,21 +118,21 @@ const onCrop = () => { ) if (res.data.code == 200) { - form.value.avatar = res.data.data - showSuccessToast('上傳成功'); - }else{ - showToast.fail('上傳失敗'); + form.value.avatar = res.data.data + showSuccessToast('上傳成功'); + } else { + showToast.fail('上傳失敗'); } }, 'image/jpeg'); - } - + } + return } -const afterRead = async(file, name) => { +const afterRead = async (file, name) => { crop.value.show = true - + const ofile = file.file crop.value.img = URL.createObjectURL(ofile); // crop.value.img = ofile @@ -128,62 +140,62 @@ const afterRead = async(file, name) => { }; const onAddBtn = () => { - if(form.value.addon){ - form.value.addon.push({icon:'',name:'',link:''}) - }else{ - form.value.addon = [{icon:'',name:'',link:''}] + if (form.value.addon) { + form.value.addon.push({ icon: '', name: '', link: '' }) + } else { + form.value.addon = [{ icon: '', name: '', link: '' }] } } const onDelBtn = (index) => { - form.value.addon.splice(index, 1) + form.value.addon.splice(index, 1) } const onMoveBtn = (type, index) => { - if (type === 0) { - if (index !== 0) { - [form.value.addon[index], form.value.addon[index - 1]] = [form.value.addon[index - 1], form.value.addon[index]] - } - } else { - if (index + 1 !== form.value.addon.length) { - [form.value.addon[index + 1], form.value.addon[index]] = [form.value.addon[index], form.value.addon[index + 1]] - } + if (type === 0) { + if (index !== 0) { + [form.value.addon[index], form.value.addon[index - 1]] = [form.value.addon[index - 1], form.value.addon[index]] + } + } else { + if (index + 1 !== form.value.addon.length) { + [form.value.addon[index + 1], form.value.addon[index]] = [form.value.addon[index], form.value.addon[index + 1]] } + } } const onSubmit = async () => { - showLoadingToast({ - duration: 0, - message: '資料更新中...', - forbidClick: true, - }); - // console.log(form.value,"test"); - let res = await updateCard(form.value) - if(res.code===200){ - showSuccessToast('更新成功') - store.commit('user/setUserInfo',form.value) - router.push('/member') - }else{ - showToast.fail('更新失敗') - } + showLoadingToast({ + duration: 0, + message: '資料更新中...', + forbidClick: true, + }); + // console.log(form.value,"test"); + let res = await updateCard(form.value) + if (res.code === 200) { + showSuccessToast('更新成功') + store.commit('user/setUserInfo', form.value) + router.push('/member') + } else { + showToast.fail('更新失敗') + } }; const userInfoSubmit = async (values) => { - showLoadingToast({ - duration: 0, - message: '資料更新中...', - forbidClick: true, - }); - console.log("test",values); - let res = await updateUserInfo(values) - if(res.code===200){ - showSuccessToast('更新成功') - store.commit('user/setUserInfo',values) - router.push('/member') - }else{ - showToast.fail('更新失敗') - } + showLoadingToast({ + duration: 0, + message: '資料更新中...', + forbidClick: true, + }); + console.log("test", values); + let res = await updateUserInfo(values) + if (res.code === 200) { + showSuccessToast('更新成功') + store.commit('user/setUserInfo', values) + router.push('/member') + } else { + showToast.fail('更新失敗') + } }; const searchChecked = ref(true); @@ -198,22 +210,58 @@ const searchOnUpdateValue = (newValue) => { const userExtraSubmit = async (values) => { - // showLoadingToast({ - // duration: 0, - // message: '資料更新中...', - // forbidClick: true, - // }); - console.log("test",values); - let res = await updateUserInfo(values) - if(res.code===200){ - showSuccessToast('更新成功') - store.commit('user/setUserInfo',values) - router.push('/member') - }else{ - showToast.fail('更新失敗') - } + // showLoadingToast({ + // duration: 0, + // message: '資料更新中...', + // forbidClick: true, + // }); + let res = await updateUserExtra(values) + if (res.code === 200) { + showSuccessToast('更新成功') + // router.push('/member') + } else { + showFailToast('更新失敗') + } +}; + +// END: 基本資料 + +// START: 社群分享 + +const userLinkSubmit = async (values) => { + // showLoadingToast({ + // duration: 0, + // message: '資料更新中...', + // forbidClick: true, + // }); + let res = await updateUserLink(values) + if (res.code === 200) { + showSuccessToast('更新成功') + // router.push('/member') + } else { + showFailToast('更新失敗') + } +}; + +const userAddonSubmit = async (values) => { + // showLoadingToast({ + // duration: 0, + // message: '資料更新中...', + // forbidClick: true, + // }); + console.log(form.value.addon) + let res = await updateUserAddon(form.value.addon) + if (res.code === 200) { + showSuccessToast('更新成功') + } else { + showFailToast('更新失敗') + } }; +// END: 社群分享 + + + // START: 人脈資源 const search = ref({ @@ -240,10 +288,10 @@ const tab2OnSearch = async () => { }; const handleSearch = async () => { - let res = await searchConnection(search.value); - if(res.code===200){ - tab2list.value = res.data; - } + let res = await searchConnection(search.value); + if (res.code === 200) { + tab2list.value = res.data; + } }; const tab2list = ref([]); @@ -272,9 +320,9 @@ const tab2ListonLoad = () => { }; const handleAddFavi = async (uf_user_id) => { - let res = await addUserFavi({uf_user_id}); + let res = await addUserFavi({ uf_user_id }); - if(res.code===200){ + if (res.code === 200) { return showToast({ message: '已加入好友', duration: 1000, @@ -291,7 +339,7 @@ const handleAddFavi = async (uf_user_id) => { const tab3list = ref([]); onBeforeMount(async () => { let res = await setUserNfcTpl(); - if(res.code===200){ + if (res.code === 200) { tab3list.value = res.data; } }); @@ -305,342 +353,184 @@ onBeforeMount(async () => {
會員資料
- + -
- - -
- -
- - -
-

上傳圖片,預設為Line頭像

- 上傳檔案 -
+
+ + +
+ +
+ + +
+

上傳圖片,預設為Line頭像

+ 上傳檔案
- - -
- - - - - - - - - - - - - - - - - - - - +
+ + +
+ + + + + + + + + + + + + -
- - 確認修改 - -
- - - - - - - - - - - - - - 貴人資源共享 -
- 下面為客製型會員專屬提供被搜尋 -
- - - - - - - - - - - - - - - -
- - 確認修改 - -
-
-
+ + + + + + + +
+ + 確認修改 + +
+ + + + + + + + + + + + + + 貴人資源共享 + + + + + + + + + + + + + + + +
+ + 確認修改 + +
+
+
-
- - - - - - - - - -
- -
確認修改
+
+ + + + + + + + + + +
+ +
確認修改
+
+
+
+
+ + + + + + @@ -832,65 +691,73 @@ onBeforeMount(async () => { \ No newline at end of file diff --git a/src/views/Shop/index.vue b/src/views/Shop/index.vue index 1a2fd1d..b527181 100644 --- a/src/views/Shop/index.vue +++ b/src/views/Shop/index.vue @@ -1,41 +1,26 @@ @@ -56,25 +41,28 @@ const setlevel = async (level)=>{ \ No newline at end of file +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index f25b3b0..0af9cf4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,16 +7,121 @@ resolved "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz" integrity sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w== -"@babel/parser@^7.15.8", "@babel/parser@^7.23.0": +"@babel/parser@^7.23.0": version "7.23.0" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz" integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@esbuild/android-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" + integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== + +"@esbuild/android-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" + integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== + +"@esbuild/android-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" + integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== + +"@esbuild/darwin-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" + integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== + +"@esbuild/darwin-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" + integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== + +"@esbuild/freebsd-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" + integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== + +"@esbuild/freebsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" + integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== + +"@esbuild/linux-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" + integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== + +"@esbuild/linux-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" + integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== + +"@esbuild/linux-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" + integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== + +"@esbuild/linux-loong64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" + integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== + +"@esbuild/linux-mips64el@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" + integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== + +"@esbuild/linux-ppc64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" + integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== + +"@esbuild/linux-riscv64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" + integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== + +"@esbuild/linux-s390x@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" + integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== + "@esbuild/linux-x64@0.18.20": version "0.18.20" resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz" integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== +"@esbuild/netbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" + integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== + +"@esbuild/openbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" + integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== + +"@esbuild/sunos-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" + integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== + +"@esbuild/win32-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" + integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== + +"@esbuild/win32-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" + integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== + +"@esbuild/win32-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" + integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== + "@jridgewell/gen-mapping@^0.3.0": version "0.3.3" resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" @@ -596,7 +701,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -650,7 +755,7 @@ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.3.tgz" integrity sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ== -"@types/node@*", "@types/node@^18.0.0", "@types/node@>= 14": +"@types/node@*", "@types/node@^18.0.0": version "18.18.6" resolved "https://registry.npmjs.org/@types/node/-/node-18.18.6.tgz" integrity sha512-wf3Vz+jCmOQ2HV1YUJuCWdL64adYxumkrxtc+H1VUQlnQI04+5HtH+qZCOE21lBE7gIrt+CwX2Wv8Acrw5Ak6w== @@ -765,7 +870,7 @@ "@vue/compiler-ssr" "3.3.6" "@vue/shared" "3.3.6" -"@vue/shared@^3.0.0", "@vue/shared@3.3.6": +"@vue/shared@3.3.6", "@vue/shared@^3.0.0": version "3.3.6" resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.3.6.tgz" integrity sha512-Xno5pEqg8SVhomD0kTSmfh30ZEmV/+jZtyh39q6QflrjdJCXah5lrnOLi9KB6a5k5aAHXMXjoMnxlzUkCNfWLQ== @@ -800,7 +905,7 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" -assert-plus@^1.0.0, assert-plus@1.0.0: +assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== @@ -1010,6 +1115,13 @@ debounce@^1.2.0: resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + debug@^3.2.6: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" @@ -1024,16 +1136,9 @@ debug@^4.3.4: dependencies: ms "2.1.2" -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - deepmerge@^4.2.2: version "4.3.1" - resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== define-data-property@^1.1.1: @@ -1128,7 +1233,7 @@ extend@~3.0.2: resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -extsprintf@^1.2.0, extsprintf@1.3.0: +extsprintf@1.3.0, extsprintf@^1.2.0: version "1.3.0" resolved "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz" integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== @@ -1205,6 +1310,11 @@ form-data@~2.3.2: combined-stream "^1.0.6" mime-types "^2.1.12" +fsevents@~2.3.2: + 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" @@ -1327,13 +1437,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" @@ -1341,6 +1444,13 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + ieee754@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" @@ -1351,7 +1461,7 @@ image-size@~0.5.0: resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== -inherits@^2.0.3, inherits@2.0.4: +inherits@2.0.4, inherits@^2.0.3: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -1457,7 +1567,7 @@ jsprim@^1.2.2: json-schema "0.4.0" verror "1.10.0" -less@*, less@^4.2.0: +less@^4.2.0: version "4.2.0" resolved "https://registry.npmjs.org/less/-/less-4.2.0.tgz" integrity sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA== @@ -1551,11 +1661,6 @@ moment@^2.29.4: resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -1566,6 +1671,11 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + nanoid@^3.3.6: version "3.3.6" resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" @@ -1675,6 +1785,26 @@ pify@^4.0.1: resolved "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== +pinia-plugin-persist@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pinia-plugin-persist/-/pinia-plugin-persist-1.0.0.tgz#fc696f225527f30bd5955109fafadd43c725e888" + integrity sha512-M4hBBd8fz/GgNmUPaaUsC29y1M09lqbXrMAHcusVoU8xlQi1TqgkWnnhvMikZwr7Le/hVyMx8KUcumGGrR6GVw== + dependencies: + vue-demi "^0.12.1" + +pinia-plugin-persistedstate@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.0.tgz#9932ca2ae88aa6c0d6763bebc6447d7bd1f097d0" + integrity sha512-tZbNGf2vjAQcIm7alK40sE51Qu/m9oWr+rEgNm/2AWr1huFxj72CjvpQcIQzMknDBJEkQznCLAGtJTIcLKrKdw== + +pinia@^2.1.7: + version "2.1.7" + resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.1.7.tgz#4cf5420d9324ca00b7b4984d3fbf693222115bbc" + integrity sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ== + dependencies: + "@vue/devtools-api" "^6.5.0" + vue-demi ">=0.14.5" + pngjs@^3.3.3: version "3.4.0" resolved "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz" @@ -1719,11 +1849,6 @@ qrcode.vue@^3.4.1: resolved "https://registry.npmjs.org/qrcode.vue/-/qrcode.vue-3.4.1.tgz" integrity sha512-wq/zHsifH4FJ1GXQi8/wNxD1KfQkckIpjK1KPTc/qwYU5/Bkd4me0w4xZSg6EXk6xLBkVDE0zxVagewv5EMAVA== -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - qs@6.11.0: version "6.11.0" resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" @@ -1731,6 +1856,11 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" +qs@~6.5.2: + version "6.5.3" + resolved "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" @@ -1814,7 +1944,7 @@ reusify@^1.0.4: resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rollup@^1.20.0||^2.0.0||^3.0.0||^4.0.0, rollup@^3.27.1: +rollup@^3.27.1: version "3.29.4" resolved "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz" integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== @@ -1833,7 +1963,7 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safer-buffer@^2.0.2, safer-buffer@^2.1.0, "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -1878,7 +2008,7 @@ setprototypeof@1.2.0: shvl@^2.0.3: version "2.0.3" - resolved "https://registry.npmjs.org/shvl/-/shvl-2.0.3.tgz" + resolved "https://registry.yarnpkg.com/shvl/-/shvl-2.0.3.tgz#eb4bd37644f5684bba1fc52c3010c96fb5e6afd1" integrity sha512-V7C6S9Hlol6SzOJPnQ7qzOVEWUQImt3BNmmzh40wObhla3XOYMe4gGiYzLrJd5TFa+cI2f9LKIRJTTKZSTbWgw== side-channel@^1.0.4: @@ -1948,7 +2078,7 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -terser@^5.24.0, terser@^5.4.0: +terser@^5.24.0: version "5.24.0" resolved "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz" integrity sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw== @@ -2097,7 +2227,7 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vite@^4.0.0, vite@^4.4.5: +vite@^4.4.5: version "4.5.0" resolved "https://registry.npmjs.org/vite/-/vite-4.5.0.tgz" integrity sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw== @@ -2122,6 +2252,16 @@ vue-cropper@^0.6.4: resolved "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.6.4.tgz" integrity sha512-U3bm17Li/Xwfw2t3pr8/hFE/tYhvwIWqepHK9IFC1TnX1KFd64VyfCD9nMBhPY91RyvMC6jSQgT/DyDNKuTpIQ== +vue-demi@>=0.14.5: + version "0.14.6" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.6.tgz#dc706582851dc1cdc17a0054f4fec2eb6df74c92" + integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w== + +vue-demi@^0.12.1: + version "0.12.5" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.12.5.tgz#8eeed566a7d86eb090209a11723f887d28aeb2d1" + integrity sha512-BREuTgTYlUr0zw0EZn3hnhC3I6gPWv+Kwh4MCih6QcAeaTlaIX0DwOVN0wHej7hSvDPecz4jygy/idsgKfW58Q== + vue-router@^4.2.5: version "4.2.5" resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz" @@ -2129,7 +2269,7 @@ vue-router@^4.2.5: dependencies: "@vue/devtools-api" "^6.5.0" -vue@^3.0.0, vue@^3.2.0, vue@^3.2.25, vue@^3.3.4, "vue@2 || 3", vue@3.3.6: +vue@^3.3.4: version "3.3.6" resolved "https://registry.npmjs.org/vue/-/vue-3.3.6.tgz" integrity sha512-jJIDETeWJnoY+gfn4ZtMPMS5KtbP4ax+CT4dcQFhTnWEk8xMupFyQ0JxL28nvT/M4+p4a0ptxaV2WY0LiIxvRg== @@ -2142,13 +2282,13 @@ vue@^3.0.0, vue@^3.2.0, vue@^3.2.25, vue@^3.3.4, "vue@2 || 3", vue@3.3.6: vuex-persistedstate@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/vuex-persistedstate/-/vuex-persistedstate-4.1.0.tgz#127165f85f5b4534fb3170a5d3a8be9811bd2a53" integrity sha512-3SkEj4NqwM69ikJdFVw6gObeB0NHyspRYMYkR/EbhR0hbvAKyR5gksVhtAfY1UYuWUOCCA0QNGwv9pOwdj+XUQ== dependencies: deepmerge "^4.2.2" shvl "^2.0.3" -"vuex@^3.0 || ^4.0.0-rc", vuex@^4.1.0: +vuex@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz" integrity sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==