Browse Source

提交代码

master
杨豪 3 years ago
parent
commit
967f345b94
  1. 10
      components/ShopLiveCard.vue
  2. 7
      config/index.js
  3. 2
      libs/wechat.js
  4. 21
      pages.json
  5. 193
      pages/course/detail.vue
  6. 35
      pages/course/index.vue
  7. 90
      pages/home/index.vue
  8. 1
      pages/knowledge/unlock.vue
  9. 69
      pages/noticePage/index.vue
  10. 14
      pages/serviceTeacher/courseDetail.vue
  11. 6
      pages/serviceTeacher/courseManagement.vue
  12. 5
      pages/serviceTeacher/memberDetail.vue
  13. 14
      pages/shop/GoodsClass/index.vue
  14. 1
      pages/shop/GoodsCon/index.vue
  15. 10
      pages/study/dabang.vue
  16. 7
      pages/user/User/index.vue
  17. 4
      pages/user/myBangdan/index.vue
  18. 4
      pages/user/myCourses/index.vue
  19. BIN
      static/close-btn.png
  20. BIN
      static/content-bg.png
  21. BIN
      static/course-icon1.png
  22. BIN
      static/course-icon2.png
  23. BIN
      static/course-icon3.png
  24. BIN
      static/course-icon4.png
  25. BIN
      static/course-icon5.png
  26. BIN
      static/ercode-download.png
  27. BIN
      static/signup-success.png
  28. BIN
      static/蒙版组 39@2x.png
  29. 1
      utils/index.js
  30. 1
      utils/request.js

10
components/ShopLiveCard.vue

