Candice 1 day ago
parent e8c39446f6
commit 474169c3bb

@ -22,6 +22,9 @@ if (process.env.NODE_ENV === 'development') {
var config = {
imgDomain: '',
imgUrl: 'http://file.v3.admin.act315.com/wxapp/',
baseUrl: baseUrl + '/',
// 经销商请求地址
baseDealerUrl: baseUrl + '/dealer/',

@ -85,6 +85,25 @@
}
}
]
},
{
"root": "trace",
"pages": [{
"path" : "pages/fake/mould1/index",
"style" :
{
"navigationBarTitleText" : "防伪码查询"
}
},
{
"path" : "pages/fake/mould1/success",
"style" :
{
"navigationBarTitleText" : "防伪码查询"
}
}
]
}
],

@ -0,0 +1,92 @@
<template>
<uni-popup ref="verifyPopup" :isMaskClick="false">
<view class="custom-modal">
<view class="modal-title">温馨提示</view>
<view class="modal-content">
<image src="@/trace/static/warning.png" mode="aspectFill" class="modal-img"></image>
<text class="modal-text">{{msg}}</text>
</view>
<button class="modal-btn" @click="close"></button>
</view>
</uni-popup>
</template>
<script>
export default {
data() {
return {
}
},
props:{
msg:{
type: String,
default:'防伪码验证失败,谨防假冒!'
}
},
methods: {
open(){
this.$refs.verifyPopup.open()
},
close() {
this.$refs.verifyPopup.close()
}
}
}
</script>
<style lang="scss" scoped>
.custom-modal {
width: 500rpx;
/* 弹窗宽度 */
background: #fff;
border-radius: 28rpx;
padding: 40rpx 0 0;
text-align: center;
}
.modal-title {
font-size: 34rpx;
font-weight: bold;
color: #333;
margin-bottom: 60rpx;
}
.modal-content {
width: 100%;
margin-bottom: 60rpx;
@include flexBox(center,center);
box-sizing: border-box;
padding: 0 46rpx;
}
.modal-img {
width: 36rpx;
height: 36rpx;
margin-right: 10rpx;
}
.modal-text {
flex: 1;
font-size: 28rpx;
color: #666;
word-break: break-all;
line-height: 40rpx;
text-align: left;
}
.modal-btn {
width: 100%;
height: 100rpx;
color: #007aff;
font-size: 34rpx;
box-shadow: none;
background-color: #fff;
@include flexBox();
border-radius: 0 0 28rpx 28rpx;
}
</style>

