scout 5 months ago
parent e0efddabf3
commit 0689181985

@ -4,10 +4,12 @@ import login from './login'
import mine from './mine'
import series from './series'
import airdrop from './airdrop'
import usa from './usa'
export default {
login,
mine,
series,
airdrop
airdrop,
usa
}

@ -4,7 +4,7 @@
*/
export default {
config: {
baseUrl: "https://shop.szjixun.cn",
baseUrl: "http://shop-test.szjixun.cn",
// baseUrl: "http://114.218.158.24:9022",
header: {
"Content-Type": "application/json;charset=UTF-8",
@ -71,9 +71,7 @@ export default {
}
}
if (response.data.status === 401) {
uni.navigateTo({
url: "/pages/login/login",
});
}
// 统一的响应日志记录
_reslog(response);

@ -0,0 +1,58 @@
import http from './interface'
// 1.1 礼包详情
export const getList = (data) => {
return http.request({
url: '/mall/gift/active/series/info',
method: 'POST',
data
})
}
// 藏品列表
export const getCollectionList = (data) => {
return http.request({
url: '/mall/gift/active/collections/list',
method: 'POST',
data
})
}
// 领取
export const receive = (data) => {
return http.request({
url: '/mall/gift/active/draw',
method: 'POST',
data
})
}
// 详情
export const collectionsInfo = (data) => {
return http.request({
url: '/mall/gift/active/collections/detail',
method: 'POST',
data
})
}
// 我的藏品列表
export const getMyCollectionList = (data) => {
return http.request({
url: '/mall/gift/active/my/collections/list',
method: 'POST',
data
})
}
// 获取系列的助记词
export const getSeriesMnemonic = (data) => {
return http.request({
url: '/mall/gift/active/scan/by/pwd',
method: 'POST',
data
})
}
export default {
getList,
getCollectionList,
receive,
collectionsInfo,
getMyCollectionList,
getSeriesMnemonic
}

@ -1,6 +1,7 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, viewport-fit=cover">
<meta charset="UTF-8" />
<script>
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
@ -11,6 +12,7 @@
</script>
<title></title>
<!--preload-links-->
<link rel="icon" href="./static/log.png"/>
<!--app-context-->
</head>
<body>

@ -1,5 +1,22 @@
{
"app.name": "fontree",
"start.title": "Generating a blockchain identity⋯",
"seriesData.detail": "Gift package details",
"seriesData.recive": "Claim all",
"seriesData.success": "Claimed successfully!",
"usa.adress": "Address",
"usa.remember": "Mnemonic words",
"usa.check": "Check",
"usa.hasGet": "Items received",
"usa.popTitle": "Check Mnemonic words",
"usa.inputPassword": "Enter a 6-digit password",
"usa.warningPwd": "Please enter a 6-digit password",
"usa.copySuccess": "Copy successful!",
"usa.back": "Back",
"usa.backAndCopy": "Copy and back",
"usa.cancel": "Cancel",
"usa.confirm": "Confirm",
"usa.Password": "Password",
"tabbar.home": "Home",
"tabbar.mine": "Mine",
"index.title": "Home",

@ -1,5 +1,22 @@
{
"app.name": "丰链艺树",
"app.name": "助记词",
"start.title": "正在生成区块链身份中⋯",
"seriesData.detail": "礼包详情",
"seriesData.recive": "全部领取",
"seriesData.success": "领取成功!",
"usa.adress": "地址",
"usa.remember": "助记词",
"usa.check": "点击查看",
"usa.hasGet": "已获取商品",
"usa.popTitle": "查看助记词",
"usa.inputPassword": "请输入6位数字密码",
"usa.warningPwd": "请输入密码",
"usa.copySuccess": "复制成功!",
"usa.back": "返回",
"usa.backAndCopy": "复制并返回",
"usa.cancel": "取消",
"usa.confirm": "确认",
"usa.Password": "密码",
"tabbar.home": "首页",
"tabbar.mine": "我的",
"index.title": "首页",

@ -10,7 +10,7 @@ const messages = {
};
let i18nConfig = {
locale: uni.getLocale(), // 获取已设置的语言
locale: navigator.language === "en" ? "en" : "zh-Hans",
messages,
};

@ -1,5 +1,5 @@
{
"name" : "艺术商城",
"name" : "助记词",
"appid" : "__UNI__7D47507",
"description" : "",
"versionName" : "1.0.0",
@ -9,7 +9,7 @@
/* 5+App */
"app-plus" : {
"safearea" : {
"bottom" : "none"
"bottom" : "auto"
},
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
@ -117,6 +117,7 @@
},
"vueVersion" : "2",
"h5" : {
"title" : "艺树商城"
"title" : "",
"template" : ""
}
}

@ -1,253 +1,257 @@
{
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
"pages": [
//pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/start/start",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/changePhone/changePhone",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/realName/realName",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/index",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/series/series",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/activeSeries/activeSeries",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/detail/detail",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/setting/setting",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/notice/notice",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/comfirm/comfirm",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/payment/payment",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/detail/detail",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/cert/cert",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/login/sendCode/sendCode",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/login/welcome/welcome",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/detail/open3D/open3D",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/confirmOrder/confirmOrder",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/payment/reciveOK",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/activity/index",
"style": {
"navigationBarTitleText": "系列活动详情页",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/activity/detail",
"style": {
"navigationBarTitleText": "藏品活动详情页",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "components/tabBar/tabBar",
"style": {}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8",
"app-plus": {
"bounce": "none"
}
},
"tabBar": {
"list": [{
"pagePath": "pages/index/index",
"text": "%tabbar.home%"
},
{
"pagePath": "pages/mine/index",
"text": "%tabbar.mine%"
}
]
},
"uniIdRouter": {}
}
"easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
},
"pages": [
//pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/start/start",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/usamine/index",
"style": {
"navigationBarTitleText": "个人中心",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/changePhone/changePhone",
"style": {
"navigationBarTitleText": "loading",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/realName/realName",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "礼包详情",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false, //
"animationType": "fade-in",
"animationDuration": 100
}
}
},
{
"path": "pages/mine/index",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/series/series",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/activeSeries/activeSeries",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/detail/detail",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/setting/setting",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/notice/notice",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/comfirm/comfirm",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/payment/payment",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/detail/detail",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/cert/cert",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/login/sendCode/sendCode",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/login/welcome/welcome",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/detail/open3D/open3D",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/mine/confirmOrder/confirmOrder",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/payment/reciveOK",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/activity/index",
"style": {
"navigationBarTitleText": "系列活动详情页",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "pages/index/activity/detail",
"style": {
"navigationBarTitleText": "藏品活动详情页",
"enablePullDownRefresh": false,
"app-plus": {
"titleNView": false //
}
}
},
{
"path": "components/tabBar/tabBar",
"style": {}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8",
"app-plus": {
"bounce": "none",
"animationType": "fade-in",
"animationDuration": 100
}
},
"tabBar": {},
"uniIdRouter": {}
}

@ -1,76 +1,38 @@
<template>
<view>
<navBar
:navTitle="collectionsDetail.Name"
:navTitle="collectionsDetail.name"
:stickyShow="stickyShow"
:color="'#000000'"
:backBackGroundColor="'#699A70'"
v-if="!isActive"
:sfBack="true"
@triggerSfBack="back"
></navBar>
<view
class="fixed-box"
:style="{ background: !isActive ? '#FFFFFF' : '#000000' }"
>
<view class="btn" v-if="!isActive">
<u-button
type="primary"
:text="$t('navbar.back')"
class="back"
@click="back"
></u-button>
<u-button
v-if="this.collectionsDetail.CurrencyType === 'point'"
type="success"
:text="'积分制尚未开通'"
class="buyer"
></u-button>
<u-button
v-if="this.collectionsDetail.CurrencyType === 'normal'"
type="success"
:text="
this.collectionsDetail.SaleType === 'draw'
? '领取'
: this.collectionsDetail.SaleType === 'normal'
? '¥' + price + $t('collection.buy')
: '仅限渠道购买'
"
class="buyer"
@click="buy"
></u-button>
</view>
<view class="btn" v-else>
<u-button
type="primary"
:text="$t('navbar.back')"
class="back-active"
@click="back"
></u-button>
<u-button type="success" :text="'售罄'" class="sell-out"></u-button>
</view>
</view>
<view v-if="!isActive">
<view>
<view class="top-img">
<!-- @click="open3D"-->
<image
:src="this.collectionsDetail.CollectionImg"
mode="widthFix"
></image>
<!-- <text class="price" v-if="this.collectionsDetail.Price != 0">{{ this.collectionsDetail.Price }}</text> -->
<u-album :urls="[carouselFigureImg]" :singleSize="358"></u-album>
</view>
<!-- <view class="title-t">{{ collectionsDetail.Price != 0 ? $t('letter.all') : $t('letter.you') }}</view> -->
<!-- <view class="info-box" style="padding: 28rpx 32rpx">
<image src="@/static/image/home/to1.png" class="title-img" v-if="collectionsDetail.Price != 0"></image>
<image src="@/static/image/home/to.png" class="title-img" v-else></image>
<image src="@/static/image/home/333.png" class="content-img" mode="widthFix"
v-if="collectionsDetail.Price != 0"></image>
<image src="@/static/image/home/222.png" class="content-img" mode="widthFix" v-else></image>
<view style="text-align: right;">
<image src="@/static/image/home/from.png" class="from-img"></image>
</view>
</view> -->
<view
class="title-t"
:style="{ fontSize: '36rpx', color: '#434343', fontWeight: 600 }"
>{{ $t("basic.info") }}</view
>
<view class="info-box" style="padding: 28rpx 32rpx 4rpx 32rpx; background: #ffffff">
<view class="item">
<text class="label">{{ $t("series.name") }}</text>
<text class="value">{{ collectionsDetail.seriesName }}</text>
</view>
<view class="item">
<text class="label">{{ $t("series.issuer") }}</text>
<text class="value">{{ collectionsDetail.brandName }}</text>
</view>
<view class="item">
<text class="label">{{ $t("series.hash") }}</text>
<text class="value">{{ collectionsDetail.hash }}</text>
</view>
</view>
<view
class="title-t"
:style="{ fontSize: '36rpx', color: '#434343', fontWeight: 600 }"
@ -79,29 +41,29 @@
<view class="info-box" style="padding: 28rpx 32rpx; background: #ffffff">
<view class="item">
<text class="label">{{ $t("collection.name") }}</text>
<text class="value">{{ this.collectionsDetail.Name || "-" }}</text>
<text class="value">{{ this.collectionsDetail.name || "-" }}</text>
</view>
<view class="item">
<text class="label">{{ $t("collection.type") }}</text>
<text class="value">{{
this.collectionsDetail.CollectionType || "-"
this.collectionsDetail.collectionType || "-"
}}</text>
</view>
<view class="item">
<text class="label">{{ $t("collection.size") }}</text>
<text class="value">{{ this.collectionsDetail.Size || "-" }}</text>
<text class="value">{{ this.collectionsDetail.size || "-" }}</text>
</view>
<view class="item">
<text class="label">{{ $t("collection.specs") }}</text>
<text class="value">{{ this.collectionsDetail.Specs || "-" }}</text>
<text class="value">{{ this.collectionsDetail.specs || "-" }}</text>
</view>
<view class="item">
<text class="label">{{ $t("collection.address") }}</text>
<text class="value">{{ this.collectionsDetail.Address || "-" }}</text>
<text class="value">{{ this.collectionsDetail.address || "-" }}</text>
</view>
<view class="item">
<text class="label">{{ $t("collection.intro") }}</text>
<view class="des">{{ this.collectionsDetail.Intro || "-" }}</view>
<view class="des">{{ this.collectionsDetail.intro || "-" }}</view>
</view>
</view>
<view
@ -110,76 +72,13 @@
>{{ $t("collection.detail") }}
</view>
<view class="detail-info">
<!-- <view class="title-t">{{$t('collection.sell')}}</view>
<view class="box">
<image v-for="item in sellPoint" :key="item" :src="item" mode="widthFix" class="img"></image>
</view> -->
<view
v-if="
this.CollectionUID !== '372afbef-4d3c-4e06-8fae-2ef1068b0a89' &&
collDetails.length > 0
"
class="title-t"
>{{ $t("collection.sellDec") }}</view
>
<view
v-if="
this.CollectionUID !== '372afbef-4d3c-4e06-8fae-2ef1068b0a89' &&
collDetails.length > 0
"
class="box"
>
<image
v-for="item in collDetails"
:src="item"
:key="item"
mode="widthFix"
class="img"
></image>
</view>
<view
v-if="
this.CollectionUID !== '372afbef-4d3c-4e06-8fae-2ef1068b0a89' &&
companyInfo.length > 0
"
class="title-t"
>{{ $t("collection.company") }}</view
>
<view
v-if="
this.CollectionUID !== '372afbef-4d3c-4e06-8fae-2ef1068b0a89' &&
companyInfo.length > 0
"
class="box"
>
<image
v-for="item in companyInfo"
:src="item"
:key="item"
mode="widthFix"
class="img"
></image>
</view>
<view v-if="copyright.length > 0" class="title-t">{{
$t("collection.copyight")
}}</view>
<view v-if="copyright.length > 0" lass="box">
<image
v-for="item in copyright"
:src="item"
:key="item"
mode="widthFix"
class="img"
></image>
</view>
<view v-if="Blockchain.length > 0" class="title-t">{{
$t("collection.blockchain")
}}</view>
<view v-if="Blockchain.length > 0" class="box">
<view v-if="detailImgList.length > 0" class="box">
<image
v-for="item in Blockchain"
:src="item"
:key="item"
v-for="(img,index) in detailImgList"
:src="img"
:key="index"
mode="widthFix"
class="img"
></image>
@ -194,88 +93,8 @@
></image>
</view>
</view>
<view v-else class="active">
<view class="head">
<u-button class="back" @click="back"> </u-button>
<view>泰丰十周年纪念徽章</view>
</view>
<image
src="@/static/image/home/drawing-board.png"
mode="scaleToFill"
class="drawing-board"
/>
</view>
<view style="height: 180rpx"></view>
<u-popup
:show="showVerfy"
mode="center"
@close="closeVerfy"
bgColor="transparent"
>
<view class="popup-box">
<view class="title">{{ $t("buyVerfy.title") }}</view>
<view class="">
<view class="input-box">
<view class="label">{{ $t("buyVerfy.username") }}</view>
<view class="input">
<u--input
border="none"
shape="circle"
v-model="realName"
@focus="verfFocus"
></u--input>
</view>
</view>
<view class="input-box">
<view class="label">{{ $t("buyVerfy.idNum") }}</view>
<view class="input">
<u--input
border="none"
shape="circle"
v-model="idNum"
@focus="verfFocus"
></u--input>
</view>
</view>
<view class="flex-end">
<view class="fl-e" v-if="succes">
<image
src="../../../static/image/home/true.png"
mode=""
style="width: 30rpx; height: 30rpx; margin-right: 5px"
></image>
<text style="color: #ffffff; font-size: 24rpx">{{
$t("buyVerfy.suss")
}}</text>
</view>
<view class="fl-e" v-if="err">
<image
src="../../../static/image/home/false.png"
mode=""
style="width: 30rpx; height: 30rpx; margin-right: 5px"
></image>
<text style="color: #fd343c; font-size: 24rpx">{{
$t("buyVerfy.error")
}}</text>
</view>
</view>
</view>
<u-button
:text="$t('buyVerfy.done')"
color="#699A70"
@click="verifyName"
style="
'width: 622rpx;
height: 56rpx;
border-radius: 40rpx;
margin-top: 114rpx;'
"
></u-button>
<view @click="closeVerfy" class="cancel">{{
$t("buyVerfy.cancel")
}}</view>
</view>
</u-popup>
</view>
</template>
@ -285,55 +104,30 @@ export default {
return {
stickyShow: false,
showVerfy: false,
CollectionUID: "",
collectionsUID: "",
collectionsDetail: {},
sellPoint: [],
collDetails: [],
companyInfo: [],
copyright: [],
Blockchain: [],
realName: "",
idNum: "",
err: false,
succes: false,
SeriesName: "",
isHave: false,
AirdorpUid: "",
price: "",
isActive: false,
currencyType: "",
pageParams: {},
carouselFigureImg: "",
detailImgList: [],
containerWidth:300 , //
};
},
onPageScroll(e) {
this.stickyShow = e.scrollTop > 5 ? true : false;
},
onLoad: function (option) {
this.pageParams = option;
this.CollectionUID = option.CollectionUID;
this.SeriesName = option.SeriesName;
this.price = option.Price;
this.isActive = !Object.keys(option).length;
},
onShow() {
this.collectionsUID = option.collectionUID;
this.getCollectionDetail();
},
onReady() {
//
},
methods: {
calcRouteParams(obj) {
if (obj && JSON.stringify(obj) !== "{}") {
let str = "?";
for (let key in obj) {
str += key + "=" + obj[key] + "&";
}
return str.slice(0, -1);
}
return "";
},
open3D() {
uni.navigateTo({
url: "/pages/index/detail/open3D/open3D",
});
},
onPageScroll(e) {
this.stickyShow = e.scrollTop > 5 ? true : false;
},
back() {
let routesRecord = getCurrentPages();
if (routesRecord.length > 1) {
@ -345,194 +139,26 @@ export default {
}
},
async getCollectionDetail() {
if (this.isActive) return;
let data = {
CollectionsUID: this.CollectionUID,
collectionsUID: this.collectionsUID,
};
let res = await this.$api.series.collectionsInfo(data);
let res = await this.$api.usa.collectionsInfo(data);
if (res.status === 0) {
// await this.getPick(res.data.CollectionUID);
this.collectionsDetail = res.data;
(this.AllImgList = res.data.CutImg ? JSON.parse(res.data.CutImg) : []),
this.cutImg();
this.carouselFigureImg = this.collectionsDetail.carouselFigureList[0];
this.detailImgList = this.collectionsDetail.detailImgList;
} else {
uni.$u.toast(this.$t("load.failed"));
}
},
async getPick(uid) {
if (this.isActive) return;
let parmas = {
uuid: uid,
};
let res = await this.$api.series.userHaveDropNo(parmas);
if (res.status === 0) {
console.log(res.data.Hava);
this.isHave = res.data.Have != 0 ? false : true;
this.AirdorpUid = res.data.UserAirdorpUid;
} else {
this.isHave = false;
}
},
cutImg() {
this.AllImgList.forEach((v) => {
if (Array.isArray(v.imgs)) {
v.imgs = v.imgs.filter((img) => {
if (img) {
return img;
}
});
}
switch (v.label) {
case "卖点":
this.sellPoint = v.imgs;
break;
case "藏品细节":
this.collDetails = v.imgs;
break;
case "工艺/公司介绍":
this.companyInfo = v.imgs;
break;
case "版权声明":
this.copyright = v.imgs;
break;
case "区块链说明":
this.Blockchain = v.imgs;
break;
}
});
},
buy() {
//
if (
this.collectionsDetail.CurrencyType === "normal" &&
["normal", "draw"].includes(this.collectionsDetail.SaleType)
) {
let token = uni.getStorageSync("mall_token");
let realName = uni.getStorageSync("mall-user-info")
? uni.getStorageSync("mall-user-info").realName
: "";
if (!token) {
uni.$u.toast(this.$t("login.pls"));
uni.setStorageSync(
"login-redirect",
"/pages/index/detail/detail" + this.calcRouteParams(this.pageParams)
);
uni.navigateTo({
url: "/pages/login/login",
});
} else if (!realName) {
this.showVerfy = true;
} else {
if (this.collectionsDetail.SaleType === "draw") {
this.directGet();
return;
}
uni.navigateTo({
url:
"/pages/index/comfirm/comfirm?Collection=" +
encodeURIComponent(JSON.stringify(this.collectionsDetail)),
});
}
}
},
async directGet() {
let data = {
CollectionsUID: this.collectionsDetail.CollectionUID,
};
let res = await this.$api.airdrop.directGet(data);
if (res.status === 0) {
uni.$u.toast("领取成功!");
this.getCollectionDetail();
let routesRecord = getCurrentPages();
if (routesRecord.length > 1) {
let that = this;
setTimeout(() => {
that.$common.navigateBack();
}, 1000);
} else {
setTimeout(() => {
uni.reLaunch({
url: "/pages/index/index",
});
}, 1000);
}
} else {
uni.$u.toast(res.msg);
}
},
async pickUp() {
let data = {
UserId: uni.getStorageSync("mall-user-info").ID,
Uuid: this.AirdorpUid,
};
let res = await this.$api.airdrop.getCollection(data);
if (res.status === 0) {
this.recive();
} else {
uni.$u.toast(res.msg);
}
},
async recive() {
let data = {
collectionsUID: this.CollectionUID,
userAirdropUuid: this.AirdorpUid,
};
let res = await this.$api.airdrop.getCollectionStepTwo(data);
if (res.status === 0) {
uni.navigateTo({
url: "/pages/index/payment/reciveOK",
});
} else {
uni.$u.toast(res.msg);
}
},
async verifyName() {
let data = {
idNum: this.idNum,
realName: this.realName,
};
if (!data.idNum || !data.realName) {
return uni.$u.toast("姓名和身份证号不能为空");
}
if (!uni.$u.test.idCard(data.idNum)) {
return uni.$u.toast("身份证号不正确");
}
let res = await this.$api.mine.update(data);
if (res.status === 0) {
this.succes = true;
uni.setStorageSync("mall-user-info", res.data);
setTimeout(() => {
this.idNum = "";
this.realName = "";
this.showVerfy = false;
this.err = false;
this.succes = false;
}, 1000);
} else {
this.err = true;
this.succes = false;
uni.$u.toast(res.msg);
}
},
verfFocus() {
this.err = false;
this.succes = false;
},
doneVerfy() {
this.showVerfy = false;
},
closeVerfy() {
this.showVerfy = false;
},
},
};
</script>
<style lang="scss">
page {
background: url("@/static/image/home/new_bg.png?x-oss-process=image/resize,w_750,h_1580")
no-repeat;
background: url("../../../static/image/start/new_bg.png") no-repeat;
background-size: 100% 100%;
background-attachment: fixed;
height: 100vh;
@ -639,20 +265,14 @@ page {
height: 660rpx;
border-radius: 8rpx;
margin: 44rpx 44rpx 32rpx 46rpx;
position: relative;
.price {
font-size: 48rpx;
position: absolute;
bottom: 10rpx;
right: 30upx;
// left: 50%;
// transform: translateX(-50%);
}
display: flex;
justify-content: center;
align-items: center;
image {
width: 100%;
height: 100%;
}
}
@ -738,6 +358,11 @@ page {
.value {
color: #878787;
//
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 400rpx;
}
.des {

@ -1,241 +1,79 @@
<template>
<view>
<tabBar :currentPage="'pages/index/index'"></tabBar>
<view class="content">
<image
src="../../static/image/home/fontree.png"
mode=""
class="logo"
></image>
<view class="main-box">
<u-toast ref="uToast"></u-toast>
<u-album :urls="[seriesData.coverImg]" :singleSize="368"></u-album>
<view class="title">
<image src="../../static/image/usa/left.png"></image>
<text class="word">{{ $t("seriesData.detail") }}</text>
<image src="../../static/image/usa/right.png"></image>
</view>
<scroll-view
scroll-y
@scrolltolower="onreachBottom"
:refresher-enabled="true"
:refresher-triggered="isrefresh"
@refresherpulling="openLoading"
@refresherrefresh="onRefresh"
@refresherrestore="onRestore"
@scroll="onScroll"
:scroll-anchoring="true"
refresher-background="#699A70"
refresher-default-style="none"
:style="'height:' + listHeight + 'px;'"
:refresher-threshold="300"
class="scroll"
>
<image
src="../../static/image/home/new_line.png"
mode=""
class="line"
v-if="showPull"
></image>
<image
src="../../static/image/home/new_flower.png"
mode=""
class="flower-static"
v-if="showPull"
></image>
<view v-for="(item, index) in listData" :key="index" class="item">
<view class="box">
<!-- :style="'background: url(' + item.CoverImg + ');'" -->
<image
:src="item.CoverImg"
mode="scaleToFill"
class="img"
@click="goLink(item)"
></image>
<!-- <view class="bt-con">
<view class="name">{{ item.SeriesName }}</view>
<view class="des">{{ item.Desc }}</view>
</view> -->
<view class="description">
<view class="text">
<view class="name">{{ item.SeriesName }}</view>
<view class="des">{{ item.Desc }}</view>
</view>
<view class="line-des"></view>
<view
class="detail"
@click="goLink(item)"
:style="{
background:
item.SeriesName === '泰丰十周年' ? '#FC4947' : '#699A70',
}"
>查看详情</view
>
<view class="collectionList" v-if="collectionList">
<view
v-for="(item, index) in collectionList"
:key="index"
class="list-item"
>
<view class="listbox" @click="goDetail(item)">
<image class="coverImg" :src="item.coverImg"></image>
<view class="info">
<view class="name">{{ item.name }}</view>
<view class="intro">{{ item.intro }}</view>
</view>
</view>
</view>
</scroll-view>
<Dialog
:detail="detail"
:collectionsUID="collectionsUID"
:num="num"
:isShow="isShow"
/>
</view>
<view class="bottom-btn">
<u-button :loading="loading" class="btn" @click="receive">{{
$t("seriesData.recive")
}}</u-button>
</view>
</view>
</template>
haojia
<script>
import Dialog from "./dialog/dialog.vue";
export default {
components: {
Dialog,
},
data() {
return {
title: "Hello",
fromLogin: true,
listData: [],
page: 1,
pageSize: 10,
showPull: false,
isrefresh: false,
listHeight: uni.getSystemInfoSync().windowHeight - 88 - 61,
isShow: false,
collectionsUID: "",
num: "",
detail: {},
seriesData: {},
collectionList: [],
loading: false,
};
},
onShow() {
let routes = getCurrentPages(); //
let curRoute = routes[routes.length - 2];
},
onLoad() {
this.onreachBottom();
const collectionsUID = uni.getStorageSync("collectionsUID");
if (collectionsUID) {
this.collectionsUID = collectionsUID;
}
const num = uni.getStorageSync("num");
if (num) {
this.num = JSON.parse(num);
}
if (this.collectionsUID && this.num) {
this.collectionsDetail();
}
this.seriesData = uni.getStorageSync("seriesData");
this.collectionList = uni.getStorageSync("collectionList");
console.log(this.seriesData, 1111);
},
methods: {
openLoading(e) {
if (e.detail.deltaY < 0) return;
this.showPull = true;
this.isrefresh = true;
//
goDetail(item) {
uni.navigateTo({
url: `/pages/index/detail/detail?collectionUID=${item.collectionUID}`,
});
},
onRefresh(e) {
if (this._freshing) return;
this._freshing = true;
this.isrefresh = true;
setTimeout(() => {
this.getData();
}, 2000);
},
onRestore() {
this.showPull = false;
},
onreachBottom() {
this.getData();
},
onScroll() {
this.page++;
let params = {
page: this.page,
pageSize: this.pageSize,
async receive() {
this.loading = true;
let data = {
seriesUuid: this.seriesData.seriesUuid,
};
uni.$u.debounce(async () => {
await this.$api.series
.list(params)
.then((res) => {
if (res.status === 0) {
if (res.data.Data) {
this.listData = [...this.listData, ...(res.data.Data || [])];
}
this.page--;
} else {
uni.showToast({
title: this.$t("load.failed"),
icon: "none",
});
}
})
.catch((err) => {
uni.showToast({
title: this.$t("load.failed"),
icon: "none",
});
});
}, 500);
},
goLink(item) {
// uni.navigateTo({
// url: '/pages/index/activity/index?detail=' + encodeURIComponent(JSON.stringify(item))
// });
console.log(1111, item);
if (item.SeriesName === "泰丰十周年") {
uni.navigateTo({
url:
"/pages/index/activeSeries/activeSeries?detail=" +
encodeURIComponent(JSON.stringify(item)),
let res = await this.$api.usa.receive(data);
if (res.status === 0) {
this.loading = false;
this.$refs.uToast.show({
type: "success",
position: "top",
message: this.$t("seriesData.success"),
duration: 2000,
iconUrl: "https://cdn.uviewui.com/uview/demo/toast/success.png",
complete() {
uni.redirectTo({
url: "/pages/mine/usamine/index",
});
} else {
uni.navigateTo({
url: "/pages/index/series/series?SeriesUID=" + item.SeriesUuid,
},
});
}
},
async getData() {
let params = {
page: 1,
pageSize: this.pageSize,
};
await this.$api.series
.list(params)
.then((res) => {
if (res.status === 0) {
this.listData = res.data.Data;
/* } else {
this.listData = [...this.listData, ...res.data.Data || []];
} */
} else {
uni.showToast({
title: this.$t("load.failed"),
icon: "none",
});
}
this.isrefresh = false; //onRestore
this._freshing = false;
})
.catch((err) => {
console.log(1231312312, err);
uni.showToast({
title: this.$t("load.failed"),
icon: "none",
});
});
},
async collectionsDetail() {
if (uni.getStorageSync("collectionsDetail")) {
await this.$api.series
.collectionsDetail({
collectionsUID: this.collectionsUID,
num: this.num,
})
.then((res) => {
if (res.status === 0) {
this.detail = res.data;
this.isShow = true;
uni.setStorageSync("collectionsDetail", false);
} else {
this.$common.msgToast(res.msg, null, "error");
}
})
.catch((err) => {
uni.showToast({
title: this.$t("load.failed"),
icon: "none",
});
});
} else {
this.loading = false;
uni.$u.toast(res.msg);
}
},
},
@ -244,152 +82,106 @@ export default {
<style lang="scss">
page {
background: url("@/static/image/home/new_bg.png") no-repeat;
background: url("../../static/image/start/new_bg.png") no-repeat;
background-size: 100% 100%;
background-attachment: fixed;
height: 100vh;
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
/deep/ .uni-scroll-view-refresher {
max-height: 250rpx;
}
/deep/ .uni-scroll-view {
overflow-y: auto !important;
}
.content {
height: 122rpx;
background: #ffffff;
// padding-top: 300rpx;
// border: 1px solid red;
.logo {
width: 188rpx;
height: 56rpx;
margin-top: 36rpx;
margin-left: 48rpx;
}
}
.line {
width: 2rpx;
height: 164rpx;
.main-box {
position: absolute;
left: 50%;
top: 0;
transform: translateX(-50%);
}
.flower-static {
width: 43rpx;
height: 43rpx;
position: absolute;
left: 47%;
top: 167rpx;
animation: fadenum 1s infinite;
transform: translate(-50%);
padding: 14px 5px 14px 5px;
}
@keyframes fadenum {
100% {
transform: rotate(360deg);
/deep/ .u-album__row__wrapper {
image {
height: 160px !important;
border-radius: 4px;
}
}
.item {
margin-bottom: 40rpx;
.title {
font-size: 17px;
color: #3e6944;
text-align: center;
margin-top: 24px;
image {
width: 32px;
height: 13px;
}
.word {
margin: 0 10px;
}
}
.box {
width: 656rpx;
height: 814rpx;
margin: 0 48rpx;
.collectionList {
margin-top: 15px;
overflow-y: scroll;
height: 340px;
display: flex;
flex-direction: column;
.img {
width: 656rpx;
height: 656rpx;
}
// .bt-con {
// position: absolute;
// bottom: 0;
// width: 656rpx;
// height: 158rpx;
// background: rgba(255, 255, 255, 0.3);
// //
// .name {
// font-size: 32rpx;
// border-bottom: 1rpx solid #fff;
// margin: 28rpx 50rpx 0 50rpx;
// text-align: center;
// padding-bottom: 10rpx;
// }
// .des {
// padding-top: 10rpx;
// font-size: 20rpx;
// text-align: center;
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
// }
// }
.description {
width: 656rpx;
height: 158rpx;
// border: 1px solid red;
flex-wrap: wrap;
justify-content: space-between;
.list-item {
width: 100%;
height: 96px;
border-radius: 4px;
box-shadow: 0px 2px 4px 0px #e4e4e4;
margin-top: 10px;
background: #fff;
border-radius: 4px;
padding: 12px 16px;
box-sizing: border-box;
padding: 18px 11px 18px 11px;
display: flex;
justify-content: center;
align-items: center;
background-color: #ffffff;
border-bottom-left-radius: 8rpx;
border-bottom-right-radius: 8rpx;
.text {
flex: 1;
.name {
font-size: 32rpx;
color: #000000;
font-family: "Songti TC";
font-weight: 500;
margin-bottom: 2px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
.listbox {
display: flex;
align-items: center; /* Add this line */
.coverImg {
width: 72px;
height: 72px;
border-radius: 4px;
}
.des {
margin-right: 28rpx;
font-size: 20rpx;
color: #939393;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
.info {
flex: 1; /* Add this line */
margin-left: 8px;
.name {
font-size: 16px;
color: #000000;
}
.intro {
font-size: 14px;
color: #999999;
margin-top: 4px;
//
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
}
}
.line-des {
width: 1rpx;
height: 114rpx;
background-color: #d8d8d8;
}
.detail {
background: #699a70;
padding: 12rpx 40rpx;
border-radius: 8rpx;
text-align: center;
margin-left: 19px;
font-size: 28rpx;
}
}
}
.bottom-btn {
margin-top: 20px;
height: 70px;
width: 100%;
background: #ffffff;
//
box-shadow: 0px 2px 4px 0px #e4e4e4;
display: flex;
justify-content: center;
align-items: center;
.btn {
width: 214px;
height: 40px;
//
background: linear-gradient(90deg, #489552 0%, #3e6944 100%);
color: #fff;
border-radius: 20px;
}
}
/deep/ .u-toast__content{
width: 85%;
transform: translateY(-291.75px) !important;
}
</style>

@ -0,0 +1,696 @@
<template>
<view>
<view class="logo">
<image
src="../../../static/image/home/fontree.png"
mode=""
class="img"
></image>
</view>
<view class="user-box">
<u-avatar
src="https://cdns.fontree.cn/fonchain-main/prod/image/3734/avatar/44f417f8-ea14-45f6-a114-2bb2fee54713.png"
class="avatar"
size="75"
fontSize="18"
bg-color="#558BF2"
></u-avatar>
<view class="info">
<view class="blockchain"
>{{ $t("usa.adress") }}{{ seriesData.seriesAddress }}</view
>
<view class="username"
>{{ $t("usa.remember") }}{{ seriesData.seriesMem }}
<view class="check" @click="checkWord">{{
$t("usa.check")
}}</view></view
>
</view>
</view>
<view class="his-title-text">
<view>{{ $t("usa.hasGet") }}</view>
<view class="line"></view>
</view>
<view class="collectionList" v-if="collectionList">
<view
v-for="(item, index) in collectionList"
:key="index"
class="list-item"
>
<view class="listbox" @click="goDetail(item)">
<image class="coverImg" :src="item.coverImg"></image>
<view class="info">
<view class="name">{{ item.name }}</view>
<view class="intro">{{ item.intro }}</view>
</view>
</view>
</view>
</view>
<u-popup
:show="show"
mode="center"
bgColor="#F5F5F5"
@close="close"
@open="open"
:closeOnClickOverlay="false"
>
<view class="content">
<view class="title">{{ $t("usa.popTitle") }}</view>
<view class="input-box">
<view v-if="!showSeriesMem">{{ $t("usa.Password") }}</view>
<u--input
v-if="!showSeriesMem"
style="width: 50%"
v-model="seriesPwd"
border="none"
:type="isShow ? 'text' : 'password'"
maxlength="6"
:placeholder="placeholder"
class="login-input"
>
<template slot="suffix">
<u-icon
:name="isShow ? 'eye' : 'eye-off'"
@click="isShow = !isShow"
></u-icon> </template
></u--input>
<view v-if="showSeriesMem">{{ seriesMem }}</view>
</view>
<view class="btn-group" v-if="!showSeriesMem">
<u-button
@click="cancel"
style="
background-color: #fdfdfd;
color: #3e6944;
box-shadow: 0px 2px 2px 0px #b4b4b4;
font-weight: bold;
"
class="u-button"
shape="circle"
>
{{ $t("usa.cancel") }}
</u-button>
<u-button
@click="confirm"
style="
background: linear-gradient(90deg, #489552 0%, #3e6944 100%);
color: #ffffff;
font-weight: bold;
"
class="u-button"
shape="circle"
:loading="loading"
>
{{ $t("usa.confirm") }}
</u-button>
</view>
<view class="btn-group" v-else>
<u-button
@click="cancel"
style="
background-color: #fdfdfd;
color: #3e6944;
box-shadow: 0px 2px 2px 0px #b4b4b4;
font-weight: bold;
"
class="u-button"
shape="circle"
>
{{ $t("usa.back") }}
</u-button>
<u-button
@click="backAndCopy"
style="
background: linear-gradient(90deg, #489552 0%, #3e6944 100%);
color: #ffffff;
font-weight: bold;
"
class="u-button"
shape="circle"
:loading="loading"
>
{{ $t("usa.backAndCopy") }}
</u-button>
</view>
</view>
</u-popup>
<u-toast ref="uToast"></u-toast>
</view>
</template>
<script>
export default {
data() {
return {
collectionList: [],
seriesData: {},
show: false,
placeholder: "",
isShow: false,
seriesPwd: "",
loading: false,
seriesMem: "",
showSeriesMem: false,
};
},
methods: {
open() {
// console.log('open');
},
close() {
this.show = false;
// console.log('close');
},
checkWord() {
this.show = true;
},
cancel() {
this.show = false;
this.seriesPwd = "";
this.showSeriesMem = false;
},
backAndCopy() {
uni.setClipboardData({
data: this.seriesMem,
success: function () {
uni.hideToast();
},
});
this.$refs.uToast.show({
type: "success",
position: "top",
message: this.$t("usa.copySuccess"),
duration: 2000,
iconUrl: "https://cdn.uviewui.com/uview/demo/toast/success.png",
});
this.show = false;
this.seriesPwd = "";
this.showSeriesMem = false;
},
async confirm() {
if (!this.seriesPwd) {
this.$refs.uToast.show({
type: "error",
position: "top",
message: this.$t("usa.warningPwd"),
duration: 2000,
iconUrl: "https://cdn.uviewui.com/uview/demo/toast/error.png",
});
return;
}
this.loading = true;
let data = {
seriesUuid: this.seriesData.seriesUuid,
seriesPwd: this.seriesPwd,
};
let res = await this.$api.usa.getSeriesMnemonic(data);
if (res.status === 0) {
this.loading = false;
this.seriesMem = res.data.seriesMem;
this.showSeriesMem = true;
console.log(this.seriesMem, this.showSeriesMem);
} else {
this.$refs.uToast.show({
type: "error",
position: "top",
message: res.msg,
duration: 2000,
iconUrl: "https://cdn.uviewui.com/uview/demo/toast/error.png",
});
this.loading = false;
}
},
async getCollectionList() {
let data = {
seriesUID: this.seriesData.seriesUuid,
};
let res = await this.$api.usa.getMyCollectionList(data);
if (res.status === 0) {
this.collectionList = res.data.data;
} else {
uni.$u.toast(res.msg);
}
},
//
goDetail(item) {
uni.navigateTo({
url: `/pages/index/detail/detail?collectionUID=${item.collectionUID}`,
});
},
},
async onShow() {
this.seriesData = uni.getStorageSync("seriesData");
this.getCollectionList();
this.placeholder = this.$t("usa.inputPassword");
},
};
</script>
<style lang="scss">
page {
background: url("@/static/image/start/new_bg.png") no-repeat;
background-size: 100% 100%;
background-attachment: fixed;
height: 100vh;
box-sizing: border-box;
// border: 1px solid red;696.1123
}
.btn-group {
display: flex;
justify-content: space-between;
margin-top: 20px;
.u-button {
width: 40%;
height: 40px;
margin-bottom: 60rpx;
}
}
.collectionList {
margin-top: 15px;
padding: 0 16px;
overflow-y: scroll;
height: 55vh;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.list-item {
width: 100%;
height: 96px;
border-radius: 4px;
box-shadow: 0px 2px 4px 0px #e4e4e4;
margin-top: 10px;
background: #fff;
border-radius: 4px;
padding: 12px 16px;
box-sizing: border-box;
.listbox {
display: flex;
align-items: center; /* Add this line */
.coverImg {
width: 72px;
height: 72px;
border-radius: 4px;
}
.info {
flex: 1; /* Add this line */
margin-left: 8px;
.name {
font-size: 16px;
color: #000000;
}
.intro {
font-size: 14px;
color: #999999;
margin-top: 4px;
//
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
}
}
}
}
.logo {
width: 100vw;
height: 122rpx;
background: #ffffff;
overflow: hidden;
.img {
width: 188rpx;
height: 56rpx;
margin-top: 36rpx;
margin-left: 48rpx;
}
}
.content {
width: 700rpx;
height: 500rpx;
display: flex;
justify-content: center;
flex-direction: column;
.title {
font-size: 40rpx;
text-align: center;
margin: 60rpx 0 0rpx 0;
color: #699a70;
}
}
.input-box {
margin: 80rpx 45rpx 40rpx 45rpx;
height: 100rpx;
width: auto;
box-sizing: border-box;
background-color: #ffffff;
display: flex;
justify-content: center;
align-items: center;
color: #000000;
border-radius: 8rpx;
view {
margin-left: 30rpx;
margin-right: 20rpx;
}
.login-input {
padding: 30rpx;
height: 88rpx;
background-color: rgba(255, 255, 255, 0.6);
padding: 0 20rpx;
/deep/ .uni-input-placeholder {
padding: 0 20rpx;
}
/deep/ .uni-input-input {
color: #000000;
padding: 0 20rpx;
width: auto;
}
}
}
.user-box {
background: #ffffff;
border-radius: 20rpx;
height: 210rpx;
margin: 20rpx 28rpx 20rpx 28rpx;
padding: 22rpx 20rpx;
display: flex;
box-sizing: border-box;
align-items: center;
.avatar {
margin-left: 20rpx;
}
.info {
flex: 1;
display: flex;
flex-direction: column;
margin-left: 20rpx;
.username {
color: #000000;
font-size: 24rpx;
margin-top: 20rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: flex;
align-items: center;
}
.blockchain {
color: #000000;
font-size: 24rpx;
margin-top: 10rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.check {
color: #3e6944;
font-size: 24rpx;
margin-left: 10rpx;
}
}
}
.mine-icon {
background: #ffffff;
border-radius: 20rpx;
height: 130rpx;
margin: 0rpx 28rpx 40rpx 28rpx;
padding: 20rpx 20rpx;
display: flex;
box-sizing: border-box;
justify-content: space-around;
align-items: center;
.value {
color: #000000;
font-size: 12px;
}
.tag,
.message,
.scan,
.setting {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.message {
position: relative;
.point {
position: absolute;
z-index: 999;
left: 35rpx;
top: 0rpx;
}
}
// .scan {
// width: 60rpx;
// font-size: 20rpx;
// }
}
.his-title-text {
font-size: 24rpx;
margin: 28rpx;
padding-bottom: 4upx;
color: #000000;
display: flex;
align-items: center;
& > .line {
flex: 1;
height: 0.5rpx;
background: rgba(0, 0, 0, 0.5);
margin-left: 80rpx;
}
}
.his-box {
margin: 0 8rpx;
display: flex;
flex-wrap: wrap;
.item {
width: 332rpx;
height: 418rpx;
// background: #000000;
// border-radius: 8rpx;
overflow: hidden;
position: relative;
margin: 20rpx 10rpx 0 18rpx;
box-sizing: border-box;
.icon {
width: 28rpx;
height: 28rpx;
position: absolute;
top: 16rpx;
right: 18rpx;
z-index: 10;
}
.img {
width: 100%;
height: 324rpx;
}
.content {
height: 96rpx;
width: 100%;
position: absolute;
bottom: 0;
font-size: 32rpx;
text-align: center;
line-height: 96rpx;
background-position: center center;
background-size: cover !important;
}
.contentD {
background: url("../../../static/image/mine/item-bg1.png") no-repeat;
}
.contentC {
background: url("../../../static/image/mine/item-bg2.png") no-repeat;
}
.contentB {
background: url("../../../static/image/mine/item-bg3.png") no-repeat;
}
.contentA {
background: url("../../../static/image/mine/item-bg4.png") no-repeat;
}
}
}
.invite-box {
text-align: center;
}
.popupLocale-box {
background: rgba(0, 0, 0, 0.8);
width: 582rpx;
overflow: hidden;
padding: 30rpx 42rpx;
.content3 {
background: url("../../../static/image/mine/item-bg3.png") no-repeat;
}
.content4 {
background: url("../../../static/image/mine/item-bg4.png") no-repeat;
}
.content {
height: 96rpx;
width: 100%;
background-size: 100% 100%;
position: absolute;
bottom: 0;
font-size: 32rpx;
text-align: center;
line-height: 96rpx;
}
}
.popupLocale-box {
background: rgba(0, 0, 0, 0.8);
width: 582rpx;
overflow: hidden;
padding: 30rpx 42rpx 0 42rpx;
.title {
font-size: 40rpx;
text-align: center;
margin-bottom: 40rpx;
}
.u-button {
width: 260rpx;
height: 56rpx;
border-radius: 40rpx;
}
.item {
display: flex;
justify-content: space-between;
padding: 34rpx 50rpx 38rpx 0;
// border-bottom: 1px solid #dedede;
align-items: center;
.right {
font-size: 20rpx;
.tag-btn {
width: 100rpx;
/deep/ .u-tag {
justify-content: center;
}
/deep/ .u-tag__text--medium {
font-size: 20rpx;
text-align: center;
height: 40rpx;
line-height: 40rpx;
}
}
}
}
}
/deep/ .u-popup__content {
border-radius: 8rpx;
}
.step-top {
width: 466rpx;
padding: 16rpx 40rpx;
background: #699a70;
margin: auto;
text-align: center;
}
.step-box {
width: 100%;
margin-top: 26rpx;
background: #ffffff;
padding-bottom: 80rpx;
.title {
font-size: 40rpx;
text-align: center;
margin: 46rpx 0 34rpx 0;
color: #434343;
}
.step-pl {
text-align: center;
color: #878787;
font-size: 28rpx;
}
}
.verfy-box {
display: flex;
justify-content: center;
.label {
font-size: 24rpx;
text-align: left;
margin-bottom: 20rpx;
margin-top: 90rpx;
color: #878787;
}
/deep/ .u-code-input__item {
background: rgba(228, 228, 228, 0.7);
width: 60rpx !important;
height: 60rpx !important;
}
}
.pass-box {
width: 582rpx;
height: 484rpx;
background: #ffffff;
.title {
font-size: 40rpx;
text-align: center;
margin: 46rpx 0 34rpx 0;
color: #434343;
}
.flex-end {
margin-top: 70rpx;
padding: 58rpx;
text-align: right;
font-size: 24rpx;
color: #878787;
}
}
/deep/ .u-toast__content {
width: 85%;
transform: translateY(-291.75px) !important;
}
</style>

@ -1,46 +1,131 @@
<template>
<view>
<!-- <image src="../../static/image/start/logo.png" mode="" class="logo"></image> -->
<!-- <image src="../../static/image/start/welcome.png" mode="" class="welcome"></image> -->
<!-- <image src="../../static/image/start/bt-bg.png" mode="" class="btBg"></image> -->
<!-- <view class="btn" @click="goHome">
点击进入
</view> -->
</view>
<view class="main-box">
<view class="loading-box">
<view class="loader"></view>
<view class="word">{{ $t("start.title") }}</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
};
},
methods: {
/* goHome() {
console.log(1111);
uni.switchTab({
url: '/pages/index/index'
})
} */
},
onShow() {
setTimeout(() => {
uni.switchTab({
url: '/pages/index/index'
})
},1000)
}
}
export default {
data() {
return {
seriesUuid: "",
};
},
methods: {
//
async getGiftDetail() {
let data = {
seriesUuid: this.seriesUuid,
};
let res = await this.$api.usa.getList(data);
if (res.status === 0) {
let seriesData = res.data;
uni.setStorageSync("seriesData", seriesData);
this.getCollectionList();
} else {
uni.removeStorageSync("seriesData");
uni.$u.toast(res.msg);
}
},
//
async getCollectionList() {
let data = {
seriesUID: this.seriesUuid,
};
let res = await this.$api.usa.getCollectionList(data);
if (res.status === 0) {
let collectionList = res.data.data;
uni.setStorageSync("collectionList", collectionList);
uni.redirectTo({
url: "/pages/index/index",
});
} else {
uni.removeStorageSync("collectionList");
uni.$u.toast(res.msg);
}
},
},
onLoad(item) {
console.log(navigator.language, 2222);
console.log(item);
this.seriesUuid = item.seriesUuid;
setTimeout(async () => {
// uni.switchTab({
// url: "/pages/index/index",
// });
//
await this.getGiftDetail();
}, 2000);
},
};
</script>
<style lang="scss">
page{
height: 100vh;
background:url('../../static/image/start/new_bg.png') no-repeat center center fixed;
background-size: cover;
box-sizing: border-box;
page {
height: 100vh;
background: url("../../static/image/start/new_bg.png") no-repeat center center
fixed;
background-size: cover;
box-sizing: border-box;
}
/* HTML: <div class="loader"></div> */
.loader {
width: 50px;
aspect-ratio: 1;
display: grid;
}
.loader::before,
.loader::after {
content: "";
grid-area: 1/1;
--c: no-repeat radial-gradient(farthest-side, #25b09b 92%, #0000);
background: var(--c) 50% 0, var(--c) 50% 100%, var(--c) 100% 50%,
var(--c) 0 50%;
background-size: 12px 12px;
animation: l12 1s infinite;
}
.loader::before {
margin: 4px;
filter: hue-rotate(45deg);
background-size: 8px 8px;
animation-timing-function: linear;
}
@keyframes l12 {
100% {
transform: rotate(0.5turn);
}
}
@keyframes l27 {
100% {
transform: rotate(1turn);
}
}
.main-box {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
.loading-box {
//
background-color: #fff;
width: 234px;
height: 234px;
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.word {
margin-top: 27px;
font-size: 16px;
color: #000000;
text-align: center;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Loading…
Cancel
Save