@ -38,9 +38,9 @@
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
HAS_LIVE = true HAS_LIVE = true
let livePlayer = null; let livePlayer = null;
if (HAS_LIVE) { // if (HAS_LIVE) {
// livePlayer = requirePlugin('live-player-plugin'); // livePlayer = requirePlugin('live-player-plugin');
} // }
// #endif // #endif
let timer = null; let timer = null;
export default { export default {
@ -107,9 +107,9 @@
methods: { methods: {
goRoom() { goRoom() {
let that = this; let that = this;
wx.navigateTo({ // wx.navigateTo({
url: `plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=${that.detail.roomId}` // url: `plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=${that.detail.roomId}`
}); // });
}, },
dateFormat(fmt, date) { dateFormat(fmt, date) {
let ret; let ret;

7
config/index.js

@ -1,11 +1,10 @@
// export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api'; // export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api';
// export const VUE_APP_API_URL = 'https://wxapi.yixiang.co/api' // export const VUE_APP_API_URL = 'https://wxapi.yixiang.co/api'
// export const VUE_APP_API_URL = 'http://139.186.134.205:9006/api' // export const VUE_APP_API_URL = 'http://192.168.0.112:8088/api'
export const VUE_APP_API_URL = 'http://192.168.0.114:8098/api' // export const VUE_APP_API_URL = 'http://192.168.0.114:8088/api'
// export const VUE_APP_API_URL = 'https://www.cyjyyjy.com:8096/api' export const VUE_APP_API_URL = 'https://www.cyjyyjy.com/api'
// export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api'; // export const VUE_APP_API_URL = 'http://natapp.xinxintuan.co/api';
// export const VUE_APP_API_URL = 'https://thapi.xinxintuan.co/api' // export const VUE_APP_API_URL = 'https://thapi.xinxintuan.co/api'
// export const VUE_APP_API_URL = 'https://h5api.xinxintuan.co/api'; // export const VUE_APP_API_URL = 'https://h5api.xinxintuan.co/api';
// export const VUE_APP_API_URL = 'https://h5api.xinxintuan.co/api'; // export const VUE_APP_API_URL = 'https://h5api.xinxintuan.co/api';
export const VUE_APP_RESOURCES_URL = 'https://h5.yixiang.co/static' export const VUE_APP_RESOURCES_URL = 'https://h5.yixiang.co/static'

2
libs/wechat.js

@ -1,6 +1,6 @@
import { subscribeMessage } from '@/libs/order' import { subscribeMessage } from '@/libs/order'
import { getProvider } from '@/utils' import { getProvider } from '@/utils'
import WechatJSSDK from 'wechat-jssdk/dist/client.umd' // import WechatJSSDK from 'wechat-jssdk/dist/client.umd'
import { getWechatConfig, wechatAuth } from '@/api/public' import { getWechatConfig, wechatAuth } from '@/api/public'
import { parseQuery } from '@/utils' import { parseQuery } from '@/utils'
import cookie from '@/utils/store/cookie' import cookie from '@/utils/store/cookie'

21
pages.json

@ -37,10 +37,17 @@
"navigationBarTitleText": "首页" "navigationBarTitleText": "首页"
} }
}, },
{
"path": "pages/noticePage/index",
"style": {
"navigationBarTitleText": "公告"
}
},
{ {
"path": "pages/home/index", "path": "pages/home/index",
"style": { "style": {
"navigationBarTitleText": "禅易教育研究院" "navigationBarTitleText": "禅易教育研究院",
"enablePullDownRefresh": true
} }
}, },
{ {
@ -122,7 +129,8 @@
{ {
"path": "pages/shop/GoodsClass/index", "path": "pages/shop/GoodsClass/index",
"style": { "style": {
"navigationBarTitleText": "商城" "navigationBarTitleText": "商城",
"enablePullDownRefresh": true
} }
}, },
{ {
@ -156,13 +164,15 @@
{ {
"path": "pages/user/myCourses/index", "path": "pages/user/myCourses/index",
"style": { "style": {
"navigationBarTitleText": "我的课程" "navigationBarTitleText": "我的课程",
"enablePullDownRefresh": true
} }
}, },
{ {
"path": "pages/user/myBangdan/index", "path": "pages/user/myBangdan/index",
"style": { "style": {
"navigationBarTitleText": "我的打卡榜" "navigationBarTitleText": "我的打卡榜",
"enablePullDownRefresh": true
} }
}, },
{ {
@ -265,7 +275,8 @@
{ {
"path": "pages/serviceTeacher/courseDetail", "path": "pages/serviceTeacher/courseDetail",
"style": { "style": {
"navigationBarTitleText": "课程详情" "navigationBarTitleText": "课程详情",
"enablePullDownRefresh": true
} }
}, },
{ {

193
pages/course/detail.vue

@ -2,7 +2,9 @@
<view class="course-detail-index"> <view class="course-detail-index">
<view v-if="$store.getters.token || userInfo.uid"> <view v-if="$store.getters.token || userInfo.uid">
<view class="swiper-box"> <view class="swiper-box">
<view class="swiper-item"><image :src="item" mode="aspectFill" v-for="(item,index) in detail.imageArr"></image></view> <view class="swiper-item">
<image :src="detail.imageArr[0]" mode="aspectFill" :key="index"></image>
</view>
<!-- <swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000"> <!-- <swiper :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000">
<swiper-item v-for="(item,index) in detail.imageArr" :key="index"> <swiper-item v-for="(item,index) in detail.imageArr" :key="index">
<view class="swiper-item"><image :src="item" mode="aspectFill"></image></view> <view class="swiper-item"><image :src="item" mode="aspectFill"></image></view>
@ -10,7 +12,11 @@
</swiper> --> </swiper> -->
</view> </view>
<view class="course-info-box"> <view class="course-info-box">
<view class="course-title">{{detail.courseName}}</view> <view class="course-title acea-row row-between-wrapper">
<view>{{detail.courseName}}</view>
<view class="price" v-if="detail.price == 0">公开课</view>
<view class="price" v-if="detail.price > 0 && detail.price < 199">{{detail.price}}</view>
</view>
<view class="tips-box"> <view class="tips-box">
<view class="tip-item blue">{{detail.categoryName}}</view> <view class="tip-item blue">{{detail.categoryName}}</view>
<view class="tip-item orange">{{detail.levelName}}</view> <view class="tip-item orange">{{detail.levelName}}</view>
@ -52,10 +58,15 @@
<span>课程表</span> <span>课程表</span>
</view> </view>
<view class="course-card-list"> <view class="course-card-list">
<view class="course-card-item acea-row row-middle">
<image src="../../static/course-icon5.png"></image>
<view class="label">课程类型</view>
<view class="info">{{detail.courseType == 0 ? '线下课程' : '直播课程'}}</view>
</view>
<view class="course-card-item acea-row row-middle"> <view class="course-card-item acea-row row-middle">
<image src="../../static/course-icon1.png"></image> <image src="../../static/course-icon1.png"></image>
<view class="label">课程时间</view> <view class="label">课程时间</view>
<view class="info">{{courseStartTime}} {{courseEndTime}}</view> <view class="info">{{detail.courseStartTime}} {{detail.courseEndTime}}</view>
</view> </view>
<view class="course-card-item acea-row row-middle"> <view class="course-card-item acea-row row-middle">
<image src="../../static/course-icon2.png"></image> <image src="../../static/course-icon2.png"></image>
@ -97,7 +108,7 @@
</view> </view>
<view class="knowledge-info-box"> <view class="knowledge-info-box">
<view class="title line1">{{item.courseName}}</view> <view class="title line1">{{item.courseName}}</view>
<view class="time">{{courseStartTime}}~{{courseEndTime}}</view> <view class="time">{{item.courseStartTime.split(' ')[0]}}-{{item.courseEndTime.split(' ')[0]}}</view>
<view class="address">{{item.coursePlace}}</view> <view class="address">{{item.coursePlace}}</view>
<view class="type-box acea-row row-between row-middle"> <view class="type-box acea-row row-between row-middle">
<!-- <view class="price">{{item.levelName}}</view> --> <!-- <view class="price">{{item.levelName}}</view> -->
@ -178,6 +189,18 @@
</view> </view>
</view> </view>
</view> </view>
<view class="mask-box2" v-if="showSignUp">
<view class="dialog-bg">
<view class="signUp-box">
<image src="../../static/signup-success.png" class="signup-success" ></image>
<view class="divsion-line"></view>
<view class="tips">请识别下方二维码下载APP,进行线上观看</view>
<view class="er-code"><image src="../../static/ercode-download.png" show-menu-by-longpress="true"></image></view>
<view class="longpress-btn">长按图片保存到相册</view>
</view>
</view>
<view class="close-btn" @click="showSignUp = false"></view>
</view>
</view> </view>
<Authorization v-else /> <Authorization v-else />
</view> </view>
@ -205,6 +228,8 @@
tabInitTop:'', tabInitTop:'',
isFixedTop: false, isFixedTop: false,
maskDialog:false, maskDialog:false,
showSignUp: false,
times: 0,
day:'', day:'',
hour:'', hour:'',
minute:'', minute:'',
@ -233,18 +258,20 @@
}) })
} }
}, },
computed:{ computed:{
userInfo(){ userInfo(){
return this.$store.getters["userInfo"] return this.$store.getters["userInfo"]
}, },
courseStartTime(){ // courseStartTime(){
return this.detail.courseStartTime.split(' ')[0] // return this.detail.courseStartTime.split(' ')[0]
}, // },
courseEndTime(){ // courseEndTime(){
return this.detail.courseEndTime.split(' ')[0] // return this.detail.courseEndTime.split(' ')[0]
}, // },
}, },
mounted() { mounted(){
}, },
methods: { methods: {
getPhoneNumber: function(e) { getPhoneNumber: function(e) {
@ -325,7 +352,9 @@
this.hour = Math.floor(this.times / (60 * 60)) - (this.day * 24); this.hour = Math.floor(this.times / (60 * 60)) - (this.day * 24);
this.minute = Math.floor(this.times / 60) - (this.day * 24 * 60) - (this.hour * 60); this.minute = Math.floor(this.times / 60) - (this.day * 24 * 60) - (this.hour * 60);
this.second = Math.floor(this.times) - (this.day * 24 * 60 * 60) - (this.hour * 60 * 60) - (this.minute * 60); this.second = Math.floor(this.times) - (this.day * 24 * 60 * 60) - (this.hour * 60 * 60) - (this.minute * 60);
console.log(this.times)
}) })
}, },
signInClick(type){ signInClick(type){
if(this.userInfo.realName == null){ if(this.userInfo.realName == null){
@ -368,14 +397,19 @@
this.maskDialog = true this.maskDialog = true
this.teacher = res.data this.teacher = res.data
} else if(res.data.state == 1){ } else if(res.data.state == 1){
if(this.detail.courseType == 1){ //
this.showSignUp = true
this.getDetail()
} else{
uni.showToast({ uni.showToast({
title: '报名成功!', title: '报名成功!'
duration: 2000,
type: "success"
}); });
setTimeout(()=>{ setTimeout(()=>{
this.getDetail() this.getDetail()
},2000) },2000)
}
} else if(res.data.state == 2){
this.payment(res.data.payData)
} else{ } else{
uni.showToast({ uni.showToast({
title: res.msg, title: res.msg,
@ -385,6 +419,36 @@
} }
}) })
}, },
payment(orderInfo){
//
uni.requestPayment({
provider: 'wxpay',
...orderInfo,
signType: 'MD5',
package:orderInfo.packageValue,
success: success => {
if(this.detail.courseType == 1){ //
this.showSignUp = true
this.getDetail()
} else{
uni.showToast({
title: '报名成功!'
});
setTimeout(()=>{
this.getDetail()
},2000)
}
},
fail: error => {
console.log(error)
if (error.errMsg == 'requestPayment:fail cancel') {
uni.showToast({ title: '已取消支付', icon: 'none', duration: 5000 })
} else {
uni.showToast({ title: error || error.msg, icon: 'none', duration: 5000 })
}
},
})
},
call(){ call(){
uni.makePhoneCall({ uni.makePhoneCall({
phoneNumber: this.teacher.phone phoneNumber: this.teacher.phone
@ -522,6 +586,104 @@
} }
} }
} }
}
.mask-box2{
width: 100%;
height: 100%;
background: rgba(0,0,0,.6);
position: fixed;
top: 0;
z-index: 99;
.dialog-bg{
width: 726rpx;
height: 1026rpx;
background: linear-gradient(180deg, #fbd8a5 0%, #fcc86a 100%);
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
border-radius: 8rpx;
}
.signUp-box{
width: 543rpx;
height: 836rpx;
background: #fff;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
display: flex;
flex-direction: column;
align-items: center;
border-radius: 8rpx;
.signup-success{
width: 470rpx;
height: 100rpx;
margin: 60rpx 0 46rpx;
}
.divsion-line{
width: 467rpx;
border-bottom: 1px dashed #fbd69e;
position: relative;
&::before{
display: inline-block;
content: '';
width: 50rpx;
height: 50rpx;
border-radius: 50px;
background: #FBD293;
position: absolute;
left: -62rpx;
top: -25rpx;
}
&::after{
display: inline-block;
content: '';
width: 50rpx;
height: 50rpx;
border-radius: 50px;
background: #FBD293;
position: absolute;
right: -62rpx;
top: -25rpx;
}
}
.er-code{
image{
width: 297rpx;
height: 297rpx;
}
}
.tips{
width: 340rpx;
font-size: 28rpx;
color: #000;
margin: 28rpx auto 12rpx;
text-align: center;
}
.longpress-btn{
width: 327rpx;
height: 75rpx;
text-align: center;
line-height: 75rpx;
font-size: 32rpx;
color: #fff;
background: linear-gradient(90deg, #F7D08E 0%, #E2B35D 99%);
border-radius: 37rpx;
margin-top: 32rpx;
}
}
.close-btn{
width: 80rpx;
height: 80rpx;
background: url(../../static/close-btn.png) no-repeat;
background-size: 100% 100%;
position: absolute;
bottom: 100rpx;
left: 50%;
margin-left: -40rpx;
}
} }
.swiper-box{ .swiper-box{
width: 100%; width: 100%;
@ -556,6 +718,9 @@
color: #333333; color: #333333;
line-height: 56rpx; line-height: 56rpx;
margin: 0rpx 0 20rpx; margin: 0rpx 0 20rpx;
.price{
color: #EA533E;
}
} }
.tips-box{ .tips-box{
display: flex; display: flex;

35
pages/course/index.vue

@ -68,20 +68,6 @@
</view> </view>
</view> </view>
</view> </view>
<!-- <view class="knowledge-item acea-row">
<view class="img-box">
<image src="../../static/img1.png" mode=""></image>
</view>
<view class="knowledge-info-box">
<view class="title line1">阴阳五行一个人的阴阳五的阴阳五行</view>
<view class="time">2021-5-31-6.3 8:30-18:30</view>
<view class="address">中国 武汉</view>
<view class="type-box acea-row row-between row-middle">
<view class="price">3000</view>
<view class="signin-btn red" @click="toDetail(1)">去报名</view>
</view>
</view>
</view> -->
</view> </view>
</view> </view>
</view> </view>
@ -147,7 +133,7 @@
}, },
mounted() { mounted() {
uni.getSystemInfo({ uni.getSystemInfo({
success:function(res){ success:(res)=>{
this.windowWidth = res.windowWidth; this.windowWidth = res.windowWidth;
} }
}) })
@ -192,12 +178,17 @@
}) })
}, },
getCourses() { getCourses() {
uni.showLoading({
title:'正在加载中...'
})
var cid = null; var cid = null;
this.active == null ? cid = this.currentTab.id : cid = this.active this.active == null ? cid = this.currentTab.id : cid = this.active
getCourses({categoryId: cid,listState:0,uid:this.userInfo.uid}).then((res) => { getCourses({categoryId: cid,listState:0,uid:this.userInfo.uid}).then((res) => {
if (res.success) { if (res.success) {
this.courseList = res.data this.courseList = res.data
} }
uni.hideLoading()
uni.stopPullDownRefresh()
}) })
}, },
tabChange(item,index) { tabChange(item,index) {
@ -238,22 +229,8 @@
this.getCourses() this.getCourses()
}, },
onPullDownRefresh() { onPullDownRefresh() {
getCategory().then((res) => {
this.tabList = res.data
this.$set(this, 'secondMenu', res.data[0].categoryList)
this.$set(this, 'currentTab', res.data[0])
this.categoryTitle = res.data[0].categoryName;
if (res.data[0].categoryList.length > 0) {
this.$set(this, 'active', res.data[0].categoryList[0].id)
this.categoryTitle = this.categoryTitle +'·'+res.data[0].categoryList[0].categoryName
} else{
// this.$set(this, 'tabSelect', 0)
// this.scrollLeft = 0
}
}).then(() => {
this.getStudyList() this.getStudyList()
this.getCourses() this.getCourses()
})
} }
} }
} }

