unknown 7 months ago
parent
commit
7971a93527
  1. 38
      manifest.json
  2. 2
      pages/indexEntry/consult/record/record.vue
  3. 1
      pages/indexEntry/enroll/registInfo/chooseCoach/chooseCoach.vue
  4. 12
      pages/indexEntry/enroll/registInfo/comp/comfigPopup.vue
  5. 23
      pages/indexEntry/enroll/registInfo/registInfo.vue
  6. 6
      pages/indexEntry/findShcool/coachComment/coachInfo.vue
  7. 6
      pages/indexEntry/findShcool/searchShcool/searchShcool.vue
  8. 4
      pages/tabbar/index/index.vue
  9. 32
      pages/tabbar/learnCar/index.vue
  10. 3
      pages/tabbar/mine/index.vue
  11. 227
      pages/userCenter/login/login - 副本.vue
  12. 303
      pages/userCenter/login/login.vue
  13. BIN
      static/images/icon/箭头 拷贝 2(1).png
  14. BIN
      static/images/icon/箭头(1).png
  15. BIN
      static/images/mineIcon/二维码.png
  16. 0
      static/images/tabbar/byd.png

38
manifest.json

@ -18,27 +18,29 @@
}, },
/* */ /* */
"modules" : { "modules" : {
"Share" : {}
"Share" : {},
"Geolocation" : {}
}, },
/* */ /* */
"distribute" : { "distribute" : {
/* android */ /* android */
"android" : { "android" : {
"permissions" : [ "permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>", "<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
] ]
}, },
@ -54,7 +56,23 @@
"UniversalLinks" : "" "UniversalLinks" : ""
} }
}, },
"ad" : {}
"ad" : {},
"maps" : {
"amap" : {
"appkey_ios" : "",
"appkey_android" : ""
}
},
"geolocation" : {
"system" : {
"__platform__" : [ "ios", "android" ]
},
"amap" : {
"__platform__" : [ "ios", "android" ],
"appkey_ios" : "",
"appkey_android" : ""
}
}
} }
} }
}, },

2
pages/indexEntry/consult/record/record.vue

@ -142,7 +142,7 @@
} }
.recordTotal { .recordTotal {
font-size: 24rpx; font-size: 24rpx;
padding: 0rpx 0 28rpx 0;
padding: 28rpx 0 28rpx 0;
text-align: right; text-align: right;
} }
</style> </style>

1
pages/indexEntry/enroll/registInfo/chooseCoach/chooseCoach.vue

@ -36,6 +36,7 @@
}, },
onLoad(options) { onLoad(options) {
this.params.schoolId = options.schoolId this.params.schoolId = options.schoolId
this.params.teachCarType = options.trainType
this.coachPageFn() this.coachPageFn()
}, },

12
pages/indexEntry/enroll/registInfo/comp/comfigPopup.vue

@ -24,20 +24,12 @@
</view> </view>
<view class="li"> <view class="li">
<view class="lab">是否异地转入</view> <view class="lab">是否异地转入</view>
<view class="val">暂时没对接</view>
<view class="val">{{ info.transfer==1? '是': '否'}}</view>
</view> </view>
<view class="li"> <view class="li">
<view class="lab">合计</view>
<view class="lab">学费</view>
<view class="val">{{ $u.utils.priceTo(info.totalAmount) }}</view> <view class="val">{{ $u.utils.priceTo(info.totalAmount) }}</view>
</view> </view>
<view class="li">
<view class="lab">支付形式</view>
<view class="val">{{ info.payType==1?'全款':'预付款'}}</view>
</view>
<view class="li">
<view class="lab">待支付金额</view>
<view class="val">xxx</view>
</view>
</view> </view>
<view class="btn_row"> <view class="btn_row">
<view class="btn" @click="comfigClick(0)">返回修改</view> <view class="btn" @click="comfigClick(0)">返回修改</view>

23
pages/indexEntry/enroll/registInfo/registInfo.vue

