引入日历前

This commit is contained in:
@fawn-nine
2023-08-21 18:05:19 +08:00
parent 57d70c40f2
commit ef6c52c0d4
48 changed files with 4003 additions and 386 deletions

View File

@@ -21,13 +21,16 @@
<view class="prof">
<p>一款线上电子书APP包含医学类国学类文学类中医古籍等各种类型3D仿真翻页护眼模式等阅读技术打造舒适阅读体验图文混排AI人声读书听书部分电子书也有对应的纸质书给予用户更多的阅读选择</p>
</view>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
export default {
data() {
return {
playData:{},
versionCode:null,
versionName:null
}
@@ -35,6 +38,9 @@
onLoad() {
this.getAppInfo()
},
components:{
musicPlay
},
methods: {
// 获取版本信息
getAppInfo(){

View File

@@ -93,15 +93,13 @@
</view>
</view>
</view>
<z-navigation></z-navigation>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
import {
mapState
@@ -109,6 +107,7 @@
export default {
data() {
return {
playData:{},
bookNum: null, //
topX: '', //x轴
leftY: '', //y轴
@@ -142,6 +141,9 @@
uni.stopPullDownRefresh()
},
//方法
components:{
musicPlay
},
methods: {
getData() {
this.bokMesDet.userId = this.userInfo.id

View File

@@ -10,28 +10,26 @@
</view>
<!-- <view class="home_nar" v-if="showEbook"> -->
<view class="home_nar">
<view class="hn_cl_tit chaoshi" @click="onPageJump('../bookShop/classify')">
<image src="../../static/icon/home_bar_2.png" mode="aspectFit"></image>
<text>读书</text>
</view>
<view class="hn_cl_tit shuguan" @click="onPageJump('../clock/clock')">
<image src="../../static/icon/daka.png" mode="aspectFit"></image>
<text>读书打卡</text>
</view>
<view class="hn_cl_tit dianzishu" @click="onPageJump('../listen/home')">
<image src="../../static/icon/home_bar_1.png" mode="aspectFit"></image>
<image src="../../static/icon/ting11.png" mode="aspectFit"></image>
<text>听书</text>
</view>
<!-- <view class="hn_cl_tit dianzishu" @click="onPageJump('../eBook/bookList')">
<image src="../../static/icon/home_bar_1.png" mode="aspectFit"></image>
<text>电子书</text>
</view> -->
<!-- <view class="hn_cl_tit" @click="onPageJump('../bookShop/bookShopIndex')"> -->
</view>
<!-- <view class="hn_cl_tit" @click="onGoing()">
<image src="../../static/icon/home_bar_3.png" mode="aspectFit"></image>
讲书
<!-- <view class="hn_cl_tit" @click="onPageJump('../bookShop/bookShopIndex')"> -->
<view class="hn_cl_tit shuping" @click="onTabJump()">
<image src="../../static/icon/pingshu1.png" mode="aspectFit"></image>
<text>书评</text>
</view>
<view class="hn_cl_tit" @click="onGoing()">
<image src="../../static/icon/home_bar_4.png" mode="aspectFit"></image>
论文集
</view> -->
<view class="hn_cl_tit chaoshi" @click="onPageJump('../bookShop/classify')">
<image src="../../static/icon/home_bar_2.png" mode="aspectFit"></image>
<text>图书馆</text>
</view>
</view>
<view class="home_lunbo">
@@ -88,9 +86,9 @@
</view>
</view>
<view class="head_line" v-if="showEbook">
<view class="head_line" >
<b></b>
<text>新书上</text>
<text>新书上</text>
<i @click="onBookMore('New')">查看更多 ></i>
</view>
@@ -112,7 +110,11 @@
</view>
<br clear='both'>
</view>
<!--按类型 类型推荐 -->
<view class="tuijianView">
</view>
<!-- end -->
<view class="head_line" v-if="showEbook">
<b></b>
<text>限时特价</text>
@@ -177,7 +179,8 @@
{{item.productName}}
</view>
<view class="goodsPrice">
{{item.price}}
<span class="price">{{item.price}}</span>
<span class="Salesnum">已售{{item.sumSales}} </span>
</view>
</view>
</view>
@@ -473,6 +476,7 @@
this.$http
.post('book/shopproduct/appGetList?limit=30&page=1&istop=1')
.then(res => {
console.log(res.page.list,'首页商品')
this.goodsList = res.page.list
})
},
@@ -538,7 +542,7 @@
</script>
<style lang="scss" scoped>
@import '@/style/mixin.scss';
.head_line {
margin: 50rpx 0 0 0;
@@ -611,35 +615,35 @@
}
}
.home_nar {
margin: 60rpx 50rpx 0 50rpx;
.home_nar { padding-bottom: 20rpx;
margin: 30rpx 20rpx; justify-content: space-between;
display: flex;
color: #333;
.dianzishu{ margin-right:10rpx;
background-color: #d6ffda; border: 2px solid #bae9bf; margin-left:10rpx;
background-color:#f8d6f4 ; border: 2px solid #edcce9;
}
.chaoshi{background-color:#fff2d8 ; border: 2px solid #ede6d3; }
.hn_cl_tit {
width: 50%;
.shuping{ background-color: #d6ffda; border: 2px solid #bae9bf;}
.shuguan{ background-color:#e3f9f9 ; border: 2px solid #d7eced; }
.hn_cl_tit { padding-bottom: 10rpx;
width: 23%;
text-align: center;
border-radius: 20rpx ; padding-top: 10rpx;
// line-height: 110upx;
display: flex;
//display: flex;
align-content: center;
justify-content: center;
image {
width: 110upx;
height: 110upx;
display: inline-block;
// margin: 0 auto;
// margin: 0 20rpx;
height:110upx;
display: block;
margin: 0 auto;
margin: 0 20rpx;
}
text{height: 100upx; display:inline-block; line-height: 100upx; font-size: 34rpx;}
text{ display:block; font-size: 34rpx;}
}
.hn_cl_tit:nth-child(1),
.hn_cl_tit:nth-child(4) {}
}
@@ -928,10 +932,13 @@
.goodsPrice {
font-size: 30rpx;
margin: 5rpx 0 0 3rpx;
color: #bf0c0c;
font-weight: bold;
margin: 5rpx 0 0 3rpx;
display: flex; justify-content: space-between;
.price{
font-weight: bold;
color: #bf0c0c;
}
.Salesnum{color: #9b9b9b;}
}
}
}

View File

@@ -59,7 +59,7 @@
<text>我的订单</text>
</view>
<view class="nav_list" @click="onPageJump('../listen/home')">
<text>我的</text>
<text>我的</text>
</view>
<view class="nav_list" @click="onPageJump('../listen/setListen')">
<text>听书设置</text>

View File

@@ -10,7 +10,19 @@
<text class="username nowrap ">{{item.name}}</text>
</view> -->
<view class="contentBox">
<view class="content">{{ item.content }}<br/></view>
<view class="mb30">
<span :class="['star',item.starlevel >= 1 ? 'starLight':'starGray']"></span>
<span :class="['star',item.starlevel >= 2 ? 'starLight':'starGray']"></span>
<span :class="['star',item.starlevel >= 3 ? 'starLight':'starGray']"></span>
<span :class="['star',item.starlevel >= 4 ? 'starLight':'starGray']"></span>
<span :class="['star',item.starlevel >= 5 ? 'starLight':'starGray']"></span>
</view>
<div class="pjimgs flexbox">
<view class="item" v-for="(item1,index) in item.images">
<image v-if="item1.length > 10" @click="previewImage(item1)" :src="item1" mode="aspectFill" style="width:100%; height: 50px;"></image>
</view>
</div>
<view class="content" v-html="item.phtml"></view>
<text class="time">订单编号{{ item.orderSn }}</text>
<text class="time">发布时间{{ item.createDate }}</text>
</view>
@@ -22,10 +34,13 @@
</view>
</view>
<z-navigation></z-navigation>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import emojiList1 from '../../bkhumor-emojiplus/emoji/biaoqin.js'
import $http from '@/config/requestConfig.js';
import {
mapState
@@ -33,6 +48,7 @@
export default {
data() {
return {
playData:{},
commentsList:[]
}
},
@@ -42,7 +58,33 @@
computed:{
...mapState(['userInfo']),
},
components:{
musicPlay
},
methods: {
// 获取html格式的评论1
getHtmlComment(comment){
// 格式化html
// console.log(comment,'comment')
// 这里处理 链接 换行符
let replacedStr = comment.replace(/\[([^(\]|\[)]*)\]/g, (item, index) => {
// console.log(item, index)
var indexss = emojiList1.findIndex(item1 => item1.alt === item)
// console.log(indexss, 'indexss')
return '<img src="https://www.nuttyreading.com/emojis/emojis/qq/' + emojiList1[indexss].url + '" width="18rpx">';
});
// console.log(replacedStr,'replacedStr')
return replacedStr.replace(/(\r\n)|(\n)/g, '<br>');
},
// 放大图片
previewImage(url){
console.log(url)
uni.previewImage({
urls: [url]
});
},
// 获取评价列表
getComments(){
$http.request({
@@ -58,7 +100,29 @@
.then(res => {
console.log(res,'评价')
if(res.code == 0){
this.commentsList = res.Allevaluations
this.commentsList = res.Allevaluations.map(item => {
var imgList = []
if(item.images !== null){
imgList = item.images.split(',')
item.images = imgList
return item
}else {
return item
}
})
var newarr = []
this.commentsList.forEach((item1)=>{
var pjstr = ''
pjstr = this.getHtmlComment(item1.content)
//console.log(pjstr,'99999999999----------')
item1.phtml = pjstr
// console.log(item1.phtml,'item1.phtml')
newarr.push(item1)
})
this.commentsList = newarr
// this.commentsList = res.Allevaluations
}
})
},
@@ -67,6 +131,15 @@
</script>
<style lang="scss" scoped>
.pjimgs{ margin: 10px 0;flex-wrap: wrap; display: flex; justify-content: space-between;
.item{width: 23%; margin-right: 10px;
image{ }
}
}
.star{display: inline-block; width: 20px; height: 20px; margin-right: 10rpx;}
.starGray{ background : url(../../static/icon/star_greey.png) no-repeat; background-size: contain; }
.starLight{ background : url(../../static/icon/star_light.png) no-repeat; background-size: contain;}
.quesheng{text-align: center; margin-top: 100rpx; color: #8b8a91;}
.container{margin-top: 10rpx; background-color: #fff; padding:20rpx; border-top:#f1f1f1 1px solid ;}

View File

@@ -96,10 +96,12 @@
</view>
</view>
</u-popup>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
import {
mapState
@@ -111,6 +113,7 @@
export default {
data() {
return {
playData:{},
xieyiShow : false,
xieyi:{
title:'',
@@ -159,6 +162,9 @@
computed: {
...mapState(['userInfo']),
},
components:{
musicPlay
},
//方法
methods: {
showXieyi(){

View File

@@ -72,10 +72,12 @@
</view>
</view>
</u-popup>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
import {
checkIapOrder
@@ -97,6 +99,7 @@
export default {
data() {
return {
playData:{},
xieyi: {
title: '',
content: ''
@@ -158,6 +161,9 @@
computed: {
...mapState(['userInfo']),
},
components:{
musicPlay
},
//方法
methods: {
...mapMutations(['setUserInfo']),

View File

@@ -72,10 +72,12 @@
</view>
</view>
</u-popup>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
// import { // 引入ios支付
// Iap,
@@ -94,6 +96,7 @@
export default {
data() {
return {
playData:{},
xieyi: {
title: '',
content: ''
@@ -153,7 +156,10 @@
computed: {
...mapState(['userInfo']),
},
//方法
components:{
musicPlay
},
//方法1
methods: {
showXieyi() {
this.$http

View File

@@ -56,13 +56,16 @@
<u-back-top :scroll-top="scrollTop"></u-back-top>
</view>
</view>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
export default {
data() {
return {
playData:{},
scrollTop: 0,
totalPage: 0,
status: 3,
@@ -142,6 +145,9 @@
onShow() {
this.getHistory()
},
components:{
musicPlay
},
//方法
methods: {
// 获取缓存

View File

@@ -44,10 +44,12 @@
<public-module></public-module>
<z-navigation></z-navigation>
<music-play :playData="playData"></music-play>
</view>
</template>
<script>
import musicPlay from '@/components/music.vue'
import $http from '@/config/requestConfig.js';
import {
mapState
@@ -55,6 +57,7 @@
export default {
data() {
return {
playData:{},
totalPrice: 0, // 总价
all: false, // 是否全选
isCartDelShow: false, // 是否展示删除按钮
@@ -79,6 +82,9 @@
computed: {
...mapState(['userInfo']),
},
components:{
musicPlay
},
//方法
methods: {
// 获取购物车列表