@@ -56,7 +56,6 @@ | |||||
"dayjs": "^1.11.9", | "dayjs": "^1.11.9", | ||||
"js-audio-recorder": "^1.0.7", | "js-audio-recorder": "^1.0.7", | ||||
"pinia": "2.0.33", | "pinia": "2.0.33", | ||||
"pinia-plugin-persistedstate": "^3.2.0", | |||||
"uview-plus": "^3.1.34", | "uview-plus": "^3.1.34", | ||||
"vue": "^3.2.45", | "vue": "^3.2.45", | ||||
"vue-i18n": "^9.1.9" | "vue-i18n": "^9.1.9" | ||||
@@ -67,6 +66,7 @@ | |||||
"@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", | "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001", | ||||
"@dcloudio/uni-stacktracey": "3.0.0-3081220230817001", | "@dcloudio/uni-stacktracey": "3.0.0-3081220230817001", | ||||
"@dcloudio/vite-plugin-uni": "3.0.0-3081220230817001", | "@dcloudio/vite-plugin-uni": "3.0.0-3081220230817001", | ||||
"pinia-plugin-unistorage": "^0.0.17", | |||||
"sass": "^1.64.2", | "sass": "^1.64.2", | ||||
"sass-loader": "13.2.2", | "sass-loader": "13.2.2", | ||||
"vite": "4.1.4" | "vite": "4.1.4" | ||||
@@ -11,7 +11,6 @@ | |||||
<view class="orangeBtn" @click="createing(styleData.id)" | <view class="orangeBtn" @click="createing(styleData.id)" | ||||
>开始制作写真 | >开始制作写真 | ||||
<view class="free"> | <view class="free"> | ||||
<image src="../../assets/icon/blackBG.png" mode="aspectFit" /> | |||||
<text>耗金币{{ needCoin }}枚</text> | <text>耗金币{{ needCoin }}枚</text> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
@@ -142,25 +141,12 @@ async function createing(id) { | |||||
right: -70rpx; | right: -70rpx; | ||||
width: 142rpx; | width: 142rpx; | ||||
height: 50rpx; | height: 50rpx; | ||||
image { | |||||
position: absolute; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
height: 100%; | |||||
z-index: 1; | |||||
} | |||||
text { | |||||
position: absolute; | |||||
top: 0rpx; | |||||
left: 0; | |||||
line-height: 49rpx; | |||||
width: 100%; | |||||
height: 100%; | |||||
font-size: 22rpx; | |||||
font-weight: 900; | |||||
z-index: 2; | |||||
} | |||||
background-color: #000; | |||||
border-radius: 25rpx 25rpx 25rpx 0; | |||||
font-size: 22rpx; | |||||
font-weight: 900; | |||||
line-height: 50rpx; | |||||
text-align: center; | |||||
} | } | ||||
} | } | ||||
.balance { | .balance { | ||||
@@ -31,7 +31,6 @@ | |||||
<view class="orangeBtn" @click="createing(styleData.id)" | <view class="orangeBtn" @click="createing(styleData.id)" | ||||
>开始制作写真 | >开始制作写真 | ||||
<view class="free"> | <view class="free"> | ||||
<image src="../../assets/icon/blackBG.png" mode="aspectFit" /> | |||||
<text>耗金币2枚</text> | <text>耗金币2枚</text> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
@@ -174,25 +173,12 @@ async function createing(id) { | |||||
right: -70rpx; | right: -70rpx; | ||||
width: 142rpx; | width: 142rpx; | ||||
height: 50rpx; | height: 50rpx; | ||||
image { | |||||
position: absolute; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
height: 100%; | |||||
z-index: 1; | |||||
} | |||||
text { | |||||
position: absolute; | |||||
top: 0rpx; | |||||
left: 0; | |||||
line-height: 49rpx; | |||||
width: 100%; | |||||
height: 100%; | |||||
font-size: 22rpx; | |||||
font-weight: 900; | |||||
z-index: 2; | |||||
} | |||||
background-color: #000; | |||||
border-radius: 25rpx 25rpx 25rpx 0; | |||||
font-size: 22rpx; | |||||
font-weight: 900; | |||||
line-height: 50rpx; | |||||
text-align: center; | |||||
} | } | ||||
} | } | ||||
.balance { | .balance { | ||||
@@ -9,12 +9,11 @@ | |||||
:list="swiperList" | :list="swiperList" | ||||
keyName="image" | keyName="image" | ||||
@change="getSwiperIndex" | @change="getSwiperIndex" | ||||
@click="click" | |||||
@click="previewImage" | |||||
></u-swiper> | ></u-swiper> | ||||
<view class="uploadBtn grayBtn"> | <view class="uploadBtn grayBtn"> | ||||
<text>我要让照片说话</text> | <text>我要让照片说话</text> | ||||
<view class="free"> | <view class="free"> | ||||
<image src="../../assets/icon/blackBG.png" mode="aspectFit" /> | |||||
<text>耗金币2枚</text> | <text>耗金币2枚</text> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
@@ -24,7 +23,6 @@ | |||||
<!-- 底部 --> | <!-- 底部 --> | ||||
<view class="bottomBox"> | <view class="bottomBox"> | ||||
<view class="tips"> | <view class="tips"> | ||||
<image src="../../assets/icon/blackBG.png" mode="" /> | |||||
<text>邀请匿名好友可获得2枚金币</text> | <text>邀请匿名好友可获得2枚金币</text> | ||||
</view> | </view> | ||||
<view class="shareBtn" @click="share">分享</view> | <view class="shareBtn" @click="share">分享</view> | ||||
@@ -80,11 +78,16 @@ onLoad((options) => { | |||||
workId.value = options.id; | workId.value = options.id; | ||||
getSwiperList(); | getSwiperList(); | ||||
}); | }); | ||||
const swiperList = ref([]); | |||||
const swiperList = ref([]); //轮播图 | |||||
const previewImageList = ref([]); //预览图片列表 | |||||
async function getSwiperList() { | async function getSwiperList() { | ||||
const res = await getPhotoListApi(workId.value); | const res = await getPhotoListApi(workId.value); | ||||
console.log(res.data.photoList); | console.log(res.data.photoList); | ||||
swiperList.value = res.data.photoList; | swiperList.value = res.data.photoList; | ||||
swiperList.value.forEach((item) => { | |||||
previewImageList.value.push(item.image); | |||||
}); | |||||
} | } | ||||
//#endregion --------------------- | //#endregion --------------------- | ||||
@@ -157,6 +160,16 @@ function downloadImg() { | |||||
} | } | ||||
//#endregion --------------------- | //#endregion --------------------- | ||||
//#region | |||||
function previewImage(index) { | |||||
uni.previewImage({ | |||||
current: index, //预览图片的下标 | |||||
urls: previewImageList.value, //预览图片的地址,必须要数组形式,如果不是数组形式就转换成数组形式就可以 | |||||
loop: true, | |||||
}); | |||||
} | |||||
//#endregion --------------------- | |||||
//#region 分享 | //#region 分享 | ||||
function share() { | function share() { | ||||
uni.share({ | uni.share({ | ||||
@@ -264,25 +277,31 @@ function buyCoin() { | |||||
right: -70rpx; | right: -70rpx; | ||||
width: 142rpx; | width: 142rpx; | ||||
height: 50rpx; | height: 50rpx; | ||||
image { | |||||
position: absolute; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
height: 100%; | |||||
z-index: 1; | |||||
} | |||||
text { | |||||
position: absolute; | |||||
top: 0rpx; | |||||
left: 0; | |||||
line-height: 49rpx; | |||||
width: 100%; | |||||
height: 100%; | |||||
font-size: 22rpx; | |||||
font-weight: 900; | |||||
z-index: 2; | |||||
} | |||||
background-color: #000; | |||||
border-radius: 25rpx 25rpx 25rpx 0; | |||||
font-size: 22rpx; | |||||
font-weight: 900; | |||||
line-height: 50rpx; | |||||
text-align: center; | |||||
// image { | |||||
// position: absolute; | |||||
// top: 0; | |||||
// left: 0; | |||||
// width: 100%; | |||||
// height: 100%; | |||||
// z-index: 1; | |||||
// } | |||||
// text { | |||||
// position: absolute; | |||||
// top: 0rpx; | |||||
// left: 0; | |||||
// line-height: 49rpx; | |||||
// width: 100%; | |||||
// height: 100%; | |||||
// font-size: 22rpx; | |||||
// font-weight: 900; | |||||
// z-index: 2; | |||||
// } | |||||
} | } | ||||
} | } | ||||
.grayBtn { | .grayBtn { | ||||
@@ -300,27 +319,16 @@ function buyCoin() { | |||||
padding: 65rpx 50rpx 0; | padding: 65rpx 50rpx 0; | ||||
.tips { | .tips { | ||||
position: absolute; | position: absolute; | ||||
top: 0; | |||||
top: 0rpx; | |||||
right: 60rpx; | right: 60rpx; | ||||
width: 313rpx; | width: 313rpx; | ||||
height: 50rpx; | height: 50rpx; | ||||
background-color: #000; | |||||
border-radius: 25rpx 25rpx 25rpx 0; | |||||
font-size: 22rpx; | |||||
font-weight: 900; | |||||
line-height: 50rpx; | line-height: 50rpx; | ||||
text-align: center; | text-align: center; | ||||
z-index: 2; | |||||
image { | |||||
position: absolute; | |||||
top: 0; | |||||
width: 313rpx; | |||||
height: 50rpx; | |||||
z-index: -2; | |||||
} | |||||
text { | |||||
display: inline-block; | |||||
width: 313rpx; | |||||
height: 50rpx; | |||||
font-size: 22rpx; | |||||
z-index: 3; | |||||
} | |||||
} | } | ||||
.shareBtn { | .shareBtn { | ||||
width: 200rpx; | width: 200rpx; | ||||
@@ -1,7 +1,9 @@ | |||||
import { createPinia } from 'pinia' | |||||
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' | |||||
import { findImageApi, findGlodApi } from "../api/home" | |||||
// import { createPinia } from 'pinia' | |||||
import * as Pinia from 'pinia' | |||||
import { createUnistorage } from 'pinia-plugin-unistorage' | |||||
const store = createPinia(); | |||||
store.use(piniaPluginPersistedstate) | |||||
export { store }; | |||||
// const store = createPinia(); | |||||
const store = Pinia.createPinia() | |||||
store.use(createUnistorage()) | |||||
export { store, Pinia }; |
@@ -43,5 +43,6 @@ export const userInfoModules = defineStore("userInfoStore", () => { | |||||
return { userInfo, openId, token, myAvatar, myGlod, platForm, hostSystem }; | return { userInfo, openId, token, myAvatar, myGlod, platForm, hostSystem }; | ||||
}, | }, | ||||
{ | { | ||||
persist: true, | |||||
}); | |||||
unistorage: true, | |||||
} | |||||
); |
@@ -19,12 +19,12 @@ const request = (requestObj) => { | |||||
}, | }, | ||||
success: (res) => { | success: (res) => { | ||||
if (res.data.code == 1052) { | |||||
uni.reLaunch({ | |||||
url: "/pages/login/index?type=tokenFfalse", | |||||
}); | |||||
return | |||||
} | |||||
// if (res.data.code == 1052) { | |||||
// uni.reLaunch({ | |||||
// url: "/pages/login/index?type=tokenFfalse", | |||||
// }); | |||||
// return | |||||
// } | |||||
if (res.statusCode == 200) { | if (res.statusCode == 200) { | ||||
// if (res.data.code == 200) { | // if (res.data.code == 200) { | ||||
resolve(res.data) | resolve(res.data) | ||||
@@ -3524,10 +3524,12 @@ pify@^2.3.0: | |||||
resolved "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" | resolved "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" | ||||
integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== | integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== | ||||
pinia-plugin-persistedstate@^3.2.0: | |||||
version "3.2.0" | |||||
resolved "https://registry.npmmirror.com/pinia-plugin-persistedstate/-/pinia-plugin-persistedstate-3.2.0.tgz#9932ca2ae88aa6c0d6763bebc6447d7bd1f097d0" | |||||
integrity sha512-tZbNGf2vjAQcIm7alK40sE51Qu/m9oWr+rEgNm/2AWr1huFxj72CjvpQcIQzMknDBJEkQznCLAGtJTIcLKrKdw== | |||||
pinia-plugin-unistorage@^0.0.17: | |||||
version "0.0.17" | |||||
resolved "https://registry.yarnpkg.com/pinia-plugin-unistorage/-/pinia-plugin-unistorage-0.0.17.tgz#b237d1146069c400b5b81ac5dac0467e3d07db68" | |||||
integrity sha512-Oo4KTWyZP+7/fRRGG5ACoFIBZznEgFt8SPSOcg99t5NHzFP1wSTAfgl25eRr7Tv11pkWyzgZSa3oMGVIBBs1MA== | |||||
dependencies: | |||||
pinia "^2.0.33" | |||||
pinia@2.0.33: | pinia@2.0.33: | ||||
version "2.0.33" | version "2.0.33" | ||||
@@ -3537,6 +3539,14 @@ pinia@2.0.33: | |||||
"@vue/devtools-api" "^6.5.0" | "@vue/devtools-api" "^6.5.0" | ||||
vue-demi "*" | vue-demi "*" | ||||
pinia@^2.0.33: | |||||
version "2.1.6" | |||||
resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.1.6.tgz#e88959f14b61c4debd9c42d0c9944e2875cbe0fa" | |||||
integrity sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ== | |||||
dependencies: | |||||
"@vue/devtools-api" "^6.5.0" | |||||
vue-demi ">=0.14.5" | |||||
pixelmatch@^4.0.2: | pixelmatch@^4.0.2: | ||||
version "4.0.2" | version "4.0.2" | ||||
resolved "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" | resolved "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" | ||||
@@ -4085,6 +4095,11 @@ vue-demi@*: | |||||
resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.5.tgz#676d0463d1a1266d5ab5cba932e043d8f5f2fbd9" | resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.5.tgz#676d0463d1a1266d5ab5cba932e043d8f5f2fbd9" | ||||
integrity sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA== | integrity sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA== | ||||
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-i18n@^9.1.9: | vue-i18n@^9.1.9: | ||||
version "9.2.2" | version "9.2.2" | ||||
resolved "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz#aeb49d9424923c77e0d6441e3f21dafcecd0e666" | resolved "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz#aeb49d9424923c77e0d6441e3f21dafcecd0e666" | ||||