@ -193,22 +193,12 @@
<view class="lab">学费</view> <view class="lab">学费</view>
<view class="rightCon"> <view class="rightCon">
<view class="row"> <view class="row">
<view class="val">{{ $u.utils.priceTo(form.totalAmount) }}</view>
<view class="val blue">{{ $u.utils.priceTo(form.totalAmount) }}</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="card">
<view class="row">
<view class="lab">待支付金额</view>
<view class="rightCon">
<view class="row">
<view class="val blue">100</view>
</view>
</view>
</view>
</view>
<view class="btnBg" @click="confirmClick">确认</view> <view class="btnBg" @click="confirmClick">确认</view>
</view> </view>
<u-popup :show="showPopup" mode="center" :round="8" > <u-popup :show="showPopup" mode="center" :round="8" >
@ -272,6 +262,7 @@
coach: '', coach: '',
cardType: 1, cardType: 1,
idcard: '', idcard: '',
trainType: '',//
nationality: '中国', nationality: '中国',
certificateCodeShow: '原驾驶证号xxx', certificateCodeShow: '原驾驶证号xxx',
driveLicence: '',// driveLicence: '',//
@ -334,6 +325,7 @@
this.form.coachId = schoolCoach.id this.form.coachId = schoolCoach.id
this.form.school = schoolCoach.schoolName this.form.school = schoolCoach.schoolName
this.form.schoolId = schoolCoach.schoolId this.form.schoolId = schoolCoach.schoolId
this.form.trainType = schoolCoach.teachCarType.slice(0,2)
} }
if(this.form.schoolId) { if(this.form.schoolId) {
this.getSchoolDetailFn() this.getSchoolDetailFn()
@ -490,6 +482,8 @@
console.log(item) console.log(item)
this.showCar = false this.showCar = false
this.form.trainType = item this.form.trainType = item
this.form.coach = ''
this.form.coachId = ''
}, },
showCarClick() { showCarClick() {
if(!this.form.school) return this.$u.toast('请先选择驾校') if(!this.form.school) return this.$u.toast('请先选择驾校')
@ -498,7 +492,8 @@
// //
goCoach() { goCoach() {
if(!this.form.schoolId) return this.$u.toast('请先选择驾校') if(!this.form.schoolId) return this.$u.toast('请先选择驾校')
this.$goPage('/pages/indexEntry/enroll/registInfo/chooseCoach/chooseCoach?schoolId=' + this.form.schoolId)
if(!this.form.trainType) return this.$u.toast('请先选择车型')
this.$goPage('/pages/indexEntry/enroll/registInfo/chooseCoach/chooseCoach?schoolId=' + this.form.schoolId+ '&trainType='+ this.form.trainType)
}, },
// //
confirmFirstLicenceTime(val) { confirmFirstLicenceTime(val) {
@ -554,12 +549,16 @@
}, },
// //
confirmClick() { confirmClick() {
if(!this.form.schoolId) return this.$u.toast('请选择驾校')
if(!this.form.trainType) return this.$u.toast('请选择车型')
if(!this.form.schoolClassId) return this.$u.toast('请选择班型')
this.showPopup = true this.showPopup = true
}, },
async comfigClick(val) { async comfigClick(val) {
console.log(val) console.log(val)
this.showPopup = false this.showPopup = false
if(!val) return false
const {data: res} = await applyOnline(this.form) const {data: res} = await applyOnline(this.form)
// //
console.log(res) console.log(res)

6
pages/indexEntry/findShcool/coachComment/coachInfo.vue

@ -30,9 +30,9 @@
// 使 // 使
return imageExtensions.test(path); return imageExtensions.test(path);
}, },
async goSign(item) {
this.$store.commit('upDateSchoolCoach', {})
this.$store.commit('upDateSchoolClass', item)
async goSign() {
this.$store.commit('upDateSchoolCoach', this.item)
this.$store.commit('upDateSchoolClass', {})
this.$u.utils.clickSignUp() this.$u.utils.clickSignUp()
} }
}, },

6
pages/indexEntry/findShcool/searchShcool/searchShcool.vue

@ -9,7 +9,7 @@
</view> </view>
<view class="pad"> <view class="pad">
<view class="ul"> <view class="ul">
<view class="li" v-for="(item,index) in listData" :key="index" >
<view class="card" v-for="(item,index) in listData" :key="index" >
<schoolItme :item="item" @click.native="goPage(item)"/> <schoolItme :item="item" @click.native="goPage(item)"/>
</view> </view>
</view> </view>
@ -151,8 +151,8 @@
.ul { .ul {
width: 100%; width: 100%;
padding-top: 20rpx; padding-top: 20rpx;
.li {
.card {
padding: 0 20rpx;
} }
} }

4
pages/tabbar/index/index.vue

