5 Commits

18 changed files with 318 additions and 57 deletions

View File

@@ -1,7 +1,12 @@
<script> <script>
import useUserStore from '@/jtools/store/user'
export default { export default {
onLaunch: function () { onLaunch: function () {
console.log('App Launch') useUserStore().queryVipList()
if(useUserStore().isLogin) {
useUserStore().getUserInfo()
useUserStore().searchUserVip()
}
}, },
onShow: function () { onShow: function () {
console.log('App Show') console.log('App Show')

View File

@@ -24,3 +24,10 @@ export function logout() {
method: 'get', method: 'get',
}); });
} }
export function getInfo() {
return request({
url: 'driver-api/tdSysUser/info',
method: 'get',
});
}

View File

@@ -7,3 +7,11 @@ export function queryVip(data) {
data, data,
}); });
} }
export function getVipList(data) {
return request({
url: 'driver-api/tdMember/queryMember',
method: 'POST',
data,
});
}

View File

@@ -16,7 +16,7 @@ function service(options = {}) {
}); });
} else { } else {
options.header = { options.header = {
Authorization: `Bearer ${token}` Authorization: `${token}`
}; };
} }
} }
@@ -34,7 +34,7 @@ function service(options = {}) {
resolved(res.data); resolved(res.data);
} else if(res.data.code != '0000') { } else if(res.data.code != '0000') {
uni.showToast({ uni.showToast({
title: resp.message, title: res.data.message,
icon: 'none' icon: 'none'
}) })
resolved(res.data) resolved(res.data)

View File

@@ -1,5 +1,6 @@
import { defineStore } from 'pinia'; import { defineStore } from 'pinia';
import { login,logout } from '@/jtools/api/login'; import { login,logout,getInfo } from '@/jtools/api/login';
import { queryVip,getVipList } from '@/jtools/api/vip'
import constants from '@/jtools/constants'; import constants from '@/jtools/constants';
import storage from '@/jtools/storage'; import storage from '@/jtools/storage';
@@ -9,11 +10,13 @@ const useUserStore = defineStore({
token: storage.get('token'), token: storage.get('token'),
isLogin: storage.get('isLogin'), // 是否登陆 isLogin: storage.get('isLogin'), // 是否登陆
userInfo: storage.get('userInfo'), // 用户信息 userInfo: storage.get('userInfo'), // 用户信息
currentCartype: storage.get('carType') || '1001',
vipOnList: [],
vipAllList: []
}), }),
actions: { actions: {
login(params) { login(params) {
// commit('isLogin', true);
return new Promise(async (resolve, reject) => { return new Promise(async (resolve, reject) => {
const resp = await login(params); const resp = await login(params);
if (resp.code === '0000') { if (resp.code === '0000') {
@@ -40,13 +43,39 @@ const useUserStore = defineStore({
resolve(); resolve();
}) })
}, },
// 获取用户信息
getUserInfo() {
getInfo().then(resp => {
if(resp.code == '0000') {
this.userInfo = resp.data
storage.set('userInfo', resp.data)
}
})
},
resetUserData() { resetUserData() {
this.isLogin = false; this.isLogin = false;
this.token = ''; this.token = '';
this.userInfo = {} this.userInfo = {}
this.vipOnList = []
storage.remove('isLogin') storage.remove('isLogin')
storage.remove('token') storage.remove('token')
storage.remove('userInfo') storage.remove('userInfo')
},
// 查询当前用户的vip开通情况
searchUserVip() {
queryVip({ carTypeId: this.currentCartype,memberId: null, subject:'' }).then(resp => {
if(resp.code == '0000') {
this.vipOnList = resp.data
}
})
},
// 查询所有的vip
queryVipList() {
getVipList({ carTypeId: this.currentCartype,memberId: null, subject:'' }).then(resp => {
if(resp.code == '0000') {
this.vipAllList = resp.data
}
})
} }
}, },
}); });

View File

