parent
22784c38c7
commit
51fae596c6
@ -0,0 +1,105 @@ |
||||
<template> |
||||
<view class="courseInfo"> |
||||
<view>xxxxx</view> |
||||
<view @click="startLearn">开始学习</view> |
||||
<view @click="openInputCode">输入口令</view> |
||||
<view @click="pay">付费学习</view> |
||||
|
||||
<u-modal v-model="show"> |
||||
<view class="slot-content"> |
||||
<view v-if="toggleFlag === 'tolearn'"> |
||||
<label>www.baidu.com</label> |
||||
</view> |
||||
<view v-else class="input-list"> |
||||
<!-- input输入框 --> |
||||
<input class="input-item" v-if="focus" adjust-position="false" auto-blur="true" |
||||
@blur="inputCodeBlur" @input="inputCode" :focus="focus" v-model="code" @focus="inputFocus" |
||||
type="number" oneTimeCode maxlength="6" /> |
||||
<!-- 验证码输入框 --> |
||||
<view class="code-list" @click="focusClick"> |
||||
<view class="code-item" v-for="(item, index) in 6" :key="index" |
||||
:style="(index == code.length && focus ? 'border-color:#3c9cff;' : '')">{{ code[index] || '' |
||||
}} |
||||
</view> |
||||
</view> |
||||
</view> |
||||
|
||||
</view> |
||||
</u-modal> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
data() { |
||||
return { |
||||
toggleFlag:'', |
||||
show: false, |
||||
focus: false, |
||||
code: '' |
||||
} |
||||
}, |
||||
methods: { |
||||
startLearn() { |
||||
this.show = true |
||||
this.toggleFlag = 'tolearn' |
||||
}, |
||||
focusClick() { |
||||
this.focus = true |
||||
}, |
||||
pay() { |
||||
console.log('pay for this'); |
||||
}, |
||||
openInputCode() { |
||||
this.show = true |
||||
}, |
||||
inputCode(e) { |
||||
let value = e.detail.value |
||||
this.code = value |
||||
}, |
||||
inputFocus(e) { |
||||
console.log(e); |
||||
}, |
||||
inputCodeBlur(e) { |
||||
let value = e.detail.value |
||||
this.focus = false |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss"> |
||||
.courseInfo { |
||||
.slot-content { |
||||
font-size: 28rpx; |
||||
color: $u-content-color; |
||||
padding-left: 30rpx; |
||||
} |
||||
|
||||
.input-list { |
||||
display: flex; |
||||
align-items: center; |
||||
|
||||
.input-item { |
||||
width: 0rpx; |
||||
} |
||||
|
||||
.code-list { |
||||
width: 100%; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-between; |
||||
|
||||
.code-item { |
||||
width: 80rpx; |
||||
height: 80rpx; |
||||
text-align: center; |
||||
line-height: 80rpx; |
||||
border: 1rpx solid #eee; |
||||
border-radius: 10rpx; |
||||
} |
||||
} |
||||
} |
||||
|
||||
} |
||||
</style> |
@ -0,0 +1,13 @@ |
||||
<template> |
||||
|
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
|
||||
} |
||||
</script> |
||||
|
||||
<style> |
||||
|
||||
</style> |
After Width: | Height: | Size: 866 B |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,252 @@ |
||||
<template> |
||||
<view class="onLineCourseWrap"> |
||||
<view class="onLineTitle"> |
||||
<img src="./olCourse.png" alt=""> |
||||
<view>{{ '如何使用性能测试工具' }}</view> |
||||
</view> |
||||
<view class="onLineTime">时间: {{ '今日:20:00' }}</view> |
||||
<view class="onLineTeacher">讲师:{{ '独孤求败' }}</view> |
||||
<view class="onLine">职称:{{ '气宗大师' }}</view> |
||||
<view class="onLineContent">授课内容: {{ '教导令狐冲' }}</view> |
||||
<view class="onLineMask" v-show="maskShow"> |
||||
<img src="./arr.png" alt=""> |
||||
<view class="learnBtnWrap"> |
||||
<view class="learnBtn" @click="startLearn('pay')">付费学习</view> |
||||
<view class="learnBtn" @click="startLearn('code')">输入口令学习</view> |
||||
</view> |
||||
</view> |
||||
<view v-show="!maskShow" class="startLeranBtn">开始学习</view> |
||||
<u-modal v-model="show" title="请输入口令" :show-confirm-button="false"> |
||||
<view class="slot-content"> |
||||
<view v-if="toggleFlag === 'tolearn'"> |
||||
<label>www.baidu.com</label> |
||||
</view> |
||||
<view v-else class="input-list"> |
||||
<!-- input输入框 --> |
||||
<input class="input-item" v-if="focus" adjust-position="false" auto-blur="true" |
||||
@blur="inputCodeBlur" @input="inputCode" :focus="focus" v-model="code" @focus="inputFocus" |
||||
type="number" oneTimeCode maxlength="6" /> |
||||
<!-- 验证码输入框 --> |
||||
<view class="code-list" @click="focusClick"> |
||||
<view class="code-item" v-for="(item, index) in 4" :key="index" |
||||
:style="(index == code.length && focus ? 'border-color:#3c9cff;' : '')">{{ code[index] || '' |
||||
}} |
||||
</view> |
||||
</view> |
||||
</view> |
||||
<view class="codeBtnCoup"> |
||||
<view class="codeBtn canle" @click="show = false">取消</view> |
||||
<view class="codeBtn sure" @click="show = false">确定</view> |
||||
</view> |
||||
</view> |
||||
</u-modal> |
||||
</view> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
data() { |
||||
return { |
||||
maskShow: true, |
||||
toggleFlag: '', |
||||
show: false, |
||||
focus: false, |
||||
code: '' |
||||
} |
||||
}, |
||||
methods: { |
||||
startLearn() { |
||||
this.maskShow = !this.maskShow |
||||
}, |
||||
startLearn(val) { |
||||
if (val == 'code') { |
||||
this.show = true |
||||
} |
||||
// this.toggleFlag = 'tolearn' |
||||
|
||||
}, |
||||
focusClick() { |
||||
this.focus = true |
||||
}, |
||||
pay() { |
||||
console.log('pay for this'); |
||||
}, |
||||
openInputCode() { |
||||
this.show = true |
||||
}, |
||||
inputCode(e) { |
||||
let value = e.detail.value |
||||
this.code = value |
||||
}, |
||||
inputFocus(e) { |
||||
console.log(e); |
||||
}, |
||||
inputCodeBlur(e) { |
||||
let value = e.detail.value |
||||
this.focus = false |
||||
} |
||||
} |
||||
} |
||||
</script> |
||||
|
||||
<style lang="scss" scoped> |
||||
.onLineCourseWrap { |
||||
margin: 25rpx; |
||||
height: calc(100% - 50rpx); |
||||
background: #FFFFFF; |
||||
border-radius: 10rpx; |
||||
padding: 24rpx; |
||||
font-family: PingFang SC; |
||||
font-weight: 500; |
||||
font-size: 24rpx; |
||||
color: #404040; |
||||
|
||||
.onLineTitle { |
||||
font-weight: bold; |
||||
font-size: 28rpx; |
||||
color: #000000; |
||||
line-height: 46rpx; |
||||
margin: 30rpx 0; |
||||
display: flex; |
||||
align-items: center; |
||||
img{ |
||||
width: 38rpx; |
||||
height: 38rpx; |
||||
margin-right: 20rpx; |
||||
} |
||||
} |
||||
|
||||
.onLineTime { |
||||
margin: 15rpx 0; |
||||
} |
||||
|
||||
.onLineTeacher { |
||||
margin: 15rpx 0; |
||||
} |
||||
|
||||
.onLine { |
||||
margin: 15rpx 0; |
||||
} |
||||
|
||||
.onLineContent { |
||||
margin: 15rpx 0; |
||||
} |
||||
|
||||
.onLineMask { |
||||
position: fixed; |
||||
top: 0; |
||||
left: 0; |
||||
width: 100%; |
||||
height: 100%; |
||||
background: #1B81F9; |
||||
background: linear-gradient(180deg, #ffffff07, #1B81F9); |
||||
|
||||
img { |
||||
width: 46rpx; |
||||
height: 111rpx; |
||||
margin: 619rpx 0 0 50%; |
||||
} |
||||
|
||||
.learnBtnWrap { |
||||
width: 279rpx; |
||||
margin-top: 200rpx; |
||||
margin-left: 50%; |
||||
transform: translate(-50%); |
||||
|
||||
.learnBtn { |
||||
margin-bottom: 50rpx; |
||||
height: 67rpx; |
||||
background: linear-gradient(90deg, #5EA6FD, #1A81F9); |
||||
box-shadow: 0rpx 1rpx 20rpx 1rpx rgba(13, 92, 187, 0.53); |
||||
border-radius: 33rpx; |
||||
font-family: PingFang SC; |
||||
font-weight: 500; |
||||
font-size: 30rpx; |
||||
color: #FFFFFF; |
||||
line-height: 65rpx; |
||||
text-align: center; |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
.startLeranBtn { |
||||
position: fixed; |
||||
bottom: 69rpx; |
||||
width: 646rpx; |
||||
height: 70rpx; |
||||
background: linear-gradient(90deg, #5EA6FD, #1A81F9); |
||||
box-shadow: 0rpx 1rpx 20rpx 1rpx rgba(13, 92, 187, 0.4); |
||||
border-radius: 35rpx; |
||||
|
||||
font-family: PingFang SC; |
||||
font-weight: 500; |
||||
font-size: 30rpx; |
||||
color: #FFFFFF; |
||||
line-height: 65rpx; |
||||
text-align: center; |
||||
} |
||||
|
||||
.slot-content { |
||||
font-size: 28rpx; |
||||
color: $u-content-color; |
||||
padding-left: 30rpx; |
||||
} |
||||
|
||||
.input-list { |
||||
padding-top: 20rpx; |
||||
display: flex; |
||||
align-items: center; |
||||
|
||||
.input-item { |
||||
width: 0rpx; |
||||
} |
||||
|
||||
.code-list { |
||||
width: 100%; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-around; |
||||
|
||||
.code-item { |
||||
width: 80rpx; |
||||
height: 80rpx; |
||||
text-align: center; |
||||
line-height: 80rpx; |
||||
border: 1rpx solid #eee; |
||||
border-radius: 10rpx; |
||||
background: #EAEEF3; |
||||
} |
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
.codeBtnCoup { |
||||
padding: 20rpx; |
||||
display: flex; |
||||
justify-content: space-between; |
||||
margin-top: 40rpx; |
||||
.codeBtn { |
||||
width: 250rpx; |
||||
line-height: 70rpx; |
||||
border-radius: 35rpx; |
||||
text-align: center; |
||||
font-size: 28rpx; |
||||
color: #FFFFFF; |
||||
} |
||||
.sure{ |
||||
background: linear-gradient(90deg, #5EA6FD, #1A81F9); |
||||
} |
||||
.canle{ |
||||
color: #666666; |
||||
border: 1px solid #E0E0E0; |
||||
} |
||||
} |
||||
|
||||
// & >>>.u-model__title { |
||||
// font-weight: bold; |
||||
// } |
||||
|
||||
} |
||||
</style> |
Loading…
Reference in new issue