Compare commits
	
		
			No commits in common. "553953ebaf6cdfd33bb35e4470cadd452492f08a" and "e0efddabf3f19954dfc471b57542bf8024dff1a2" have entirely different histories.
		
	
	
		
			553953ebaf
			...
			e0efddabf3
		
	
		
							
								
								
									
										2
									
								
								App.vue
									
									
									
									
									
								
							
							
						
						| @ -1,7 +1,5 @@ | |||||||
| <script> | <script> | ||||||
| import pageAnimation from './components/page-animation' |  | ||||||
| 	export default { | 	export default { | ||||||
| 		mixins: [pageAnimation], |  | ||||||
| 		onLaunch: function() { | 		onLaunch: function() { | ||||||
| 			console.log('App Launch') | 			console.log('App Launch') | ||||||
| 		}, | 		}, | ||||||
|  | |||||||
| @ -1,28 +0,0 @@ | |||||||
| /* #ifdef H5 */ |  | ||||||
| uni-page { |  | ||||||
| 	opacity: 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| uni-page.animation-before { |  | ||||||
| 	/* 在页面上使用 transform 会导致页面内的 fixed 定位渲染为 absolute,需要在动画完成后移除 */ |  | ||||||
| 	transform: translateY(20px); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| uni-page.animation-leave { |  | ||||||
| 	transition: all .3s ease; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| uni-page.animation-enter { |  | ||||||
| 	transition: all .3s ease; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| uni-page.animation-show { |  | ||||||
| 	opacity: 1; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| uni-page.animation-after { |  | ||||||
| 	/* 在页面上使用 transform 会导致页面内的 fixed 定位渲染为 absolute,需要在动画完成后移除 */ |  | ||||||
| 	transform: translateY(0); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| /* #endif */ |  | ||||||
| @ -1,37 +0,0 @@ | |||||||
| <script> |  | ||||||
| 	import './index.css' |  | ||||||
| 	export default { |  | ||||||
| 		// #ifdef H5 |  | ||||||
| 		onLaunch: function() { |  | ||||||
| 			this.show() |  | ||||||
| 			this.$router.beforeEach((to, from, next) => { |  | ||||||
| 				this.hide(next) |  | ||||||
| 			}) |  | ||||||
| 			this.$router.afterEach(() => { |  | ||||||
| 				setTimeout(this.show, 50) |  | ||||||
| 			}) |  | ||||||
| 		}, |  | ||||||
| 		methods: { |  | ||||||
| 			hide(callback) { |  | ||||||
| 				const classList = document.querySelector('uni-page').classList |  | ||||||
| 				classList.add('animation-before', 'animation-leave') |  | ||||||
| 				classList.remove('animation-show') |  | ||||||
| 				setTimeout(() => { |  | ||||||
| 					classList.remove('animation-before', 'animation-leave') |  | ||||||
| 					callback && callback() |  | ||||||
| 				}, 300) |  | ||||||
| 			}, |  | ||||||
| 			show() { |  | ||||||
| 				const classList = document.querySelector('uni-page').classList |  | ||||||
| 				classList.add('animation-before') |  | ||||||
| 				setTimeout(() => { |  | ||||||
| 					classList.add('animation-enter', 'animation-after', 'animation-show') |  | ||||||
| 					setTimeout(() => { |  | ||||||
| 						classList.remove('animation-before', 'animation-after', 'animation-enter') |  | ||||||
| 					}, 300) |  | ||||||
| 				}, 20) |  | ||||||
| 			} |  | ||||||
| 		}, |  | ||||||
| 		// #endif |  | ||||||
| 	} |  | ||||||
| </script> |  | ||||||
| @ -4,12 +4,10 @@ import login from './login' | |||||||
| import mine from './mine' | import mine from './mine' | ||||||
| import series from './series' | import series from './series' | ||||||
| import airdrop from './airdrop' | import airdrop from './airdrop' | ||||||
| import usa from './usa' |  | ||||||
| export default { | export default { | ||||||
| 	login, | 	login, | ||||||
| 	mine, | 	mine, | ||||||
| 	series, | 	series, | ||||||
| 	airdrop, | 	airdrop | ||||||
| 	usa |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -10,9 +10,13 @@ export default { | |||||||
|       "Content-Type": "application/json;charset=UTF-8", |       "Content-Type": "application/json;charset=UTF-8", | ||||||
|       // 'Content-Type':'application/x-www-form-urlencoded'
 |       // 'Content-Type':'application/x-www-form-urlencoded'
 | ||||||
|       "Accept-Language": |       "Accept-Language": | ||||||
|         navigator.language === "zh-CN" |         navigator.language === "en" | ||||||
|           ? "zh-Hans" |           ? "en" | ||||||
|           : "en", |           : navigator.language === "zh-Hans" | ||||||
|  |             ? "zh-CN" | ||||||
|  |             : navigator.language === "zh-Hant" | ||||||
|  |               ? "zh-TW" | ||||||
|  |               : "zh-CN", | ||||||
|     }, |     }, | ||||||
|     data: {}, |     data: {}, | ||||||
|     method: "GET", |     method: "GET", | ||||||
| @ -67,7 +71,9 @@ export default { | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         if (response.data.status === 401) { |         if (response.data.status === 401) { | ||||||
|          |           uni.navigateTo({ | ||||||
|  |             url: "/pages/login/login", | ||||||
|  |           }); | ||||||
|         } |         } | ||||||
|         // 统一的响应日志记录
 |         // 统一的响应日志记录
 | ||||||
|         _reslog(response); |         _reslog(response); | ||||||
|  | |||||||
							
								
								
									
										58
									
								
								http/usa.js
									
									
									
									
									
								
							
							
						
						| @ -1,58 +0,0 @@ | |||||||
| 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,7 +1,6 @@ | |||||||
| <!DOCTYPE html> | <!DOCTYPE html> | ||||||
| <html lang="en"> | <html lang="en"> | ||||||
|   <head> |   <head> | ||||||
|     <meta name="viewport" content="width=device-width, viewport-fit=cover"> |  | ||||||
|     <meta charset="UTF-8" /> |     <meta charset="UTF-8" /> | ||||||
|     <script> |     <script> | ||||||
|       var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || |       var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || | ||||||
| @ -12,7 +11,6 @@ | |||||||
|     </script> |     </script> | ||||||
|     <title></title> |     <title></title> | ||||||
|     <!--preload-links--> |     <!--preload-links--> | ||||||
|     <link rel="icon"  href="./static/log.png"/> |  | ||||||
|     <!--app-context--> |     <!--app-context--> | ||||||
|   </head> |   </head> | ||||||
|   <body> |   <body> | ||||||
|  | |||||||
| @ -1,23 +1,5 @@ | |||||||
| { | { | ||||||
|   "app.name": "fontree", |   "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", |  | ||||||
|   "series.play": "Play Collections Detail Video", |  | ||||||
|   "usa.cancel": "Cancel", |  | ||||||
|   "usa.confirm": "Confirm", |  | ||||||
|   "usa.Password": "Password", |  | ||||||
|   "tabbar.home": "Home", |   "tabbar.home": "Home", | ||||||
|   "tabbar.mine": "Mine", |   "tabbar.mine": "Mine", | ||||||
|   "index.title": "Home", |   "index.title": "Home", | ||||||
|  | |||||||
| @ -1,23 +1,5 @@ | |||||||
| { | { | ||||||
|   "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": "复制并返回", |  | ||||||
|   "series.play": "播放视频详情", |  | ||||||
|   "usa.cancel": "取消", |  | ||||||
|   "usa.confirm": "确认", |  | ||||||
|   "usa.Password": "密码", |  | ||||||
|   "tabbar.home": "首页", |   "tabbar.home": "首页", | ||||||
|   "tabbar.mine": "我的", |   "tabbar.mine": "我的", | ||||||
|   "index.title": "首页", |   "index.title": "首页", | ||||||
|  | |||||||
							
								
								
									
										6
									
								
								main.js
									
									
									
									
									
								
							
							
						
						| @ -10,12 +10,10 @@ const messages = { | |||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| let i18nConfig = { | let i18nConfig = { | ||||||
|   locale: |   locale: uni.getLocale(), // 获取已设置的语言
 | ||||||
|     navigator.language === "zh-CN" |  | ||||||
|       ? "zh-Hans" |  | ||||||
|       : "en", |  | ||||||
|   messages, |   messages, | ||||||
| }; | }; | ||||||
|  | 
 | ||||||
| //弹出框禁止滑动
 | //弹出框禁止滑动
 | ||||||
| Vue.prototype.stopScroll = function () { | Vue.prototype.stopScroll = function () { | ||||||
|   var mo = function (e) { |   var mo = function (e) { | ||||||
|  | |||||||
| @ -1,5 +1,5 @@ | |||||||
| { | { | ||||||
|     "name" : "助记词", |     "name" : "艺术商城", | ||||||
|     "appid" : "__UNI__7D47507", |     "appid" : "__UNI__7D47507", | ||||||
|     "description" : "", |     "description" : "", | ||||||
|     "versionName" : "1.0.0", |     "versionName" : "1.0.0", | ||||||
| @ -9,7 +9,7 @@ | |||||||
|     /* 5+App特有相关 */ |     /* 5+App特有相关 */ | ||||||
|     "app-plus" : { |     "app-plus" : { | ||||||
|         "safearea" : { |         "safearea" : { | ||||||
|             "bottom" : "auto" |             "bottom" : "none" | ||||||
|         }, |         }, | ||||||
|         "usingComponents" : true, |         "usingComponents" : true, | ||||||
|         "nvueStyleCompiler" : "uni-app", |         "nvueStyleCompiler" : "uni-app", | ||||||
| @ -117,7 +117,6 @@ | |||||||
|     }, |     }, | ||||||
|     "vueVersion" : "2", |     "vueVersion" : "2", | ||||||
|     "h5" : { |     "h5" : { | ||||||
|         "title" : "", |         "title" : "艺树商城" | ||||||
|         "template" : "" |  | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										506
									
								
								pages.json
									
									
									
									
									
								
							
							
						
						| @ -1,257 +1,253 @@ | |||||||
| { | { | ||||||
|   "easycom": { | 	"easycom": { | ||||||
|     "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" | 		"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" | ||||||
|   }, | 	}, | ||||||
|   "pages": [ | 	"pages": [ | ||||||
|     //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages | 		//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages | ||||||
|     { | 		{ | ||||||
|       "path": "pages/start/start", | 			"path": "pages/start/start", | ||||||
|       "style": { | 			"style": { | ||||||
|         "navigationBarTitleText": "", | 				"navigationBarTitleText": "", | ||||||
|         "enablePullDownRefresh": false, | 				"enablePullDownRefresh": false, | ||||||
|         "app-plus": { | 				"app-plus": { | ||||||
|           "titleNView": false // 禁用原生导航 | 					"titleNView": false // 禁用原生导航 | ||||||
|         } | 				} | ||||||
|       } | 			} | ||||||
|     }, | 		}, | ||||||
|     { | 		{ | ||||||
|       "path": "pages/mine/usamine/index", | 			"path": "pages/mine/changePhone/changePhone", | ||||||
|       "style": { | 			"style": { | ||||||
|         "navigationBarTitleText": "个人中心", | 				"navigationBarTitleText": "", | ||||||
|         "enablePullDownRefresh": false, | 				"enablePullDownRefresh": false, | ||||||
|         "app-plus": { | 				"app-plus": { | ||||||
|           "titleNView": false // 禁用原生导航 | 					"titleNView": false // 禁用原生导航 | ||||||
|         } | 				} | ||||||
|       } | 			} | ||||||
|     }, | 		}, | ||||||
|     { | 		{ | ||||||
|       "path": "pages/mine/changePhone/changePhone", | 			"path": "pages/mine/realName/realName", | ||||||
|       "style": { | 			"style": { | ||||||
|         "navigationBarTitleText": "loading", | 				"navigationBarTitleText": "", | ||||||
|         "enablePullDownRefresh": false, | 				"enablePullDownRefresh": false, | ||||||
|         "app-plus": { | 				"app-plus": { | ||||||
|           "titleNView": false // 禁用原生导航 | 					"titleNView": false // 禁用原生导航 | ||||||
|         } | 				} | ||||||
|       } | 			} | ||||||
|     }, | 		}, | ||||||
|     { | 		{ | ||||||
|       "path": "pages/mine/realName/realName", | 			"path": "pages/index/index", | ||||||
|       "style": { | 			"style": { | ||||||
|         "navigationBarTitleText": "", | 				"navigationBarTitleText": "", | ||||||
|         "enablePullDownRefresh": false, | 				"enablePullDownRefresh": false, | ||||||
|         "app-plus": { | 				"app-plus": { | ||||||
|           "titleNView": false // 禁用原生导航 | 					"titleNView": false // 禁用原生导航 | ||||||
|         } | 				} | ||||||
|       } | 			} | ||||||
|     }, | 		}, | ||||||
|     { | 		{ | ||||||
|       "path": "pages/index/index", | 			"path": "pages/mine/index", | ||||||
|       "style": { | 			"style": { | ||||||
|         "navigationBarTitleText": "礼包详情", | 				"navigationBarTitleText": "", | ||||||
|         "enablePullDownRefresh": false, | 				"enablePullDownRefresh": false, | ||||||
|         "app-plus": { | 				"app-plus": { | ||||||
|           "titleNView": false, // 禁用原生导航 | 					"titleNView": false // 禁用原生导航 | ||||||
|           "animationType": "fade-in", | 				} | ||||||
|           "animationDuration": 100 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/series/series", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/mine/index", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/activeSeries/activeSeries", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/index/series/series", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/detail/detail", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/index/activeSeries/activeSeries", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/login/login", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/index/detail/detail", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/mine/setting/setting", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/login/login", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/mine/notice/notice", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/mine/setting/setting", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/comfirm/comfirm", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/mine/notice/notice", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/payment/payment", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/index/comfirm/comfirm", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/mine/detail/detail", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/index/payment/payment", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/mine/cert/cert", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/mine/detail/detail", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/login/sendCode/sendCode", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/mine/cert/cert", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/login/welcome/welcome", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/login/sendCode/sendCode", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/detail/open3D/open3D", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/login/welcome/welcome", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/mine/confirmOrder/confirmOrder", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/index/detail/open3D/open3D", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/payment/reciveOK", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/mine/confirmOrder/confirmOrder", | 				"navigationBarTitleText": "", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/activity/index", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/index/payment/reciveOK", | 				"navigationBarTitleText": "系列活动详情页", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "pages/index/activity/detail", | ||||||
|     { | 			"style": { | ||||||
|       "path": "pages/index/activity/index", | 				"navigationBarTitleText": "藏品活动详情页", | ||||||
|       "style": { | 				"enablePullDownRefresh": false, | ||||||
|         "navigationBarTitleText": "系列活动详情页", | 				"app-plus": { | ||||||
|         "enablePullDownRefresh": false, | 					"titleNView": false // 禁用原生导航 | ||||||
|         "app-plus": { | 				} | ||||||
|           "titleNView": false // 禁用原生导航 | 			} | ||||||
|         } | 		}, | ||||||
|       } | 		{ | ||||||
|     }, | 			"path": "components/tabBar/tabBar", | ||||||
|     { | 			"style": {} | ||||||
|       "path": "pages/index/activity/detail", | 		} | ||||||
|       "style": { | 	], | ||||||
|         "navigationBarTitleText": "藏品活动详情页", | 	"globalStyle": { | ||||||
|         "enablePullDownRefresh": false, | 		"navigationBarTextStyle": "black", | ||||||
|         "app-plus": { | 		"navigationBarTitleText": "uni-app", | ||||||
|           "titleNView": false // 禁用原生导航 | 		"navigationBarBackgroundColor": "#F8F8F8", | ||||||
|         } | 		"backgroundColor": "#F8F8F8", | ||||||
|       } | 		"app-plus": { | ||||||
|     }, | 			"bounce": "none" | ||||||
|     { | 		} | ||||||
|       "path": "components/tabBar/tabBar", | 	}, | ||||||
|       "style": {} | 	"tabBar": { | ||||||
|     } | 		"list": [{ | ||||||
|   ], | 				"pagePath": "pages/index/index", | ||||||
|   "globalStyle": { | 				"text": "%tabbar.home%" | ||||||
|     "navigationBarTextStyle": "black", | 			}, | ||||||
|     "navigationBarTitleText": "uni-app", | 			{ | ||||||
|     "navigationBarBackgroundColor": "#F8F8F8", | 				"pagePath": "pages/mine/index", | ||||||
|     "backgroundColor": "#F8F8F8", | 				"text": "%tabbar.mine%" | ||||||
|     "app-plus": { | 			} | ||||||
|       "bounce": "none", | 		] | ||||||
|       "animationType": "fade-in", | 	}, | ||||||
|       "animationDuration": 100 | 	"uniIdRouter": {} | ||||||
|     } |  | ||||||
|   }, |  | ||||||
|   "tabBar": {}, |  | ||||||
|   "uniIdRouter": {} |  | ||||||
| } | } | ||||||
| @ -1,55 +1,76 @@ | |||||||
| <template> | <template> | ||||||
|   <view> |   <view> | ||||||
|     <navBar |     <navBar | ||||||
|       :navTitle="collectionsDetail.name" |       :navTitle="collectionsDetail.Name" | ||||||
|       :stickyShow="stickyShow" |       :stickyShow="stickyShow" | ||||||
|       :color="'#000000'" |       :color="'#000000'" | ||||||
|       :backBackGroundColor="'#699A70'" |       :backBackGroundColor="'#699A70'" | ||||||
|  |       v-if="!isActive" | ||||||
|       :sfBack="true" |       :sfBack="true" | ||||||
|       @triggerSfBack="back" |       @triggerSfBack="back" | ||||||
|     ></navBar> |     ></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> | ||||||
| 
 | 
 | ||||||
|     <view> |         <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 class="top-img"> |       <view class="top-img"> | ||||||
|         <u-album :urls="[carouselFigureImg]" :singleSize="358"></u-album> |         <!-- @click="open3D"--> | ||||||
|  |         <image | ||||||
|  |           :src="this.collectionsDetail.CollectionImg" | ||||||
|  |           mode="widthFix" | ||||||
|  |         ></image> | ||||||
|  |         <!-- <text class="price" v-if="this.collectionsDetail.Price != 0">¥{{ this.collectionsDetail.Price }}</text> --> | ||||||
|       </view> |       </view> | ||||||
|       <view v-show="videoPlay" style="text-align: center;"> |       <!-- <view class="title-t">{{ collectionsDetail.Price != 0 ? $t('letter.all') : $t('letter.you') }}</view> --> | ||||||
|         <video |       <!-- <view class="info-box" style="padding: 28rpx 32rpx"> | ||||||
| 		style="width: 92%;" | 			<image src="@/static/image/home/to1.png" class="title-img" v-if="collectionsDetail.Price != 0"></image> | ||||||
|           controls | 			<image src="@/static/image/home/to.png" class="title-img" v-else></image> | ||||||
|           id="myvideo" | 			<image src="@/static/image/home/333.png" class="content-img" mode="widthFix" | ||||||
|           :src="videoUrl" | 				v-if="collectionsDetail.Price != 0"></image> | ||||||
|           @fullscreenchange="screenChange" | 			<image src="@/static/image/home/222.png" class="content-img" mode="widthFix" v-else></image> | ||||||
|           x5-video-player-type="h5" | 			<view style="text-align: right;"> | ||||||
|           x5-video-player-fullscreen="true" | 				<image src="@/static/image/home/from.png" class="from-img"></image> | ||||||
|         ></video> | 			</view> | ||||||
|       </view> | 		</view> --> | ||||||
|       <u-button class="video-btn" @click="playVideo" type="primary" v-if="videoUrl.length>0">{{ |  | ||||||
|         $t("series.play") |  | ||||||
|       }}</u-button> |  | ||||||
|       <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="des">{{ collectionsDetail.hash }}</text> |  | ||||||
|         </view> |  | ||||||
|       </view> |  | ||||||
| 
 |  | ||||||
|       <view |       <view | ||||||
|         class="title-t" |         class="title-t" | ||||||
|         :style="{ fontSize: '36rpx', color: '#434343', fontWeight: 600 }" |         :style="{ fontSize: '36rpx', color: '#434343', fontWeight: 600 }" | ||||||
| @ -58,29 +79,29 @@ | |||||||
|       <view class="info-box" style="padding: 28rpx 32rpx; background: #ffffff"> |       <view class="info-box" style="padding: 28rpx 32rpx; background: #ffffff"> | ||||||
|         <view class="item"> |         <view class="item"> | ||||||
|           <text class="label">{{ $t("collection.name") }}</text> |           <text class="label">{{ $t("collection.name") }}</text> | ||||||
|           <text class="value">{{ this.collectionsDetail.name || "-" }}</text> |           <text class="value">{{ this.collectionsDetail.Name || "-" }}</text> | ||||||
|         </view> |         </view> | ||||||
|         <view class="item"> |         <view class="item"> | ||||||
|           <text class="label">{{ $t("collection.type") }}</text> |           <text class="label">{{ $t("collection.type") }}</text> | ||||||
|           <text class="value">{{ |           <text class="value">{{ | ||||||
|             this.collectionsDetail.collectionType || "-" |             this.collectionsDetail.CollectionType || "-" | ||||||
|           }}</text> |           }}</text> | ||||||
|         </view> |         </view> | ||||||
|         <view class="item"> |         <view class="item"> | ||||||
|           <text class="label">{{ $t("collection.size") }}</text> |           <text class="label">{{ $t("collection.size") }}</text> | ||||||
|           <text class="value">{{ this.collectionsDetail.size || "-" }}</text> |           <text class="value">{{ this.collectionsDetail.Size || "-" }}</text> | ||||||
|         </view> |         </view> | ||||||
|         <view class="item"> |         <view class="item"> | ||||||
|           <text class="label">{{ $t("collection.specs") }}</text> |           <text class="label">{{ $t("collection.specs") }}</text> | ||||||
|           <text class="value">{{ this.collectionsDetail.specs || "-" }}</text> |           <text class="value">{{ this.collectionsDetail.Specs || "-" }}</text> | ||||||
|         </view> |         </view> | ||||||
|         <view class="item"> |         <view class="item"> | ||||||
|           <text class="label">{{ $t("collection.address") }}</text> |           <text class="label">{{ $t("collection.address") }}</text> | ||||||
|           <text class="value">{{ this.collectionsDetail.address || "-" }}</text> |           <text class="value">{{ this.collectionsDetail.Address || "-" }}</text> | ||||||
|         </view> |         </view> | ||||||
|         <view class="item"> |         <view class="item"> | ||||||
|           <text class="label">{{ $t("collection.intro") }}</text> |           <text class="label">{{ $t("collection.intro") }}</text> | ||||||
|           <view class="des">{{ this.collectionsDetail.intro || "-" }}</view> |           <view class="des">{{ this.collectionsDetail.Intro || "-" }}</view> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
|       <view |       <view | ||||||
| @ -89,11 +110,76 @@ | |||||||
|         >{{ $t("collection.detail") }} |         >{{ $t("collection.detail") }} | ||||||
|       </view> |       </view> | ||||||
|       <view class="detail-info"> |       <view class="detail-info"> | ||||||
|         <view v-if="detailImgList.length > 0" class="box"> |         <!-- <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 |           <image | ||||||
|             v-for="(img, index) in detailImgList" |             v-for="item in collDetails" | ||||||
|             :src="img" |             :src="item" | ||||||
|             :key="index" |             :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" | ||||||
|             mode="widthFix" |             mode="widthFix" | ||||||
|             class="img" |             class="img" | ||||||
|           ></image> |           ></image> | ||||||
| @ -108,8 +194,88 @@ | |||||||
|         ></image> |         ></image> | ||||||
|       </view> |       </view> | ||||||
|     </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> |     <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> |   </view> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| @ -119,45 +285,55 @@ export default { | |||||||
|     return { |     return { | ||||||
|       stickyShow: false, |       stickyShow: false, | ||||||
|       showVerfy: false, |       showVerfy: false, | ||||||
|       collectionsUID: "", |       CollectionUID: "", | ||||||
|       collectionsDetail: {}, |       collectionsDetail: {}, | ||||||
|       carouselFigureImg: "", |       sellPoint: [], | ||||||
|       detailImgList: [], |       collDetails: [], | ||||||
|       containerWidth: 300, // 替换为你的图片容器宽度 |       companyInfo: [], | ||||||
|       videoPlay: false, |       copyright: [], | ||||||
|       videoUrl: "", |       Blockchain: [], | ||||||
|       videoContext: null, |       realName: "", | ||||||
|  |       idNum: "", | ||||||
|  |       err: false, | ||||||
|  |       succes: false, | ||||||
|  |       SeriesName: "", | ||||||
|  |       isHave: false, | ||||||
|  |       AirdorpUid: "", | ||||||
|  |       price: "", | ||||||
|  |       isActive: false, | ||||||
|  |       currencyType: "", | ||||||
|  |       pageParams: {}, | ||||||
|     }; |     }; | ||||||
|   }, |   }, | ||||||
|  |   onPageScroll(e) { | ||||||
|  |     this.stickyShow = e.scrollTop > 5 ? true : false; | ||||||
|  |   }, | ||||||
|   onLoad: function (option) { |   onLoad: function (option) { | ||||||
|     this.collectionsUID = option.collectionUID; |     this.pageParams = option; | ||||||
|  |     this.CollectionUID = option.CollectionUID; | ||||||
|  |     this.SeriesName = option.SeriesName; | ||||||
|  |     this.price = option.Price; | ||||||
|  |     this.isActive = !Object.keys(option).length; | ||||||
|  |   }, | ||||||
|  |   onShow() { | ||||||
|     this.getCollectionDetail(); |     this.getCollectionDetail(); | ||||||
|   }, |   }, | ||||||
|   onReady() { |  | ||||||
|     // 页面加载完毕后开始动画 |  | ||||||
|   }, |  | ||||||
|   methods: { |   methods: { | ||||||
|     //  |     calcRouteParams(obj) { | ||||||
|     screenChange(e) { |       if (obj && JSON.stringify(obj) !== "{}") { | ||||||
|       let fullScreen = e.detail.fullScreen; // 值true为进入全屏,false为退出全屏 |         let str = "?"; | ||||||
|       console.log(e, "全屏"); |         for (let key in obj) { | ||||||
|       if (!fullScreen) { |           str += key + "=" + obj[key] + "&"; | ||||||
|         //退出全屏 |         } | ||||||
|         this.videoPlay = false; // 隐藏播放盒子 |         return str.slice(0, -1); | ||||||
|       } |       } | ||||||
|  |       return ""; | ||||||
|     }, |     }, | ||||||
|     playVideo() { |     open3D() { | ||||||
|       this.videoContext = uni.createVideoContext("myvideo", this); // this这个是实例对象 必传 |       uni.navigateTo({ | ||||||
|       this.videoContext.play(); |         url: "/pages/index/detail/open3D/open3D", | ||||||
|       setTimeout(() => { |       }); | ||||||
|         this.videoContext.requestFullScreen(); |  | ||||||
|       }, 500); |  | ||||||
|       this.videoPlay = true; // 显示播放盒子 |  | ||||||
|     }, |     }, | ||||||
|     onPageScroll(e) { |  | ||||||
|       this.stickyShow = e.scrollTop > 5 ? true : false; |  | ||||||
|     }, |  | ||||||
| 
 |  | ||||||
|     back() { |     back() { | ||||||
|       let routesRecord = getCurrentPages(); |       let routesRecord = getCurrentPages(); | ||||||
|       if (routesRecord.length > 1) { |       if (routesRecord.length > 1) { | ||||||
| @ -169,33 +345,199 @@ export default { | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     async getCollectionDetail() { |     async getCollectionDetail() { | ||||||
|  |       if (this.isActive) return; | ||||||
|       let data = { |       let data = { | ||||||
|         collectionsUID: this.collectionsUID, |         CollectionsUID: this.CollectionUID, | ||||||
|       }; |       }; | ||||||
|       let res = await this.$api.usa.collectionsInfo(data); |       let res = await this.$api.series.collectionsInfo(data); | ||||||
|       if (res.status === 0) { |       if (res.status === 0) { | ||||||
|  |         // await this.getPick(res.data.CollectionUID); | ||||||
|         this.collectionsDetail = res.data; |         this.collectionsDetail = res.data; | ||||||
|         this.carouselFigureImg = this.collectionsDetail.carouselFigureList[0]; |         (this.AllImgList = res.data.CutImg ? JSON.parse(res.data.CutImg) : []), | ||||||
| 		this.videoUrl = this.collectionsDetail.carouselFigureList[1] || ''; |           this.cutImg(); | ||||||
|         this.detailImgList = this.collectionsDetail.detailImgList; |  | ||||||
|       } else { |       } else { | ||||||
|         uni.$u.toast(this.$t("load.failed")); |         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> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="scss"> | <style lang="scss"> | ||||||
| page { | page { | ||||||
|   background: url("../../../static/image/start/new_bg.png") no-repeat; |   background: url("@/static/image/home/new_bg.png?x-oss-process=image/resize,w_750,h_1580") | ||||||
|  |     no-repeat; | ||||||
|   background-size: 100% 100%; |   background-size: 100% 100%; | ||||||
|   background-attachment: fixed; |   background-attachment: fixed; | ||||||
|   height: 100vh; |   height: 100vh; | ||||||
| } | } | ||||||
| .video-btn { | 
 | ||||||
|   width: 92%; |  | ||||||
| } |  | ||||||
| .active { | .active { | ||||||
|   position: relative; |   position: relative; | ||||||
| 
 | 
 | ||||||
| @ -297,9 +639,17 @@ page { | |||||||
|   height: 660rpx; |   height: 660rpx; | ||||||
|   border-radius: 8rpx; |   border-radius: 8rpx; | ||||||
|   margin: 44rpx 44rpx 32rpx 46rpx; |   margin: 44rpx 44rpx 32rpx 46rpx; | ||||||
|   display: flex; |   position: relative; | ||||||
|   justify-content: center; | 
 | ||||||
|   align-items: center; |   .price { | ||||||
|  |     font-size: 48rpx; | ||||||
|  |     position: absolute; | ||||||
|  |     bottom: 10rpx; | ||||||
|  |     right: 30upx; | ||||||
|  |     // left: 50%; | ||||||
|  |     // transform: translateX(-50%); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|   image { |   image { | ||||||
|     width: 100%; |     width: 100%; | ||||||
|     height: 100%; |     height: 100%; | ||||||
| @ -388,11 +738,6 @@ page { | |||||||
| 
 | 
 | ||||||
|     .value { |     .value { | ||||||
|       color: #878787; |       color: #878787; | ||||||
|       // 超出部分显示省略号 |  | ||||||
|       overflow: hidden; |  | ||||||
|       text-overflow: ellipsis; |  | ||||||
|       white-space: nowrap; |  | ||||||
|       max-width: 400rpx; |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     .des { |     .des { | ||||||
|  | |||||||
| @ -1,79 +1,241 @@ | |||||||
| <template> | <template> | ||||||
|   <view class="main-box"> |   <view> | ||||||
|     <u-toast ref="uToast"></u-toast> |     <tabBar :currentPage="'pages/index/index'"></tabBar> | ||||||
|     <u-album :urls="[seriesData.coverImg]" :singleSize="368"></u-album> |     <view class="content"> | ||||||
|     <view class="title"> |       <image | ||||||
|       <image src="../../static/image/usa/left.png"></image> |         src="../../static/image/home/fontree.png" | ||||||
|       <text class="word">{{ $t("seriesData.detail") }}</text> |         mode="" | ||||||
|       <image src="../../static/image/usa/right.png"></image> |         class="logo" | ||||||
|  |       ></image> | ||||||
|     </view> |     </view> | ||||||
|     <view class="collectionList" v-if="collectionList"> |     <scroll-view | ||||||
|       <view |       scroll-y | ||||||
|         v-for="(item, index) in collectionList" |       @scrolltolower="onreachBottom" | ||||||
|         :key="index" |       :refresher-enabled="true" | ||||||
|         class="list-item" |       :refresher-triggered="isrefresh" | ||||||
|       > |       @refresherpulling="openLoading" | ||||||
|         <view class="listbox" @click="goDetail(item)"> |       @refresherrefresh="onRefresh" | ||||||
|           <image class="coverImg" :src="item.coverImg"></image> |       @refresherrestore="onRestore" | ||||||
|           <view class="info"> |       @scroll="onScroll" | ||||||
|             <view class="name">{{ item.name }}</view> |       :scroll-anchoring="true" | ||||||
|             <view class="intro">{{ item.intro }}</view> |       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> |           </view> | ||||||
|         </view> |         </view> | ||||||
|       </view> |       </view> | ||||||
|     </view> |     </scroll-view> | ||||||
|     <view class="bottom-btn"> |     <Dialog | ||||||
|       <u-button :loading="loading" class="btn" @click="receive">{{ |       :detail="detail" | ||||||
|         $t("seriesData.recive") |       :collectionsUID="collectionsUID" | ||||||
|       }}</u-button> |       :num="num" | ||||||
|     </view> |       :isShow="isShow" | ||||||
|  |     /> | ||||||
|   </view> |   </view> | ||||||
| </template> | </template> | ||||||
|  | haojia | ||||||
| <script> | <script> | ||||||
|  | import Dialog from "./dialog/dialog.vue"; | ||||||
| export default { | export default { | ||||||
|  |   components: { | ||||||
|  |     Dialog, | ||||||
|  |   }, | ||||||
|   data() { |   data() { | ||||||
|     return { |     return { | ||||||
|       seriesData: {}, |       title: "Hello", | ||||||
|       collectionList: [], |       fromLogin: true, | ||||||
|       loading: false, |       listData: [], | ||||||
|  |       page: 1, | ||||||
|  |       pageSize: 10, | ||||||
|  |       showPull: false, | ||||||
|  |       isrefresh: false, | ||||||
|  |       listHeight: uni.getSystemInfoSync().windowHeight - 88 - 61, | ||||||
|  |       isShow: false, | ||||||
|  |       collectionsUID: "", | ||||||
|  |       num: "", | ||||||
|  |       detail: {}, | ||||||
|     }; |     }; | ||||||
|   }, |   }, | ||||||
|   onShow() { |   onShow() { | ||||||
|     this.seriesData = uni.getStorageSync("seriesData"); |     let routes = getCurrentPages(); // 获取当前打开过的页面路由数组 | ||||||
|     this.collectionList = uni.getStorageSync("collectionList"); |     let curRoute = routes[routes.length - 2]; | ||||||
|     console.log(this.seriesData, 1111); |   }, | ||||||
|  |   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(); | ||||||
|  |     } | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
|     // 跳转详情 |     openLoading(e) { | ||||||
|     goDetail(item) { |       if (e.detail.deltaY < 0) return; | ||||||
|       uni.navigateTo({ |       this.showPull = true; | ||||||
|         url: `/pages/index/detail/detail?collectionUID=${item.collectionUID}`, |       this.isrefresh = true; | ||||||
|       }); |  | ||||||
|     }, |     }, | ||||||
|     async receive() { |     onRefresh(e) { | ||||||
|       this.loading = true; |       if (this._freshing) return; | ||||||
|       let data = { |       this._freshing = true; | ||||||
|         seriesUuid: this.seriesData.seriesUuid, |       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, | ||||||
|       }; |       }; | ||||||
|       let res = await this.$api.usa.receive(data); |       uni.$u.debounce(async () => { | ||||||
|       if (res.status === 0) { |         await this.$api.series | ||||||
|         this.loading = false; |           .list(params) | ||||||
| 
 |           .then((res) => { | ||||||
|         this.$refs.uToast.show({ |             if (res.status === 0) { | ||||||
|           type: "success", |               if (res.data.Data) { | ||||||
|           position: "top", |                 this.listData = [...this.listData, ...(res.data.Data || [])]; | ||||||
|           message: this.$t("seriesData.success"), |               } | ||||||
|           duration: 2000, |               this.page--; | ||||||
|           iconUrl: "https://cdn.uviewui.com/uview/demo/toast/success.png", |             } else { | ||||||
|           complete() { |               uni.showToast({ | ||||||
|             uni.redirectTo({ |                 title: this.$t("load.failed"), | ||||||
|           url: "/pages/mine/usamine/index", |                 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)), | ||||||
|         }); |         }); | ||||||
|       } else { |       } else { | ||||||
|         this.loading = false; |         uni.navigateTo({ | ||||||
|         uni.$u.toast(res.msg); |           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", | ||||||
|  |             }); | ||||||
|  |           }); | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|   }, |   }, | ||||||
| @ -82,113 +244,152 @@ export default { | |||||||
| 
 | 
 | ||||||
| <style lang="scss"> | <style lang="scss"> | ||||||
| page { | page { | ||||||
|   background: url("../../static/image/start/new_bg.png") no-repeat; |   background: url("@/static/image/home/new_bg.png") no-repeat; | ||||||
|   background-size: 100% 100%; |   background-size: 100% 100%; | ||||||
|   background-attachment: fixed; |   background-attachment: fixed; | ||||||
|   height: 100vh; |   height: 100vh; | ||||||
|   padding-bottom: constant(safe-area-inset-bottom); |  | ||||||
|   padding-bottom: env(safe-area-inset-bottom); |  | ||||||
| } | } | ||||||
| .main-box { | 
 | ||||||
|  | /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; | ||||||
|   position: absolute; |   position: absolute; | ||||||
|   left: 50%; |   left: 50%; | ||||||
|   transform: translate(-50%); |   top: 0; | ||||||
|   padding: 14px 5px 14px 5px; |   transform: translateX(-50%); | ||||||
| } | } | ||||||
| /deep/ .u-album__row__wrapper { |  | ||||||
|   image { |  | ||||||
| 
 | 
 | ||||||
|     border-radius: 4px; | .flower-static { | ||||||
|  |   width: 43rpx; | ||||||
|  |   height: 43rpx; | ||||||
|  |   position: absolute; | ||||||
|  |   left: 47%; | ||||||
|  |   top: 167rpx; | ||||||
|  |   animation: fadenum 1s infinite; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @keyframes fadenum { | ||||||
|  |   100% { | ||||||
|  |     transform: rotate(360deg); | ||||||
|   } |   } | ||||||
| } | } | ||||||
| .title { | 
 | ||||||
|   font-size: 17px; | .item { | ||||||
|   color: #3e6944; |   margin-bottom: 40rpx; | ||||||
|   text-align: center; |  | ||||||
|   margin-top: 24px; |  | ||||||
|   image { |  | ||||||
|     width: 32px; |  | ||||||
|     height: 13px; |  | ||||||
|   } |  | ||||||
|   .word { |  | ||||||
|     margin: 0 10px; |  | ||||||
|   } |  | ||||||
| } | } | ||||||
| .collectionList { | 
 | ||||||
|   margin-top: 15px; | .box { | ||||||
|   overflow-y: scroll; |   width: 656rpx; | ||||||
|   height: 130px; |   height: 814rpx; | ||||||
|  |   margin: 0 48rpx; | ||||||
|   display: flex; |   display: flex; | ||||||
|   flex-wrap: wrap; |   flex-direction: column; | ||||||
|   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; |  | ||||||
|           // 超出一行显示省略号 |  | ||||||
|           overflow: hidden; |  | ||||||
|           text-overflow: ellipsis; |  | ||||||
|           display: -webkit-box; |  | ||||||
|           -webkit-line-clamp: 1; |  | ||||||
|           -webkit-box-orient: vertical; |  | ||||||
| 
 | 
 | ||||||
|         } |   .img { | ||||||
|         .intro { |     width: 656rpx; | ||||||
|           font-size: 14px; |     height: 656rpx; | ||||||
|           color: #999999; |   } | ||||||
|           margin-top: 4px; | 
 | ||||||
|           // 超出两行显示省略号 |   // .bt-con { | ||||||
|           overflow: hidden; |   // 	position: absolute; | ||||||
|           text-overflow: ellipsis; |   // 	bottom: 0; | ||||||
|           display: -webkit-box; |   // 	width: 656rpx; | ||||||
|           -webkit-line-clamp: 2; |   // 	height: 158rpx; | ||||||
|           -webkit-box-orient: vertical; |   // 	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; | ||||||
|  |     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; | ||||||
|       } |       } | ||||||
|  | 
 | ||||||
|  |       .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; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     .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> | </style> | ||||||
|  | |||||||
| @ -559,12 +559,9 @@ page { | |||||||
| 			width: 75%; | 			width: 75%; | ||||||
| 			color: #000000; | 			color: #000000; | ||||||
| 			font-size: 34rpx; | 			font-size: 34rpx; | ||||||
| 			// 超出一行显示省略号 |  | ||||||
| 			overflow: hidden; | 			overflow: hidden; | ||||||
| 			text-overflow: ellipsis; | 			text-overflow: ellipsis; | ||||||
| 			display: -webkit-box; | 			white-space: nowrap; | ||||||
| 			-webkit-line-clamp: 1; |  | ||||||
| 			-webkit-box-orient: vertical; |  | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		.blockchain { | 		.blockchain { | ||||||
| @ -572,12 +569,9 @@ page { | |||||||
| 			font-size: 20rpx; | 			font-size: 20rpx; | ||||||
| 			margin-top: 10rpx; | 			margin-top: 10rpx; | ||||||
| 			width: 75%; | 			width: 75%; | ||||||
| 			// 超出一行显示省略号 |  | ||||||
| 			overflow: hidden; | 			overflow: hidden; | ||||||
| 			text-overflow: ellipsis; | 			text-overflow: ellipsis; | ||||||
| 			display: -webkit-box; | 			white-space: nowrap; | ||||||
| 			-webkit-line-clamp: 1; |  | ||||||
| 			-webkit-box-orient: vertical; |  | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,706 +0,0 @@ | |||||||
| <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") }}:<a>{{ seriesData.seriesAddress }}</a></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; |  | ||||||
|           // 超出一行显示省略号 |  | ||||||
|           overflow: hidden; |  | ||||||
|           text-overflow: ellipsis; |  | ||||||
|           display: -webkit-box; |  | ||||||
|           -webkit-line-clamp: 1; |  | ||||||
|           -webkit-box-orient: vertical; |  | ||||||
|         } |  | ||||||
|         .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; |  | ||||||
| 	  display: flex; |  | ||||||
|       a{ |  | ||||||
| 		  // 超出一行显示省略号 |  | ||||||
| 		  overflow: hidden; |  | ||||||
| 		  text-overflow: ellipsis; |  | ||||||
| width: 175px; |  | ||||||
| 		  -webkit-box-orient: vertical; |  | ||||||
| 	  } |  | ||||||
|     } |  | ||||||
|     .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,131 +1,46 @@ | |||||||
| <template> | <template> | ||||||
|   <view class="main-box"> | 	<view> | ||||||
|     <view class="loading-box"> | 		<!-- <image src="../../static/image/start/logo.png" mode="" class="logo"></image> --> | ||||||
|       <view class="loader"></view> | 		<!-- <image src="../../static/image/start/welcome.png" mode="" class="welcome"></image> --> | ||||||
|       <view class="word">{{ $t("start.title") }}</view> | 		<!-- <image src="../../static/image/start/bt-bg.png" mode="" class="btBg"></image> --> | ||||||
|     </view> | 		<!-- <view class="btn" @click="goHome"> | ||||||
|   </view> | 			点击进入 | ||||||
|  | 		</view> --> | ||||||
|  | 	 | ||||||
|  | 	</view> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
| <script> | <script> | ||||||
| export default { | 	export default { | ||||||
|   data() { | 		data() { | ||||||
|     return { | 			return { | ||||||
|       seriesUuid: "", | 				 | ||||||
|     }; | 			}; | ||||||
|   }, | 		}, | ||||||
|   methods: { | 		methods: { | ||||||
|     // 获取礼包详情 | 			/* goHome() { | ||||||
|     async getGiftDetail() { | 				console.log(1111); | ||||||
|       let data = { | 				uni.switchTab({ | ||||||
|         seriesUuid: this.seriesUuid, | 					url: '/pages/index/index' | ||||||
|       }; | 				}) | ||||||
|       let res = await this.$api.usa.getList(data); | 			} */ | ||||||
|       if (res.status === 0) { | 		}, | ||||||
|         let seriesData = res.data; | 		onShow() { | ||||||
|         uni.setStorageSync("seriesData", seriesData); | 			setTimeout(() => { | ||||||
|         this.getCollectionList(); | 				uni.switchTab({ | ||||||
|       } else { | 					url: '/pages/index/index' | ||||||
|         uni.removeStorageSync("seriesData"); | 				}) | ||||||
|         uni.$u.toast(res.msg); | 			},1000) | ||||||
|       } | 		} | ||||||
|     }, | 	} | ||||||
|     // 获取藏品列表 |  | ||||||
|     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> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="scss"> | <style lang="scss"> | ||||||
| page { | page{ | ||||||
|   height: 100vh; | 	height: 100vh; | ||||||
|   background: url("../../static/image/start/new_bg.png") no-repeat center center | 	background:url('../../static/image/start/new_bg.png')  no-repeat center center fixed; | ||||||
|     fixed; | 	background-size: cover; | ||||||
|   background-size: cover; | 	box-sizing: border-box; | ||||||
|   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> | </style> | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								static/3.jpg
									
									
									
									
									
								
							
							
						
						| Before Width: | Height: | Size: 166 KiB | 
| Before Width: | Height: | Size: 7.0 KiB | 
| Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 63 KiB | 
| Before Width: | Height: | Size: 2.3 KiB | 
| Before Width: | Height: | Size: 2.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								static/log.png
									
									
									
									
									
								
							
							
						
						| Before Width: | Height: | Size: 2.8 KiB |