@@ -110,7 +110,21 @@
"navigationBarTitleText": "登录", "navigationBarTitleText": "登录",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} },
{
"path": "pages/index/iconSkill",
"style": {
"navigationBarTitleText": "图标技巧",
"enablePullDownRefresh": false
}
},
{
"path": "pages/questionBank/chapterExercise",
"style": {
"navigationBarTitleText": "章节练习",
"enablePullDownRefresh": false
}
}
], ],
"globalStyle": { "globalStyle": {

View File

@@ -0,0 +1,18 @@
<template>
<view>
<web-view :src="webviewPath"></web-view>
</view>
</template>
<script>
export default {
data() {
return{
webviewPath:'https://jtbz.ahduima.com/index'
}
}
}
</script>
<style>
</style>

View File

@@ -104,6 +104,7 @@
width: 218rpx; width: 218rpx;
border-radius: 0 0 16rpx 12rpx; border-radius: 0 0 16rpx 12rpx;
background-color: #FF6E02; background-color: #FF6E02;
color:#fff
} }
.tag{ .tag{
width: 122rpx; width: 122rpx;

View File

@@ -57,19 +57,19 @@
getCode({ getCode({
phone: this.login.phone phone: this.login.phone
}).then(resp => { }).then(resp => {
if (resp.code == '0000') { // if (resp.code == '0000') {
uni.showToast({ uni.showToast({
title: '发送成功!', title: '发送成功!',
icon: 'none' icon: 'none'
}) })
this.countDown = 60 this.countDown = 60
this.js = setInterval(() => { this.js = setInterval(() => {
this.countDown; this.countDown--;
if (this.countDown == 0) { if (this.countDown == 0) {
this.clear() this.clear()
} }
}, 1000) }, 1000)
} // }
}) })
} }
}, },

View File