@ -0,0 +1,153 @@
<template>
<view class="indexPage">
<image class="indexBG" :src="Config.imgUrl + 'trace/fake/mould1/indexBG.png'" mode="aspectFill"></image>
<view class="main">
<view class="brand">
<image class="brandImg" src="@/trace/static/fake/mould1/brandImg.png" mode="widthFix"></image>
</view>
<view class="card">
<view class="cardTitle">
<text>防伪查询验证</text>
</view>
<view class="cardBody">
<text>请输入防伪码或扫码识别验证</text>
<view class="inputBox">
<input type="text" v-model="code" placeholder="请输入防伪码"/>
<view class="scanBox">
<image class="scanIcon" src="@/trace/static/scanIcon.png" mode="aspectFill"></image>
<!-- <uni-icons type="scan" color="#FFFFFF" size="34" style="margin: 0;"></uni-icons> -->
</view>
</view>
<button class="checkBtn" @click="verifyCode"></button>
<view class="tips">
<text>1. 名创优品防伪验证扫描包装盒的防伪码即可打开验证页面刮开涂层输入验证码进行验证</text>
<text>2. 名创优品用正版授权+亲民价格的战略打法颠覆了动漫IP周边产品开发的传统模式和价格生态不断创新门店消费场景以IP场景带动产品销售释放IP潮流消费活力打造独特的IP乐园 </text>
<text>品牌也借助这些全球顶级IP的影响力进一步扩大了自身在全世界范围内的知名度和美誉度</text>
</view>
</view>
</view>
</view>
<verifyPopup ref="verifyPopup"></verifyPopup>
</view>
</template>
<script>
import verifyPopup from './components/verifyPopup.vue';
import Config from '@/common/js/config.js';
export default {
data() {
return {
Config,
code:'',
}
},
components:{
verifyPopup
},
methods: {
verifyCode(){
// this.$util.redirectTo('./success')
this.$refs.verifyPopup.open()
// uni.showModal({
// title: '',
// content: '',
// showCancel: false,
// })
}
}
}
</script>
<style lang="scss" scoped>
.indexPage{
width: 100%;
height: 100vh;
position: relative;
.indexBG{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100vh;
display: block;
}
}
.main{
position: relative;
z-index: 10;
width: 100%;
padding-top: 100rpx;
.brand{
width: 100%;
text-align: center;
.brandImg{
width: 154rpx;
height: auto;
}
}
.card{
margin: 66rpx 26rpx;
background: rgba(255,255,255,0.8);
border-radius: 28rpx;
border: 2rpx solid #FFFFFF;
box-sizing: border-box;
padding: 26rpx;
.cardTitle{
padding-bottom: 26rpx;
@include fontStyle(34rpx,#000000,center,bold,48rpx);
}
.cardBody{
@include fontStyle(28rpx,#000000,left,400,48rpx);
.inputBox{
margin: 16rpx 0;
width: 100%;
height: 96rpx;
background: #FFFFFF;
border-radius: 18rpx 18rpx 18rpx 18rpx;
border: 2rpx solid #D6000F;
@include flexBox(between,center);
box-sizing: border-box;
padding-left: 16rpx;
input{
flex: 1;
height: 100%;
@include fontStyle(28rpx,#000000,left,400,38rpx);
}
.scanBox{
width: 92rpx;
height: 92rpx;
background: #D6000F;
border-radius: 0rpx 18rpx 18rpx 0rpx;
@include flexBox();
.scanIcon{
width: 56rpx;
height: 56rpx;
}
}
}
.checkBtn{
width: 626rpx;
height: 92rpx;
background: #D6000F;
border-radius: 18rpx 18rpx 18rpx 18rpx;
font-weight: 500;
font-size: 33rpx;
color: #FFFFFF;
@include flexBox();
margin: 26rpx 0;
}
.tips{
@include fontStyle(24rpx,#666666,left,400,40rpx);
text{
display: block;
}
}
}
}
}
</style>

@ -0,0 +1,105 @@
<template>
<view class="successPage">
<image class="indexBG" :src="Config.imgUrl + 'trace/fake/mould1/indexBG.png'" mode="aspectFill"></image>
<view class="main">
<view class="brand">
<image class="brandImg" src="@/trace/static/fake/mould1/brandImg.png" mode="widthFix"></image>
</view>
<view class="card">
<view class="cardTitle">
<text>防伪查询验证</text>
</view>
<view class="cardBody">
<view class="successBox">
<image class="zheng" src="@/trace/static/fake/mould1/safe.png" mode="aspectFill"></image>
<text>您所查询的产品为正品</text>
</view>
<view class="textBox">
<text class="pt-36">防伪码4635994051440753</text>
<text>首次查询时间<text class="redText">2025-08-15 12:05:18</text></text>
<text class="pt-36">恭喜您您所查询的防伪码是第 <text class="redText">5</text> 次查询 感谢您购买名创优品的产品</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import Config from '@/common/js/config.js';
export default {
data() {
return {
Config,
code:'',
}
},
methods: {
}
}
</script>
<style lang="scss" scoped>
.successPage{
width: 100%;
height: 100vh;
position: relative;
.indexBG{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100vh;
display: block;
}
}
.main{
position: relative;
z-index: 10;
width: 100%;
padding-top: 100rpx;
.brand{
width: 100%;
text-align: center;
.brandImg{
width: 154rpx;
height: auto;
}
}
.card{
margin: 66rpx 26rpx;
background: rgba(255,255,255,0.8);
border-radius: 28rpx;
border: 2rpx solid #FFFFFF;
box-sizing: border-box;
padding: 26rpx;
.cardTitle{
padding-bottom: 26rpx;
@include fontStyle(34rpx,#000000,center,bold,48rpx);
}
.cardBody{
@include fontStyle(28rpx,#000000,left,400,48rpx);
.successBox{
@include fontStyle(34rpx,#12CC6F,center,bold,58rpx);
@include flexBox(start,center,column);
.zheng{
width: 182rpx;
height: 182rpx;
margin-bottom: 16rpx;
}
}
.textBox{
margin: 26rpx;
@include flexBox(start,center,column);
@include fontStyle(28rpx,#000000,center,400,38rpx);
.pt-36{
padding-top: 36rpx;
}
}
}
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Loading…
Cancel
Save