@ -66,7 +66,7 @@
<view class="coachCon"> <view class="coachCon">
<view class="h1_row"> <view class="h1_row">
<view class="h1" ><text class="active">推荐教练</text></view> <view class="h1" ><text class="active">推荐教练</text></view>
<moreRight text="查看全部"/>
<moreRight text="查看全部" @click.native="$goPage('/pages/indexEntry/findCoach/findCoach')"/>
</view> </view>
<scroll-view style="width: 100%;" scroll-x="true" scroll-with-animation > <scroll-view style="width: 100%;" scroll-x="true" scroll-with-animation >
@ -308,6 +308,8 @@
}, },
async entrySectionClick(item) { async entrySectionClick(item) {
if(item.text=='学车报名') { if(item.text=='学车报名') {
this.$store.commit('upDateSchoolCoach', {})
this.$store.commit('upDateSchoolClass', {})
return this.$u.utils.clickSignUp() return this.$u.utils.clickSignUp()
} }
this.$goPage(item.url) this.$goPage(item.url)

32
pages/tabbar/learnCar/index.vue

@ -16,6 +16,38 @@
return { return {
} }
},
onShow() {
this.getProviderFn()
},
methods: {
getProviderFn() {
// uni.getProvider({
// serviceType: 'location',
// success(res) {
// // res.providerList
// if (res.providerList && res.providerList[0] === 'gps') {
// // GPS
// // startRealLocation();
// } else {
// console.log('');
// }
// },
// fail(err) {
// console.error('', err);
// }
// });
uni.startGPS({
success(res) {
console.log('已成功开始获取真实的物理位置');
getUserPosition();
},
fail(err) {
console.error('开始获取真实的物理位置失败', err);
}
});
}
} }
} }
</script> </script>

3
pages/tabbar/mine/index.vue