@@ -8,7 +8,7 @@
<view class="ml12"> <view class="ml12">
<view class="flex ai-c fs18 cor-333 fwb"> <view class="flex ai-c fs18 cor-333 fwb">
<text class="mr10">{{ user.userName }}{{user.userId}}</text> <text class="mr10">{{ user.userName }}{{user.userId}}</text>
<image src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;"></image> <image v-if="vipOn.length" src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;"></image>
</view> </view>
<view class="mt5 fs14 cor-666">陪您学车 {{ user.count }}</view> <view class="mt5 fs14 cor-666">陪您学车 {{ user.count }}</view>
</view> </view>
@@ -26,47 +26,52 @@
<view class="p15lr" style="transform: translateY(-90px);"> <view class="p15lr" style="transform: translateY(-90px);">
<view class="relative mb10" @tap="handleVip"> <view class="relative mb10" @tap="handleVip">
<image src="/static/image/mine/vip_bg.png" mode="widthFix" style="width: 100%;"></image> <image src="/static/image/mine/vip_bg.png" mode="widthFix" style="width: 100%;"></image>
<view class="absolute p15lr p10tb flex ai-c jc-sb" style="left: 0;top: 0;right: 0;height: 40px;"> <view class="absolute p15lr p10tb flex ai-c jc-sb" style="left: 0;top: 0;right: 0;height: 40px;">
<view class="flex ai-c"> <view class="flex ai-c">
<view class="p3 br-p50" style="background-color: #873E1D;"> <view class="p3 br-p50" style="background-color: #873E1D;">
<image src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;height: 15px;"></image> <image src="/static/image/mine/vip.png" mode="widthFix" style="width: 18px;height: 15px;"></image>
</view> </view>
<text class="ml5 fs16 fwb" style="color: #7E4012FF;">VIP会员</text> <text class="ml5 fs16 fwb" style="color: #7E4012FF;">VIP会员</text>
</view> </view>
<text class="fs12" style="color: #7E4012FF;">2024-12-12到期</text> <text v-if="vipOn.length" class="fs12" style="color: #7E4012FF;">{{expireTime}}到期</text>
</view> </view>
<view class="absolute flex ai-c jc-c" style="left: 0;top: 40px;right: 0;bottom: 0;"> <view class="absolute flex ai-c jc-c" style="left: 0;top: 40px;right: 0;bottom: 0;">
<view class="text-center"> <view class="text-center">
<view class="fs18 fwb" style="color: #7E4012FF;">尊享科目一二三四全部付费权益</view> <view v-if="vipOn.length" class="fs18 fwb" style="color: #7E4012FF;">{{vipText}}</view>
<view class="study fs16 text-center" style="margin: 25px auto 0;color: #F6E99FFF;"> <view class="study fs16 text-center" style="margin: 25px auto 0;color: #F6E99FFF;">
马上学习 {{ vipOn.length?'马上学习':'开通会员'}}
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<view class="br8 bc-fff p15 z-index2"> <view class="br8 bc-fff p15 z-index2">
<text class="fs16 cor-333">我的驾校</text> <text class="fs16 cor-333">我的驾校</text>
<div class="mt12 flex ai-c jc-sb"> <view v-if="user.schoolId">
<text class="fs18 cor-000 fwb">合肥八一驾校</text> <div class="mt12 flex ai-c jc-sb">
<u-button text="切换驾校" shape="circle" @click="handleChangeSchool"></u-button> <text class="fs18 cor-000 fwb">{{user.schoolName}}</text>
</div> <u-button text="切换驾校" shape="circle" @click="handleChangeSchool"></u-button>
<u-line margin="14px 0 18px 0"></u-line> </div>
<view class="flex ai-c" @tap="handleCallPhone"> <u-line margin="14px 0 18px 0"></u-line>
<view class="flex ai-c jc-c phone"> <view class="flex ai-c" @tap="handleCallPhone">
<img src="/static/image/mine/phone.png" style="width: 12px;height: 12px;"> <view class="flex ai-c jc-c phone">
<text class="ml2 fs12 cor-fff">客服热线</text> <img src="/static/image/mine/phone.png" style="width: 12px;height: 12px;">
<text class="ml2 fs12 cor-fff">客服热线</text>
</view>
<text class="ml5 fs26 cor-333 fwb" style="line-height: 26px;">{{user.schoolPhone}}</text>
</view> </view>
<text class="ml5 fs26 cor-333 fwb" style="line-height: 26px;">0551-12345678</text> </view>
<view v-else class="pt30 pb15">
<u-button text="绑定驾校" shape="circle" @click="handleChangeSchool"></u-button>
</view> </view>
</view> </view>
<view class="mt12 bc-fff br8"> <view class="mt12 bc-fff br8">
<u-cell-group> <u-cell-group>
<u-cell size="large" title="我的资料" value="修改" isLink @tap="handleInfo"> <u-cell size="large" title="我的资料" isLink @tap="handleInfo">
<template #icon> <template #icon>
<img src="/static/image/mine/wdzl.png" style="width: 24px;height: 24px;"> <img src="/static/image/mine/wdzl.png" style="width: 24px;height: 24px;">
</template> </template>
</u-cell> </u-cell>
<u-cell size="large" title="我的体检" value="查看报告" isLink @tap="handleTJ"> <u-cell size="large" title="我的体检" isLink @tap="handleTJ">
<template #icon> <template #icon>
<img src="/static/image/mine/wdtj.png" style="width: 24px;height: 24px;"> <img src="/static/image/mine/wdtj.png" style="width: 24px;height: 24px;">
</template> </template>
@@ -78,7 +83,7 @@
</u-cell> </u-cell>
</u-cell-group> </u-cell-group>
</view> </view>
<view class="flex ai-c jc-c mt12 br8 bc-fff" style="height: 50px;" @tap="handleLogout"> <view v-if="isLogin" class="flex ai-c jc-c mt12 br8 bc-fff" style="height: 50px;" @tap="handleLogout">
<text class="fs16" style="color: #A09F9F;">退出登录</text> <text class="fs16" style="color: #A09F9F;">退出登录</text>
</view> </view>
</view> </view>
@@ -86,7 +91,6 @@
</template> </template>
<script> <script>
import useUserStore from '@/jtools/store/user' import useUserStore from '@/jtools/store/user'
import { queryVip } from '@/jtools/api/vip'
export default { export default {
components: {}, components: {},
computed: { computed: {
@@ -94,7 +98,36 @@ export default {
return useUserStore().isLogin return useUserStore().isLogin
}, },
user() { user() {
return useUserStore().userInfo let userInfo = useUserStore().userInfo
return { ...userInfo, count: this.dateDiff(userInfo.createTime) }
},
vipOn() {
return useUserStore().vipOnList
},
expireTime() {
if(this.vipOn.length) {
const t = this.vipOn.reduce((pre, cur) => {
if(Date.parse(pre) > Date.parse(cur.endDate)) {
return cur.endDate
}
return pre
}, '2099-12-31')
return t.split(' ')[0]
}else {
return ''
}
},
vipText() {
if(this.vipOn.length) {
const t = this.vipOn.reduce((pre, cur) => {
return [...pre, ...cur.subjects.split(',').map(it =>['','一','二','三','四'][it])]
}, [])
let val = Array.from(new Set(t))
val = val.length == 4 ? val.join('')+'全部':val.join('')
return `尊享科目${val}付费权益`
}else {
return ''
}
} }
}, },
data() { data() {
@@ -102,30 +135,36 @@ export default {
}; };
}, },
onShow() { onShow() {
this.searchVip()
}, },
methods: { methods: {
searchVip() {
queryVip().then(resp => {
if(resp.code == '0000') {
debugger
}
})
},
handleVip() { handleVip() {
uni.navigateTo({ if(this.isLogin) {
url: '/pages/me/vip' if(this.vipOn.length) {
}) uni.navigateTo({
url: '/pages/me/vip'
})
} else {
uni.navigateTo({
url: '/pages/index/videoVip'
})
}
} else {
this.toLogin()
}
}, },
handleCallPhone() { handleCallPhone() {
uni.makePhoneCall({ uni.makePhoneCall({
phoneNumber: '17318531354' phoneNumber: this.user.schoolPhone
}) })
}, },
handleChangeSchool() { handleChangeSchool() {
uni.navigateTo({ if(this.isLogin) {
url: '/pages/me/school' uni.navigateTo({
}) url: '/pages/me/school'
})
} else {
this.toLogin()
}
}, },
handleInfo() { handleInfo() {
if(this.isLogin) { if(this.isLogin) {
@@ -152,7 +191,20 @@ export default {
}, },
handleLogout() { handleLogout() {
useUserStore().logout() useUserStore().logout()
} },
dateDiff(end){
if(!end) {
return 1
}
today = new Date();
end = new Date(end);
if(end > today){
days = parseInt(Math.abs(end - today) / 1000 / 60 / 60 / 24);
}else{
days = parseInt(Math.abs(end - today) / 1000 / 60 / 60 / 24); // 如果不限制对比时间和当前时间大小可以不用if
}
return days + 1;
},
} }
} }
</script> </script>

View File

@@ -0,0 +1,42 @@
<template>
<view>
<view class="chapter_item p14" v-for="(item,index) of chapterList" :key="index" @tap="toQuestion">
{{item.label}}
</view>
</view>
</template>
<script>
export default {
data() {
return {
chapterList:[
{label:'驾驶证申请相关'},
{label:'驾驶证申请相关'},
{label:'驾驶证登记处罚'},
{label:'机动车强制报废'},
{label:'其他考点'},
{label:'驾驶证登记处罚'},
{label:'机动车强制报废'},
{label:'其他考点'}]
}
},
methods:{
toQuestion(){
uni.navigateTo({
url:"/pages/questionBank/questionBank?navTitle="+章节技巧
})
}
}
}
</script>
<style scoped>
.chapter_item{
border-bottom: 1px solid rgb(210,209,214);
background-color: #fff;
}
.chapter_item:hover{
background-color: rgb(210,209,214);
}
</style>

View File

@@ -39,7 +39,7 @@
</scroll-view> </scroll-view>
</swiper-item> </swiper-item>
</swiper> </swiper>
<view class="wp100 flex jc-sb ai-c p14 bc-fff" style="position: fixed;bottom: 0;left: 0;"> <view class="wp100 flex jc-sb ai-c p14 bc-fff" v-if="isShowAll" style="position: fixed;bottom: 0;left: 0;">
<view style="width: 220rpx;"> <view style="width: 220rpx;">
<button v-if="type==='practice'" class="btn">四步学科一</button> <button v-if="type==='practice'" class="btn">四步学科一</button>
<view v-else class="btn" style="text-align: center;" @tap="submitPaper"> <view v-else class="btn" style="text-align: center;" @tap="submitPaper">
@@ -65,6 +65,9 @@
<text class="cor-666">题板</text> <text class="cor-666">题板</text>
</view> </view>
</view> </view>
<view v-else class="wp100 p14" style="position: fixed;bottom: 30rpx;left: 0;">
<button class="vip_btn" @click="toVip">立即查看全部题目</button>
</view>
<u-modal :show="tipShow"> <u-modal :show="tipShow">
<view class="relative wp100"> <view class="relative wp100">
<view class="text-center"> <view class="text-center">
@@ -149,10 +152,41 @@
</view> </view>
</view> </view>
</u-popup> </u-popup>
</view> <u-popup :show="showVip" mode="bottom" :closeOnClickOverlay="true" :round="16" @close="showVip=false">
<view class="p14" style="z-index: 9;">
<view class="wp100 flex ai-c jc-sb">
<text class="fs30 fw600 cor-000">VIP题库</text>
<u-icon name="close" color="#c2c2c2" size="20" @tap="showVip=false"></u-icon>
</view>
<text class="fs16 cor-666">精准刷题更高效</text>
<view style="width:100%;height: 110rpx;background-image: url(../../static/image/practice/vip_question.png);background-size: 100% 100%;" class="mt15 relative">
<view style="position: absolute;left:0,top:0;height: 110rpx;" class="wp100 flex jc-c ai-c">
<text class="fs16" style="color: #994800;">科一+科四精简500题</text>
</view>
<image style="width: 65rpx;height: 65rpx; position: absolute;right: 20px;top: -5px;" src="../../static/image/practice/vip_include.png"></image>
</view>
<view style="width:100%;height: 110rpx;background-image: url(../../static/image/practice/vip_test.png);background-size: 100% 100%;z-index: 9;" class="mt15 relative">
<view style="position: absolute;left:0,top:0;height: 110rpx;" class="wp100 flex jc-c ai-c">
<text class="fs16" style="color: #994800;">科一+科四考前密卷2套</text>
</view>
<image style="width: 65rpx;height: 65rpx; position: absolute;right: 20px;top: -5px;" src="../../static/image/practice/vip_include.png"></image>
</view>
</view>
<view style="height: 528rpx;width: 100%;background-image: url(../../static/image/practice/vip_bg.png);background-size: 100% 100%;margin-top: -65px;position: relative;">
<text style="position: absolute;top: 138px;left:100px;rotate: 16deg;" class="fs25 cor-fff">VIP题库</text>
</view>
<view class="wp100 p14" style="position: absolute;left: 0;bottom:20px">
<view class="sub_btn flex ai-c jc-sb">
<text class="cor-fff fs14">¥<text class="fs24 cor-fff">{{nowPrice}}</text></text>
<image style="width: 276rpx;height: 88rpx;margin-top: -5px;" src="../../static/image/index/buy.png"></image>
</view>
</view>
</u-popup>
</view>
</template> </template>
<script> <script>
import storage from '@/jtools/storage';
export default { export default {
props:{ props:{
tabsList:{ tabsList:{
@@ -165,10 +199,16 @@ export default {
isSubmit:{ isSubmit:{
type:Boolean, type:Boolean,
default:false default:false
},
isShowAll:{
type:Boolean,
default:true
} }
}, },
data() { data() {
return { return {
nowPrice:68,
showVip:false,
popupShow:false, popupShow:false,
content:'太棒啦,已答完最后一题~', content:'太棒啦,已答完最后一题~',
tipShow:false, tipShow:false,
@@ -178,6 +218,7 @@ export default {
qIndex:0, qIndex:0,
rightList:[], rightList:[],
wrongList:[], wrongList:[],
collectList:storage.get('collectList') || [],
questionList: [],//数据源 questionList: [],//数据源
swiperList: [], // 轮播图数据列表 swiperList: [], // 轮播图数据列表
swiperIndex: 0, // 轮播图当前位置 swiperIndex: 0, // 轮播图当前位置
@@ -191,6 +232,10 @@ export default {
this.renderSwiper(0) this.renderSwiper(0)
}, },
methods: { methods: {
//开通VIP
toVip(){
this.showVip=true
},
submitPaper(){ submitPaper(){
this.$refs.countDown_1.pause(); this.$refs.countDown_1.pause();
this.$refs.countDown_2.pause(); this.$refs.countDown_2.pause();
@@ -222,18 +267,24 @@ export default {
}, },
toCollect(){ toCollect(){
if(this.questionList[this.topicIndex].isCollect){ if(this.questionList[this.topicIndex].isCollect){
if(this.collectList.includes(this.questionList[this.topicIndex].questionId)){
const idx=this.collectList.indexOf(this.questionList[this.topicIndex].questionId)
this.collectList.splice(idx,1)
}
this.questionList[this.topicIndex].isCollect=false this.questionList[this.topicIndex].isCollect=false
uni.showToast({ uni.showToast({
title:"取消收藏", title:"取消收藏",
icon:'none' icon:'none'
}) })
}else{ }else{
this.collectList.push(this.questionList[this.topicIndex].questionId)
this.questionList[this.topicIndex].isCollect=true this.questionList[this.topicIndex].isCollect=true
uni.showToast({ uni.showToast({
title:"已收藏", title:"已收藏",
icon:'none' icon:'none'
}) })
} }
storage.set('collectList',this.collectList)
}, },
cancel(){ cancel(){
this.tipShow=false this.tipShow=false
@@ -292,8 +343,13 @@ export default {
// 轮播图动画结束 // 轮播图动画结束
onAnimationfinish(e) { onAnimationfinish(e) {
if(this.index>=this.questionList.length){ if(this.index>=this.questionList.length){
this.tipShow=true if(this.isShowAll){
this.tipShow=true
}else{
this.showVip=true
}
}else{ }else{
this.showVip=false
this.tipShow=false this.tipShow=false
} }
if (!this.isChange) return; if (!this.isChange) return;
@@ -321,7 +377,7 @@ export default {
} }
console.log(this.rightList); console.log(this.rightList);
if(this.wrongList.includes(this.questionList[this.topicIndex].questionId)){ if(this.wrongList.includes(this.questionList[this.topicIndex].questionId)){
const wIndex=this.wrongList.findIndex(this.questionList[this.topicIndex].questionId) const wIndex=this.wrongList.indexOf(this.questionList[this.topicIndex].questionId)
this.wrongList.splice(wIndex,1) this.wrongList.splice(wIndex,1)
} }
if(this.topicIndex<this.questionList.length-1){ if(this.topicIndex<this.questionList.length-1){
@@ -766,4 +822,23 @@ export default {
.content{ .content{
padding-top: calc(var(--window-top) + 10px); padding-top: calc(var(--window-top) + 10px);
} }
.vip_btn{
width:100%;
height: 100rpx;
line-height: 100rpx;
text-align: center;
font-size: 18px;
color:#fff;
background: linear-gradient(90deg, #FF9804 0%, #E95B0E 100%);
border-radius: 50rpx;
}
.sub_btn{
width:100%;
height: 110rpx;
border: 4px solid #F59B26;
background: linear-gradient(0deg, #E66501 0%, #F8A42C 100%);
box-shadow: 0rpx 16rpx 20rpx 1rpx rgba(245,155,38,0.78);
border-radius: 55rpx;
padding: 14rpx;
}
</style> </style>

View File

@@ -1,15 +1,15 @@
<template> <template>
<view class="p14"> <view class="p14">
<view class="flex jc-sb"> <view class="flex jc-sb">
<view class="relative mr5"> <view class="relative mr5" @tap="toIconSkill">
<image style="width: 336rpx;height: 152rpx;" src="../../static/image/practice/errorprone_bg.png"> <image style="width: 336rpx;height: 152rpx;" src="../../static/image/practice/errorprone_bg.png">
</image> </image>
<view style="position: absolute;left: 0;top: 0;" class="p10"> <view style="position: absolute;left: 0;top: 0;" class="p10">
<view style="color: #04B13B;font-size: 18px;">技巧</view> <view style="color: #04B13B;font-size: 18px;">技巧</view>
<text style="color: #04B13B;font-size: 14px;">快速记忆</text> <text style="color: #04B13B;font-size: 14px;">快速记忆</text>
</view> </view>
</view> </view>
<view class="relative ml5"> <view class="relative ml5" @tap="toChapterSkill">
<image style="width: 363rpx;height: 170rpx;" src="../../static/image/practice/chapter_bg.png"></image> <image style="width: 363rpx;height: 170rpx;" src="../../static/image/practice/chapter_bg.png"></image>
<view style="position: absolute;left: 0;top: 0;" class="p10"> <view style="position: absolute;left: 0;top: 0;" class="p10">
<view style="color: #FF6E02;font-size: 18px;">章节练习</view> <view style="color: #FF6E02;font-size: 18px;">章节练习</view>
@@ -92,6 +92,16 @@
url:"/pages/questionBank/questionBank?navTitle="+title url:"/pages/questionBank/questionBank?navTitle="+title
}) })
}, },
toIconSkill(){
uni.navigateTo({
url:"/pages/index/iconSkill"
})
},
toChapterSkill(){
uni.navigateTo({
url:"/pages/questionBank/chapterExercise"
})
}
} }
} }
</script> </script>

View File

@@ -3,9 +3,9 @@
<!-- <u-navbar :title="navTitle" @rightClick="rightClick" :autoBack="true"> <!-- <u-navbar :title="navTitle" @rightClick="rightClick" :autoBack="true">
</u-navbar> --> </u-navbar> -->
<j-navbar>{{navTitle}}</j-navbar> <j-navbar>{{navTitle}}</j-navbar>
<Question :tabsList="tabsList" /> <Question :tabsList="tabsList" :isShowAll="true" />
</view> </view>
</template> </template>
<script> <script>
import { import {
@@ -41,11 +41,11 @@
methods: { methods: {
rightClick() { rightClick() {
console.log('返回'); console.log('返回');
} },
} }
} }
</script> </script>
<style> <style scoped>
</style> </style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB