usa
@ -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);
|
||||
|
58
http/usa.js
Normal file
@ -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": "首页",
|
||||
|
2
main.js
@ -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" : ""
|
||||
}
|
||||
}
|
||||
|
506
pages.json
@ -1,253 +1,257 @@
|
||||
{
|
||||
"easycom": {
|
||||
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
|
||||
},
|
||||
"pages": [
|
||||
//pages数组中第一项表示应用启动页,参考:https://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": [
|
||||
//pages数组中第一项表示应用启动页,参考:https://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"
|
||||
>
|
||||
|
||||
|
||||
<view v-if="detailImgList.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">
|
||||
<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) {
|
||||
onLoad: function (option) {
|
||||
this.collectionsUID = option.collectionUID;
|
||||
this.getCollectionDetail();
|
||||
|
||||
|
||||
},
|
||||
onReady() {
|
||||
// 页面加载完毕后开始动画
|
||||
|
||||
},
|
||||
|
||||
methods: {
|
||||
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.getCollectionDetail();
|
||||
},
|
||||
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",
|
||||
});
|
||||
},
|
||||
|
||||
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",
|
||||
});
|
||||
});
|
||||
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%);
|
||||
transform: translate(-50%);
|
||||
padding: 14px 5px 14px 5px;
|
||||
}
|
||||
|
||||
.flower-static {
|
||||
width: 43rpx;
|
||||
height: 43rpx;
|
||||
position: absolute;
|
||||
left: 47%;
|
||||
top: 167rpx;
|
||||
animation: fadenum 1s infinite;
|
||||
}
|
||||
|
||||
@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>
|
||||
|
696
pages/mine/usamine/index.vue
Normal file
@ -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>
|
||||
|
BIN
static/3.jpg
Normal file
After Width: | Height: | Size: 166 KiB |
BIN
static/image/start/loading-word.png
Normal file
After Width: | Height: | Size: 7.0 KiB |
Before Width: | Height: | Size: 63 KiB After Width: | Height: | Size: 1.5 MiB |
BIN
static/image/usa/left.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
static/image/usa/right.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
static/log.png
Normal file
After Width: | Height: | Size: 2.8 KiB |