90
pages/home/index.vue

@ -59,6 +59,10 @@
</view> </view>
</view> --> </view> -->
</view> </view>
<view class="notice-box acea-row row-middle" @click="toNoticePage">
<view class="notice-t">公告</view>
<view class="notice">点击下载直播APP在线观看</view>
</view>
<!-- 推荐课程 --> <!-- 推荐课程 -->
<view class="recommend-box p30"> <view class="recommend-box p30">
<view class="title-box acea-row row-between-wrapper"> <view class="title-box acea-row row-between-wrapper">
@ -256,14 +260,33 @@ export default {
uni.showLoading({ uni.showLoading({
title:'正在加载中...' title:'正在加载中...'
}) })
// getCanvas()
// .then(res => {})
// .catch(error => {
// this.homeData = JSON.parse(error.data.json)
// })
getBlessingFlag().then((res)=>{ getBlessingFlag().then((res)=>{
this.flag = res.data this.flag = res.data
}) })
this.getData()
getWanniali(this.dateStr2).then((res)=>{
var data = res.data
if(res.success){
this.suici = JSON.parse(data.huangli.suici).join(' ')
this.week = data.week
this.todayDate = data.lunarmonth + data.lunarday
this.year = data.year
this.month = data.month
this.day = data.day
this.ji = JSON.parse(data.huangli.ji).join(' ')
this.yi = JSON.parse(data.huangli.yi).join(' ')
}
})
},
onPullDownRefresh() {
this.getData()
},
methods: {
...mapActions(['getLocation']),
getData(){
var that = this;
getHomeData().then(res => { getHomeData().then(res => {
uni.hideLoading() uni.hideLoading()
that.logoUrl = res.data.logoUrl that.logoUrl = res.data.logoUrl
@ -277,31 +300,14 @@ export default {
that.$set(that, 'benefit', res.data.benefit) that.$set(that, 'benefit', res.data.benefit)
that.$set(that, 'couponList', res.data.couponList) that.$set(that, 'couponList', res.data.couponList)
that.$set(that, 'combinationList', res.data.combinationList) that.$set(that, 'combinationList', res.data.combinationList)
that.$set(that, 'courseList', res.data.cyCourseDtos) that.$set(that, 'courseList', res.data.courseDtos)
that.$set(that, 'studyList', res.data.studyLists) that.$set(that, 'studyList', res.data.studyLists)
that.$set(that, 'articleList', res.data.articleDtos) that.$set(that, 'articleList', res.data.articleDtos)
uni.hideLoading() uni.hideLoading()
that.setOpenShare() that.setOpenShare()
}) console.log(res.data.courseDtos)
getWanniali(this.dateStr2).then((res)=>{
console.log(res)
var data = res.data
if(res.success){
this.suici = JSON.parse(data.huangli.suici).join(' ')
this.week = data.week
this.todayDate = data.lunarmonth + data.lunarday
this.year = data.year
this.month = data.month
this.day = data.day
this.ji = JSON.parse(data.huangli.ji).join(' ')
this.yi = JSON.parse(data.huangli.yi).join(' ')
}
}) })
}, },
methods: {
...mapActions(['getLocation']),
todiandeng(){ todiandeng(){
uni.navigateTo({ uni.navigateTo({
url:'/pages/diandeng/index' url:'/pages/diandeng/index'
@ -333,6 +339,11 @@ export default {
imageUrl: this.miniHomeImg, imageUrl: this.miniHomeImg,
path: 'pages/home/index?spread=' + uni.getStorageSync('uid'), path: 'pages/home/index?spread=' + uni.getStorageSync('uid'),
} }
},
toNoticePage(){
this.$yrouter.push({
path: '/pages/noticePage/index',
})
}, },
toCourseDetail(id){ toCourseDetail(id){
this.$yrouter.push({ this.$yrouter.push({
@ -488,13 +499,13 @@ export default {
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.content_box { .content_box {
background: #F5F6F7; background: #fff;
} }
.colG{ .colG{
color: #8FB85B !important; color: #8FB85B !important;
} }
.index { .index {
background-color: #F5F6F7; // background-color: #fff;
padding-bottom: 68rpx; padding-bottom: 68rpx;
.header{ .header{
.qr { .qr {
@ -506,7 +517,30 @@ export default {
} }
} }
} }
}
.notice-box{
width: 690rpx;
height: 66rpx;
margin: 0rpx auto 36rpx;
border-radius: 8px;
background: #F9F9F9;
font-weight: 500;
.notice-t{
width: 120rpx;
height: 100%;
background: #FBE5A8;
color: #FF4224;
text-align: center;
line-height: 66rpx;
border-top-right-radius: 8rpx;
border-bottom-right-radius: 8rpx;
}
.notice{
font-size: 28rpx;
color: #411E04;
margin-left: 20rpx;
}
} }
.swiper-item { .swiper-item {
height: 100%; height: 100%;
@ -537,7 +571,7 @@ export default {
width: 100%; width: 100%;
padding: 0 30rpx; padding: 0 30rpx;
box-sizing: border-box; box-sizing: border-box;
margin-bottom: 40rpx; margin-bottom: 20rpx;
.today-fortune-box{ .today-fortune-box{
width: 100%; width: 100%;
@ -679,7 +713,7 @@ export default {
.course-content{ .course-content{
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding:0 20rpx 20rpx; padding:0 10rpx 20rpx;
} }
.course-title{ .course-title{
line-height: 40rpx; line-height: 40rpx;

1
pages/knowledge/unlock.vue

@ -86,7 +86,6 @@
...orderInfo, ...orderInfo,
signType: 'MD5', signType: 'MD5',
success: success => { success: success => {
console.log(success)
uni.showToast({ uni.showToast({
title: '支付成功', title: '支付成功',
icon: 'success', icon: 'success',

69
pages/noticePage/index.vue

@ -0,0 +1,69 @@
<template>
<view class="noticepage-box">
<view class="content">
<view class="fz44">亲爱的襌易家人们:</view>
<view class="fz36">国学随时听智慧伴我行</view>
<view class="fz30">襌易课程新增线上直播课程家人们可以在报名线上课程后点击下方图片识别图中二维码下载抱朴书院APP入学上课</view>
<image src="../../static/ercode-download.png" show-menu-by-longpress="true" class="ercode"></image>
<view class="longpress-btn">长按图片保存到相册</view>
</view>
</view>
</template>
<script>
</script>
<style lang="less">
page{
width: 100%;
height: 100%;
}
.noticepage-box{
width: 100%;
height: 100%;
background: #FBD28A;
position: relative;
.content{
width: 670rpx;
height: 988rpx;
background: url(../../static/content-bg.png) no-repeat center;
background-size: cover;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-weight: 500;
padding: 74rpx 38rpx 0 44rpx;
.fz44{
font-size: 44rpx;
line-height: 60rpx;
}
.fz36{
font-size: 36rpx;
line-height: 50rpx;
margin: 10rpx 0;
}
.fz30{
font-size: 30rpx;
line-height: 40rpx;
}
.ercode{
width: 297rpx;
height: 297rpx;
display: block;
margin: 110rpx auto 0;
}
.longpress-btn{
width: 327rpx;
height: 75rpx;
text-align: center;
line-height: 75rpx;
font-size: 32rpx;
color: #fff;
background: linear-gradient(90deg, #F7D08E 0%, #E2B35D 99%);
border-radius: 37rpx;
margin: 32rpx auto;
}
}
}
</style>

14
pages/serviceTeacher/courseDetail.vue

@ -11,7 +11,8 @@
<view class="state-box default" v-if="detail.courseState == 3">已取消</view> <view class="state-box default" v-if="detail.courseState == 3">已取消</view>
<view class="name">{{detail.courseName}}</view> <view class="name">{{detail.courseName}}</view>
</view> </view>
<view class="desc">{{detail.courseIntroduce}}</view> <!-- <view class="desc">{{detail.courseIntroduce}}</view> -->
<rich-text class="desc" :nodes="detail.courseIntroduce"></rich-text>
</view> </view>
<view class="course-active-box"> <view class="course-active-box">
<view class="title-box acea-row row-middle">活动时间及地点</view> <view class="title-box acea-row row-middle">活动时间及地点</view>
@ -43,7 +44,7 @@
<view class="member-list-box"> <view class="member-list-box">
<view class="title-box acea-row row-between"> <view class="title-box acea-row row-between">
<view>学员列表{{detail.courseMemberList.length || 0}}</view> <view>学员列表{{detail.courseMemberList.length || 0}}</view>
<view class="title-box-r"> <!-- <view class="title-box-r">
<view @click="showSort = !this.showSort" class="acea-row row-middle"> <view @click="showSort = !this.showSort" class="acea-row row-middle">
<image src="../../static/sort-icon.png" mode="" style="width: 48rpx;height:48rpx;margin-right: 10rpx;"></image> <image src="../../static/sort-icon.png" mode="" style="width: 48rpx;height:48rpx;margin-right: 10rpx;"></image>
<text>排序</text> <text>排序</text>
@ -52,7 +53,7 @@
<view class="sort-item" :class="sortNum == 1 ? 'bgR' : ''" @click.stop="sortClick(1)">未安排/已安排</view> <view class="sort-item" :class="sortNum == 1 ? 'bgR' : ''" @click.stop="sortClick(1)">未安排/已安排</view>
<view class="sort-item" :class="sortNum == 2 ? 'bgR' : ''" @click.stop="sortClick(2)">签到情况</view> <view class="sort-item" :class="sortNum == 2 ? 'bgR' : ''" @click.stop="sortClick(2)">签到情况</view>
</view> </view>
</view> </view> -->
</view> </view>
<view class="member-list"> <view class="member-list">
<view class="member-item" v-for="(item,index) in detail.courseMemberList" :key="index"> <view class="member-item" v-for="(item,index) in detail.courseMemberList" :key="index">
@ -111,6 +112,9 @@
onShow(){ onShow(){
this.getDetail(); this.getDetail();
}, },
onPullDownRefresh: function () {
this.getDetail();
},
methods:{ methods:{
sortClick(type){ sortClick(type){
this.sortNum = type this.sortNum = type
@ -135,7 +139,9 @@
getDetail(){ getDetail(){
getCourseDetail(this.id).then(res=>{ getCourseDetail(this.id).then(res=>{
if(res.success){ if(res.success){
res.data.courseIntroduce = res.data.courseIntroduce.replace(/\<img/g, "<img style='width: 100%;'")
this.detail = res.data this.detail = res.data
uni.stopPullDownRefresh()
} }
}) })
}, },
@ -227,6 +233,8 @@
font-size: 24rpx; font-size: 24rpx;
color: #333; color: #333;
line-height: 40rpx; line-height: 40rpx;
height: 126rpx;
overflow: hidden;
} }
} }
.course-active-box{ .course-active-box{

6
pages/serviceTeacher/courseManagement.vue

@ -18,7 +18,7 @@
> >
<view class="item-l"> <view class="item-l">
<view class="name line1">{{item.courseName}}</view> <view class="name line1">{{item.courseName}}</view>
<view class="desc line2">{{item.courseIntroduce}}</view> <view class="desc line2">{{item.shortIntroduce}}</view>
<view class="time">时间{{(item.courseStartTime.split(' ')[0]).replace(/\-/g, '.')}} {{(item.courseEndTime.split(' ')[0]).replace(/\-/g,'.')}}</view> <view class="time">时间{{(item.courseStartTime.split(' ')[0]).replace(/\-/g, '.')}} {{(item.courseEndTime.split(' ')[0]).replace(/\-/g,'.')}}</view>
<view class="time">地点{{item.coursePlace}}</view> <view class="time">地点{{item.coursePlace}}</view>
<view class="time">报名总人数{{item.courseEnterPerson}}</view> <view class="time">报名总人数{{item.courseEnterPerson}}</view>
@ -55,8 +55,12 @@
}, },
methods:{ methods:{
getList(){ getList(){
uni.showLoading({
title: '正在加载中...'
})
sellerCourses({type:this.active}).then((res)=>{ sellerCourses({type:this.active}).then((res)=>{
this.courseList = res.data this.courseList = res.data
uni.hideLoading()
}) })
}, },
tabClick(idx){ tabClick(idx){

5
pages/serviceTeacher/memberDetail.vue

@ -17,12 +17,12 @@
<view class="call-btn" @click="call">拨号</view> <view class="call-btn" @click="call">拨号</view>
</view> </view>
<view class="tab-box acea-row row-around" :class="isFixedTop?'fixed':''"> <view class="tab-box acea-row row-around" :class="isFixedTop?'fixed':''">
<view class="tab-item" :class="active == '0' ? 'tab-item-active' : ''" @click="handelScroll('0')">课程({{detail.cyCourseDtos.length}})</view> <view class="tab-item" :class="active == '0' ? 'tab-item-active' : ''" @click="handelScroll('0')">课程({{detail.courseDtos.length}})</view>
<view class="tab-item" :class="active == '1' ? 'tab-item-active' : ''" @click="handelScroll('1')">打榜({{detail.studyListDtos.length}})</view> <view class="tab-item" :class="active == '1' ? 'tab-item-active' : ''" @click="handelScroll('1')">打榜({{detail.studyListDtos.length}})</view>
</view> </view>
<view class="content-box" v-if="active == 0"> <view class="content-box" v-if="active == 0">
<view class="course-list-box"> <view class="course-list-box">
<view class="course-item" v-for="item in detail.cyCourseDtos" :key="item" @click="toCourseDetail(item.id)"> <view class="course-item" v-for="item in detail.courseDtos" :key="item" @click="toCourseDetail(item.id)">
<view class="top-box acea-row row-between"> <view class="top-box acea-row row-between">
<view class="top-l-box"> <view class="top-l-box">
<view class="name line1">{{item.courseName}}</view> <view class="name line1">{{item.courseName}}</view>
@ -192,6 +192,7 @@
border-radius: 10px; border-radius: 10px;
margin-bottom: 30rpx; margin-bottom: 30rpx;
.name{ .name{
width: 460rpx;
font-size: 32rpx; font-size: 32rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }

14
pages/shop/GoodsClass/index.vue

@ -143,6 +143,9 @@ export default {
// document.addEventListener("scroll", this.onScroll, false); // document.addEventListener("scroll", this.onScroll, false);
this.loadCategoryData(); this.loadCategoryData();
}, },
onPullDownRefresh() {
this.loadCategoryData();
},
methods: { methods: {
getTime() { getTime() {
let hour = new Date().getHours(); let hour = new Date().getHours();
@ -189,11 +192,12 @@ export default {
loadCategoryData() { loadCategoryData() {
getCategory().then(res => { getCategory().then(res => {
this.category = res.data; this.category = res.data;
this.$nextTick(() => { uni.stopPullDownRefresh()
if (this.$yroute.query.id) { // this.$nextTick(() => {
this.activeCateId(this.$yroute.query.id); // if (this.$yroute.query.id) {
} // this.activeCateId(this.$yroute.query.id);
}); // }
// });
}); });
}, },
submitForm: function() { submitForm: function() {

1
pages/shop/GoodsCon/index.vue

@ -33,7 +33,6 @@
<view class="iconfont icon-jiantou"></view> <view class="iconfont icon-jiantou"></view>
</view> </view>
</view> </view>
<!-- 运费 --> <!-- 运费 -->
<div class="attribute acea-row row-between-wrapper"> <div class="attribute acea-row row-between-wrapper">
<div> <div>

10
pages/study/dabang.vue

@ -79,7 +79,7 @@
<!-- 排行榜 --> <!-- 排行榜 -->
<view class="rank-list" v-if="active == 1"> <view class="rank-list" v-if="active == 1">
<view class="rank-item acea-row row-between-wrapper" v-for="(item,index) in detail.memberIntegralRankVos" :key="index"> <view class="rank-item acea-row row-between-wrapper" v-for="(item,index) in detail.memberIntegralRankVos" :key="index">
<view class="acea-row row-middle" style="width: 75%;"> <view class="acea-row row-middle" style="width: 72%;">
<view class="rank-img" v-if="index == 0"><image src="../../static/num1.png" mode=""></image></view> <view class="rank-img" v-if="index == 0"><image src="../../static/num1.png" mode=""></image></view>
<view class="rank-img" v-if="index == 1"><image src="../../static/num2.png" mode=""></image></view> <view class="rank-img" v-if="index == 1"><image src="../../static/num2.png" mode=""></image></view>
<view class="rank-img" v-if="index == 2"><image src="../../static/num3.png" mode=""></image></view> <view class="rank-img" v-if="index == 2"><image src="../../static/num3.png" mode=""></image></view>
@ -91,7 +91,7 @@
</view> </view>
<view class="acea-row row-column row-center-wrapper"> <view class="acea-row row-column row-center-wrapper">
<view>完成打榜{{item.finishNum}}</view> <view>完成打榜{{item.finishNum}}</view>
<view class="jifen">{{item.integral}}积分</view> <view class="jifen">累计打榜{{item.counts}}</view>
</view> </view>
</view> </view>
</view> </view>
@ -130,11 +130,15 @@
}); });
}, },
getProgress(){ getProgress(){
uni.showLoading({
title: "正在加载中..."
})
myProgress(this.studyId).then((res)=>{ myProgress(this.studyId).then((res)=>{
if(res.success){ if(res.success){
res.data.studyListDto.listStartTime = res.data.studyListDto.listStartTime.split(" ")[0]; res.data.studyListDto.listStartTime = res.data.studyListDto.listStartTime.split(" ")[0];
res.data.studyListDto.listEndTime = res.data.studyListDto.listEndTime.split(" ")[0] res.data.studyListDto.listEndTime = res.data.studyListDto.listEndTime.split(" ")[0]
this.detail = res.data; this.detail = res.data;
uni.hideLoading()
uni.stopPullDownRefresh(); uni.stopPullDownRefresh();
} }
}) })
@ -378,7 +382,7 @@
} }
.name{ .name{
width: 62%; width: 60%;
} }
.rank-img{ .rank-img{
width: 50rpx; width: 50rpx;

7
pages/user/User/index.vue

@ -235,7 +235,7 @@ export default {
Authorization, Authorization,
}, },
props: {}, props: {},
data: function() { data() {
return { return {
MyMenus: [], MyMenus: [],
switchActive: false, switchActive: false,
@ -533,15 +533,12 @@ export default {
}, },
onShow() { onShow() {
if (this.$store.getters.token) { if (this.$store.getters.token) {
//
// uni.showLoading({
// title: '',
// })
this.$store.dispatch('getUser', true) this.$store.dispatch('getUser', true)
// this.MenuUser() // this.MenuUser()
this.isWeixin = isWeixin() this.isWeixin = isWeixin()
} }
}, },
onHide() { onHide() {
console.log('离开用户中心') console.log('离开用户中心')
this.updateAuthorizationPage(false) this.updateAuthorizationPage(false)

4
pages/user/myBangdan/index.vue

@ -41,6 +41,9 @@
onLoad(){ onLoad(){
this.getList() this.getList()
}, },
onPullDownRefresh() {
this.getList()
},
methods:{ methods:{
getList(){ getList(){
uni.showLoading({ uni.showLoading({
@ -51,6 +54,7 @@
if(res.success){ if(res.success){
this.studyList = res.data this.studyList = res.data
} }
uni.stopPullDownRefresh()
}) })
}, },
toDabang(id){ toDabang(id){

4
pages/user/myCourses/index.vue

@ -68,6 +68,9 @@
onLoad(){ onLoad(){
this.getList() this.getList()
}, },
onPullDownRefresh() {
this.getList()
},
methods:{ methods:{
getList(){ getList(){
uni.showLoading({ uni.showLoading({
@ -78,6 +81,7 @@
if(res.success){ if(res.success){
this.courseList = res.data this.courseList = res.data
} }
uni.stopPullDownRefresh()
}) })
}, },
tabClick(idx){ tabClick(idx){

BIN
static/close-btn.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
static/content-bg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
static/course-icon1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 615 B

After

Width:  |  Height:  |  Size: 736 B

BIN
static/course-icon2.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 629 B

After

Width:  |  Height:  |  Size: 955 B

BIN
static/course-icon3.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 511 B

After

Width:  |  Height:  |  Size: 887 B

BIN
static/course-icon4.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 578 B

After

Width:  |  Height:  |  Size: 752 B

BIN
static/course-icon5.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 857 B

BIN
static/ercode-download.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
static/signup-success.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/蒙版组 39@2x.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

1
utils/index.js

@ -1118,7 +1118,6 @@ export function chooseImages(callback) {
}, },
}) })
} }
}, },
}) })
} }

1
utils/request.js

@ -63,6 +63,7 @@ function baseRequest(options) {
options.headers = { options.headers = {
...options.headers, ...options.headers,
version: '2.0',
} }
if (options.login === true) { if (options.login === true) {

Loading…
Cancel
Save