@@ -1,161 +0,0 @@ | |||
<template> | |||
<div class="page"> | |||
<u-list class="styleListBox" @scrolltolower="scrolltolower"> | |||
<u-list-item class="glodYBox"> | |||
<u-list-item | |||
v-for="item in styleList" | |||
:key="item.id" | |||
class="styleListBoxItme" | |||
> | |||
<view class="styleInfo" @click="createPhoto(item.id)"> | |||
<image :src="item.coverImg" mode="aspectFit" /> | |||
<text class="name">{{ item.title }}</text> | |||
<text class="single">{{ peopleNum(item.mouldType) }}</text> | |||
</view> | |||
</u-list-item> | |||
</u-list-item> | |||
</u-list> | |||
</div> | |||
</template> | |||
<script setup> | |||
//#region 导入 | |||
import { onPullDownRefresh } from "@dcloudio/uni-app"; | |||
import { ref, reactive } from "vue"; | |||
import { getListApi } from "../../api/closeStyle"; | |||
//#endregion | |||
//#region 下拉刷新 | |||
onPullDownRefresh(async () => { | |||
uni.showLoading({ | |||
title: "加载中...", | |||
mask: true, | |||
}); | |||
pageNum.value = 1; | |||
pageSize.value = 8; | |||
styleList.value = []; | |||
await getList(); | |||
uni.hideLoading(); | |||
uni.stopPullDownRefresh(); | |||
}); | |||
//#endregion | |||
//#region 列表加载 | |||
const pageNum = ref(1); | |||
const pageSize = ref(8); | |||
const styleList = ref([]); | |||
// 得到列表 | |||
async function getList() { | |||
try { | |||
const res = await getListApi(pageNum.value, pageSize.value); | |||
styleList.value = res.data.list; | |||
} catch (error) { | |||
uni.showToast({ | |||
title: "获取列表失败,请重试", | |||
icon: "none", | |||
}); | |||
} | |||
} | |||
getList(); | |||
// 触底加载更多 | |||
const scrolltolower = async () => { | |||
try { | |||
pageNum.value += 1; | |||
const res = await getListApi(pageNum.value, pageSize.value); | |||
if (res.data.list.length == 0) { | |||
pageNum.value -= 1; | |||
uni.showToast({ | |||
title: "已加载全部内容", | |||
icon: "none", | |||
}); | |||
} | |||
styleList.value.push(...res.data.list); | |||
} catch (error) { | |||
uni.showToast({ | |||
title: "获取数据失败,请重试", | |||
icon: "none", | |||
}); | |||
} | |||
}; | |||
// 处理单人双人多人 | |||
function peopleNum(num) { | |||
if (num == 1) { | |||
return "单人"; | |||
} else if (num == 2) { | |||
return "双人"; | |||
} else if (num == 3) { | |||
return "三人"; | |||
} | |||
} | |||
//#endregion --------------------- | |||
//#region 点击图片 | |||
function createPhoto(id) { | |||
uni.navigateTo({ | |||
url: `/pages/closeStyle/goCreatePhoto?id=${id}`, | |||
}); | |||
} | |||
//#endregion --------------------- | |||
</script> | |||
<style lang="scss"> | |||
.page { | |||
height: 100vh; | |||
overflow: hidden; | |||
background-color: #222527; | |||
} | |||
.u-list { | |||
width: 650rpx; | |||
.glodYBox { | |||
display: flex !important; | |||
flex-direction: row !important; | |||
flex-wrap: wrap !important; | |||
justify-content: space-between !important; | |||
} | |||
.u-list-item { | |||
display: flex !important; | |||
flex-direction: row !important; | |||
flex-wrap: wrap !important; | |||
justify-content: space-between !important; | |||
} | |||
.styleInfo { | |||
position: relative; | |||
display: flex !important; | |||
flex-wrap: wrap !important; | |||
width: 300rpx; | |||
height: 480rpx; | |||
margin-bottom: 50rpx; | |||
border-radius: 24rpx; | |||
overflow: hidden; | |||
image { | |||
width: 300rpx; | |||
height: 400rpx; | |||
} | |||
.name { | |||
background-color: #393b3d; | |||
width: 100%; | |||
height: 80rpx; | |||
text-align: center; | |||
line-height: 80rpx; | |||
font-size: 30rpx; | |||
font-weight: bold; | |||
} | |||
.single { | |||
position: absolute; | |||
top: 11rpx; | |||
right: 13rpx; | |||
width: 72rpx; | |||
height: 41rpx; | |||
text-align: center; | |||
line-height: 41rpx; | |||
background: rgba(0, 0, 0, 0.4); | |||
font-size: 22rpx; | |||
// opacity: 0.4; | |||
border-radius: 12rpx; | |||
} | |||
} | |||
} | |||
</style> |
@@ -95,8 +95,8 @@ async function createing(id) { | |||
}; | |||
const res2 = await createPhotoApi(data); | |||
console.log(res2); | |||
uni.reLaunch({ | |||
url: `/pages/createing/index?id=${res2.data.id}`, | |||
uni.navigateTo({ | |||
url: `/pages/lookPhoto/index?id=${res2.data.id}`, | |||
}); | |||
uni.hideLoading(); | |||
} catch (error) { | |||
@@ -1,253 +0,0 @@ | |||
<template> | |||
<view class="page"> | |||
<view class="showImgBox imgContenBox" | |||
><image :src="styleData.coverImg" | |||
/></view> | |||
<text class="name">{{ styleData.title }}</text> | |||
<view class="imgBox"> | |||
<!-- 图一 --> | |||
<view class="imgBoxItem" v-for="item in avatarList" :key="item.url"> | |||
<image class="avatar" :src="item.url" mode="scaleToFill" /> | |||
<view v-if="!item.url" class="noUrlBox">+</view> | |||
<view | |||
v-if="item.url && item.url != userInfoModulesPinia.myAvatar" | |||
class="reUploadBtn" | |||
>更换头像</view | |||
> | |||
<view v-if="!item.url" class="uploadBtn">上传头像</view> | |||
</view> | |||
<image | |||
class="exchange" | |||
src="../../assets/icon/exchange.png" | |||
mode="scaleToFill" | |||
/> | |||
<!-- 图二 --> | |||
<!-- <view class="imgBoxItem"> | |||
<image | |||
class="avatar" | |||
src="../../assets/img/img2.png" | |||
mode="scaleToFill" | |||
/> | |||
</view> | |||
<image | |||
class="exchange" | |||
src="../../assets/icon/exchange.png" | |||
mode="scaleToFill" | |||
/> --> | |||
<!-- 图三 --> | |||
<!-- <view class="imgBoxItem"> | |||
<image | |||
class="avatar" | |||
src="../../assets/img/img3.png" | |||
mode="scaleToFill" | |||
/> | |||
</view> --> | |||
</view> | |||
<text class="tips">人物头像对应模板任务位置,点击按钮可以调整顺序</text> | |||
<view class="orangeBtn" @click="createing(styleData.id)" | |||
>开始制作写真 | |||
<view class="free"> | |||
<text>耗金币2枚</text> | |||
</view> | |||
</view> | |||
<view class="balance" | |||
>金币余额: 30 | |||
<image src="../../assets/icon/coin.png" mode="aspectFit" /> | |||
</view> | |||
</view> | |||
</template> | |||
<script setup> | |||
//#region 导入 | |||
import { ref, reactive } from "vue"; | |||
import { onLoad } from "@dcloudio/uni-app"; | |||
import { | |||
findByIdApi, | |||
findImageApi, | |||
createPhotoApi, | |||
} from "../../api/closeStyle"; | |||
import { userInfoModules } from "@/store/modules/userInfo"; | |||
//#endregion | |||
const userInfoModulesPinia = userInfoModules(); | |||
//#region 初始化 | |||
const styleId = ref(null); | |||
const styleData = ref({}); | |||
onLoad((options) => { | |||
// styleId.value = options.id; | |||
// styleId.value = "857147862095679488"; | |||
styleId.value = "246"; | |||
getInfo(); | |||
}); | |||
async function getInfo() { | |||
try { | |||
const res = await findByIdApi(styleId.value); | |||
console.log(res); | |||
styleData.value = res.data; | |||
} catch (error) { | |||
uni.showToast({ | |||
title: "获取数据失败,请重试", | |||
icon: "none", | |||
}); | |||
} | |||
} | |||
//#endregion --------------------- | |||
//#region 上传图片 | |||
const avatarList = ref([ | |||
{ | |||
url: userInfoModulesPinia.myAvatar, | |||
isMyAvatar: true, | |||
}, | |||
{ | |||
url: "", | |||
isMyAvatar: false, | |||
}, | |||
{ | |||
url: "", | |||
isMyAvatar: false, | |||
}, | |||
]); | |||
//#endregion --------------------- | |||
//#region 生成写真照片 | |||
async function createing(id) { | |||
try { | |||
const res = await findImageApi(); | |||
console.log(res); | |||
let myImg = res.data.image; | |||
const data = { | |||
digitalAvatarId: id, | |||
userImages: JSON.stringify([myImg]), | |||
}; | |||
const res2 = await createPhotoApi(data); | |||
console.log(res2); | |||
uni.navigateTo({ | |||
url: `/pages/createing/index?id=${res2.data.id}`, | |||
}); | |||
} catch (error) { | |||
console.log(error); | |||
uni.showToast({ | |||
title: "生成失败,请重试", | |||
icon: "none", | |||
}); | |||
} | |||
} | |||
//#endregion --------------------- | |||
//#region | |||
//#endregion --------------------- | |||
</script> | |||
<style lang="scss"> | |||
.page { | |||
background-color: rgba(24, 25, 26, 1); | |||
} | |||
.showImgBox { | |||
margin-top: 30rpx; | |||
width: 360rpx; | |||
height: 480rpx; | |||
// background-color: #ccc; | |||
border-radius: 30rpx; | |||
image { | |||
width: 100%; | |||
height: 100%; | |||
border-radius: 30rpx; | |||
} | |||
} | |||
.name { | |||
margin-top: 70rpx; | |||
margin-bottom: 47rpx; | |||
font-size: 44rpx; | |||
font-weight: 800; | |||
} | |||
.imgBox { | |||
margin-bottom: 40rpx; | |||
width: 100%; | |||
// height: 180rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
.exchange { | |||
width: 60rpx; | |||
height: 60rpx; | |||
margin-top: 67rpx; | |||
margin-left: 180rpx; | |||
} | |||
.imgBoxItem { | |||
position: relative; | |||
width: 180rpx; | |||
height: 250rpx; | |||
display: flex; | |||
flex-direction: column; | |||
align-items: center; | |||
.avatar { | |||
position: absolute; | |||
width: 180rpx; | |||
height: 180rpx; | |||
} | |||
.noUrlBox { | |||
position: absolute; | |||
width: 180rpx; | |||
height: 180rpx; | |||
line-height: 180rpx; | |||
color: #ff4f00; | |||
font-size: 50rpx; | |||
font-weight: 900; | |||
text-align: center; | |||
border-radius: 24rpx; | |||
background-color: #393a3d; | |||
} | |||
.reUploadBtn, | |||
.uploadBtn { | |||
margin-top: 200rpx; | |||
width: 150rpx; | |||
height: 50rpx; | |||
text-align: center; | |||
line-height: 50rpx; | |||
border-radius: 50rpx; | |||
background-color: #383a3c; | |||
} | |||
} | |||
} | |||
.tips { | |||
margin-top: 40rpx; | |||
font-size: 22rpx; | |||
} | |||
.orangeBtn { | |||
position: relative; | |||
margin-top: 60rpx; | |||
.free { | |||
position: absolute; | |||
top: -18rpx; | |||
right: -70rpx; | |||
width: 142rpx; | |||
height: 50rpx; | |||
background-color: #000; | |||
border-radius: 25rpx 25rpx 25rpx 0; | |||
font-size: 22rpx; | |||
font-weight: 900; | |||
line-height: 50rpx; | |||
text-align: center; | |||
} | |||
} | |||
.balance { | |||
display: inline-block; | |||
margin-top: 70rpx; | |||
font-size: 30rpx; | |||
font-weight: bold; | |||
line-height: 33rpx; | |||
image { | |||
display: inline-block; | |||
width: 33rpx; | |||
height: 33rpx; | |||
vertical-align: middle; | |||
} | |||
} | |||
</style> |
@@ -1,235 +0,0 @@ | |||
<template> | |||
<view class="page"> | |||
<view class="showImgBox imgContenBox" | |||
><image :src="styleData.coverImg" | |||
/></view> | |||
<text class="name">{{ styleData.title }}</text> | |||
<view class="imgBox"> | |||
<!-- 图一 --> | |||
<view class="imgBoxItem"> | |||
<image | |||
class="avatar" | |||
src="../../assets/img/img1.png" | |||
mode="scaleToFill" | |||
/> | |||
</view> | |||
<image | |||
class="exchange" | |||
src="../../assets/icon/exchange.png" | |||
mode="scaleToFill" | |||
/> | |||
<!-- 图二 --> | |||
<view class="imgBoxItem"> | |||
<image | |||
class="avatar" | |||
src="../../assets/img/img2.png" | |||
mode="scaleToFill" | |||
/> | |||
<view class="reUploadBtn">更换头像</view> | |||
</view> | |||
<image | |||
class="exchange" | |||
src="../../assets/icon/exchange.png" | |||
mode="scaleToFill" | |||
/> | |||
<!-- 图三 --> | |||
<view class="imgBoxItem"> | |||
<image | |||
class="avatar" | |||
src="../../assets/img/img3.png" | |||
mode="scaleToFill" | |||
/> | |||
<view class="uploadBtn">上传头像</view> | |||
</view> | |||
</view> | |||
<text class="tips">人物头像对应模板任务位置,点击按钮可以调整顺序</text> | |||
<view class="orangeBtn" @click="createing(styleData.id)" | |||
>开始制作写真 | |||
<view class="free"> | |||
<text>耗金币2枚</text> | |||
</view> | |||
</view> | |||
<view class="balance" | |||
>金币余额: 30 | |||
<image src="../../assets/icon/coin.png" mode="aspectFit" /> | |||
</view> | |||
</view> | |||
</template> | |||
<script setup> | |||
//#region 导入 | |||
import { ref, reactive } from "vue"; | |||
import { onLoad } from "@dcloudio/uni-app"; | |||
import { | |||
findByIdApi, | |||
findImageApi, | |||
createPhotoApi, | |||
} from "../../api/closeStyle"; | |||
import { userInfoModules } from "@/store/modules/userInfo"; | |||
//#endregion | |||
const userInfoModulesPinia = userInfoModules(); | |||
//#region 初始化 | |||
const styleId = ref(null); | |||
const styleData = ref({}); | |||
onLoad((options) => { | |||
// styleId.value = options.id; | |||
// styleId.value = "857147862095679488"; | |||
styleId.value = "246"; | |||
getInfo(); | |||
}); | |||
async function getInfo() { | |||
try { | |||
const res = await findByIdApi(styleId.value); | |||
console.log(res); | |||
styleData.value = res.data; | |||
} catch (error) { | |||
uni.showToast({ | |||
title: "获取数据失败,请重试", | |||
icon: "none", | |||
}); | |||
} | |||
} | |||
//#endregion --------------------- | |||
//#region 上传图片 | |||
const avatarList = ref([ | |||
{ | |||
url: userInfoModulesPinia.myAvatar, | |||
isMyAvatar: true, | |||
}, | |||
{ | |||
url: "", | |||
isMyAvatar: false, | |||
}, | |||
{ | |||
url: "", | |||
isMyAvatar: false, | |||
}, | |||
]); | |||
//#endregion --------------------- | |||
//#region 生成写真照片 | |||
async function createing(id) { | |||
try { | |||
const res = await findImageApi(); | |||
console.log(res); | |||
let myImg = res.data.image; | |||
const data = { | |||
digitalAvatarId: id, | |||
userImages: JSON.stringify([myImg]), | |||
}; | |||
const res2 = await createPhotoApi(data); | |||
console.log(res2); | |||
uni.navigateTo({ | |||
url: `/pages/createing/index?id=${res2.data.id}`, | |||
}); | |||
} catch (error) { | |||
console.log(error); | |||
uni.showToast({ | |||
title: "生成失败,请重试", | |||
icon: "none", | |||
}); | |||
} | |||
} | |||
//#endregion --------------------- | |||
//#region | |||
//#endregion --------------------- | |||
</script> | |||
<style lang="scss"> | |||
.page { | |||
background-color: rgba(24, 25, 26, 1); | |||
} | |||
.showImgBox { | |||
margin-top: 30rpx; | |||
width: 360rpx; | |||
height: 480rpx; | |||
// background-color: #ccc; | |||
border-radius: 30rpx; | |||
image { | |||
width: 100%; | |||
height: 100%; | |||
border-radius: 30rpx; | |||
} | |||
} | |||
.name { | |||
margin-top: 70rpx; | |||
margin-bottom: 47rpx; | |||
font-size: 44rpx; | |||
font-weight: 800; | |||
} | |||
.imgBox { | |||
margin-bottom: 40rpx; | |||
width: 100%; | |||
// height: 180rpx; | |||
display: flex; | |||
justify-content: space-between; | |||
align-items: flex-start; | |||
.exchange { | |||
width: 60rpx; | |||
height: 60rpx; | |||
margin-top: 67rpx; | |||
} | |||
.imgBoxItem { | |||
position: relative; | |||
width: 180rpx; | |||
height: 250rpx; | |||
display: flex; | |||
flex-direction: column; | |||
align-items: center; | |||
.avatar { | |||
position: absolute; | |||
width: 180rpx; | |||
height: 180rpx; | |||
} | |||
.reUploadBtn, | |||
.uploadBtn { | |||
margin-top: 200rpx; | |||
width: 150rpx; | |||
height: 50rpx; | |||
text-align: center; | |||
line-height: 50rpx; | |||
border-radius: 50rpx; | |||
background-color: #383a3c; | |||
} | |||
} | |||
} | |||
.tips { | |||
font-size: 22rpx; | |||
} | |||
.orangeBtn { | |||
position: relative; | |||
margin-top: 60rpx; | |||
.free { | |||
position: absolute; | |||
top: -18rpx; | |||
right: -70rpx; | |||
width: 142rpx; | |||
height: 50rpx; | |||
background-color: #000; | |||
border-radius: 25rpx 25rpx 25rpx 0; | |||
font-size: 22rpx; | |||
font-weight: 900; | |||
line-height: 50rpx; | |||
text-align: center; | |||
} | |||
} | |||
.balance { | |||
display: inline-block; | |||
margin-top: 70rpx; | |||
font-size: 30rpx; | |||
font-weight: bold; | |||
line-height: 33rpx; | |||
image { | |||
display: inline-block; | |||
width: 33rpx; | |||
height: 33rpx; | |||
vertical-align: middle; | |||
} | |||
} | |||
</style> |
@@ -321,6 +321,7 @@ async function createing(id) { | |||
myImgList.push(item.url); | |||
}); | |||
const data = { | |||
title: styleData.value.title, | |||
digitalAvatarId: id, | |||
userImages: | |||
styleData.value.mouldType == 2 | |||
@@ -331,7 +332,7 @@ async function createing(id) { | |||
console.log(res2); | |||
uni.hideLoading(); | |||
uni.navigateTo({ | |||
url: `/pages/createing/index?id=${res2.data.id}`, | |||
url: `/pages/lookPhoto/index?id=${res2.data.id}`, | |||
}); | |||
} catch (error) { | |||
console.log(error); | |||
@@ -7,31 +7,6 @@ | |||
<view class="changeStyle" @click="changeStyle">更换风格</view> | |||
</view> | |||
<!-- 轮播图 --> | |||
<!-- <u-swiper | |||
v-if="createState == 2" | |||
indicator | |||
indicatorMode="dot" | |||
:radius="30" | |||
:autoplay="false" | |||
:list="swiperList" | |||
keyName="image" | |||
@change="" | |||
@click="" | |||
></u-swiper> --> | |||
<!-- <u-swiper | |||
v-if="createState == 2" | |||
height="320" | |||
:list="swiperList" | |||
keyName="image" | |||
previousMargin="60" | |||
nextMargin="60" | |||
circular | |||
indicator | |||
indicatorMode="line" | |||
:autoplay="false" | |||
radius="5" | |||
bgColor="#1f2123" | |||
></u-swiper> --> | |||
<u-swiper | |||
v-if="createState == 2" | |||
indicator | |||
@@ -164,7 +164,6 @@ const userInfoModulesPinia = userInfoModules(); | |||
const showPrivacy = ref(false); | |||
console.log(userInfoModulesPinia.platForm); | |||
const pageClass = computed(() => { | |||
if (userInfoModulesPinia.platForm == 1) { | |||
return "page pageH5"; | |||
@@ -391,9 +390,9 @@ async function loginByCode() { | |||
icon: "none", | |||
}); | |||
} else { | |||
uni.switchTab({ | |||
url: "/pages/uploadPhoto/uploadPhoto", | |||
}); | |||
// uni.switchTab({ | |||
// url: "/pages/uploadPhoto/uploadPhoto", | |||
// }); | |||
} | |||
} catch (error) { | |||
uni.hideLoading(); | |||
@@ -405,13 +404,14 @@ async function loginByCode() { | |||
} | |||
//#endregion --------------------- | |||
//#region 隐私协议 | |||
const getPrivacySetting = (num) => { | |||
const canIUsePrivacy = wx.canIUse("getPrivacySetting"); | |||
console.log(canIUsePrivacy, "canIUse getPrivacySetting"); | |||
// console.log(canIUsePrivacy, "canIUse getPrivacySetting"); | |||
if (canIUsePrivacy) { | |||
wx.getPrivacySetting({ | |||
success: (res) => { | |||
console.log(res, "getPrivacySetting"); // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' } | |||
// console.log(res, "getPrivacySetting"); // 返回结果为: res = { needAuthorization: true/false, privacyContractName: '《xxx隐私保护指引》' } | |||
if (res.needAuthorization) { | |||
// 需要弹出隐私协议 | |||
showPrivacy.value = true; | |||
@@ -419,9 +419,9 @@ const getPrivacySetting = (num) => { | |||
// 用户已经同意过隐私协议,所以不需要再弹出隐私协议,也能调用已声明过的隐私接口 | |||
if (num == 1) { | |||
// 返回token,直接跳转首页 | |||
uni.switchTab({ | |||
url: "/pages/uploadPhoto/uploadPhoto", | |||
}); | |||
// uni.switchTab({ | |||
// url: "/pages/uploadPhoto/uploadPhoto", | |||
// }); | |||
} else if (num == 2) { | |||
// 没有返回token,无事发生 | |||
} | |||
@@ -439,7 +439,7 @@ const closePrivacy = () => { | |||
}; | |||
const handleAgreePrivacyAuthorization = () => { | |||
console.log("Privacy Agreed!"); | |||
// console.log("Privacy Agreed!"); | |||
showPrivacy.value = false; | |||
// 用户同意隐私协议事件回调 | |||
// 用户点击了同意,之后所有已声明过的隐私接口和组件都可以调用了 | |||
@@ -453,20 +453,25 @@ const handleOpenPrivacyContract = () => { | |||
complete: () => {}, | |||
}); | |||
}; | |||
//#endregion --------------------------------- | |||
//#region | |||
//#region 初始化 | |||
const urlUid = ref(""); //通过邀请来的会携带邀请人ID参数 | |||
onLoad((options) => { | |||
if (options.userId) { | |||
// 二维码扫描进入时 | |||
if (options.scene) { | |||
const str = decodeURIComponent(options.scene); | |||
const regex = /_u:(\d+)/; // 正则表达式匹配_u:后面的数字 | |||
const match = str.match(regex); | |||
urlUid.value = match[1]; | |||
} | |||
// 分享链接进入时 | |||
else if (options.userId) { | |||
urlUid.value = options.userId; | |||
uni.showToast({ | |||
title: `Uid获取成功!(${options.userId})`, | |||
icon: "none", | |||
}); | |||
} else { | |||
urlUid.value = null; | |||
} | |||
console.log(urlUid.value, "邀请人id"); | |||
uni.hideHomeButton(); | |||
// workId.value = options.id; | |||
@@ -2,6 +2,7 @@ | |||
<view class="page"> | |||
<!-- 轮播图 --> | |||
<u-swiper | |||
v-if="createState == 2" | |||
indicator | |||
indicatorMode="dot" | |||
circular | |||
@@ -12,7 +13,14 @@ | |||
@change="getSwiperIndex" | |||
@click="previewImage" | |||
></u-swiper> | |||
<view class="checkMore">左右滑动查看更多</view> | |||
<image | |||
v-if="createState != 2" | |||
class="logo" | |||
src="../../assets/img/logo-4.png" | |||
mode="scaleToFill" | |||
/> | |||
<view v-if="createState == 2" class="checkMore">左右滑动查看更多</view> | |||
<view v-if="createState != 2" class="wait">生成中,请稍后...</view> | |||
<!-- <view class="uploadBtn grayBtn"> | |||
<text>我要让照片说话</text> | |||
<view class="free"> | |||
@@ -22,19 +30,22 @@ | |||
<view @click="downloadImg" class="uploadBtn"> | |||
<text>下载照片</text> | |||
</view> | |||
<!-- <view class="grayBtn" @click="photoSupper"> | |||
<view v-if="supperPhotoState == 0 || supperPhotoState == 3" class="free"> | |||
<view class="grayBtn" @click="goChooseStyle"> | |||
重新生成 | |||
<!-- <view v-if="supperPhotoState == 0 || supperPhotoState == 3" class="free"> | |||
<text>耗金币1枚</text> | |||
</view> | |||
{{ supperTips() }} | |||
</view> --> | |||
{{ supperTips() }} --> | |||
</view> | |||
<!-- 底部 --> | |||
<view class="bottomBox"> | |||
<view class="tips"> | |||
<view v-if="createState == 2" class="tips"> | |||
<text>邀请好友可获得2枚金币</text> | |||
</view> | |||
<button open-type="share" class="shareBtn">分享</button> | |||
<view class="shareBtn" @click="getUserQrcode">邀请好友</view> | |||
<view v-if="createState == 2" class="shareBtn" @click="getUserQrcode" | |||
>邀请好友</view | |||
> | |||
<view class="shareBtn" @click="buyCoin">金币充值</view> | |||
</view> | |||
<!-- 画报 --> | |||
@@ -61,6 +72,7 @@ import { | |||
//#endregion | |||
const userInfoModulesPinia = userInfoModules(); | |||
//#region 轮播图 | |||
const createState = ref(null); //制作状态:1生成中,2完成,3失败 | |||
const workId = ref(null); //作品id | |||
onLoad(async (options) => { | |||
workId.value = options.id; | |||
@@ -72,15 +84,17 @@ const previewImageList = ref([]); //预览图片列表 | |||
async function getSwiperList() { | |||
const res = await getPhotoListApi(workId.value); | |||
console.log(res.data.photoList); | |||
swiperList.value = res.data.photoList; | |||
swiperList.value.forEach((item) => { | |||
if (item.imageSuper) { | |||
previewImageList.value.push(item.imageSuper); | |||
} else { | |||
previewImageList.value.push(item.image); | |||
} | |||
}); | |||
createState.value = res.data.status; | |||
if (res.data.photoList) { | |||
swiperList.value = res.data.photoList; | |||
swiperList.value.forEach((item) => { | |||
if (item.imageSuper) { | |||
previewImageList.value.push(item.imageSuper); | |||
} else { | |||
previewImageList.value.push(item.image); | |||
} | |||
}); | |||
} | |||
} | |||
//#endregion --------------------- | |||
@@ -246,6 +260,11 @@ function buyCoin() { | |||
}); | |||
} | |||
} | |||
function goChooseStyle() { | |||
uni.navigateTo({ | |||
url: "/pages/closeStyle/closeStyle", | |||
}); | |||
} | |||
//#endregion --------------------- | |||
//#region 超分相关 | |||
@@ -402,7 +421,13 @@ async function getUserQrcode() { | |||
} | |||
} | |||
.checkMore { | |||
.logo { | |||
width: 520rpx; | |||
margin: 90rpx; | |||
} | |||
.checkMore, | |||
.wait { | |||
color: #ffffff; | |||
margin-top: 30rpx; | |||
} | |||
@@ -411,7 +436,6 @@ async function getUserQrcode() { | |||
.uploadBtn { | |||
position: relative; | |||
margin-top: 100rpx; | |||
margin-bottom: 200rpx; | |||
width: 520rpx; | |||
height: 100rpx; | |||
line-height: 100rpx; | |||
@@ -455,6 +479,7 @@ async function getUserQrcode() { | |||
} | |||
} | |||
.grayBtn { | |||
margin-bottom: 220rpx; | |||
.free { | |||
position: absolute; | |||
color: #fff; | |||
@@ -477,7 +502,7 @@ async function getUserQrcode() { | |||
bottom: 60rpx; | |||
width: 100%; | |||
display: flex; | |||
justify-content: space-between; | |||
justify-content: space-evenly; | |||
padding: 65rpx 40rpx 0; | |||
.tips { | |||
position: absolute; | |||
@@ -22,15 +22,15 @@ | |||
<!-- 上传按钮 --> | |||
<image | |||
class="addImg" | |||
v-show="!showImgUrl" | |||
v-show="!showImgUrl && !userInfoModulesPinia.myAvatar" | |||
src="../../assets/icon/add.png" | |||
alt="" | |||
/> | |||
<!-- @click.prevent="chooseImage" --> | |||
<image | |||
class="showImg" | |||
v-show="showImgUrl" | |||
:src="showImgUrl" | |||
v-show="showImgUrl || userInfoModulesPinia.myAvatar" | |||
:src="showImgUrl ? showImgUrl : userInfoModulesPinia.myAvatar" | |||
alt="" | |||
mode="aspectFit" | |||
/> | |||
@@ -2,7 +2,7 @@ export default { | |||
onShareAppMessage() { | |||
return { | |||
title: "邃芒智像", | |||
path: `/pages/login/index?type=in&userId=${uni.getStorageSync('userId')}`, | |||
path: `/pages/login/index?userId=${uni.getStorageSync('userId')}`, | |||
}; | |||
}, | |||
@@ -11,7 +11,7 @@ export default { | |||
onShareTimeline() { | |||
return { | |||
title: "邃芒智像", | |||
path: `/pages/login/index?type=in&userId=${uni.getStorageSync('userId')}`, | |||
path: `/pages/login/index?userId=${uni.getStorageSync('userId')}`, | |||
}; | |||
}, | |||