Commit 1be55f76 by 肖康

user

parent a4c92606
Showing with 4680 additions and 137 deletions
<script>
export default {
onLaunch: function() {
console.log('App Launch')
this.loginCheck()
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
},
methods: {
loginCheck(){
try {
uni.onAppRoute((res) => {
const token = uni.getStorageSync("token");
const url ="/"+res.path
if ((url.indexOf("/user/") != -1 || url.indexOf("/car/confirm") != -1) && !token) {
uni.reLaunch({
url: `/pages/auth/login?referer=${encodeURIComponent(url)}`
});
return false;
}
})
} catch (e) {
const interceptors = ["navigateTo", "redirectTo", "reLaunch", "switchTab"];
interceptors.forEach((method) => {
uni.addInterceptor(method, {
invoke(e) {
const token = uni.getStorageSync("token");
const url = e.url.split("?")[0]; // 获取路径部分
console.log(url.indexOf("/user/") != -1 || url.indexOf("/car/confirm") != -1)
if ((url.indexOf("/user/") != -1 || url.indexOf("/car/confirm") != -1) && !token) {
uni.reLaunch({
url: `/pages/auth/login?referer=${encodeURIComponent(e.url)}`
});
return false; // 阻止原生跳转
}
}
});
});
}
}
}
}
</script>
......@@ -17,12 +51,15 @@
<style>
/*每个页面公共css */
@import './assets/css/font/iconfont.css';
page{
padding-top:175rpx;
page {
padding-top: 175rpx;
}
/* #ifdef H5 */
page{
padding-top:90rpx;
page {
padding-top: 90rpx;
}
/* #endif */
</style>
\ No newline at end of file
.forgetPage{
.close-box{
padding-top: 45rpx;
padding-left:37rpx;
.icon{
font-size: 35rpx;
color:#898989;
}
}
.title{
padding-top:52rpx;
padding-left:60rpx;
font-weight: 600;
font-size: 38rpx;
color: #000000;
}
.cons{
padding-top:56rpx;
}
.input-box{
height:70rpx;
border-bottom:1px solid #D1D1D1;
width:630rpx;
margin:0 auto;
margin-top:40rpx;
position: relative;
input{
width:440rpx;
height:42rpx;
line-height: 42rpx;
font-size: 30rpx;
color: #000000;
}
.icon-see1{
font-size: 28rpx;
color: #898989;
}
.icon-see2{
font-size: 28rpx;
color: #898989;
}
.placeholder-class{
color: #808080;
font-size: 26rpx;
}
.areabox-but{
padding-right: 14rpx;
margin-right:20rpx;
height:42rpx;
line-height: 42rpx;
font-size: 30rpx;
color:#000;
position: relative;
&::after{
position: absolute;
content:"";
height:24rpx;
width:1rpx;
background:#000;
right:0rpx;
top:8rpx;
}
}
.icon-searchclose {
font-size: 28rpx;
color: #898989;
cursor: pointer;
position: absolute;
right:0rpx;
}
.code-btn{
font-size: 26rpx;
color: #D0121B;
&.dis{
color: #808080;
}
}
.img-code{
height:60rpx;
width:250rpx;
image{
width:100%;
height:100%;
}
}
&:hover{
border-bottom:1px solid #000;
}
}
.btn-go{
width: 630rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
margin-top:94rpx;
&.onego{
margin-top:222rpx;
}
}
}
.loginPage{
.close-box{
padding-top: 45rpx;
padding-left:37rpx;
.icon{
font-size: 35rpx;
color:#898989;
}
}
.title{
padding-top:52rpx;
padding-left:60rpx;
view{
font-weight: 600;
font-size: 38rpx;
color: #000000;
margin-bottom: 15rpx;
}
text{
font-size: 19rpx;
color: #808080;
}
}
.input-box{
height:70rpx;
border-bottom:1px solid #D1D1D1;
width:630rpx;
margin:0 auto;
margin-top:54rpx;
position: relative;
input{
width:440rpx;
height:42rpx;
line-height: 42rpx;
font-size: 30rpx;
color: #000000;
}
.link-forget{
height:38rpx;
font-size: 26rpx;
color: #808080;
border-left:1rpx solid #D1D1D1;
padding-left:20rpx;
margin-left:20rpx;
}
.icon-see1{
font-size: 28rpx;
color: #898989;
}
.icon-see2{
font-size: 28rpx;
color: #898989;
}
.placeholder-class{
color: #808080;
font-size: 26rpx;
}
.areabox-but{
padding-right: 14rpx;
margin-right:20rpx;
height:42rpx;
line-height: 42rpx;
font-size: 30rpx;
color:#000;
position: relative;
&::after{
position: absolute;
content:"";
height:24rpx;
width:1rpx;
background:#000;
right:0rpx;
top:6rpx;
}
}
.icon-searchclose {
font-size: 28rpx;
color: #898989;
cursor: pointer;
position: absolute;
right:0rpx;
}
.code-btn{
font-size: 26rpx;
color: #D0121B;
&.dis{
color: #808080;
}
}
.img-code{
height:60rpx;
width:250rpx;
image{
width:100%;
height:100%;
}
}
&:hover{
border-bottom:1px solid #000;
}
}
.rule{
width:630rpx;
margin:0 auto;
margin-top:64rpx;
.icon{
font-size: 30rpx;
color:#e5e5e5;
margin-right:20rpx;
}
.icon-checked{
color:#D0121B;
}
.link{
color:#523F3F;
font-size: 18rpx;
}
text{
font-size: 18rpx;
color: #808080;
}
}
.login-btn{
width: 630rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
margin-top:94rpx;
}
.self{
width: 630rpx;
margin:0 auto;
font-size: 18rpx;
color: #808080;
margin-top:16rpx;
}
.link-box{
margin-top:60rpx;
text-align: center;
font-size: 26rpx;
color: #D0121B;
text{
border-right: 1px solid #D1D1D1;
padding-right:48rpx;
text-align: right;
width:50%;
}
.link{
text-align: left;
padding-left:48rpx;
width:50%;
}
}
.other-login{
margin-top:150rpx;
text-align: center;
text{
font-size: 18rpx;
color: #808080;
}
image{
width:55rpx;
height:55rpx;
display: block;
margin:0 auto;
margin-top:25rpx;
}
}
}
.regPage{
background: linear-gradient( 180deg, #FFF2F2 0%, rgba(218,210,210,0) 100%);;
height:calc(100vh - 175rpx);
.close-box{
padding-top: 45rpx;
padding-left:37rpx;
.icon{
font-size: 35rpx;
color:#898989;
}
}
.logos{
width:270rpx;
height:83rpx;
display: block;
margin:0 auto;
margin-top:23rpx;
margin-bottom:80rpx;
}
.input-box{
height:80rpx;
background: #F0EAEB;
width:630rpx;
margin:0 auto;
margin-bottom:42rpx;
position: relative;
border-radius: 5rpx;
border:1px solid #F0EAEB;
padding-left:22rpx;
padding-right:25rpx;
.ics{
font-size: 35rpx;
color:#7b7072;
margin-right:15rpx;
position: relative;
top:-2rpx;
}
input{
width:370rpx;
font-size: 30rpx;
color: #000000;
}
.icon-see1{
font-size: 28rpx;
color: #898989;
}
.icon-see2{
font-size: 28rpx;
color: #898989;
}
.placeholder-class{
color: #444;
font-size: 26rpx;
}
.areabox-but{
padding-right: 14rpx;
margin-right:20rpx;
font-size: 30rpx;
color:#000;
position: relative;
&::after{
position: absolute;
content:"";
height:24rpx;
width:1rpx;
background:#000;
right:0rpx;
top:5rpx;
}
}
.icon-searchclose {
font-size: 28rpx;
color: #898989;
cursor: pointer;
position: absolute;
right:25rpx;
}
.code-btn{
font-size: 26rpx;
color: #D0121B;
&.dis{
color: #808080;
}
}
.img-code{
height:60rpx;
width:250rpx;
image{
width:100%;
height:100%;
}
}
&:hover{
border:1px solid #D0121B;
}
}
.rule{
width:630rpx;
margin:0 auto;
margin-top:50rpx;
.icon{
font-size: 30rpx;
color:#e5e5e5;
margin-right:20rpx;
}
.icon-checked{
color:#D0121B;
}
.link{
color:#523F3F;
font-size: 18rpx;
}
text{
font-size: 18rpx;
color: #808080;
}
}
.reg-btn{
width: 630rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
margin-top:74rpx;
}
.self{
width: 630rpx;
margin:0 auto;
font-size: 18rpx;
color: #808080;
margin-top:16rpx;
}
.go-login{
font-size: 26rpx;
color: #D0121B;
text-align: right;
width:630rpx;
margin:0 auto;
margin-top:70rpx;
.icon{
font-size: 20rpx;
color: #D0121B;
margin-left: 10rpx;
}
}
}
/* #ifdef H5 */
.regPage{
height:calc(100vh - 90rpx);
}
/* #endif */
\ No newline at end of file
.confirmQuotePage{
background: #f8f8f8;
padding-top:75rpx;
padding-bottom: 175rpx;
.cons{
width:700rpx;
margin:0 auto;
.top-box{
background: #fff;
padding:30rpx 22rpx;
.tit{
font-size: 24rpx;
color: #000000;
height:40rpx;
line-height: 40rpx;
margin-bottom:38rpx;
}
.address-box{
display: block;
.addbx{
.iconfont{
font-size: 16rpx;
color:#898989;
}
.ad{height:62rpx;}
.csq{
font-size: 24rpx;
color: #000000;
}
.ad1{
font-size: 28rpx;
color: #000000;
height:35rpx;
line-height: 35rpx;
font-weight: bold;
margin-top:4rpx;
}
.cnnk{
font-size: 22rpx;
color: #666666;
line-height: 40rpx;
height:40rpx;
margin-top:8rpx;
text{margin-right:20rpx;}
}
.mr{
width: 70rpx;
height: 35rpx;
background: #FFF5F5;
border-radius: 5rpx;
border: 1rpx solid #D0121B;
text-align: center;
line-height: 35rpx;
font-size: 22rpx;
color: #D0121B;
margin-left:20rpx;
}
}
}
}
.goods-box{
margin-top:25rpx;
background: #fff;
padding:30rpx 23rpx;
padding-top:0rpx;
image{width:190rpx;height:190rpx;margin-right: 29rpx;}
.group{
padding-bottom: 38rpx;
padding-top:30rpx;
border-bottom: 1rpx solid #E7E7E7;
.ganme{
font-size: 24rpx;
color: #000000;
line-height: 40rpx;
height:80rpx;
width:440rpx;
}
.hqs{
font-size: 24rpx;
color: #666666;
height:40rpx;
line-height: 40rpx;
margin-top:25rpx;
}
.price{
font-size: 28rpx;
color: #000000;
line-height: 40rpx;
height:40rpx;
line-height: 40rpx;
margin-top:10rpx;
}
}
}
.coupo-box{
margin-top:23rpx;
height:62rpx;
font-size: 24rpx;
color: #000000;
line-height: 62rpx;
.r{
font-size: 24rpx;
color: #D0121B;
height:62rpx;
.icon{
font-size: 16rpx;
color:#D0121B;
margin-left:25rpx;
}
}
}
.pur-sn-box{
background: #fff;
margin-top:25rpx;
padding:20rpx;
padding-bottom:32rpx;
.tit{
font-size: 24rpx;
color: #000000;
line-height: 62rpx;
height:62rpx;
}
.pur-sn-val{
height: 80rpx;
background: #F8F8F8;
line-height: 80rpx;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 24rpx;
color: #000000;
padding:0 20rpx;
&:hover{
border: 1rpx solid #D0121B;
}
&.placeholder-class{
color: #808080;
font-size: 24rpx;
}
}
}
.price-infos{
padding:30rpx 20rpx;
background: #fff;
margin-top:25rpx;
.item{
font-size: 24rpx;
color: #000000;
line-height: 62rpx;
height:62rpx;
}
.top{border-bottom:1rpx solid #E7E7E7;padding-bottom:20rpx;}
.bottom{
padding-top:25rpx;
.price-pay{
color:#D0121B;
}
}
}
.rules{
height:86rpx;
.icon{
font-size: 30rpx;
color:#e5e5e5;
}
.icon-checked{
color:#D0121B;
}
.tklink{
font-size: 22rpx;
color: #000000;
margin-left: 16rpx;
}
}
}
.foot{
height:175rpx;
width:100%;
position: fixed;
left:0rpx;
right:0rpx;
bottom:0rpx;
z-index: 2;
background: #fff;
padding-left:40rpx;
padding-right:25rpx;
border-top:1rpx solid #E7E7E7;
.l{
font-size: 22rpx;
color: #000000;
text{
font-size: 32rpx;
color: #D91800;
}
}
.submit-btn{
width: 288rpx;
height: 70rpx;
background: linear-gradient( 90deg, #F66F15 0%, #FE3014 100%);
border-radius: 100rpx;
font-size: 26rpx;
color: #FFFFFF;
text-align: center;
line-height: 70rpx;
}
}
}
\ No newline at end of file
.carListPage{
background: #F6F6F6;
.car-head{
background: #F6F6F6;
height:75rpx;
position: fixed;
top:175rpx;
left:0rpx;
width:100%;
right:0rpx;
z-index: 3;
.l{
height:75rpx;
width:550rpx;
padding-left:35rpx;
font-size: 28rpx;
color: #000000;
.icon{
font-size: 35rpx;
color: #898989;
margin-right:225rpx;
}
}
.r{
height:75rpx;
font-size: 24rpx;
color: #666666;
padding-right:25rpx;
.it{
margin-left: 50rpx;
}
}
}
.cons{
background: #fff;
width:700rpx;
margin:0 auto;
padding-top:80rpx;
padding-bottom:278rpx;
.list-box{
background: #fff;
padding-top:40rpx;
padding-bottom:40rpx;
.item-group{
height:190rpx;
padding:0 20rpx;
margin-bottom:63rpx;
&:last-child{
margin-bottom:0rpx;
}
.l{
height:190rpx;
.icon{
font-size: 30rpx;
color:#e5e5e5;
}
.icon-checked{
color:#D0121B;
}
image{
width:190rpx;
height:190rpx;
margin-left:20rpx;
}
}
.r{
margin-left:20rpx;
.skun{
font-weight: 400;
font-size: 24rpx;
color: #000000;
line-height: 40rpx;
height:40rpx;
width:406rpx;
}
.txt{
font-size: 20rpx;
color: #666666;
line-height: 32rpx;
margin-bottom:5rpx;
}
.price{
font-size: 30rpx;
color: #D91800;
height: 40rpx;
line-height: 40rpx;
}
.hbha{
width: 156rpx;
height: 40rpx;
border-radius: 5rpx;
.icon{
color:#666;
font-size: 22rpx;
}
input{
height: 40rpx;
width:66rpx;
margin:0 10rpx;
font-size: 24rpx;
color: #000000;
text-align: center;
}
}
}
}
}
.no-data{
padding-top:90rpx;
text-align: center;
font-size: 22rpx;
color: #000000;
image{
display: block;
margin: 0 auto;
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
}
.login-btn{
display: block;
margin:0 auto;
margin-top: 133rpx;
width: 630rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
color:#fff;
line-height: 90rpx;
font-size: 30rpx;
text-align: center;
}
}
.car-foot{
height:180rpx;
width:100%;
position: fixed;
left:0rpx;
right:0rpx;
bottom:98rpx;
z-index: 2;
background: #fff;
padding-left:44rpx;
padding-right:25rpx;
.checked-box{
font-size: 22rpx;
color: #666666;
.icon{
font-size: 30rpx;
color:#e5e5e5;
margin-right:12rpx;
}
.icon-checked{
color:#D0121B;
}
}
.del-btn{
width: 200rpx;
height: 70rpx;
background: #D0121B;
border-radius: 100rpx;
font-size: 26rpx;
color: #FFFFFF;
text-align: center;
line-height: 70rpx;
}
&.car-foot1{
padding-top:20rpx;
.t{margin-bottom:26rpx;}
.pbx{
font-size: 22rpx;
color: #000000;
.price{
font-size: 32rpx;
color: #D91800;
}
}
.bj-btn{
width: 200rpx;
height: 70rpx;
background: #FFFFFF;
border-radius: 100rpx;
border: 1rpx solid #D0121B;
line-height: 70rpx;
text-align: center;
font-size: 26rpx;
color: #D0121B;
}
.add-car{
width: 175rpx;
height: 70rpx;
background: linear-gradient( 90deg, #FDC860 0%, #FCAE3A 100%);
border-radius: 35rpx 0rpx 0rpx 35rpx;
font-size: 26rpx;
color: #FFFFFF;
line-height: 70rpx;
text-align: center;
}
.add-confirm{
width: 175rpx;
height: 70rpx;
background: linear-gradient( 90deg, #F66F15 0%, #FE3014 100%);
border-radius: 0rpx 35rpx 35rpx 0rpx;
font-size: 26rpx;
color: #FFFFFF;
line-height: 70rpx;
text-align: center;
}
}
}
}
/* #ifdef H5 */
.carListPage{
.car-head{
top:90rpx;
}
}
/* #endif */
\ No newline at end of file
.classNavPage{
.bugc-ceng{
position: relative;
z-index: 1;
background: #fff;
}
.cons{
padding-top:23rpx;
.one-c-box{
padding-left:18rpx;
position: relative;
padding-right:90rpx;
height:63rpx;
.lb{
height:100%;
width:100%;
overflow-x: auto;
.itemo{
height: 45rpx;
line-height: 45rpx;
padding:0 17rpx;
border-radius: 5rpx;
border: 1rpx solid #fff;
margin-right:25rpx;
font-size: 22rpx;
color: #000000;
flex-shrink: 0;
&.act{
border: 1rpx solid #D0121B;
color: #D0121B;
}
}
}
.rb{
width:90rpx;
height:45rpx;
position: absolute;
top:0rpx;
right:0rpx;
text-align: center;
.icon{
font-size: 16rpx;
color:#000;
}
}
.one-c-hide-cons{
position: absolute;
z-index: 1;
width: 100%;
background: #FFFFFF;
border-radius: 0rpx 0rpx 20rpx 20rpx;
top:-24rpx;
left:0rpx;
transition: max-height 0.5s;
max-height: 0;
overflow: hidden;
.tit{
padding: 11rpx 30rpx;
font-size: 22rpx;
color: #000000;
margin-bottom: 35rpx;
}
.hide-sec{
flex-wrap: wrap;
padding-left:60rpx;
padding-bottom:40rpx;
.itemh{
margin-bottom: 40rpx;
margin-right: 33rpx;
&:nth-child(4n){
margin-right: 0rpx;
}
image{
display: block;
width:106rpx;
height:106rpx;
margin:0 auto;
}
text{
margin-top:8rpx;
display: block;
width:135rpx;
text-align: center;
font-size: 22rpx;
color: #666666;
height:30rpx;
line-height: 30rpx;
}
&.act{
text{color:#D0121B;}
}
}
}
.foot{
height:87rpx;
font-size: 22rpx;
color: #000000;
border-top:1rpx solid #D1D1D1;
border-radius: 0rpx 0rpx 20rpx 20rpx;
.icon{
font-size: 16rpx;
margin-left: 20rpx;
}
}
}
&.show{
.one-c-hide-cons{max-height: 700rpx;}
&::after{
content:"";
position: fixed;
left:0;
top:0;
right:0;
bottom:0;
background: rgba(0,0,0,0.3);
}
}
}
.two-c-box{
margin-top:20rpx;
height:calc(100vh - 468rpx);
.lc{
width:225rpx;
height:100%;
padding-top:40rpx;
font-size: 22rpx;
color: #666666;
padding-left:35rpx;
padding-right:50rpx;
overflow-y: auto;
background: #f8f8f8;
.item{
margin-bottom: 56rpx;
&.act{
color: #000000;
}
}
}
.rc{
width:525rpx;
height:100%;
overflow-y: auto;
padding-left:35rpx;
.item{
margin-right: 35rpx;
width: 130rpx;
padding-bottom:20rpx;
margin-bottom:30rpx;
display: inline-block;
height:227rpx;
&:nth-child(3n){
margin-right: 0rpx;
}
image{
width: 130rpx;
height: 130rpx;
margin-bottom: 7rpx;
display: block;
}
text{
color: #000000;
width: 130rpx;
display: block;
line-height: 30rpx;
height:30rpx;
text-align: center;
font-size: 22rpx;
color: #000000;
}
}
}
}
}
}
/* #ifdef H5 */
.classNavPage{
.two-c-box{
height:calc(100vh - 383rpx);
}
}
/* #endif */
\ No newline at end of file
@font-face {
font-family: "iconfont"; /* Project id 4820597 */
src: url('iconfont.woff2?t=1738995266674') format('woff2'),
url('iconfont.woff?t=1738995266674') format('woff'),
url('iconfont.ttf?t=1738995266674') format('truetype');
src: url('iconfont.woff2?t=1740377628866') format('woff2'),
url('iconfont.woff?t=1740377628866') format('woff'),
url('iconfont.ttf?t=1740377628866') format('truetype');
}
.iconfont {
......@@ -13,6 +13,102 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-xib:before {
content: "\e6ba";
}
.icon-delk:before {
content: "\e6bb";
}
.icon-set:before {
content: "\e6b4";
}
.icon-qdlist:before {
content: "\e6b5";
}
.icon-ldxi:before {
content: "\e6b6";
}
.icon-kfi:before {
content: "\e6b7";
}
.icon-dzsd:before {
content: "\e6b8";
}
.icon-fpgl:before {
content: "\e6b9";
}
.icon-password:before {
content: "\e6b2";
}
.icon-arrow2:before {
content: "\e6b3";
}
.icon-success:before {
content: "\e6af";
}
.icon-mobile:before {
content: "\e6b0";
}
.icon-code:before {
content: "\e6b1";
}
.icon-see2:before {
content: "\e6ad";
}
.icon-see1:before {
content: "\e6ae";
}
.icon-close2:before {
content: "\e6ac";
}
.icon-edit:before {
content: "\e6ab";
}
.icon-checked1:before {
content: "\e6a9";
}
.icon-checked:before {
content: "\e6aa";
}
.icon-jian:before {
content: "\e69b";
}
.icon-jia:before {
content: "\e69c";
}
.icon-card:before {
content: "\e6a6";
}
.icon-qdd:before {
content: "\e6a7";
}
.icon-kfd:before {
content: "\e6a8";
}
.icon-fang:before {
content: "\e6a5";
}
......@@ -61,14 +157,6 @@
content: "\e69a";
}
.icon-jia:before {
content: "\e69b";
}
.icon-jian:before {
content: "\e69c";
}
.icon-choose:before {
content: "\e695";
}
......
......@@ -6,6 +6,174 @@
"description": "爱智小程序",
"glyphs": [
{
"icon_id": "43429537",
"name": "xib",
"font_class": "xib",
"unicode": "e6ba",
"unicode_decimal": 59066
},
{
"icon_id": "43429535",
"name": "delk",
"font_class": "delk",
"unicode": "e6bb",
"unicode_decimal": 59067
},
{
"icon_id": "43427808",
"name": "set",
"font_class": "set",
"unicode": "e6b4",
"unicode_decimal": 59060
},
{
"icon_id": "43427807",
"name": "qdlist",
"font_class": "qdlist",
"unicode": "e6b5",
"unicode_decimal": 59061
},
{
"icon_id": "43427806",
"name": "ldxi",
"font_class": "ldxi",
"unicode": "e6b6",
"unicode_decimal": 59062
},
{
"icon_id": "43427805",
"name": "kfi",
"font_class": "kfi",
"unicode": "e6b7",
"unicode_decimal": 59063
},
{
"icon_id": "43427804",
"name": "dzsd",
"font_class": "dzsd",
"unicode": "e6b8",
"unicode_decimal": 59064
},
{
"icon_id": "43427803",
"name": "fpgl",
"font_class": "fpgl",
"unicode": "e6b9",
"unicode_decimal": 59065
},
{
"icon_id": "43354330",
"name": "password",
"font_class": "password",
"unicode": "e6b2",
"unicode_decimal": 59058
},
{
"icon_id": "43354329",
"name": "arrow2",
"font_class": "arrow2",
"unicode": "e6b3",
"unicode_decimal": 59059
},
{
"icon_id": "43354332",
"name": "success",
"font_class": "success",
"unicode": "e6af",
"unicode_decimal": 59055
},
{
"icon_id": "43354331",
"name": "mobile",
"font_class": "mobile",
"unicode": "e6b0",
"unicode_decimal": 59056
},
{
"icon_id": "43354328",
"name": "code",
"font_class": "code",
"unicode": "e6b1",
"unicode_decimal": 59057
},
{
"icon_id": "43353293",
"name": "see2",
"font_class": "see2",
"unicode": "e6ad",
"unicode_decimal": 59053
},
{
"icon_id": "43353292",
"name": "see1",
"font_class": "see1",
"unicode": "e6ae",
"unicode_decimal": 59054
},
{
"icon_id": "43349667",
"name": "close2",
"font_class": "close2",
"unicode": "e6ac",
"unicode_decimal": 59052
},
{
"icon_id": "43340071",
"name": "edit",
"font_class": "edit",
"unicode": "e6ab",
"unicode_decimal": 59051
},
{
"icon_id": "43339913",
"name": "checked1",
"font_class": "checked1",
"unicode": "e6a9",
"unicode_decimal": 59049
},
{
"icon_id": "43339912",
"name": "checked",
"font_class": "checked",
"unicode": "e6aa",
"unicode_decimal": 59050
},
{
"icon_id": "43330546",
"name": "jian",
"font_class": "jian",
"unicode": "e69b",
"unicode_decimal": 59035
},
{
"icon_id": "43330545",
"name": "jia",
"font_class": "jia",
"unicode": "e69c",
"unicode_decimal": 59036
},
{
"icon_id": "43315705",
"name": "card",
"font_class": "card",
"unicode": "e6a6",
"unicode_decimal": 59046
},
{
"icon_id": "43315703",
"name": "qdd",
"font_class": "qdd",
"unicode": "e6a7",
"unicode_decimal": 59047
},
{
"icon_id": "43315704",
"name": "kfd",
"font_class": "kfd",
"unicode": "e6a8",
"unicode_decimal": 59048
},
{
"icon_id": "43278633",
"name": "fang",
"font_class": "fang",
......@@ -90,20 +258,6 @@
"unicode_decimal": 59034
},
{
"icon_id": "43252600",
"name": "jia",
"font_class": "jia",
"unicode": "e69b",
"unicode_decimal": 59035
},
{
"icon_id": "43252599",
"name": "jian",
"font_class": "jian",
"unicode": "e69c",
"unicode_decimal": 59036
},
{
"icon_id": "43252598",
"name": "choose",
"font_class": "choose",
......
.goodsDetailPage{
padding-top:75rpx;
background: #F6F6F6;
padding-bottom:200rpx;
.header{
width:100%;
height:75rpx;
position: fixed;
top:175rpx;
left:0rpx;
right:0rpx;
background: #F6F6F6;
padding-left:35rpx;
z-index: 999;
.icon{
font-size: 35rpx;
color:#898989;
margin-right:200rpx;
}
.tab-item{
font-size: 28rpx;
color: #000000;
padding:0 30rpx;
&.act{
color: #D0121B;
}
}
}
.swiper-box{
height:500rpx;
background: #fff;
position: relative;
margin-bottom:20rpx;
.swiper,.swiper-item{
width:100%;
height:100%;
}
.swiper-image{
width:100%;
height:500rpx;
}
.page-indicator{
width: 76rpx;
height: 42rpx;
background: rgba(42,42,42,0.2);
border-radius: 21rpx;
opacity: 0.83;
font-size: 22rpx;
color: #FFFFFF;
line-height: 42rpx;
text-align: center;
position: absolute;
bottom:24rpx;
right:24rpx;
}
}
.info-box{
width:700rpx;
display: block;
margin:0 auto;
background: #fff;
padding:38rpx 25rpx;
.price-box{
.price1{
font-weight: 600;
font-size: 34rpx;
color: #D91800;
margin-right:43rpx;
&.price1no{
font-weight: normal;
}
}
.price2{
font-size: 34rpx;
color: #1969F9;
}
.qy{
width: 80rpx;
height: 26rpx;
background: #1969F9;
border-radius: 5rpx;
font-size: 18rpx;
color: #FFFFFF;
text-align: center;
line-height: 28rpx;
margin-left: 12rpx;
border-radius: 5rpx;
}
}
.tag-box{
flex-wrap: wrap;
margin-top:13rpx;
.tag{
height: 32rpx;
border-radius: 5rpx;
border: 1rpx solid #1969F9;
color:#1969F9;
font-size: 20rpx;
padding:0 15rpx;
line-height: 32rpx;
margin-right:15rpx;
&.tag2{
color:#38B114;
border: 1rpx solid #38B114;
}
}
}
.goods-name{
max-height: 80rpx;
font-size: 28rpx;
color: #000000;
line-height: 40rpx;
margin-bottom:40rpx;
margin-top:28rpx;
}
.attr-box{
.item{
font-size: 22rpx;
line-height: 50rpx;
text{
color: #000000;
width:166rpx;
padding-right:26rpx;
}
view{
color: #666666;
width:460rpx;
word-wrap: break-word;
word-break: break-all;
white-space: normal;
}
}
}
}
.product-box{
margin-top:30rpx;
.tab{
height:97rpx;
background: #fff;
padding-left:10rpx;
text{
font-size: 24rpx;
color: #666666;
padding:0 40rpx;
border-left: 1rpx solid #D1D1D1;
&:first-child{border:0rpx;}
&.act{color:#D0121B;}
}
}
.tabcon{
display: none;
padding:25rpx;
position: relative;
image{
width:100%;
}
&.act{display: block;}
}
::v-deep .tabcon{text-align: center;}
::v-deep .tabcon1{
img{display: block;margin:0 auto;width:100%;}
}
}
.foot{
height:150rpx;
width:100%;
position: fixed;
bottom:0rpx;
left:0rpx;
right:0rpx;
background: #fff;
font-size: 22rpx;
color: #666666;
padding:0 36rpx;
text-align: center;
.iconfont{
font-size: 50rpx;
color:#000;
}
.item{
width:90rpx;
display: block;
}
.add-car{
width: 165rpx;
height: 70rpx;
background: linear-gradient( 90deg, #FDC860 0%, #FCAE3A 100%);
border-radius: 35rpx 0rpx 0rpx 35rpx;
font-size: 26rpx;
color: #FFFFFF;
line-height: 70rpx;
}
.add-confirm{
width: 165rpx;
height: 70rpx;
background: linear-gradient( 90deg, #F66F15 0%, #FE3014 100%);
border-radius: 0rpx 35rpx 35rpx 0rpx;
font-size: 26rpx;
color: #FFFFFF;
line-height: 70rpx;
}
}
}
/**加入购物车**/
.pop-detail-car{
width: 100%;
background: #FFFFFF;
border-radius: 10rpx 10rpx 0rpx 0rpx;
padding:24rpx 30rpx;
position: relative;
padding-bottom: 150rpx;
.trt{
text-align: right;
.icon{color:#898989;font-size: 25rpx;}
}
.handle{
image{
width:150rpx;
height:150rpx;
margin-right: 25rpx;
}
.price1{
font-size: 32rpx;
color: #D91800;
margin-bottom: 70rpx;
}
.hbha{
width: 206rpx;
height: 40rpx;
background: #F6F6F6;
border-radius: 5rpx;
.icon{
color:#666;
font-size: 22rpx;
}
input{
height: 40rpx;
width:116rpx;
margin:0 10rpx;
background: #F6F6F6;
font-size: 24rpx;
color: #000000;
text-align: center;
}
}
}
.goods-box{
margin-top:68rpx;
max-height:800rpx;
overflow-y: auto;
.tit{
font-size: 24rpx;
color: #000000;
margin-bottom: 25rpx;
}
.item{
text{
display: inline-block;
height: 54rpx;
line-height: 54rpx;
background: #F6F6F6;
border: 1rpx solid #F6F6F6;
border-radius: 5rpx;
font-size: 22rpx;
color: #000000;
margin-bottom: 25rpx;
padding:0 12rpx;
}
&.act{
text{border: 1rpx solid #D0121B;}
}
}
}
.xunjia{
width: 100%;
height: 110rpx;
background: linear-gradient(90deg, #FDC860 0%, #FCAE3A 100%);
position: absolute;
bottom:0rpx;
left:0rpx;
font-size: 30rpx;
color: #FFFFFF;
line-height: 110rpx;
text-align: center;
}
.add-btn{
width: 100%;
height: 110rpx;
background: #D0121B;
line-height: 110rpx;
text-align: center;
font-size: 30rpx;
color: #FFFFFF;
position: absolute;
bottom:0rpx;
left:0rpx;
}
}
/**加入清单**/
.pop-add-list{
width: 100%;
background: #FFFFFF;
border-radius: 10rpx 10rpx 0rpx 0rpx;
padding:24rpx 30rpx;
position: relative;
padding-bottom: 150rpx;
.trt{
text-align: right;
.icon{color:#898989;font-size: 25rpx;}
}
.ttit{
width: 520rpx;
height: 53rpx;
font-size: 28rpx;
color: #000000;
line-height: 53rpx;
text-align: center;
margin:0 auto;
}
.new-box{
height: 36rpx;
margin-top:28rpx;
justify-content: flex-end;
margin-bottom:37rpx;
.new-btn{
padding:0 13rpx;
height: 36rpx;
background: linear-gradient( 180deg, #FFFFFF 0%, #FFEDE0 100%);
border-radius: 5rpx;
border: 1rpx solid #E9C3AB;
font-size: 24rpx;
color: #FF3800;
.icon{
font-size: 16rpx;
color: #FF3800;
margin-left:8rpx;
position: relative;
top:-5rpx;
}
}
}
.list-box{
max-height:800rpx;
overflow-y: auto;
.item{
width: 100%;
height: 142rpx;
background: #F6F6F6;
border-radius: 10rpx;
padding-left:20rpx;
padding-right:30rpx;
.l{
.icon{
font-size: 30rpx;
color:#e5e5e5;
}
.icon-checked{
color:#D0121B;
}
margin-right:24rpx;
}
.c{
width:400rpx;
view{
font-size: 24rpx;
color: #000000;
height: 50rpx;
line-height: 50rpx;
width:400rpx;
}
text{
display: block;
font-size: 22rpx;
color: #666666;
height:50rpx;
line-height: 50rpx;
}
}
.r{
font-size: 24rpx;
color: #000000;
.icon{
color:#898989;
font-size: 16rpx;
margin-left: 13rpx;
}
}
}
}
.add-list{
width: 100%;
height: 110rpx;
background: #D0121B;
line-height: 110rpx;
text-align: center;
font-size: 30rpx;
color: #FFFFFF;
position: absolute;
bottom:0rpx;
left:0rpx;
}
}
/**新建清单**/
.pop-new-list{
width: 100%;
background: #FFFFFF;
border-radius: 10rpx 10rpx 0rpx 0rpx;
padding:24rpx 30rpx;
position: relative;
padding-bottom: 150rpx;
.trt{
text-align: right;
.icon{color:#898989;font-size: 25rpx;}
}
.ttit{
width: 520rpx;
height: 53rpx;
font-size: 28rpx;
color: #000000;
line-height: 53rpx;
text-align: center;
margin:0 auto;
}
.cons{
padding-top:77rpx;
padding-bottom:110rpx;
.inputv{
display: block;
width: 630rpx;
height: 80rpx;
padding:0 30rpx;
line-height: 80rpx;
border-radius: 5rpx;
border: 1rpx solid #898989;
margin:0 auto;
font-size: 22rpx;
color: #000;
}
}
.add-list{
width: 100%;
height: 110rpx;
background: #D0121B;
line-height: 110rpx;
text-align: center;
font-size: 30rpx;
color: #FFFFFF;
position: absolute;
bottom:0rpx;
left:0rpx;
}
}
/* #ifdef H5 */
.goodsDetailPage{
.header{
top:90rpx;
}
}
/* #endif */
\ No newline at end of file
.indexPage{
padding-bottom:98rpx;
background: #f6f6f6;
.header{
height:230rpx;
background: #BF0009;
......@@ -53,18 +55,32 @@
height:55rpx;
}
}
.bannert{
.swiper-box{
width: 690rpx;
height: 250rpx;
display: block;
border-radius: 8rpx;
margin:0 auto;
margin-top:39rpx;
image{
width:100%;
height:100%;
.swiper-item{
width: 690rpx;
height: 250rpx;
display: block;
border-radius: 8rpx;
}
.bannert{
width: 690rpx;
height: 250rpx;
display: block;
border-radius: 8rpx;
image{
width: 690rpx;
height: 250rpx;
border-radius: 8rpx;
}
}
}
.cate-box{
flex-wrap: wrap;
width:662rpx;
......@@ -73,7 +89,9 @@
padding-bottom:10rpx;
.item{
margin-bottom: 23rpx;
margin-right: 38rpx;
margin-right: 17rpx;
width:120rpx;
text-align: center;
&:nth-child(5n){
margin-right: 0rpx;
}
......@@ -81,11 +99,12 @@
width:102rpx;
height:102rpx;
display: block;
margin:0 auto;
margin-bottom: 11rpx;
}
text{
display: block;
width:102rpx;
width:120rpx;
height:28rpx;
font-size: 20rpx;
color: #000;
......@@ -95,26 +114,31 @@
}
.recommend-box{
padding:0 30rpx;
.tit{
font-weight: 600;
font-size: 30rpx;
color: #000000;
line-height: 42rpx;
margin-bottom:51rpx;
padding-left:30rpx;
}
.itembox{
width:654rpx;
margin-left:48rpx;
flex-wrap: wrap;
.item{
margin-bottom: 62px;
margin-bottom: 20rpx;
background: #fff;
width:335rpx;
padding:20rpx;
margin-right: 20rpx;
&:nth-child(2n){
margin-right: 0rpx;
}
image{
width: 296rpx;
width: 295rpx;
height: 264rpx;
}
.title{
width: 296rpx;
width: 295rpx;
height: 70rpx;
font-weight: 400;
font-size: 22rpx;
......
.searchNavPage{
.hot-search{
margin-top:40rpx;
.content-box{
......
.searchPage{
padding-top:218rpx;
background: #fff;
.fixed-tp{
height:218rpx;
position: fixed;
top:175rpx;
left:0rpx;
right:0rpx;
background: #fff;
z-index: 1;
}
.shiftbox{
padding: 38rpx 36rpx 38rpx 30rpx;
font-size: 24rpx;
color: #000000;
height:106rpx;
.rank{
.icon{
font-size: 16rpx;
......@@ -97,6 +109,12 @@
}
.item-c{
flex-wrap: wrap;
max-height:150rpx;
overflow: hidden;
transition:max-height 0.3s;
&.showAll{
max-height:1800rpx;
}
}
.citem{
width: 170rpx;
......@@ -111,6 +129,7 @@
padding:0 8rpx;
margin-right: 20rpx;
margin-bottom:30rpx;
&:nth-child(3n){
margin-right: 0rpx;
}
......@@ -152,6 +171,9 @@
/* #ifdef H5 */
.searchPage .fixed-tp{
top:90rpx;
}
.pop-consx{
padding-top:90rpx;
.section{
......
.addressPage{
background: #f6f6f6;
padding-bottom: 150rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.data-box{
margin:0 auto;
width:700rpx;
padding-top:6rpx;
.group{
min-height: 230rpx;
background: #FFFFFF;
border-radius: 20rpx;
padding:22rpx;
margin-bottom: 25rpx;
.t{
height:62rpx;
font-size: 24rpx;
color: #666666;
margin-bottom: 8rpx;
.mr{
width: 64rpx;
height: 32rpx;
background: #FFF5F5;
border-radius: 5rpx;
border: 1rpx solid #D0121B;
font-size: 22rpx;
color: #D0121B;
margin-left: 32rpx;
}
}
.c{
font-weight: 600;
font-size: 28rpx;
color: #000000;
line-height: 35rpx;
}
.b{
margin-top: 30rpx;
text{
font-size: 22rpx;
color: #000000;
}
.icon{
font-size: 30rpx;
color:#e5e5e5;
margin-right: 15rpx;
}
.icon-checked{
color:#D0121B;
}
.l{height:40rpx;}
.r{
height:40rpx;
text,view{
width: 82rpx;
height: 36rpx;
background: #F8F8F8;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 22rpx;
color: #666666;
text-align: center;
line-height: 36rpx;
margin-left: 20rpx;
}
}
}
}
}
.no-data{
background: #fff;
width:700rpx;
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
image{
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
color: #000000;
text-align: center;
}
}
.foot{
height:130rpx;
position: fixed;
z-index: 3;
bottom:0rpx;
left:0rpx;
right:0rpx;
.btn{
display: block;
width: 700rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
}
}
}
.addressAddPage{
background: #f6f6f6;
padding-bottom: 150rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.input-box{
margin:0 auto;
width:700rpx;
margin-top:6rpx;
background: #fff;
padding:0rpx 26rpx;
border-radius: 20rpx;
.input-group{
height:100rpx;
padding:34rpx 20rpx;
border-bottom:1rpx solid #E7E7E7;
&:last-child{border:0rpx;}
.label{
font-size: 28rpx;
color: #000000;
width:160rpx;
line-height: 40rpx;
height:40rpx;
}
input{
font-size: 28rpx;
color:#000;
line-height: 40rpx;
height:40rpx;
}
.areabox-but{
margin-right: 20rpx;
height:40rpx;
line-height: 40rpx;
.but-val{
font-size: 28rpx;
color:#000;
position: relative;
top:2rpx;
}
.icon{
color:#000;
font-size: 16rpx;
margin-left: 12rpx;
position: relative;
top:-1rpx;
}
}
.placeholder-class{
font-size: 28rpx;
color: #666666;
}
}
}
.setting-default{
margin:0 auto;
width:700rpx;
margin-top:25rpx;
background: #fff;
border-radius: 20rpx;
padding:22rpx 45rpx;
.tt{
font-size: 22rpx;
color: #666666;
view{
font-size: 28rpx;
color: #000000;
margin-bottom: 6rpx;
}
}
}
}
.foot{
height:130rpx;
position: fixed;
z-index: 3;
bottom:0rpx;
left:0rpx;
right:0rpx;
.btn{
display: block;
width: 700rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
}
}
}
.addressPage{
background: #f6f6f6;
padding-bottom: 150rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.data-box{
margin:0 auto;
width:700rpx;
padding-top:6rpx;
.group{
min-height: 230rpx;
background: #FFFFFF;
border-radius: 20rpx;
padding:22rpx;
margin-bottom: 25rpx;
.t{
height:62rpx;
font-size: 24rpx;
color: #666666;
margin-bottom: 8rpx;
.mr{
width: 64rpx;
height: 32rpx;
background: #FFF5F5;
border-radius: 5rpx;
border: 1rpx solid #D0121B;
font-size: 22rpx;
color: #D0121B;
margin-left: 32rpx;
}
}
.c{
font-weight: 600;
font-size: 28rpx;
color: #000000;
line-height: 35rpx;
}
.b{
margin-top: 30rpx;
text{
font-size: 22rpx;
color: #000000;
}
.icon{
font-size: 30rpx;
color:#e5e5e5;
margin-right: 15rpx;
}
.icon-checked{
color:#D0121B;
}
.l{height:40rpx;}
.r{
height:40rpx;
text{
width: 82rpx;
height: 36rpx;
background: #F8F8F8;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 22rpx;
color: #666666;
text-align: center;
line-height: 36rpx;
margin-left: 20rpx;
}
}
}
}
}
.no-data{
background: #fff;
width:700rpx;
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
image{
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
color: #000000;
text-align: center;
}
}
.foot{
height:130rpx;
position: fixed;
z-index: 3;
bottom:0rpx;
left:0rpx;
right:0rpx;
.btn{
display: block;
width: 700rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
}
}
}
.companyInfoPage{
background: #f6f6f6;
padding-bottom: 150rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.input-box{
margin:0 auto;
width:700rpx;
margin-top:6rpx;
background: #fff;
padding:0rpx 26rpx;
border-radius: 20rpx;
.input-group{
height:100rpx;
padding:34rpx 20rpx;
border-bottom:1rpx solid #E7E7E7;
&:last-child{border:0rpx;}
.label{
font-size: 28rpx;
color: #000000;
width:215rpx;
line-height: 40rpx;
height:40rpx;
position: relative;
&.required{
&::after{
content:"*";
position: absolute;
left:-20rpx;
top:5rpx;
color:#D0121B;
}
}
}
input{
font-size: 28rpx;
color:#000;
line-height: 40rpx;
height:40rpx;
}
.placeholder-class{
font-size: 28rpx;
color: #666666;
}
}
}
}
.foot{
height:130rpx;
position: fixed;
z-index: 3;
bottom:0rpx;
left:0rpx;
right:0rpx;
.btn{
display: block;
width: 700rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
}
}
}
.couponPage{
background: #f6f6f6;
padding-bottom: 50rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.tabs{
height:90rpx;
background: #f6f6f6;
width:100%;
position: fixed;
top:250rpx;
/* #ifdef H5 */
top:165rpx;
/* #endif */
z-index: 3;
.item{
font-size: 26rpx;
color: #000000;
position: relative;
padding:0 29rpx;
&::after{
position: absolute;
content:"";
right:0rpx;
width: 1rpx;
height: 18rpx;
background: #666;
top:11rpx;
}
&:last-child{
&::after{
display: none;
}
}
&.act{
font-size: 28rpx;
color: #D0121B;
font-weight: bold;
}
}
}
.cons{
padding-top: 165rpx;
.data-box{
margin:0 auto;
width:700rpx;
.group{
height:180rpx;
margin-bottom:25rpx;
background: url('https://img.ichunt.com/images/ichunt/202502/24/435bcc261a434392135ee0846ac99d60.png') no-repeat;
background-size: 100% 100%;
padding-left: 27rpx;
padding-right: 30rpx;
.l{
.price{
font-weight: 600;
font-size: 30rpx;
color: #FF3000;
.textp{
font-size: 60rpx;
color: #FF3000;
}
margin-right: 68rpx;
.tips{
font-size: 22rpx;
color: #FF6300;
font-weight: normal;
}
}
.yhld{
font-size: 22rpx;
color: #FF6300;
view{
font-size: 35rpx;
color: #3B2C1B;
height:72rpx;
line-height: 65rpx;
}
}
}
.rbtn{
width: 146rpx;
height: 58rpx;
background: linear-gradient( 180deg, #F6491D 0%, #F52A1B 100%);
border-radius: 5rpx;
font-size: 26rpx;
color: #FFFFFF;
text{
background: url('https://img.ichunt.com/images/ichunt/202502/24/4ab2a242f3e45c0bafe3fb3207263ed2.png') no-repeat;
background-size: 100% 100%;
height:25rpx;
width:25rpx;
margin-left: 10rpx;
}
}
&.sx{
background: url('https://img.ichunt.com/images/ichunt/202502/24/a3ece18988277d79fb8bba68d91e0059.png') no-repeat;
background-size: 100% 100%;
.l{
opacity: 0.5;
}
.alread{
width: 146rpx;
height: 58rpx;
border-radius: 5rpx;
border: 1rpx solid #D0121B;
font-size: 26rpx;
color: #D0121B;
font-weight: bold;
text-align: center;
line-height: 58rpx;
}
}
}
}
.no-data{
background: #fff;
width:700rpx;
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
image{
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
color: #000000;
text-align: center;
}
.pagebot{
height: 80rpx;
line-height: 80rpx;
font-size: 24rpx;
text-align: center;
color:#C6C7CC;
}
}
}
.invoicePage{
background: #f6f6f6;
padding-bottom: 150rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.data-box{
margin:0 auto;
width:700rpx;
padding-top:6rpx;
.group{
min-height: 230rpx;
background: #FFFFFF;
border-radius: 20rpx;
padding:0 26rpx;
margin-bottom: 25rpx;
.t{
border-bottom: 1rpx solid #E7E7E7;
height:80rpx;
font-weight: 600;
font-size: 28rpx;
color: #000000;
padding:0 20rpx;
text{
width: 64rpx;
height: 32rpx;
background: #FFF5F5;
border-radius: 5rpx;
border: 1rpx solid #D0121B;
font-weight: 400;
font-size: 22rpx;
color: #D0121B;
text-align: center;
line-height: 32rpx;
margin-left:32rpx;
}
}
.c{
padding:40rpx 20rpx;
font-size: 28rpx;
color: #000000;
border-bottom: 1rpx solid #E7E7E7;
view{
margin-bottom: 20rpx;
&:last-child{margin-bottom:0rpx;}
}
text{margin-right:50rpx;}
}
.b{
padding:25rpx 20rpx;
text{
font-size: 22rpx;
color: #000000;
}
.icon{
font-size: 30rpx;
color:#e5e5e5;
margin-right: 15rpx;
}
.icon-checked{
color:#D0121B;
}
.l{height:40rpx;}
.r{
height:40rpx;
text,view{
width: 82rpx;
height: 36rpx;
background: #F8F8F8;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 22rpx;
color: #666666;
text-align: center;
line-height: 36rpx;
margin-left: 20rpx;
}
}
}
}
}
.no-data{
background: #fff;
width:700rpx;
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
image{
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
color: #000000;
text-align: center;
}
}
.foot{
height:130rpx;
position: fixed;
z-index: 3;
bottom:0rpx;
left:0rpx;
right:0rpx;
.btn{
display: block;
width: 700rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
}
}
}
.invoiceAddPage{
background: #f6f6f6;
padding-bottom: 150rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.input-box{
margin:0 auto;
width:700rpx;
margin-top:6rpx;
background: #fff;
padding:0rpx 26rpx;
border-radius: 20rpx;
.input-group{
height:100rpx;
padding:34rpx 20rpx;
border-bottom:1rpx solid #E7E7E7;
&:last-child{border:0rpx;}
.label{
font-size: 28rpx;
color: #000000;
width:215rpx;
line-height: 40rpx;
height:40rpx;
position: relative;
&.required{
&::after{
content:"*";
position: absolute;
left:-20rpx;
top:5rpx;
color:#D0121B;
}
}
}
input{
font-size: 28rpx;
color:#000;
line-height: 40rpx;
height:40rpx;
}
.placeholder-class{
font-size: 28rpx;
color: #666666;
}
}
}
.tab-group{
padding:25rpx 20rpx;
padding-bottom: 50rpx;
.tit{
font-weight: 600;
font-size: 28rpx;
color: #000000;
margin-bottom: 50rpx;
}
.tab{
text{
width: 286rpx;
height: 70rpx;
background: #FFFFFF;
border-radius: 5rpx;
border: 1rpx solid #898989;
font-size: 24rpx;
color: #000000;
text-align: center;
line-height: 70rpx;
&.act{
border: 1rpx solid #D0121B;
color:#D0121B;
}
}
}
}
.setting-default{
margin:0 auto;
width:700rpx;
margin-top:25rpx;
background: #fff;
border-radius: 20rpx;
padding:22rpx 45rpx;
.tt{
font-size: 28rpx;
color: #000000;
margin-bottom: 6rpx;
}
}
}
.foot{
height:130rpx;
position: fixed;
z-index: 3;
bottom:0rpx;
left:0rpx;
right:0rpx;
.btn{
display: block;
width: 700rpx;
height: 90rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
text-align: center;
line-height: 90rpx;
margin:0 auto;
}
}
}
.msgListPage{
background: #f6f6f6;
.titsk-head{
background: #F6F6F6;
height:75rpx;
position: fixed;
top:175rpx;
/* #ifdef H5 */
top:90rpx;
/* #endif */
left:0rpx;
width:100%;
right:0rpx;
z-index: 3;
padding-left:35rpx;
font-size: 28rpx;
color: #000000;
padding-right:15rpx;
.l{
height:75rpx;
}
.handle-box{
height:75rpx;
font-size: 22rpx;
color: #666666;
.ite{
height:75rpx;
margin-left:30rpx;
.icon{
margin-right: 5rpx;
}
}
}
.icon-arrowleft{
font-size: 35rpx;
color: #898989;
margin-right:225rpx;
}
}
.tabs{
height:90rpx;
background: #f6f6f6;
width:100%;
position: fixed;
top:250rpx;
/* #ifdef H5 */
top:165rpx;
/* #endif */
z-index: 3;
.item{
font-size: 26rpx;
color: #000000;
position: relative;
padding:0 29rpx;
&::after{
position: absolute;
content:"";
right:0rpx;
width: 1rpx;
height: 18rpx;
background: #666;
top:11rpx;
}
&:last-child{
&::after{
display: none;
}
}
&.act{
font-size: 28rpx;
color: #D0121B;
font-weight: bold;
}
}
}
.cons{
padding-top: 165rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.data-box{
margin:0 auto;
width:700rpx;
.group{
background: #fff;
padding:35rpx 25rpx;
padding-bottom: 22rpx;
margin-bottom: 25rpx;
.t{
image{
height:45rpx;
width:45rpx;
margin-right: 27rpx;
}
font-size: 26rpx;
color: #000000;
view{
width:550rpx;
height:45rpx;
line-height: 45rpx;
}
margin-bottom: 30rpx;
position: relative;
.new{
position: absolute;
width:13rpx;
height:13rpx;
background: #FF6300;
border-radius: 13rpx;
right:0rpx;
top:-13rpx;
}
}
.c{
font-size: 24rpx;
color: #000000;
line-height: 45rpx;
margin-bottom: 30rpx;
&.act{
display: block;
}
}
.b{
height:86rpx;
border-top: 1rpx solid #E7E7E7;
.l{
font-size: 22rpx;
color: #666666;
height:86rpx;
.line{
width: 1rpx;
height: 18rpx;
background: #666;
margin: 15rpx;
}
}
.r{
.btnj{
min-width: 82rpx;
height: 36rpx;
text-align: center;
background: #F8F8F8;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 22rpx;
color: #666666;
margin-left:26rpx;
padding:0 21rpx;
.icon{
font-size: 16rpx;
color:#666;
margin-left: 6rpx;
}
}
}
}
}
}
.no-data{
background: #fff;
width:700rpx;
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
image{
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
color: #000000;
text-align: center;
}
.pagebot{
height: 80rpx;
line-height: 80rpx;
font-size: 24rpx;
text-align: center;
color:#C6C7CC;
}
}
}
.orderListPage{
background: #f8f8f8;
padding-top:172rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.head{
background: #f8f8f8;
position: fixed;
top:175rpx;
/* #ifdef H5 */
top:90rpx;
/* #endif */
left:0rpx;
right:0rpx;
z-index: 3;
height:172rpx;
.top-box-order {
padding: 21rpx 30rpx 21rpx 25rpx;
height:112rpx;
background: #f8f8f8;
.icon-arrowleft {
font-size: 35rpx;
color: #898989;
}
.search-box {
width:641rpx;
height: 70rpx;
background: #FFFFFF;
border-radius: 5rpx;
border: 1rpx solid #D0121B;
padding-left: 20rpx;
input {
font-size: 22rpx;
line-height: 30rpx;
padding-left: 10rpx;
width: 550rpx;
}
.icon-searchclose {
font-size: 26rpx;
color: #898989;
cursor: pointer;
}
.icon-search {
font-size: 30rpx;
color: #d0121b;
}
}
}
.tabs{
height:60rpx;
padding:30rpx;
font-size: 26rpx;
color: #000000;
.act{
font-size: 28rpx;
color: #D0121B;
font-weight: bold;
}
}
}
.cons{
padding-top:20rpx;
//padding-bottom: 50rpx;
width:700rpx;
margin:0 auto;
.group{
padding:16rpx 30rpx;
background: #FFFFFF;
border-radius: 20rpx;
display: block;
margin-bottom:25rpx;
&:last-child{margin-bottom:0rpx;}
.t{
height:36rpx;
font-size: 22rpx;
color: #666666;
.tag{
width: 76rpx;
height: 36rpx;
background: #D5232C;
border-radius: 2rpx;
font-size: 22rpx;
color: #FFFFFF;
text-align: center;
line-height: 36rpx;
&.tag-blue{
background: #027DFF;
}
&.tag-yellow{
background: #FF8229;
}
&.tag-ccc{
background:#A5A0A0;
}
}
margin-bottom: 13rpx;
}
.c{
margin-bottom: 25rpx;
image{
height:190rpx;
width:190rpx;
margin-right: 20rpx;
flex-shrink: 0;
}
.r{
padding:8rpx 0;
.tr{
height:35rpx;
width:430rpx;
flex-shrink: 0;
view{
font-size: 24rpx;
color: #000000;
line-height: 35rpx;
font-weight: bold;
width:380rpx;
height:35rpx;
}
text{
font-size: 22rpx;
color: #666666;
line-height: 35rpx;
}
margin-bottom: 15rpx;
}
.cr{
font-size: 22rpx;
color: #666666;
}
.br{
margin-top:22rpx;
text-align: right;
font-weight: bold;
font-size: 28rpx;
color: #000000;
line-height: 40rpx;
text{
font-weight: 400;
font-size: 22rpx;
color: #666666;
}
}
}
}
.handle{
height:52rpx;
justify-content: flex-end;
.cancel{
width: 156rpx;
height: 52rpx;
background: #F8F8F8;
border-radius: 5rpx;
border: 1rpx solid #E7E7E7;
font-size: 24rpx;
color: #666666;
text-align: center;
line-height: 52rpx;
margin-left:20rpx;
}
.pay{
width: 156rpx;
height: 52rpx;
background: #D0121B;
border-radius: 5rpx;
font-size: 24rpx;
color: #FFFFFF;
text-align: center;
line-height: 52rpx;
margin-left:20rpx;
}
}
}
}
.no-data{
background: #fff;
width:700rpx;
margin:0 auto;
padding-top: 209rpx;
padding-bottom: 500rpx;
image{
width:442rpx;
height:254rpx;
margin-bottom:45rpx;
}
font-size: 22rpx;
color: #000000;
text-align: center;
}
.pagebot{
height: 80rpx;
line-height: 80rpx;
font-size: 24rpx;
text-align: center;
color:#C6C7CC;
}
}
.orderPayPage{
background: #f6f6f6;
padding-bottom: 150rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.sec{
padding-top:170rpx;
width:700rpx;
margin:0 auto;
.tit{
font-size: 40rpx;
color: #000000;
text-align: center;
margin-bottom: 30rpx;
}
.price{
font-weight: 600;
font-size: 52rpx;
color: #D91800;
text-align: center;
}
.pay-box{
margin-top: 112rpx;;
.tx{
font-size: 26rpx;
color: #000000;
margin-bottom: 28rpx;
}
.payc-choose{
height: 280rpx;
background: #FFFFFF;
border-radius: 20rpx;
border: 1rpx solid #D0121B;
padding:0 26rpx;
image{margin-right: 20rpx;width:40rpx;height:40rpx;}
font-size: 28rpx;
color: #000000;
.icon{
font-size: 16rpx;
color:#898989;
}
.item{
height:140rpx;
border-bottom: 1rpx solid #E7E7E7;
&:last-child{border:0rpx;}
}
}
}
}
}
}
.settingPage{
background: #f6f6f6;
padding-bottom: 150rpx;
min-height:calc(100vh - 175rpx);
/* #ifdef H5 */
min-height:calc(100vh - 90rpx);
/* #endif */
.cons{
padding-top: 75rpx;
.input-box{
margin:0 auto;
width:700rpx;
margin-top:6rpx;
background: #fff;
padding:0rpx 26rpx;
border-radius: 20rpx;
.input-group{
height:100rpx;
padding:34rpx 20rpx;
border-bottom:1rpx solid #E7E7E7;
&:last-child{border:0rpx;}
font-size: 28rpx;
color: #000000;
.xh{
position: relative;top:5rpx;
}
.icon{font-size: 16rpx;color:#898989;margin-left:30rpx;position: relative;top:-4rpx;}
}
}
}
.foot{
height:130rpx;
position: fixed;
z-index: 3;
bottom:0rpx;
left:0rpx;
right:0rpx;
.btn{
display: block;
width: 700rpx;
height: 90rpx;
background: #FFFFFF;
border-radius: 5rpx;
border: 1rpx solid #D2D2D2;
font-size: 30rpx;
color: #666666;
text-align: center;
line-height: 90rpx;
margin:0 auto;
}
}
}
.userInfoPage{
background: #f6f6f6;
padding-bottom: 98rpx;
height:calc(100vh - 175rpx);
/* #ifdef H5 */
height:calc(100vh - 90rpx);
/* #endif */
.head{
height: 444rpx;
background: linear-gradient( 180deg, #FFF2F2 0%, rgba(218,210,210,0) 100%);
padding-top:32rpx;
padding-left:25rpx;
padding-right: 35rpx;
.top{
justify-content: flex-end;
margin-bottom:6rpx;
.icon{
font-size: 40rpx;
color:#000;
margin-left: 29rpx;
}
}
.cen{
.imgh{
margin-right: 26rpx;
image{
width: 100rpx;
height: 100rpx;
border-radius: 100rpx;
border: 1rpx solid #FFFFFF;
}
}
.namen{
font-size: 24rpx;
color: #000000;
height:48rpx;
line-height: 49rpx;
}
.coup-box{
margin-top:55rpx;
font-size: 24rpx;
color: #000000;
height: 40rpx;
.tops{
color:#D0121B;
margin:0 5rpx;
position: relative;
top:2rpx;
}
.icon{
font-size: 16rpx;
color:#898989;
margin-left:35rpx;
}
}
.com{
height:49rpx;
margin-top:2rpx;
view{
font-size: 24rpx;
color: #000000;
}
image{
width:25rpx;
height:25rpx;
margin-left: 10rpx;
margin-right:22rpx;
}
.icon{
font-size: 16rpx;
color:#898989;
}
.grz{
font-size: 22rpx;
color: #D0121B;
display: block;
.icon{
font-size: 16rpx;
color:#D0121B;
margin-left: 5rpx;
position: relative;
top:-2rpx;
}
}
}
}
}
.sec{
width:700rpx;
margin:0 auto;
position: relative;
top:-136rpx;
.order-box{
height: 272rpx;
background: #FFFFFF;
border-radius: 20rpx;
padding:35rpx 45rpx;
.tit{
font-size: 24rpx;
color: #000000;
height:40rpx;
.go-order{
display: block;
height:40rpx;
color:#666666;
view{height:40rpx;}
.icon{
font-size: 16rpx;
color:#898989;
margin-left:10rpx;
}
}
}
.order-status{
padding-right: 24rpx;
.yhq{
position: relative;
&:hover{
view{color:#D0121B;}
}
}
.count{
position: absolute;
min-width: 33rpx;
height: 25rpx;
font-size: 18rpx;
color: #FFFFFF;
line-height: 28rpx;
text-align: center;
font-weight: bold;
right:-15rpx;
top:-7rpx;
background: #FF6300;
border-radius: 8rpx;
}
margin-top:35rpx;
image{
width:60rpx;
height:60rpx;
display: block;
margin:0 auto;
}
view{
font-size: 22rpx;
color: #000000;
text-align: center;
margin-top:15rpx;
}
}
}
.link-box{
height: 175rpx;
margin-top:30rpx;
background: #FFFFFF;
border-radius: 20rpx;
padding:35rpx 45rpx;
font-size: 22rpx;
color: #000000;
.litem{
text-align: center;
.icon{
font-size: 50rpx;
color:#000;
}
view{
margin-top:15rpx;
}
&:hover{
view{color:#D0121B;}
}
}
}
}
}
\ No newline at end of file
......@@ -13,7 +13,7 @@
props: {
pageTitle: {
type: String,
default: '爱智工业品平台'
default: '爱智工业品'
},
type: {
type: Number,
......@@ -30,8 +30,8 @@
},
methods: {
goHome() {
uni.redirectTo({
url: '/pages/index/index'
uni.reLaunch({
url: '/pages/index/index'
});
}
}
......
<template>
<view class="bottom-nav-fixed row">
<navigator url="/" class="navitem" :class="{ act: actval == 1 }">
<navigator url="/pages/index/index" class="navitem" :class="{ act: actval == 1 }">
<text class="icon iconfont icon-home"></text>
<view>首页</view>
</navigator>
<navigator url="/" class="navitem" :class="{ act: actval == 2 }">
<navigator url="/pages/class/nav" class="navitem" :class="{ act: actval == 2 }">
<text class="icon iconfont icon-choose"></text>
<view>选型</view>
</navigator>
<navigator url="/joincart" class="cartbgo navitem" :class="{ act: actval == 3 }">
<navigator url="/pages/car/list" class="cartbgo navitem" :class="{ act: actval == 3 }">
<text class="icon iconfont icon-car"></text>
<view>
购物车
<text class="counts">{{ count }}</text>
<text class="counts" v-if="count>0">{{ count }}</text>
</view>
</navigator>
<navigator url="/user" class="navitem" :class="{ act: actval == 4 }">
<navigator url="/pages/user/userInfo" class="navitem" :class="{ act: actval == 4 }">
<text class="icon iconfont icon-user"></text>
<view>个人中心</view>
</navigator>
......@@ -23,7 +23,7 @@
</template>
<script>
// import { Ichunt_Api, Api_Url } from '@/util/api.js';
import { Api_Url } from '@/util/api.js';
export default {
name: 'bottom_nav',
props: {
......@@ -41,19 +41,19 @@ export default {
},
data() {
return {
count: 0
count: 0,
isLogin:uni.getStorageSync('token')?true:false,
};
},
methods: {
getData() {
// this.request(Api_Url + '/cart/count', 'POST', {}, false, true).then(res => {
// if (res.err_code === 0) {
// this.count = res.data;
// if (this.carcount) {
// this.count = this.carcount;
// }
// }
// });
if(!this.isLogin){return}
this.request(Api_Url + '/api/cart/getCartCount', 'POST', {}, false).then(res => {
if (res.code === 0) {
this.count=res.data.count
uni.getStorageSync('carCount',res.data.count)
}
});
},
updateCar(){
this.getData()
......@@ -74,6 +74,7 @@ export default {
z-index: 6;
padding-top: 14rpx;
z-index: 9;
border-top:1rpx solid #E8E8E8;
.navitem {
display: block;
color: #666;
......@@ -104,7 +105,7 @@ export default {
top: -5rpx;
color: #fff;
font-size: 24rpx;
line-height: 28rpx;
line-height: 32rpx;
text-align: center;
}
}
......
<template>
<navigator url="" class="one-data-item row">
<view class="imgbox">
<view class="ictag"></view>
<image class="imagep" src="https://imgscdn.ichunt.com/show/origin/076860f11hc0c800000hd3qpst7i1"></image>
<navigator :url="'/pages/goods/detail?goods_id='+obj.goods_id" >
<view class="one-data-item row">
<view class="imgbox">
<!-- <view class="ictag"></view> -->
<image class="imagep" :src="obj.goods_images||'https://www.iedge.net/assets/images/common/defaultnew.png'"></image>
</view>
<view class="trg">
<view class="name elep2" v-html="obj.sku_name"></view>
<view class="tags" >
<view class="row" v-if="obj.goods_tag&&obj.goods_tag.goods_tag_names&&obj.goods_tag.goods_tag_names.length>0">
<view class="item" :class="{'tag1': index % 2 != 0, 'tag2': index % 2 == 0}" v-for="(item,index) in obj.goods_tag.goods_tag_names" :key="index">{{item}}</view>
</view>
</view>
<view class="price-box row" v-if="obj.ladder_price.length>0">
<text class="price0">¥{{obj.ladder_price[0].price_cn||''}}</text>
<text class="price1" v-if="obj.ladder_price[1].price_cn">¥{{obj.ladder_price[1].price_cn}}</text>
<text class="qytag" v-if="obj.ladder_price[1].price_cn">企业价</text>
</view>
<view class="price-box row" v-else>
<text class="xunj">立即询价</text>
</view>
</view>
</view>
<view class="trg">
<view class="name elep2">海康机器人HIKROBOT工业面阵相机MV-CS023-10GM海康机器人HIKROBOT工业面阵相机MV-CS023-10GM</view>
<view class="tags row">
<view class="item tag1">{{obj.a}}</view>
<view class="item tag2">顺丰包邮</view>
</view>
<view class="price-box row">
<text class="price0">¥1,052.00</text>
<text class="price1">¥986.00</text>
<text class="qytag">企业价</text>
</view>
</view>
</navigator>
</template>
......@@ -43,11 +49,15 @@ export default {
</script>
<style scoped lang="scss">
::v-deep .f-red {
color: #D0121B;
}
.one-data-item{
border-bottom: 1rpx solid #D1D1D1;
padding:30rpx;
.imgbox{
position: relative;
margin-right:40rpx;
.ictag{
width: 74rpx;
height: 30rpx;
......@@ -62,7 +72,7 @@ export default {
width: 182rpx;
height: 182rpx;
border-radius: 20rpx;
margin-right:40rpx;
}
.trg{
.name{
......@@ -72,6 +82,7 @@ export default {
color: #000000;
line-height: 45rpx;
margin-bottom: 10rpx;
}
.tags{
min-height: 32rpx;
......@@ -94,6 +105,10 @@ export default {
}
.price-box{
height:42rpx;
.xunj{
color:#D0121B;
font-size: 24rpx;
}
.price0{
margin-right: 22rpx;
font-weight: 600;
......@@ -115,6 +130,8 @@ export default {
text-align: center;
margin-left: 10rpx;
font-size: 18rpx;
position: relative;
top:4rpx;
}
}
}
......
......@@ -80,14 +80,16 @@
<style scoped lang="scss">
.top-box {
padding: 21rpx 36rpx 21rpx 30rpx;
height:112rpx;
background: #f8f8f8;
.icon-arrowleft {
font-size: 35rpx;
color: #898989;
}
.search-box {
width: 545rpx;
margin-left: 5rpx;
width: 540rpx;
height: 70rpx;
background: #FFFFFF;
border-radius: 5rpx;
......
<template>
<view class="titsk-head row verCenter">
<text class="icon iconfont icon-arrowleft" @click="$goBack"></text>
<view>{{title}}</view>
</view>
</template>
<script>
export default {
name: 'title_nav',
props: {
title: {
type: String,
default: '爱智工业品'
}
},
created() {
},
data() {
return {
}
},
methods: {
}
};
</script>
<style scoped lang="scss">
.titsk-head{
background: #F6F6F6;
height:75rpx;
position: fixed;
top:175rpx;
/* #ifdef H5 */
top:90rpx;
/* #endif */
left:0rpx;
width:100%;
right:0rpx;
z-index: 3;
padding-left:35rpx;
font-size: 28rpx;
color: #000000;
.icon{
font-size: 35rpx;
color: #898989;
margin-right:225rpx;
}
}
</style>
\ No newline at end of file
import App from './App'
import { request } from '@/util/util.js'
import {
request
} from '@/util/util.js'
// #ifndef VUE3
import Vue from 'vue'
......@@ -7,53 +9,62 @@ import './uni.promisify.adaptor'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App
...App
})
app.$mount()
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue'
import {
createSSRApp
} from 'vue'
export function createApp() {
const app = createSSRApp(App)
//挂载全局方法
//回退逻辑
app.config.globalProperties.$goBack = () => {
const pages = getCurrentPages();
console.log(pages)
if (pages.length == 1) {
uni.navigateTo({
url: '/pages/index/index'
});
} else {
uni.navigateBack({
delta: 1
});
}
};
//request
app.config.globalProperties.request= request
var globalData = {
SEARCH_SUPPLIER_SINGLE: '',
};
//读取全局变量配置
// request(Ichunt_Api + '/api/common/data', 'GET', {}, true, true).then(res => {
// if (res.err_code === 0) {
// globalData.SEARCH_SUPPLIER_SINGLE = res.data.SEARCH_SUPPLIER_SINGLE;
// globalData.global_contact_us = res.data.global_contact_us;
// globalData.h5_home_activity_recommend = res.data.h5_home_activity_recommend;
// globalData.h5_home_hide_menu = res.data.h5_home_hide_menu;
// globalData.h5_home_hot_search_goods = res.data.h5_home_hot_search_goods;
// globalData.kfqq_xk = res.data.kfqq_xk.data;
// globalData.wx_sign = res.data.wx_sign;
// Vue.prototype.$globalData = globalData;
// }
// });
return {
app
}
const app = createSSRApp(App)
//挂载全局方法
//回退逻辑
app.config.globalProperties.$goBack = (obj_) => {
try{
if (obj_.url) {
uni.navigateTo({
url: obj_.url
});
return
}
}catch(e){}
const pages = getCurrentPages();
if (pages.length == 1) {
uni.navigateTo({
url: '/pages/index/index'
});
} else {
uni.navigateBack({
delta: 1
});
}
};
//request
app.config.globalProperties.request = request
var globalData = {
SEARCH_SUPPLIER_SINGLE: '',
};
//读取全局变量配置
// request(Ichunt_Api + '/api/common/data', 'GET', {}, true, true).then(res => {
// if (res.err_code === 0) {
// globalData.SEARCH_SUPPLIER_SINGLE = res.data.SEARCH_SUPPLIER_SINGLE;
// globalData.global_contact_us = res.data.global_contact_us;
// globalData.h5_home_activity_recommend = res.data.h5_home_activity_recommend;
// globalData.h5_home_hide_menu = res.data.h5_home_hide_menu;
// globalData.h5_home_hot_search_goods = res.data.h5_home_hot_search_goods;
// globalData.kfqq_xk = res.data.kfqq_xk.data;
// globalData.wx_sign = res.data.wx_sign;
// Vue.prototype.$globalData = globalData;
// }
// });
return {
app
}
}
// #endif
\ No newline at end of file
......@@ -5,6 +5,22 @@
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
"h5" : {
"devServer" : {
"port" : 8081,
"disableHostCheck" : true,
"proxy" : {
"/api" : {
"target" : "http://iedge.liexindev.net",
"changeOrigin" : true,
"secure" : true,
"pathRewrite" : {
"^/api" : ""
}
}
}
}
},
/* 5+App特有相关 */
"app-plus" : {
"usingComponents" : true,
......@@ -50,7 +66,7 @@
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : "",
"appid" : "wx7a51d33eab23fc7d",
"setting" : {
"urlCheck" : false
},
......
......@@ -8,18 +8,36 @@
"navigationBarTextStyle": "white"
}
},
{
"path": "pages/search/nav",
"style": {
"navigationBarTitleText": "爱智工业品平台"
}
},
{
"path": "pages/search/list",
"style": {
"navigationBarTitleText": "爱智工业品平台"
}
}
{"path": "pages/class/nav"},
{"path": "pages/class/list"},
{"path": "pages/search/nav"},
{"path": "pages/search/list"},
{"path": "pages/goods/detail"},
{"path": "pages/auth/login"},
{"path": "pages/auth/reg"},
{"path": "pages/auth/regSuccess"},
{"path": "pages/auth/forget"},
{"path": "pages/auth/findSuccess"},
{"path": "pages/auth/rule"},
{"path": "pages/car/list"},
{"path": "pages/car/confirmOrder"},
{"path": "pages/car/confirmQuote"},
{"path": "pages/car/confirmRule"},
{"path": "pages/user/userInfo"},
{"path": "pages/user/msgList"},
{"path": "pages/user/coupon"},
{"path": "pages/user/address"},
{"path": "pages/user/addressAdd"},
{"path": "pages/user/addressEdit"},
{"path": "pages/user/invoice"},
{"path": "pages/user/invoiceEdit"},
{"path": "pages/user/invoiceAdd"},
{"path": "pages/user/companyInfo"},
{"path": "pages/user/setting"},
{"path": "pages/user/orderList"},
{"path": "pages/user/orderDetail"},
{"path": "pages/user/orderPay"}
],
"globalStyle": {
"navigationBarTextStyle": "black",
......
<template>
<view class="findSuccessPage">
<barX />
<view class="close-box">
<text class="icon iconfont icon-close2" @click="$goBack({url:'/pages/auth/login'})"></text>
</view>
<view class="cons ">
<text class="icon iconfont icon-success" ></text>
<view>修改成功</view>
<text>您的新密码即时生效,请返回登录。</text>
</view>
<navigator url="/pages/auth/login" class="btn" >返回</navigator>
</view>
</template>
<script>
import barX from '@/components/barx.vue';
export default {
data() {
return {
}
},
onLoad: function() {
},
methods: {
},
components: {
barX
}
}
</script>
<style scoped lang="scss">
.findSuccessPage{
// background: linear-gradient( 180deg, #FFF2F2 0%, rgba(218,210,210,0) 100%);
height:calc(100vh - 175rpx);
.close-box{
padding-top: 45rpx;
padding-left:37rpx;
.icon{
font-size: 35rpx;
color:#898989;
}
}
.cons{
text-align: center;
margin-top:258rpx;
.iconfont{
color:#22c134;
font-size: 120rpx;
}
view{
margin-top:45rpx;
margin-bottom: 17rpx;
}
text{
font-size: 18rpx;
color: #808080;
}
}
.btn{
width: 630rpx;
height: 90rpx;
display: block;
margin:0 auto;
background: #D0121B;
border-radius: 5rpx;
font-size: 30rpx;
color: #FFFFFF;
line-height: 90rpx;
text-align: center;
margin-top:275rpx;
}
}
/* #ifdef H5 */
.findSuccessPage{
height:calc(100vh - 90rpx);
}
/* #endif */
</style>
\ No newline at end of file
<template>
<view class="forgetPage">
<barX />
<view class="close-box">
<text class="icon iconfont icon-close2" @click="$goBack"></text>
</view>
<view class="title">忘记密码</view>
<view class="cons" v-if="step==1">
<view class="input-box row verCenter">
<picker @change="bindPickerChange($event, 1)" :value="areaIndex" :range="areaArray" :range-key="'name'">
<text class="areabox-but">{{areaArray[areaIndex].value}}</text>
</picker>
<input type="text" v-model="mobile" @input="clearInput" placeholder="请输入手机号"
placeholder-class="placeholder-class" />
<text class="icon iconfont icon-searchclose" v-if="showClearIcon" @click="clearIcon()"></text>
</view>
<view class="btn-go onego" @click="stepNext()">下一步</view>
</view>
<view class="cons" v-if="step==2">
<view class="input-box row verCenter bothSide" v-if="isShowImgCode">
<input type="text" v-model="imgCode" placeholder="请输入图片验证码" placeholder-class="placeholder-class" />
<view class="img-code">
<image :src="imgCodeSrc" @click="getImgCode"></image>
</view>
</view>
<view class="input-box row verCenter bothSide">
<input type="text" v-model="code" placeholder="请输入验证码" placeholder-class="placeholder-class" />
<view class="code-btn" :class="{'dis':code_disabled}" @click="countdownChange">{{code_text}}</view>
</view>
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<input :type="passwordShow?'text':'password'" v-model="password" placeholder="请输入新密码"
placeholder-class="placeholder-class" />
</view>
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow}"
@click="passwordShow=!passwordShow"></text>
</view>
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<input :type="passwordShow1?'text':'password'" v-model="password1" placeholder="请确认新密码"
placeholder-class="placeholder-class" />
</view>
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow1}"
@click="passwordShow1=!passwordShow1"></text>
</view>
<view class="btn-go" @click="submit()">确定</view>
</view>
<uni-popup ref="popupareabox" type="bottom">
<view class="pop-areabox">
<view class="row bothSide">
<view class="cancel">取消</view>
<view class="cancel">确认</view>
</view>
</view>
</uni-popup>
</view>
</template>
<script>
import {
Api_Url
} from '@/util/api.js'
import {
startCountdown
} from '@/util/util.js'
import barX from '@/components/barx.vue';
export default {
data() {
return {
mobile: "",
code: "",
imgCode: "",
imgCodeSrc: "",
verify_rand_key: "",
isShowImgCode: false,
password: "",
password1: "",
passwordShow: false,
passwordShow1: false,
step: 1,
showClearIcon: false,
intl_code: "0086",
areaIndex: 0,
code_disabled: false,
code_text: '获取验证码',
areaArray: [{
name: "0086(中国大陆)",
value: '0086'
},
{
name: "00852(中国香港)",
value: '00852'
},
{
name: "00853(中国澳门)",
value: '00853'
},
{
name: "00886(中国台湾)",
value: '00886'
},
{
name: "0066(泰国)",
value: '0066'
},
{
name: "0084(越南)",
value: '0084'
}
],
}
},
onLoad: function() {
},
methods: {
submit() {
var reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
if ((!this.mobile) || ((this.intl_code == "0086") && !reg.test(this.mobile))) {
uni.showToast({
title: '请输正确的手机号',
icon: 'none'
});
return false;
}
if (!this.code) {
uni.showToast({
title: "请输入验证码",
icon: 'none'
});
return
}
if ((!this.password) || this.password.length < 6) {
uni.showToast({
title: "请输入密码,长度不小于6个字符",
icon: 'none'
});
return
}
if ((!this.password1) || this.password1.length < 6) {
uni.showToast({
title: "请确认密码,长度不小于6个字符",
icon: 'none'
});
return
}
if (this.password1 != this.password) {
uni.showToast({
title: "两次输入密码不一致",
icon: 'none'
});
return
}
let obj_ = {
intl_code: this.intl_code,
mobile: this.mobile,
password: this.password,
mobile_code: this.code
}
this.request(Api_Url + '/api/auth/resetPassword', 'POST', obj_, true).then(res => {
if (res.code == 0) {
uni.navigateTo({
url: '/pages/auth/findSuccess'
});
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
},
getImgCode() {
this.request(Api_Url + '/api/verifyCode/getVerifyCode', 'GET', {
mobile: this.mobile,
intl_code: this.intl_code,
verify_code: this.imgCode,
verify_rand_key: this.verify_rand_key
}, true, true).then(res => {
if (res.code == 0) {
this.imgCodeSrc = res.data.captcha
this.verify_rand_key = res.data.rand_key
this.isShowImgCode = true
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
},
/**
* 手机验证码
*/
countdownChange() {
if (this.code_disabled) {
return
}
var reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
if ((!this.mobile) || ((this.intl_code == "0086") && !reg.test(this.mobile))) {
uni.showToast({
title: '请输正确的手机号',
icon: 'none'
});
return false;
}
this.request(Api_Url + '/api/verifyCode/sendMobileVerifyCode', 'GET', {
mobile: this.mobile,
intl_code: this.intl_code,
verify_code: this.imgCode,
verify_rand_key: this.verify_rand_key
}, true, true).then(res => {
this.code_disabled = false;
this.code_text = `获取验证码`;
if (res.code === 0) {
const countdown = startCountdown({
duration: 60,
onTick: remainingTime => {
this.code_disabled = true;
this.code_text = `重新发送${remainingTime}S`;
},
onComplete: () => {
this.code_disabled = false;
this.code_text = `获取验证码`;
}
});
countdown.start();
} else if (res.code == 2) {
if (res.data.sms_need_verify) {
this.getImgCode()
}
uni.showToast({
title: res.msg,
icon: 'none'
});
} else {
this.code_disabled = false;
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
},
bindPickerChange: function(e, type) {
this.areaIndex = e.detail.value
this.intl_code = this.areaArray[e.detail.value].value
console.log(this.intl_code)
},
stepNext() {
var reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
if ((!this.mobile)||((this.intl_code == "0086") && !reg.test(this.mobile))) {
uni.showToast({
title: '请输正确的手机号',
icon: 'none'
});
return false;
}
this.request(Api_Url + '/api/auth/checkExist', 'POST', {
intl_code: this.intl_code,
mobile: this.mobile
}, true).then(res => {
if (res.code == 0) {
if (res.data.exist == 1) {
this.step = 2
}else{
uni.showToast({
title: "当前账号不存在,请先去注册",
icon: 'none'
});
}
}else{
uni.showToast({
title: "当前账号不存在,请先去注册",
icon: 'none'
});
}
});
},
clearInput: function(event) {
this.showClearIcon = this.mobile.length > 0 ? true : false;
},
clearIcon: function() {
this.mobile = ""
this.showClearIcon = false;
},
},
components: {
barX,
}
}
</script>
<style scoped lang="scss">
@import '../../assets/css/auth/forget.scss';
</style>
\ No newline at end of file
<template>
<view class="loginPage">
<barX />
<view class="close-box">
<text class="icon iconfont icon-close2" @click="$goBack"></text>
</view>
<view class="title">
<view>{{loginType?'短信验证码登录':'密码登录'}}</view>
<text>为了方便联系,请输入您的常用手机号码</text>
</view>
<view class="cons">
<view class="input-box row verCenter">
<picker v-if="loginType" @change="bindPickerChange($event, 1)" :value="areaIndex" :range="areaArray"
:range-key="'name'">
<text class="areabox-but">{{areaArray[areaIndex].value}}</text>
</picker>
<input type="text" v-model="mobile" @input="clearInput" :placeholder="loginType?'请输入手机号':'请输入账号'"
placeholder-class="placeholder-class" />
<text class="icon iconfont icon-searchclose" v-if="showClearIcon" @click="clearIcon()"></text>
</view>
<view class="input-box row verCenter bothSide" v-if="isShowImgCode">
<input type="text" v-model="imgCode" placeholder="请输入图片验证码" placeholder-class="placeholder-class" />
<view class="img-code">
<image :src="imgCodeSrc" @click="getImgCode"></image>
</view>
</view>
<view class="input-box row verCenter bothSide" v-if="loginType">
<input type="text" v-model="code" placeholder="请输入验证码" placeholder-class="placeholder-class" />
<view class="code-btn" :class="{'dis':code_disabled}" @click="countdownChange">{{code_text}}</view>
</view>
<view class="input-box row verCenter bothSide" v-if="!loginType">
<input :type="passwordShow?'text':'password'" v-model="password" placeholder="请输入密码"
placeholder-class="placeholder-class" />
<view class="row verCenter">
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow}"
@click="passwordShow=!passwordShow"></text>
<navigator url="/pages/auth/forget" class="link-forget">忘记密码</navigator>
</view>
</view>
<view class="rule row verCenter">
<text class="icon iconfont icon-checked1" :class="{'icon-checked':isTest}"
@click="isTest=!isTest"></text>
<text @click="isTest=!isTest">我已阅读并同意</text>
<navigator url="/pages/auth/rule?id=1" class="link">《爱智网站服务协议》</navigator>
<text></text>
<navigator url="/pages/auth/rule?id=2" class="link">《爱智隐私政策》</navigator>
</view>
<view class="login-btn" @click="submit">登录</view>
<view class="self">爱智不会在任何地方泄露您的信息</view>
<view class="link-box row verCenter rowCenter">
<text @click="loginType=!loginType">{{loginType?'密码登录':'短信验证码登录'}}</text>
<navigator url="/pages/auth/reg" class="link">免费注册</navigator>
</view>
<view class="other-login">
<text>第三方登录</text>
<image src="https://img.ichunt.com/images/ichunt/202502/14/3ca7aa229a8b3852d5b0428c97188a24.png">
</image>
</view>
</view>
</view>
</template>
<script>
import {Api_Url} from '@/util/api.js'
import {startCountdown} from '@/util/util.js'
import barX from '@/components/barx.vue';
export default {
data() {
return {
referer:"",//会跳地址
loginType: true,
isTest: false,
mobile: "",
code: "",
imgCode: "",
imgCodeSrc: "",
verify_rand_key: "",
isShowImgCode: false,
password: "",
passwordShow: false,
showClearIcon: false,
intl_code: "0086",
areaIndex: 0,
code_disabled: false,
code_text: '获取验证码',
areaArray: [{
name: "0086(中国大陆)",
value: '0086'
},
{
name: "00852(中国香港)",
value: '00852'
},
{
name: "00853(中国澳门)",
value: '00853'
},
{
name: "00886(中国台湾)",
value: '00886'
},
{
name: "0066(泰国)",
value: '0066'
},
{
name: "0084(越南)",
value: '0084'
}
],
}
},
watch:{
loginType(val,newVal){
this.imgCode = ""
this.verify_rand_key = ""
this.isShowImgCode=false
this.imgCodeSrc=""
}
},
onLoad: function(option) {
this.referer=option.referer||""
console.log(this.loginType,this.isShowImgCode)
},
methods: {
bindPickerChange: function(e, type) {
this.areaIndex = e.detail.value
this.intl_code = this.areaArray[e.detail.value].value
console.log(this.intl_code)
},
loginSuccess(res){
uni.showToast({
title: '登录成功',
icon: 'success'
});
uni.setStorageSync('token', res.data.token);
uni.setStorageSync('user_info', JSON.stringify(res.data.user_info));
setTimeout(()=>{
console.log(this.referer)
uni.reLaunch({
url:this.referer?decodeURIComponent(this.referer):"/pages/index/index"
})
},2000)
},
submit(){
if(!this.isTest){
uni.showToast({
title: '请勾选爱智网服务协议和隐私政策',
icon: 'none'
});
return
}
if(this.loginType){
var reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
if ((!this.mobile) || ((this.intl_code=="0086")&&!reg.test(this.mobile))) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none'
});
return false;
}
if(!this.code){
uni.showToast({
title:"请输入验证码",
icon: 'none'
});
return
}
//短信
this.request(Api_Url + '/api/auth/loginByMobileVerifyCode', 'POST', {
mobile: this.mobile,
intl_code: this.intl_code,
mobile_code: this.code,
}, true).then(res => {
if (res.code == 0) {
this.loginSuccess(res)
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
}else{
//账号密码
if (!this.mobile) {
uni.showToast({
title: '请输入账号',
icon: 'none'
});
return false;
}
if(!this.password){
uni.showToast({
title:"请输入密码",
icon: 'none'
});
return
}
let obj_ = {
password: this.password,
verify_code:this.imgCode,
verify_rand_key: this.verify_rand_key
}
if(this.mobile.indexOf("@") != -1){
obj_.email=this.mobile
}else{
obj_.mobile=this.mobile
obj_.intl_code="0086"
}
this.request(Api_Url + '/api/auth/login', 'POST', obj_, true).then(res => {
if (res.code == 0) {
this.loginSuccess(res)
} else if (res.code == 2) {
if (res.data.login_need_verify) {
this.getImgCode()
}
uni.showToast({
title: res.msg,
icon: 'none'
});
}else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
}
},
getImgCode() {
this.request(Api_Url + '/api/verifyCode/getVerifyCode', 'GET', {
mobile: this.mobile,
intl_code: this.intl_code,
verify_code: this.imgCode,
verify_rand_key: this.verify_rand_key
}, true, true).then(res => {
if (res.code == 0) {
this.imgCodeSrc = res.data.captcha
this.verify_rand_key = res.data.rand_key
this.isShowImgCode = true
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
},
/**
* 手机验证码
*/
countdownChange() {
if (this.code_disabled) {
return
}
var reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
if ((!this.mobile) || ((this.intl_code=="0086")&&!reg.test(this.mobile))) {
uni.showToast({
title: '请输正确的手机号',
icon: 'none'
});
return false;
}
this.request(Api_Url + '/api/verifyCode/sendMobileVerifyCode', 'GET', {
mobile: this.mobile,
intl_code: this.intl_code,
verify_code: this.imgCode,
verify_rand_key: this.verify_rand_key
}, true, true).then(res => {
this.code_disabled = false;
this.code_text = `获取验证码`;
if (res.code === 0) {
const countdown = startCountdown({
duration: 60,
onTick: remainingTime => {
this.code_disabled = true;
this.code_text = `重新发送${remainingTime}S`;
},
onComplete: () => {
this.code_disabled = false;
this.code_text = `获取验证码`;
}
});
countdown.start();
} else if (res.code == 2) {
if (res.data.sms_need_verify) {
this.getImgCode()
}
uni.showToast({
title: res.msg,
icon: 'none'
});
} else {
this.code_disabled = false;
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
},
clearInput: function(event) {
this.imgCode = ""
this.verify_rand_key = ""
this.showClearIcon = this.mobile.length > 0 ? true : false;
},
clearIcon: function() {
this.mobile = ""
this.showClearIcon = false;
},
},
components: {
barX,
}
}
</script>
<style scoped lang="scss">
@import '../../assets/css/auth/login.scss';
</style>
\ No newline at end of file
<template>
<view class="regPage">
<barX />
<view class="close-box">
<text class="icon iconfont icon-close2" @click="$goBack"></text>
</view>
<image src="/static/images/logored.png" class="logos"></image>
<view class="cons">
<view class="input-box row verCenter">
<text class="icon iconfont icon-mobile ics"></text>
<picker @change="bindPickerChange($event, 1)" :value="areaIndex" :range="areaArray" :range-key="'name'">
<text class="areabox-but">{{areaArray[areaIndex].value}}</text>
</picker>
<input type="text" v-model="mobile" @blur="checkIsReg" @input="clearInput" placeholder="请输入手机号"
placeholder-class="placeholder-class" />
<text class="icon iconfont icon-searchclose" v-if="showClearIcon" @click="clearIcon()"></text>
</view>
<view class="input-box row verCenter bothSide" v-if="isShowImgCode">
<input type="text" v-model="imgCode" placeholder="请输入图片验证码" placeholder-class="placeholder-class" />
<view class="img-code">
<image :src="imgCodeSrc" @click="getImgCode"></image>
</view>
</view>
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<text class="icon iconfont icon-code ics"></text>
<input type="text" v-model="code" placeholder="请输入验证码" placeholder-class="placeholder-class" />
</view>
<view class="code-btn" :class="{'dis':code_disabled}" @click="countdownChange">{{code_text}}</view>
</view>
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<text class="icon iconfont icon-password ics"></text>
<input :type="passwordShow?'text':'password'" v-model="password" placeholder="请设置登录密码(6-20个字符)"
placeholder-class="placeholder-class" />
</view>
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow}"
@click="passwordShow=!passwordShow"></text>
</view>
<view class="input-box row verCenter bothSide">
<view class="row verCenter">
<text class="icon iconfont icon-password ics"></text>
<input :type="passwordShow1?'text':'password'" v-model="password1" placeholder="确认登录密码(6-20个字符)"
placeholder-class="placeholder-class" />
</view>
<text class="icon iconfont icon-see2" :class="{'icon-see1':!passwordShow1}"
@click="passwordShow1=!passwordShow1"></text>
</view>
<view class="rule row verCenter">
<text class="icon iconfont icon-checked1" :class="{'icon-checked':isTest}"
@click="isTest=!isTest"></text>
<text @click="isTest=!isTest">我已阅读并同意</text>
<navigator url="/pages/auth/rule?id=1" class="link">《爱智网站服务协议》</navigator>
<text></text>
<navigator url="/pages/auth/rule?id=2" class="link">《爱智隐私政策》</navigator>
</view>
<view class="reg-btn" @click="submit">注册</view>
<view class="self">爱智不会在任何地方泄露您的信息</view>
<view class="go-login">
<navigator url="/pages/auth/login">已有账号,去登录<text class="icon iconfont icon-arrow2"></text></navigator>
</view>
</view>
</view>
</template>
<script>
import {
Api_Url
} from '@/util/api.js'
import {
startCountdown
} from '@/util/util.js'
import barX from '@/components/barx.vue';
export default {
data() {
return {
isTest: false,
mobile: "",
code: "",
imgCode: "",
imgCodeSrc: "",
verify_rand_key: "",
isShowImgCode: false,
password: "",
password1: "",
passwordShow: false,
passwordShow1: false,
showClearIcon: false,
intl_code: "0086",
areaIndex: 0,
code_disabled: false,
code_text: '获取验证码',
areaArray: [{
name: "0086(中国大陆)",
value: '0086'
},
{
name: "00852(中国香港)",
value: '00852'
},
{
name: "00853(中国澳门)",
value: '00853'
},
{
name: "00886(中国台湾)",
value: '00886'
},
{
name: "0066(泰国)",
value: '0066'
},
{
name: "0084(越南)",
value: '0084'
}
],
}
},
onLoad: function() {
},
methods: {
checkIsReg() {
var reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
if ((this.intl_code == "0086") && !reg.test(this.mobile)) {
uni.showToast({
title: '请输正确的手机号',
icon: 'none'
});
return false;
}
if (this.mobile) {
this.request(Api_Url + '/api/auth/checkExist', 'POST', {
intl_code: this.intl_code,
mobile: this.mobile
}, false).then(res => {
if (res.code == 0) {
if (res.data.exist == 1) {
uni.showToast({
title: '账号已存在,您可以直接登录或找回密码',
icon: 'none'
});
}
}
});
}
},
loginSuccess(res){
uni.setStorageSync('token', res.data.token);
uni.setStorageSync('user_info', JSON.stringify(res.data.user_info));
},
submit() {
var reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
if ((!this.mobile) || ((this.intl_code == "0086") && !reg.test(this.mobile))) {
uni.showToast({
title: '请输正确的手机号',
icon: 'none'
});
return false;
}
if (!this.code) {
uni.showToast({
title: "请输入验证码",
icon: 'none'
});
return
}
if ((!this.password) || this.password.length < 6) {
uni.showToast({
title: "请输入密码,长度不小于6个字符",
icon: 'none'
});
return
}
if ((!this.password1) || this.password1.length < 6) {
uni.showToast({
title: "请确认密码,长度不小于6个字符",
icon: 'none'
});
return
}
if (this.password1 != this.password) {
uni.showToast({
title: "两次输入密码不一致",
icon: 'none'
});
return
}
if (!this.isTest) {
uni.showToast({
title: '请勾选爱智网服务协议和隐私政策',
icon: 'none'
});
return
}
let obj_ = {
intl_code: this.intl_code,
mobile: this.mobile,
password: this.password,
mobile_code: this.code
}
this.request(Api_Url + '/api/auth/register', 'POST', obj_, true).then(res => {
if (res.code == 0) {
this.loginSuccess(res)
uni.navigateTo({
url: '/pages/auth/regSuccess'
});
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
},
getImgCode() {
this.request(Api_Url + '/api/verifyCode/getVerifyCode', 'GET', {
mobile: this.mobile,
intl_code: this.intl_code,
verify_code: this.imgCode,
verify_rand_key: this.verify_rand_key
}, true, true).then(res => {
if (res.code == 0) {
this.imgCodeSrc = res.data.captcha
this.verify_rand_key = res.data.rand_key
this.isShowImgCode = true
} else {
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
},
/**
* 手机验证码
*/
countdownChange() {
if (this.code_disabled) {
return
}
var reg = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;
if ((!this.mobile) || ((this.intl_code == "0086") && !reg.test(this.mobile))) {
uni.showToast({
title: '请输正确的手机号',
icon: 'none'
});
return false;
}
this.request(Api_Url + '/api/verifyCode/sendMobileVerifyCode', 'GET', {
mobile: this.mobile,
intl_code: this.intl_code,
verify_code: this.imgCode,
verify_rand_key: this.verify_rand_key
}, true, true).then(res => {
this.code_disabled = false;
this.code_text = `获取验证码`;
if (res.code === 0) {
const countdown = startCountdown({
duration: 60,
onTick: remainingTime => {
this.code_disabled = true;
this.code_text = `重新发送${remainingTime}S`;
},
onComplete: () => {
this.code_disabled = false;
this.code_text = `获取验证码`;
}
});
countdown.start();
} else if (res.code == 2) {
if (res.data.sms_need_verify) {
this.getImgCode()
}
uni.showToast({
title: res.msg,
icon: 'none'
});
} else {
this.code_disabled = false;
uni.showToast({
title: res.msg,
icon: 'none'
});
}
});
},
bindPickerChange: function(e, type) {
this.areaIndex = e.detail.value
this.intl_code = this.areaArray[e.detail.value].value
console.log(this.intl_code)
},
clearInput: function(event) {
this.showClearIcon = this.mobile.length > 0 ? true : false;
},
clearIcon: function() {
this.mobile = ""
this.showClearIcon = false;
},
},
components: {
barX
}
}
</script>
<style scoped lang="scss">
@import '../../assets/css/auth/reg.scss';
</style>
\ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment