unknown
9 months ago
17 changed files with 462 additions and 223 deletions
-
38manifest.json
-
2pages/indexEntry/consult/record/record.vue
-
1pages/indexEntry/enroll/registInfo/chooseCoach/chooseCoach.vue
-
12pages/indexEntry/enroll/registInfo/comp/comfigPopup.vue
-
23pages/indexEntry/enroll/registInfo/registInfo.vue
-
6pages/indexEntry/findShcool/coachComment/coachInfo.vue
-
6pages/indexEntry/findShcool/searchShcool/searchShcool.vue
-
6pages/tabbar/index/index.vue
-
32pages/tabbar/learnCar/index.vue
-
3pages/tabbar/mine/index.vue
-
227pages/userCenter/login/login - 副本.vue
-
329pages/userCenter/login/login.vue
-
BINstatic/images/icon/箭头 拷贝 2(1).png
-
BINstatic/images/icon/箭头(1).png
-
BINstatic/images/mineIcon/二维码.png
-
0static/images/tabbar/byd.png
@ -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> |
@ -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> |
|
||||
<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 class="u-back-top"> |
||||
|
<view class="backBox"> |
||||
|
<u-icon name="arrow-left" color="#333" size="28"></u-icon> |
||||
|
</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 class="inputBox my"> |
||||
|
<u--input placeholder="请输入手机号" border="none" clearable type="number" maxlength="11" v-model="FormData.phone"></u--input> |
||||
</view> |
</view> |
||||
</view> |
</view> |
||||
</u-popup> --> |
|
||||
|
<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;"> |
||||
|
<privacyRadion :isCheck="isCheck" @changeRadio="changeRadio"></privacyRadion> |
||||
|
</view> |
||||
|
<!-- <button @click="$goPage('/pages/userCenter/login/face')">进入人脸识别</button> --> |
||||
|
</view> |
||||
</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); |
|
||||
// } |
|
||||
// }); |
|
||||
|
onLoad(options) { |
||||
|
this.isCheck = options.isCheck=='true'?true:false |
||||
|
}, |
||||
|
computed: { |
||||
|
isPhone() { |
||||
|
return uni.$u.test.mobile(this.FormData.phone) |
||||
|
}, |
||||
|
btnHighlight() { |
||||
|
return this.isPhone&&uni.$u.test.code(this.FormData.code, 4) |
||||
|
} |
||||
}, |
}, |
||||
methods: { |
methods: { |
||||
async getPhoneNumber (e) { |
|
||||
|
// 是否选择协议 |
||||
|
changeRadio(val) { |
||||
|
this.isCheck = val |
||||
|
}, |
||||
|
// 发送短信验证码 |
||||
|
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; |
||||
|
}) |
||||
|
// 获取验证码 |
||||
|
|
||||
|
}, |
||||
|
async submitFn() { |
||||
|
if(!this.btnHighlight) return |
||||
if(!this.isCheck) return this.$u.toast('请勾选产品协议与隐私政策'); |
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 = { |
let obj = { |
||||
phoneCode, |
|
||||
loginCode |
|
||||
|
mobile: this.FormData.phone, |
||||
|
code: this.FormData.code |
||||
} |
} |
||||
const {data: res} = await weixinLogin(obj) |
|
||||
this.$store.commit('update_vuex_loginInfo',res) |
|
||||
|
const res = await loginSMS(obj) |
||||
|
this.$store.commit('update_vuex_loginInfo',res.data) |
||||
this.$store.dispatch('getUserInfo') |
this.$store.dispatch('getUserInfo') |
||||
// this.$goPage('/pages/userCenter/login/face') |
// this.$goPage('/pages/userCenter/login/face') |
||||
uni.switchTab({ |
uni.switchTab({ |
||||
url: '/pages/tabbar/index/index' |
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> |
</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; |
|
||||
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; |
|
||||
} |
|
||||
|
.u-back-top { |
||||
|
padding: 32rpx 0 0 0; |
||||
|
.backBox { |
||||
|
padding: 24rpx; |
||||
} |
} |
||||
} |
} |
||||
} |
|
||||
|
|
||||
.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%); |
|
||||
|
.title { |
||||
|
font-size: 48rpx; |
||||
|
color: #333; |
||||
|
padding: 202rpx 0 80rpx 0; |
||||
|
text-align: center; |
||||
|
font-weight: 600; |
||||
} |
} |
||||
|
|
||||
.msg { |
|
||||
font-size: 28rpx; |
|
||||
color: #686B73; |
|
||||
padding: 0 0 30rpx 0; |
|
||||
text-align: center; |
|
||||
} |
|
||||
|
.form { |
||||
|
padding: 0 46rpx; |
||||
|
.form-item { |
||||
|
height: 112rpx; |
||||
|
background: #F4F7FF; |
||||
|
border-radius: 16rpx; |
||||
|
width: 100%; |
||||
|
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; |
||||
|
} |
||||
|
|
||||
|
.inputBox { |
||||
|
flex: 1; |
||||
|
} |
||||
|
.code { |
||||
|
color: #BBBBBB; |
||||
|
margin-left: 30rpx; |
||||
|
&.active { |
||||
|
color: $themC |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.loginBtn { |
||||
|
width: 100%; |
||||
|
height: 112rpx; |
||||
|
background: rgba(25,137,250,0.3); |
||||
|
border-radius: 16rpx; |
||||
|
text-align: center; |
||||
|
line-height: 112rpx; |
||||
|
font-size: 32rpx; |
||||
|
font-weight: 600; |
||||
|
color: #fff; |
||||
|
margin-top: 100rpx; |
||||
|
&.active { |
||||
|
background: rgba(25,137,250,1); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
.oneBtn { |
|
||||
line-height: 112rpx; |
|
||||
height: 112rpx; |
|
||||
border-top: 1px solid #E8E9EC; |
|
||||
text-align: center; |
|
||||
font-size: 36rpx; |
|
||||
color: $themC; |
|
||||
font-weight: 600; |
|
||||
} |
} |
||||
} |
} |
||||
</style> |
</style> |
Before Width: 36 | Height: 36 | Size: 638 B |
Before Width: 22 | Height: 22 | Size: 669 B |
Before Width: 36 | Height: 36 | Size: 1.2 KiB |
Before Width: 40 | Height: 40 | Size: 1.5 KiB After Width: 40 | Height: 40 | Size: 1.5 KiB |
Write
Preview
Loading…
Cancel
Save
Reference in new issue