@ -81,6 +81,9 @@
}, },
goPage(item) { goPage(item) {
if(item.name!='关于我们') { if(item.name!='关于我们') {
if(this.vuex_userInfo.applyStep>2&&this.vuex_userInfo.applyStep<6) {
return this.$goPage('/pages/mineEntry/myForecastName/myForecastName')
}
if(this.vuex_userInfo.applyStep!=6) { if(this.vuex_userInfo.applyStep!=6) {
return this.$u.toast('您还未报名驾校') return this.$u.toast('您还未报名驾校')
} }

227
pages/userCenter/login/login - 副本.vue

@ -0,0 +1,227 @@
<template>
<view class="main" :style="{ background: `url(${imgUrl}) no-repeat`, backgroundSize: backgroundSize }">
<view class="h1Img">
<image src="../../../static/images/userCenter/loginTitle.png" mode=""></image>
</view>
<view class="btnCon">
<!-- #ifdef MP-WEIXIN -->
<view class="btn" @click="getPhoneNumber">手机号快捷登录 <button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="hide" v-if="isCheck">手机号</button> </view>
<!-- #endif -->
<view class="btn border" @click="$goPage('/pages/userCenter/login/loginByPhone?isCheck='+isCheck);">手机号登录/注册</view>
</view>
<view style="margin-top: 40rpx;">
<privacyRadion :isCheck="isCheck" @changeRadio="changeRadio"></privacyRadion>
</view>
<!-- <u-popup :show="show" :round="10" mode="center" >
<view class="">
<view class="popupCon">
<view class="h1"> </view>
<view class="msg">授权手机号我们才能继续为您 <br>提供服务哦~</view>
<view class="oneBtn">我知道了</view>
</view>
</view>
</u-popup> -->
</view>
</template>
<script>
import { imgUrl } from '@/config/site.config'
import privacyRadion from './comp/privacyRadion.vue'
import { weixinLogin } from '@/config/api.js'
export default {
components: {privacyRadion},
data() {
return {
isCheck: false,
show: false,
imgUrl: imgUrl+'loginTopBg.png',
backgroundSize: '100% 360rpx',
}
},
onLoad() {
// uni.getLocation({
// type: 'wgs84',
// success: function (res) {
// console.log(res)
// console.log('' + res.longitude);
// console.log('' + res.latitude);
// }
// });
},
methods: {
async getPhoneNumber (e) {
if(!this.isCheck) return this.$u.toast('请勾选产品协议与隐私政策');
let phoneCode = e.detail.code
console.log(e.detail.errMsg) //
console.log(e.detail) //
const loginCode = await this.loginFn()
if(!loginCode||!phoneCode) return
console.log('登录验证码')
console.log(loginCode)
let obj = {
phoneCode,
loginCode
}
const {data: res} = await weixinLogin(obj)
this.$store.commit('update_vuex_loginInfo',res)
this.$store.dispatch('getUserInfo')
// this.$goPage('/pages/userCenter/login/face')
uni.switchTab({
url: '/pages/tabbar/index/index'
})
},
loginFn() {
//
return new Promise((resolve,reject)=>{
uni.login({
provider: 'weixin',
success: loginRes => {
if (loginRes.code) {
//
console.log('loginRes.code')
console.log(loginRes.code)
resolve(loginRes.code)
// this.getUserInfo(loginRes.code);
} else {
console.error('微信登录失败');
}
},
fail: err => {
reject(null)
console.error('微信登录失败', err);
}
});
})
},
getUserInfo(code) {
//
uni.getUserInfo({
provider: 'weixin',
success: userInfoRes => {
//
console.log('用户信息', userInfoRes);
// code
this.loginBackend(code, userInfoRes);
},
fail: err => {
console.error('获取用户信息失败', err);
}
});
},
loginBackend(code, userInfo) {
// code
// 使 uni.request HTTP
},
//
changeRadio(val) {
this.isCheck = val
},
init() {
uni.login({
provider: 'weixin',
"onlyAuthorize": true,
success: function (loginRes) {
console.log('11')
console.log(loginRes)
//
uni.getUserInfo({
provider: 'weixin',
success: function(info) {
// , info.authResult
console.log('11')
console.log(info)
}
})
},
fail: function (err) {
//
// err.code
}
});
},
}
}
</script>
<style lang="scss" scoped>
.main {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
// background: url('../../../static/images/userCenter/loginTopBg.png') no-repeat;
// background-size: 100% 360rpx;
.h1Img {
width: 658rpx;
height: 94rpx;
margin: 288rpx 0 120rpx 0;
}
.btnCon {
.btn {
width: 396rpx;
height: 72rpx;
background: #1989FA;
border-radius: 8rpx;
color: #fff;
margin-bottom: 32rpx;
text-align: center;
line-height: 72rpx;
font-size: 28rpx;
position: relative;
overflow: hidden;
.hide {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: inline-block;
opacity: 0;
}
&.border {
background: rgba(25,137,250,0.1);
border: 2rpx solid #1989FA;
color: $themC;
}
}
}
}
.popupCon {
width: 558rpx;
height: 344rpx;
border-radius: 16rpx;
overflow: hidden;
.h1 {
line-height: 124rpx;
text-align: center;
font-size: 36rpx;
font-weight: 600;
height: 124rpx;
width: 100%;
background: linear-gradient(180deg, #C1DFFE 0%, #FFFFFF 100%);
}
.msg {
font-size: 28rpx;
color: #686B73;
padding: 0 0 30rpx 0;
text-align: center;
}
.oneBtn {
line-height: 112rpx;
height: 112rpx;
border-top: 1px solid #E8E9EC;
text-align: center;
font-size: 36rpx;
color: $themC;
font-weight: 600;
}
}
</style>

303
pages/userCenter/login/login.vue

@ -1,227 +1,192 @@
<template> <template>
<view class="main" :style="{ background: `url(${imgUrl}) no-repeat`, backgroundSize: backgroundSize }"> <view class="main" :style="{ background: `url(${imgUrl}) no-repeat`, backgroundSize: backgroundSize }">
<view class="h1Img">
<image src="../../../static/images/userCenter/loginTitle.png" mode=""></image>
<!-- <view class="u-back-top">
<view class="backBox">
<u-icon name="arrow-left" color="#333" size="28"></u-icon>
</view> </view>
<view class="btnCon">
<!-- #ifdef MP-WEIXIN -->
<view class="btn" @click="getPhoneNumber">手机号快捷登录 <button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" class="hide" v-if="isCheck">手机号</button> </view>
<!-- #endif -->
<view class="btn border" @click="$goPage('/pages/userCenter/login/loginByPhone?isCheck='+isCheck);">手机号登录/注册</view>
</view> -->
<u-navbar title=" " :bgColor="bgColor" :autoBack="true"></u-navbar>
<view class="title">短信验证码登录</view>
<view class="form">
<view class="form-item">
<view class="prefix">
<view class="jia">+</view>
<view class="num">86</view>
<view class="" style="margin: 0 32rpx 0 12rpx;">
<u-icon name="arrow-down" color="#333" size="16" ></u-icon>
</view> </view>
</view>
<view class="inputBox my">
<u--input placeholder="请输入手机号" border="none" clearable type="number" maxlength="11" v-model="FormData.phone"></u--input>
</view>
</view>
<view class="form-item">
<view class="inputBox my">
<u--input placeholder="请输入验证码" border="none" clearable style="height: 100%;" :clearable="false" v-model="FormData.code"></u--input>
</view>
<view class="code" @click='goSms' :class="{active: isPhone&&!codeOn}">{{codeText}}</view>
</view>
<view class="loginBtn" :class="{active: btnHighlight}" @click="submitFn"> </view>
<view style="margin-top: 40rpx;"> <view style="margin-top: 40rpx;">
<privacyRadion :isCheck="isCheck" @changeRadio="changeRadio"></privacyRadion> <privacyRadion :isCheck="isCheck" @changeRadio="changeRadio"></privacyRadion>
</view> </view>
<!-- <u-popup :show="show" :round="10" mode="center" >
<view class="">
<view class="popupCon">
<view class="h1"> </view>
<view class="msg">授权手机号我们才能继续为您 <br>提供服务哦~</view>
<view class="oneBtn">我知道了</view>
</view>
<!-- <button @click="$goPage('/pages/userCenter/login/face')">进入人脸识别</button> -->
</view> </view>
</u-popup> -->
</view> </view>
</template> </template>
<script> <script>
import { imgUrl } from '@/config/site.config'
import { getLoginCode, loginSMS } from '@/config/api.js'
import privacyRadion from './comp/privacyRadion.vue' import privacyRadion from './comp/privacyRadion.vue'
import { weixinLogin } from '@/config/api.js'
import { imgUrl } from '@/config/site.config'
export default { export default {
components: {privacyRadion}, components: {privacyRadion},
data() { data() {
return { return {
isCheck: false,
show: false,
imgUrl: imgUrl+'loginTopBg.png', imgUrl: imgUrl+'loginTopBg.png',
backgroundSize: '100% 360rpx', backgroundSize: '100% 360rpx',
isCheck:false,
codeText: '获取验证码',
FormData: {},
codeOn: false,
bgColor: 'transparent'
} }
}, },
onLoad() {
// uni.getLocation({
// type: 'wgs84',
// success: function (res) {
// console.log(res)
// console.log('' + res.longitude);
// console.log('' + res.latitude);
// }
// });
},
methods: {
async getPhoneNumber (e) {
if(!this.isCheck) return this.$u.toast('请勾选产品协议与隐私政策');
let phoneCode = e.detail.code
console.log(e.detail.errMsg) //
console.log(e.detail) //
const loginCode = await this.loginFn()
if(!loginCode||!phoneCode) return
console.log('登录验证码')
console.log(loginCode)
let obj = {
phoneCode,
loginCode
}
const {data: res} = await weixinLogin(obj)
this.$store.commit('update_vuex_loginInfo',res)
this.$store.dispatch('getUserInfo')
// this.$goPage('/pages/userCenter/login/face')
uni.switchTab({
url: '/pages/tabbar/index/index'
})
},
loginFn() {
//
return new Promise((resolve,reject)=>{
uni.login({
provider: 'weixin',
success: loginRes => {
if (loginRes.code) {
//
console.log('loginRes.code')
console.log(loginRes.code)
resolve(loginRes.code)
// this.getUserInfo(loginRes.code);
} else {
console.error('微信登录失败');
}
},
fail: err => {
reject(null)
console.error('微信登录失败', err);
}
});
})
onLoad(options) {
this.isCheck = options.isCheck=='true'?true:false
}, },
getUserInfo(code) {
//
uni.getUserInfo({
provider: 'weixin',
success: userInfoRes => {
//
console.log('用户信息', userInfoRes);
// code
this.loginBackend(code, userInfoRes);
computed: {
isPhone() {
return uni.$u.test.mobile(this.FormData.phone)
}, },
fail: err => {
console.error('获取用户信息失败', err);
btnHighlight() {
return this.isPhone&&uni.$u.test.code(this.FormData.code, 4)
} }
});
}, },
loginBackend(code, userInfo) {
// code
// 使 uni.request HTTP
},
methods: {
// //
changeRadio(val) { changeRadio(val) {
this.isCheck = val this.isCheck = val
}, },
init() {
uni.login({
provider: 'weixin',
"onlyAuthorize": true,
success: function (loginRes) {
console.log('11')
console.log(loginRes)
//
uni.getUserInfo({
provider: 'weixin',
success: function(info) {
// , info.authResult
console.log('11')
console.log(info)
}
//
goSms() {
const {
FormData
} = this
if (!FormData.phone) return this.$u.toast('请输入手机号');
if (!this.isPhone) return this.$u.toast('手机号格式有误');
if (this.codeOn) return
this.codeOn = true;
getLoginCode({
scene: 1,
mobile: FormData.phone,
}).then(()=>{
var time = 30;
this.codeText = time + "秒后重新发送"
var timer = setInterval(() => {
time--;
this.codeText = time + "秒后重新发送"
if (time == 0) {
clearInterval(timer);
this.codeText = "获取验证码";
this.codeOn = false;
}
}, 1000);
}).catch(()=>{
this.codeOn = false;
}) })
//
}, },
fail: function (err) {
//
// err.code
async submitFn() {
if(!this.btnHighlight) return
if(!this.isCheck) return this.$u.toast('请勾选产品协议与隐私政策');
let obj = {
mobile: this.FormData.phone,
code: this.FormData.code
}
const res = await loginSMS(obj)
this.$store.commit('update_vuex_loginInfo',res.data)
this.$store.dispatch('getUserInfo')
// this.$goPage('/pages/userCenter/login/face')
uni.switchTab({
url: '/pages/tabbar/index/index'
})
} }
});
},
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.main { .main {
width: 100%; width: 100%;
display: flex;
flex-direction: column;
align-items: center;
min-height: 100vh;
// background: url('../../../static/images/userCenter/loginTopBg.png') no-repeat; // background: url('../../../static/images/userCenter/loginTopBg.png') no-repeat;
// background-size: 100% 360rpx; // background-size: 100% 360rpx;
.h1Img {
width: 658rpx;
height: 94rpx;
margin: 288rpx 0 120rpx 0;
}
.btnCon {
.btn {
width: 396rpx;
height: 72rpx;
background: #1989FA;
border-radius: 8rpx;
color: #fff;
margin-bottom: 32rpx;
.u-back-top {
padding: 32rpx 0 0 0;
.backBox {
padding: 24rpx;
}
}
.title {
font-size: 48rpx;
color: #333;
padding: 202rpx 0 80rpx 0;
text-align: center; text-align: center;
line-height: 72rpx;
font-size: 28rpx;
position: relative;
overflow: hidden;
.hide {
position: absolute;
left: 0;
top: 0;
font-weight: 600;
}
.form {
padding: 0 46rpx;
.form-item {
height: 112rpx;
background: #F4F7FF;
border-radius: 16rpx;
width: 100%; width: 100%;
height: 100%;
display: inline-block;
opacity: 0;
line-height: 112rpx;
display: flex;
margin-bottom: 40rpx;
padding: 0 40rpx;
.prefix {
display: flex;
align-items: center;
font-size: 32rpx;
color: #333;
font-weight: 600;
} }
&.border {
background: rgba(25,137,250,0.1);
border: 2rpx solid #1989FA;
color: $themC;
.inputBox {
flex: 1;
} }
.code {
color: #BBBBBB;
margin-left: 30rpx;
&.active {
color: $themC
} }
} }
} }
.popupCon {
width: 558rpx;
height: 344rpx;
.loginBtn {
width: 100%;
height: 112rpx;
background: rgba(25,137,250,0.3);
border-radius: 16rpx; border-radius: 16rpx;
overflow: hidden;
.h1 {
line-height: 124rpx;
text-align: center; text-align: center;
font-size: 36rpx;
line-height: 112rpx;
font-size: 32rpx;
font-weight: 600; font-weight: 600;
height: 124rpx;
width: 100%;
background: linear-gradient(180deg, #C1DFFE 0%, #FFFFFF 100%);
color: #fff;
margin-top: 100rpx;
&.active {
background: rgba(25,137,250,1);
} }
.msg {
font-size: 28rpx;
color: #686B73;
padding: 0 0 30rpx 0;
text-align: center;
} }
.oneBtn {
line-height: 112rpx;
height: 112rpx;
border-top: 1px solid #E8E9EC;
text-align: center;
font-size: 36rpx;
color: $themC;
font-weight: 600;
} }
} }
</style> </style>

BIN
static/images/icon/箭头 拷贝 2(1).png

Before

Width: 36  |  Height: 36  |  Size: 638 B

BIN
static/images/icon/箭头(1).png

Before

Width: 22  |  Height: 22  |  Size: 669 B

BIN
static/images/mineIcon/二维码.png

Before

Width: 36  |  Height: 36  |  Size: 1.2 KiB

0
static/images/tabbar/btn_xueche_nor - 副本.png → static/images/tabbar/byd.png

Before

Width: 40  |  Height: 40  |  Size: 1.5 KiB

After

Width: 40  |  Height: 40  |  Size: 1.5 KiB

Loading…
Cancel
Save