Compare commits
7 Commits
xie_tianga
...
xulu-visit
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
97ff3915c0 | ||
|
|
52b8c4503b | ||
|
|
7e798a84eb | ||
|
|
1b6a64d3e6 | ||
|
|
68ffd76d78 | ||
|
|
7e666e7d8b | ||
|
|
406a569335 |
@@ -2,7 +2,7 @@
|
|||||||
<view>
|
<view>
|
||||||
<view class="footer_box" :class="{ footer_bg: bg }">
|
<view class="footer_box" :class="{ footer_bg: bg }">
|
||||||
<view v-for="(item, index) of navigationList" :key="index" class="footer_item">
|
<view v-for="(item, index) of navigationList" :key="index" class="footer_item">
|
||||||
<view class="footer_nav_item" @click="onPageJump(item.pagePath)">
|
<view class="footer_nav_item" @click="onPageJump(item.pagePath,index+1)">
|
||||||
<image v-if="item.pagePath == path" class="footer_nav_item_image footer_nav_item_image_scale"
|
<image v-if="item.pagePath == path" class="footer_nav_item_image footer_nav_item_image_scale"
|
||||||
:src="'/' + item.selectedIconPath" mode="aspectFit"></image>
|
:src="'/' + item.selectedIconPath" mode="aspectFit"></image>
|
||||||
<image v-else class="footer_nav_item_image" :src="'/' + item.iconPath" mode="aspectFit"></image>
|
<image v-else class="footer_nav_item_image" :src="'/' + item.iconPath" mode="aspectFit"></image>
|
||||||
@@ -69,11 +69,23 @@
|
|||||||
},
|
},
|
||||||
//方法
|
//方法
|
||||||
methods: {
|
methods: {
|
||||||
onPageJump(url) {
|
onPageJump(url,num) {
|
||||||
if (this.path !== url) {
|
if (uni.getStorageSync("anonymous") == '0000000000' && (num == 2 || num == 3)) {
|
||||||
uni.switchTab({
|
uni.showToast({
|
||||||
url: '/' + url
|
icon: 'none',
|
||||||
});
|
title: '请先登录'
|
||||||
|
})
|
||||||
|
// setTimeout(() => {
|
||||||
|
// uni.navigateTo({
|
||||||
|
// url: "/pages/user/login"
|
||||||
|
// });
|
||||||
|
// }, 1000)
|
||||||
|
} else {
|
||||||
|
if (this.path !== url) {
|
||||||
|
uni.switchTab({
|
||||||
|
url: '/' + url
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ if (process.env.NODE_ENV === 'development') {
|
|||||||
// socketUrl = "ws://localhost:6001/";
|
// socketUrl = "ws://localhost:6001/";
|
||||||
// baseUrl = "https://twin-ui.com/demo/";
|
// baseUrl = "https://twin-ui.com/demo/";
|
||||||
// baseUrl = "http://59.110.212.44:9200/pb/";
|
// baseUrl = "http://59.110.212.44:9200/pb/";
|
||||||
// baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试环境
|
baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试环境
|
||||||
// baseUrl = "https://api.nuttyreading.com/"; // 线上正式
|
// baseUrl = "https://api.nuttyreading.com/"; // 线上正式
|
||||||
// baseUrl = "http://192.168.110.100:9100/pb/"; // 开发用电脑
|
// baseUrl = "http://192.168.110.100:9100/pb/"; // 开发用电脑
|
||||||
baseUrl = "http://192.168.110.110:9200/pb/";
|
// baseUrl = "http://192.168.110.110:9200/pb/";
|
||||||
// baseUrl = "http://192.168.110.38:9200/pb/"; // 吴春磊笔记本1
|
// baseUrl = "http://192.168.110.38:9200/pb/"; // 吴春磊笔记本1
|
||||||
// socketUrl = "ws://8.129.186.35:6001/";
|
// socketUrl = "ws://8.129.186.35:6001/";
|
||||||
} else if (process.env.NODE_ENV === 'production') {
|
} else if (process.env.NODE_ENV === 'production') {
|
||||||
|
|||||||
@@ -240,13 +240,13 @@ export const h5Login = function(type = "judge", callback) {
|
|||||||
appMutual("jumpLogin", null, function() {
|
appMutual("jumpLogin", null, function() {
|
||||||
if (type == "force") {
|
if (type == "force") {
|
||||||
// 没登录跳转回登录页
|
// 没登录跳转回登录页
|
||||||
uni.showToast({
|
// uni.showToast({
|
||||||
icon: 'none',
|
// icon: 'none',
|
||||||
title: '用户信息失效,请重新登陆。'
|
// title: '用户信息失效,请重新登陆。'
|
||||||
})
|
// })
|
||||||
uni.navigateTo({
|
// uni.navigateTo({
|
||||||
url: "/pages/user/login"
|
// url: "/pages/user/login"
|
||||||
});
|
// });
|
||||||
}else{
|
}else{
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title:"提示",
|
title:"提示",
|
||||||
|
|||||||
@@ -125,9 +125,11 @@ $http.requestStart = function(options) {
|
|||||||
let storeUserInfo = store.state.userInfo;
|
let storeUserInfo = store.state.userInfo;
|
||||||
if (!storeUserInfo.token) { // nvue页面读取不到vuex里面数据,将取缓存
|
if (!storeUserInfo.token) { // nvue页面读取不到vuex里面数据,将取缓存
|
||||||
storeUserInfo = uni.getStorageSync("userInfo");
|
storeUserInfo = uni.getStorageSync("userInfo");
|
||||||
|
uni.setStorageSync('anonymous', '0000000000');
|
||||||
}
|
}
|
||||||
if (storeUserInfo.token) {
|
if (storeUserInfo.token) {
|
||||||
options.header['token'] = storeUserInfo.token;
|
options.header['token'] = storeUserInfo.token;
|
||||||
|
uni.setStorageSync('anonymous', storeUserInfo.token);
|
||||||
};
|
};
|
||||||
return options;
|
return options;
|
||||||
}
|
}
|
||||||
@@ -161,8 +163,9 @@ $http.dataFactory = async function(res) {
|
|||||||
// 返回正确的结果(then接受数据)
|
// 返回正确的结果(then接受数据)
|
||||||
return Promise.resolve(httpData);
|
return Promise.resolve(httpData);
|
||||||
} else if (httpData.code == "401") {
|
} else if (httpData.code == "401") {
|
||||||
|
console.log(uni.getStorageSync("anonymous"))
|
||||||
// token失效
|
// token失效
|
||||||
if (uni.getStorageSync('guidePages') == 2) {
|
if (uni.getStorageSync('guidePages') == 2 && uni.getStorageSync("anonymous") != '0000000000') {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: '登录失效,请重新登录',
|
title: '登录失效,请重新登录',
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
|
|||||||
@@ -448,8 +448,18 @@
|
|||||||
url: '../peanut/shopping'
|
url: '../peanut/shopping'
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 关联商品点击按钮组件
|
// 关联商品点击按钮组件
|
||||||
buttonClickLink(e) {
|
buttonClickLink(e) {
|
||||||
|
// 游客跳转
|
||||||
|
if (uni.getStorageSync("anonymous") == '0000000000') {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '请先登录'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
console.log('点击的是关联商品的组件')
|
console.log('点击的是关联商品的组件')
|
||||||
if (e.index == 0) {
|
if (e.index == 0) {
|
||||||
// 点击的是加入购物车
|
// 点击的是加入购物车
|
||||||
@@ -484,6 +494,14 @@
|
|||||||
},
|
},
|
||||||
// 点击按钮组间
|
// 点击按钮组间
|
||||||
buttonClick(e) {
|
buttonClick(e) {
|
||||||
|
// 游客跳转
|
||||||
|
if (uni.getStorageSync("anonymous") == '0000000000') {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '请先登录'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
// console.log(e)
|
// console.log(e)
|
||||||
if (e.index == 0) {
|
if (e.index == 0) {
|
||||||
// 点击的是加入购物车
|
// 点击的是加入购物车
|
||||||
|
|||||||
@@ -67,6 +67,7 @@
|
|||||||
<view v-if="item.clockIn != null && item.clockIn != 2" @click="goDaKa(item)">
|
<view v-if="item.clockIn != null && item.clockIn != 2" @click="goDaKa(item)">
|
||||||
<image src="../../static/icon/home1.png" mode="aspectFit"></image>
|
<image src="../../static/icon/home1.png" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view v-else @click="noOp()">
|
<view v-else @click="noOp()">
|
||||||
<image class="gray" src="../../static/icon/home1.png" mode="aspectFit"></image>
|
<image class="gray" src="../../static/icon/home1.png" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -4,16 +4,16 @@
|
|||||||
<view class="home_bg">
|
<view class="home_bg">
|
||||||
<view class="" style=" ">
|
<view class="" style=" ">
|
||||||
|
|
||||||
<view class="icon_hua">
|
<view class="icon_hua">
|
||||||
<image src="../../static/icon/home_icon_1.png" mode="aspectFit" class="icon_hua_1"></image>
|
<image src="../../static/icon/home_icon_1.png" mode="aspectFit" class="icon_hua_1"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="hehan">
|
<view class="hehan">
|
||||||
<image src="../../static/icon/hehan.png" mode="aspectFit" class="icon_hua_1"></image>
|
<image src="../../static/icon/hehan.png" mode="aspectFit" class="icon_hua_1"></image>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="fiveIcon flexbox" style="justify-content: space-around;">
|
<view class="fiveIcon flexbox" style="justify-content: space-around;">
|
||||||
<div class="item item1" @click="onPageJump('../acupoint/acupoint')">
|
<div class="item item1" @click="anonymous?onYouAlert():onPageJump('../acupoint/acupoint')">
|
||||||
<image src="../../static/icon/five1.png" mode="aspectFit" ></image>
|
<image src="../../static/icon/five1.png" mode="aspectFit"></image>
|
||||||
<text>经穴检索</text>
|
<text>经穴检索</text>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="item item1">
|
<!-- <div class="item item1">
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
<image src="../../static/icon/five4.png" mode="aspectFit"></image>
|
<image src="../../static/icon/five4.png" mode="aspectFit"></image>
|
||||||
<text>五运六气</text>
|
<text>五运六气</text>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div class="item item1" @click="onPageJump('../peanut/searchFor')">
|
<div class="item item1" @click="anonymous?onYouAlert():onPageJump('../peanut/searchFor')">
|
||||||
<image src="../../static/icon/five3.png" mode="aspectFit"></image>
|
<image src="../../static/icon/five3.png" mode="aspectFit"></image>
|
||||||
<text>书名检索</text>
|
<text>书名检索</text>
|
||||||
</div>
|
</div>
|
||||||
@@ -51,28 +51,28 @@
|
|||||||
</view>
|
</view>
|
||||||
<!-- <view class="home_nar" v-if="showEbook"> -->
|
<!-- <view class="home_nar" v-if="showEbook"> -->
|
||||||
<view class="home_nar">
|
<view class="home_nar">
|
||||||
<view class="hn_cl_tit shuguan" @click="onPageJump('../clock/index')">
|
<view class="hn_cl_tit shuguan" @click="anonymous?onYouAlert():onPageJump('../clock/index')">
|
||||||
<image src="../../static/icon/home1-1.png" mode="aspectFit"></image>
|
<image src="../../static/icon/home1-1.png" mode="aspectFit"></image>
|
||||||
<!-- <text>打 卡</text> -->
|
<!-- <text>打 卡</text> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="hn_cl_tit dianzishu" @click="onPageJump('../listen/home')">
|
<view class="hn_cl_tit dianzishu" @click="anonymous?onYouAlert():onPageJump('../listen/home')">
|
||||||
<image src="../../static/icon/home2-1.png" mode="aspectFit"></image>
|
<image src="../../static/icon/home2-1.png" mode="aspectFit"></image>
|
||||||
<!-- <text>听 书</text> -->
|
<!-- <text>听 书</text> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view class="hn_cl_tit" @click="onPageJump('../bookShop/bookShopIndex')"> -->
|
<!-- <view class="hn_cl_tit" @click="onPageJump('../bookShop/bookShopIndex')"> -->
|
||||||
<view class="hn_cl_tit shuping" @click="onPageJump('../comments/commentsList')">
|
<view class="hn_cl_tit shuping" @click="anonymous?onYouAlert():onPageJump('../comments/commentsList')">
|
||||||
<image src="../../static/icon/home3-1.png" mode="aspectFit"></image>
|
<image src="../../static/icon/home3-1.png" mode="aspectFit"></image>
|
||||||
<!-- <text>书 评</text> -->
|
<!-- <text>书 评</text> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="hn_cl_tit chaoshi" @click="onPageJump('../talkBook/talkBook')">
|
<view class="hn_cl_tit chaoshi" @click="anonymous?onYouAlert():onPageJump('../talkBook/talkBook')">
|
||||||
<image src="../../static/icon/home4-1.png" mode="aspectFit"></image>
|
<image src="../../static/icon/home4-1.png" mode="aspectFit"></image>
|
||||||
<!-- <text>讲 书</text> -->
|
<!-- <text>讲 书</text> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="hn_cl_tit chaoshi" @click="onPageJump('../yian/yian')">
|
<view class="hn_cl_tit chaoshi" @click="anonymous?onYouAlert():onPageJump('../yian/yian')">
|
||||||
<image src="../../static/icon/home5-1.png" mode="aspectFit"></image>
|
<image src="../../static/icon/home5-1.png" mode="aspectFit"></image>
|
||||||
<!-- <text>讲 书</text> -->
|
<!-- <text>讲 书</text> -->
|
||||||
</view>
|
</view>
|
||||||
@@ -87,11 +87,11 @@
|
|||||||
<image src="../../static/icon/midBtn_01.png" mode="aspectFit"></image>
|
<image src="../../static/icon/midBtn_01.png" mode="aspectFit"></image>
|
||||||
我的书架
|
我的书架
|
||||||
</view> -->
|
</view> -->
|
||||||
<!-- <view class="hn_sj">
|
<!-- <view class="hn_sj">
|
||||||
<image src="../../static/icon/midBtn_02.png" mode="aspectFit"></image>
|
<image src="../../static/icon/midBtn_02.png" mode="aspectFit"></image>
|
||||||
图书推荐
|
图书推荐
|
||||||
</view> -->
|
</view> -->
|
||||||
<!-- <view class="hn_sj" @click="onPageJumpData('../eBook/bookList',1)">
|
<!-- <view class="hn_sj" @click="onPageJumpData('../eBook/bookList',1)">
|
||||||
<image src="../../static/icon/midBtn_03.png" mode="aspectFit"></image>
|
<image src="../../static/icon/midBtn_03.png" mode="aspectFit"></image>
|
||||||
医 学
|
医 学
|
||||||
</view>
|
</view>
|
||||||
@@ -140,13 +140,13 @@
|
|||||||
|
|
||||||
<view class="newBook">
|
<view class="newBook">
|
||||||
<scroll-view class="scroll-view_H " scroll-x="true" scroll-left="10" style="margin-top: 0 !important;">
|
<scroll-view class="scroll-view_H " scroll-x="true" scroll-left="10" style="margin-top: 0 !important;">
|
||||||
<view :class="['item']" v-for="(item,index) in newBookList" :key="index">
|
<view :class="['item']" v-for="(item,index) in newBookList" :key="index">
|
||||||
<view class="videoBox" @click="goDetail(item.productId)">
|
<view class="videoBox" @click="goDetail(item.productId)">
|
||||||
<image v-if="item.productImages != ''" :src="item.productImages" mode="scaleToFill"></image>
|
<image v-if="item.productImages != ''" :src="item.productImages" mode="scaleToFill"></image>
|
||||||
<image v-else src="../../static/icon/wufeng.jpg" mode="scaleToFill"></image>
|
<image v-else src="../../static/icon/wufeng.jpg" mode="scaleToFill"></image>
|
||||||
</view>
|
|
||||||
<text class="bookName">{{item.productName}}</text>
|
|
||||||
</view>
|
</view>
|
||||||
|
<text class="bookName">{{item.productName}}</text>
|
||||||
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@@ -216,44 +216,47 @@
|
|||||||
<!-- <view class="head_line" style="margin: 30rpx 0;">
|
<!-- <view class="head_line" style="margin: 30rpx 0;">
|
||||||
<b></b>
|
<b></b>
|
||||||
<text>精选商品</text> -->
|
<text>精选商品</text> -->
|
||||||
<!-- <i @click="onShopMore('Hot')">查看更多 ></i> -->
|
<!-- <i @click="onShopMore('Hot')">查看更多 ></i> -->
|
||||||
<!-- <i @click="onPageJump('../bookShop/classify')">查看更多 ></i> -->
|
<!-- <i @click="onPageJump('../bookShop/classify')">查看更多 ></i> -->
|
||||||
<!-- </view> -->
|
<!-- </view> -->
|
||||||
<scroll-view class="scroll-view_H " scroll-x="true" scroll-left="0">
|
<scroll-view class="scroll-view_H " scroll-x="true" scroll-left="0">
|
||||||
<view class="ProTabs">
|
<view class="ProTabs">
|
||||||
<text v-for="item in tagList" :key="item.splId" :class="[tabsid == item.splId ? 'cur' :'']" @click="tabsChange(item)">{{item.labelName}}</text>
|
<text v-for="item in tagList" :key="item.splId" :class="[tabsid == item.splId ? 'cur' :'']"
|
||||||
|
@click="tabsChange(item)">{{item.labelName}}</text>
|
||||||
</view>
|
</view>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
<!-- 商品展示 -->
|
<!-- 商品展示 -->
|
||||||
<view class="goods">
|
<view class="goods">
|
||||||
<!-- 精选 -->
|
<!-- 精选 -->
|
||||||
<view class="" >
|
<view class="">
|
||||||
<view v-if="tjProList.length > 0" >
|
<view v-if="tjProList.length > 0">
|
||||||
<view class="flexbox" style="flex-wrap: wrap;">
|
<view class="flexbox" style="flex-wrap: wrap;">
|
||||||
<view class="goodsItem" v-for="(item,index) in tjProList" :key="index"
|
<view class="goodsItem" v-for="(item,index) in tjProList" :key="index"
|
||||||
@click="goDetail(item.productId)">
|
@click="goDetail(item.productId)">
|
||||||
<image :src="item.productImages" mode="" class="goodsImg"></image>
|
<image :src="item.productImages" mode="" class="goodsImg"></image>
|
||||||
<view class="goodsContent">
|
<view class="goodsContent">
|
||||||
<view class="goodsName">
|
<view class="goodsName">
|
||||||
{{item.productName}}
|
{{item.productName}}
|
||||||
</view>
|
</view>
|
||||||
<view class="goodsPrice">
|
<view class="goodsPrice">
|
||||||
<span class="price" v-if="item.activityPrice && item.activityPrice > 0">¥{{item.activityPrice}}</span>
|
<span class="price"
|
||||||
<span class="price" v-else>¥{{item.price}}</span>
|
v-if="item.activityPrice && item.activityPrice > 0">¥{{item.activityPrice}}</span>
|
||||||
<span class="Salesnum">已售:{{item.sumSales}} 件</span>
|
<span class="price" v-else>¥{{item.price}}</span>
|
||||||
|
<span class="Salesnum">已售:{{item.sumSales}} 件</span>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
<view class="">
|
||||||
</view>
|
<view v-if="status==0" style="text-align: center;">
|
||||||
<view class="">
|
<u-loading-icon style="display: inline-block;"></u-loading-icon>
|
||||||
<view v-if="status==0" style="text-align: center;">
|
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中
|
||||||
<u-loading-icon style="display: inline-block;"></u-loading-icon>
|
</font>
|
||||||
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中</font>
|
</view>
|
||||||
|
<view v-if="status==1">
|
||||||
|
<u-divider text="全部加载完成"></u-divider>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="status==1">
|
|
||||||
<u-divider text="全部加载完成"></u-divider>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<u-divider v-else text="暂无数据哦~"></u-divider>
|
<u-divider v-else text="暂无数据哦~"></u-divider>
|
||||||
|
|
||||||
@@ -278,23 +281,24 @@
|
|||||||
import repciptData from '@/static/json/repcipt.json'
|
import repciptData from '@/static/json/repcipt.json'
|
||||||
import $http from '@/config/requestConfig.js';
|
import $http from '@/config/requestConfig.js';
|
||||||
import {
|
import {
|
||||||
mapState,mapMutations
|
mapState,
|
||||||
|
mapMutations
|
||||||
} from 'vuex';
|
} from 'vuex';
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
myList:[],
|
myList: [],
|
||||||
showEbook:false, // 显示电子书相关
|
showEbook: false, // 显示电子书相关
|
||||||
transaction: { // 成功回调
|
transaction: { // 成功回调
|
||||||
|
|
||||||
},
|
},
|
||||||
tabsNumber : null,
|
tabsNumber: null,
|
||||||
scrollLeft:0,
|
scrollLeft: 0,
|
||||||
maxTimes:1, // 轮询最大次数
|
maxTimes: 1, // 轮询最大次数
|
||||||
ComplateRequestInterval:null, // 轮询定时器
|
ComplateRequestInterval: null, // 轮询定时器
|
||||||
checking:false, // 正在检测
|
checking: false, // 正在检测
|
||||||
ComplateRequestArr:[],
|
ComplateRequestArr: [],
|
||||||
iapChannel:null,
|
iapChannel: null,
|
||||||
scrollTop: 0,
|
scrollTop: 0,
|
||||||
list3: [
|
list3: [
|
||||||
// '../../static/icon/home_ban_1.jpg',
|
// '../../static/icon/home_ban_1.jpg',
|
||||||
@@ -306,23 +310,24 @@
|
|||||||
limiTist: [],
|
limiTist: [],
|
||||||
jingList: [],
|
jingList: [],
|
||||||
seckillList: [],
|
seckillList: [],
|
||||||
offSaleList:[], // 折扣列表
|
offSaleList: [], // 折扣列表
|
||||||
goodsList: [],
|
goodsList: [],
|
||||||
bgiStyle: {
|
bgiStyle: {
|
||||||
background: '#fff'
|
background: '#fff'
|
||||||
},
|
},
|
||||||
newBookList:[],
|
newBookList: [],
|
||||||
iconStyle: {
|
iconStyle: {
|
||||||
fontSize: '40rpx',
|
fontSize: '40rpx',
|
||||||
fontWeight: 'bold',
|
fontWeight: 'bold',
|
||||||
color: '#54a966',
|
color: '#54a966',
|
||||||
},
|
},
|
||||||
tagList:[] ,// 推荐标签列表
|
tagList: [], // 推荐标签列表
|
||||||
pageSize:10,
|
pageSize: 10,
|
||||||
page:1,
|
page: 1,
|
||||||
totalPage:0,
|
totalPage: 0,
|
||||||
tjProList:[],
|
tjProList: [],
|
||||||
status : 3
|
status: 3,
|
||||||
|
anonymous: false, //游客
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
onPageScroll(e) {
|
onPageScroll(e) {
|
||||||
@@ -332,7 +337,7 @@
|
|||||||
onLoad(e) {
|
onLoad(e) {
|
||||||
// 隐藏原生的tabbar
|
// 隐藏原生的tabbar
|
||||||
uni.hideTabBar();
|
uni.hideTabBar();
|
||||||
// this.requestIapOrder()
|
// this.requestIapOrder()
|
||||||
},
|
},
|
||||||
onHide() {
|
onHide() {
|
||||||
this.page = 1
|
this.page = 1
|
||||||
@@ -347,7 +352,8 @@
|
|||||||
this.tjProList = []
|
this.tjProList = []
|
||||||
uni.hideTabBar();
|
uni.hideTabBar();
|
||||||
this.getData();
|
this.getData();
|
||||||
this.getTags()
|
this.getTags();
|
||||||
|
this.anonyMo();
|
||||||
},
|
},
|
||||||
// 页面加载完毕
|
// 页面加载完毕
|
||||||
onReady() {
|
onReady() {
|
||||||
@@ -366,11 +372,11 @@
|
|||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
this.loadingNow = true
|
this.loadingNow = true
|
||||||
console.log('到底了')
|
console.log('到底了')
|
||||||
if(this.page+1 <= this.totalPage){
|
if (this.page + 1 <= this.totalPage) {
|
||||||
this.status = 0
|
this.status = 0
|
||||||
this.page++
|
this.page++
|
||||||
this.getJtData()
|
this.getJtData()
|
||||||
}else{
|
} else {
|
||||||
this.status = 1
|
this.status = 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -392,90 +398,98 @@
|
|||||||
computed: {
|
computed: {
|
||||||
...mapState(['userInfo']),
|
...mapState(['userInfo']),
|
||||||
},
|
},
|
||||||
components:{
|
components: {
|
||||||
musicPlay
|
musicPlay
|
||||||
},
|
},
|
||||||
//方法
|
//方法
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(['setUserInfo']),
|
...mapMutations(['setUserInfo']),
|
||||||
// ...mapMutations(['setLoadingShow']),
|
// ...mapMutations(['setLoadingShow']),
|
||||||
|
// 游客模式
|
||||||
|
anonyMo() {
|
||||||
|
if (uni.getStorageSync("anonymous") == '0000000000') {
|
||||||
|
this.anonymous = true
|
||||||
|
} else {
|
||||||
|
this.anonymous = false
|
||||||
|
}
|
||||||
|
},
|
||||||
// 获取商品标签
|
// 获取商品标签
|
||||||
getTags() {
|
getTags() {
|
||||||
this.loadingNow = false
|
this.loadingNow = false
|
||||||
this.$http
|
this.$http
|
||||||
.post('book/label/getLabels')
|
.post('book/label/getLabels')
|
||||||
.then(res => {
|
.then(res => {
|
||||||
console.log(res,'标签列表')
|
console.log(res, '标签列表')
|
||||||
if(res.code == 0 && res.result.labels.length > 0){
|
if (res.code == 0 && res.result.labels.length > 0) {
|
||||||
this.tagList = res.result.labels
|
this.tagList = res.result.labels
|
||||||
this.tabsid = this.tagList[0].splId
|
this.tabsid = this.tagList[0].splId
|
||||||
this.getJtData()
|
this.getJtData()
|
||||||
}
|
}
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log(e,'e')
|
console.log(e, 'e')
|
||||||
});
|
});
|
||||||
},
|
|
||||||
tabsChange(item){
|
|
||||||
this.tjProList = []
|
|
||||||
this.tabsid = item.splId
|
|
||||||
this.page = 1
|
|
||||||
// 获取推荐数据
|
|
||||||
this.getJtData()
|
|
||||||
},
|
},
|
||||||
getJtData(){
|
tabsChange(item) {
|
||||||
|
this.tjProList = []
|
||||||
|
this.tabsid = item.splId
|
||||||
|
this.page = 1
|
||||||
|
// 获取推荐数据
|
||||||
|
this.getJtData()
|
||||||
|
},
|
||||||
|
getJtData() {
|
||||||
this.$http
|
this.$http
|
||||||
// .post('book/label/list',{
|
// .post('book/label/list',{
|
||||||
.post('book/label/getProductsByLabel',{
|
.post('book/label/getProductsByLabel', {
|
||||||
'splId': this.tabsid,
|
'splId': this.tabsid,
|
||||||
'limit': this.pageSize,
|
'limit': this.pageSize,
|
||||||
'page': this.page
|
'page': this.page
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
|
|
||||||
if(res.code == 0 && res.page.records.length > 0){
|
if (res.code == 0 && res.page.records.length > 0) {
|
||||||
this.tjProList = this.tjProList.concat(res.page.records)
|
this.tjProList = this.tjProList.concat(res.page.records)
|
||||||
this.totalPage = res.page.pages
|
this.totalPage = res.page.pages
|
||||||
this.status = 3
|
this.status = 3
|
||||||
console.log(this.tjProList,'按标签检索结果')
|
console.log(this.tjProList, '按标签检索结果')
|
||||||
}else{
|
} else {
|
||||||
this.tjProList = []
|
this.tjProList = []
|
||||||
this.totalPage = 0
|
this.totalPage = 0
|
||||||
}
|
}
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log(e,'标签检索报错')
|
console.log(e, '标签检索报错')
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 获取折扣图书
|
// 获取折扣图书
|
||||||
getOffSale(){
|
getOffSale() {
|
||||||
this.$http
|
this.$http
|
||||||
.post('book/shopproduct/listactivityprice?limit=10&page=1')
|
.post('book/shopproduct/listactivityprice?limit=10&page=1')
|
||||||
.then(res => {
|
.then(res => {
|
||||||
console.log(res,'折扣')
|
console.log(res, '折扣')
|
||||||
if(res.code == 0 && res.page.list.length > 0){
|
if (res.code == 0 && res.page.list.length > 0) {
|
||||||
this.offSaleList = res.page.list
|
this.offSaleList = res.page.list
|
||||||
this.tabsNumber = 0
|
this.tabsNumber = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log(e,'e')
|
console.log(e, 'e')
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 新书上市
|
// 新书上市
|
||||||
getNewBook(){
|
getNewBook() {
|
||||||
this.$http
|
this.$http
|
||||||
.post('book/shopproduct/getNewBook',{
|
.post('book/shopproduct/getNewBook', {
|
||||||
'limit': 4,
|
'limit': 4,
|
||||||
'page':1
|
'page': 1
|
||||||
})
|
})
|
||||||
.then(res => {
|
.then(res => {
|
||||||
console.log(res,'xinshu')
|
console.log(res, 'xinshu')
|
||||||
this.newBookList = res.page.list
|
this.newBookList = res.page.list
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log(e,'新书上市报错')
|
console.log(e, '新书上市报错')
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 检测未完成订单
|
// 检测未完成订单
|
||||||
requestIapOrder(){
|
requestIapOrder() {
|
||||||
console.log('检测支付环境...')
|
console.log('检测支付环境...')
|
||||||
plus.payment.getChannels((channels) => {
|
plus.payment.getChannels((channels) => {
|
||||||
console.log(channels, 'channels')
|
console.log(channels, 'channels')
|
||||||
@@ -485,72 +499,74 @@
|
|||||||
if (channels[i].id === 'appleiap') {
|
if (channels[i].id === 'appleiap') {
|
||||||
this.iapChannel = channels[i]
|
this.iapChannel = channels[i]
|
||||||
// console.log(this.userInfo.restoreFlag,'this.userInfo.restoreFlag')
|
// console.log(this.userInfo.restoreFlag,'this.userInfo.restoreFlag')
|
||||||
if(this.userInfo.restoreFlag){ // 如果存在异常回调订单
|
if (this.userInfo.restoreFlag) { // 如果存在异常回调订单
|
||||||
this.restoreComplateRequest()
|
this.restoreComplateRequest()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 查询未关闭订单
|
// 查询未关闭订单
|
||||||
restoreComplateRequest(){
|
restoreComplateRequest() {
|
||||||
let that = this
|
let that = this
|
||||||
console.log('检测未完成订单')
|
console.log('检测未完成订单')
|
||||||
console.log(this.iapChannel,'this.iapChannel')
|
console.log(this.iapChannel, 'this.iapChannel')
|
||||||
this.iapChannel.restoreComplateRequest({
|
this.iapChannel.restoreComplateRequest({
|
||||||
manualFinishTransaction: true
|
manualFinishTransaction: true
|
||||||
}, function(results) {
|
}, function(results) {
|
||||||
if(!that.checking){
|
if (!that.checking) {
|
||||||
that.checking = true
|
that.checking = true
|
||||||
// console.log(that.checking)
|
// console.log(that.checking)
|
||||||
// results 格式为数组存放恢复的IAP商品交易信息对象 IAPTransaction,通用需将返回的支付凭证传给后端进行二次认证
|
// results 格式为数组存放恢复的IAP商品交易信息对象 IAPTransaction,通用需将返回的支付凭证传给后端进行二次认证
|
||||||
that.ComplateRequestArr = results
|
that.ComplateRequestArr = results
|
||||||
console.log(that.ComplateRequestArr,'未完成订单数组')
|
console.log(that.ComplateRequestArr, '未完成订单数组')
|
||||||
if(results && results.length>0){
|
if (results && results.length > 0) {
|
||||||
|
|
||||||
results.map((item,index)=>{
|
results.map((item, index) => {
|
||||||
// "0"为正在支付;"1"为支付成功;"2"为支付失败;"3"为支付已恢复。
|
// "0"为正在支付;"1"为支付成功;"2"为支付失败;"3"为支付已恢复。
|
||||||
if(item.transactionState == '1'){
|
if (item.transactionState == '1') {
|
||||||
// 已经支付,但是没有走逻辑的内购订单
|
// 已经支付,但是没有走逻辑的内购订单
|
||||||
that.iapCheck(item,index)
|
that.iapCheck(item, index)
|
||||||
}else{
|
} else {
|
||||||
// 其他状态的内购订单
|
// 其他状态的内购订单
|
||||||
that.finishTransaction(item)
|
that.finishTransaction(item)
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
// 关闭交易订单
|
// 关闭交易订单
|
||||||
finishTransaction(trans,index){
|
finishTransaction(trans, index) {
|
||||||
this.iapChannel.finishTransaction(trans, (success) => {
|
this.iapChannel.finishTransaction(trans, (success) => {
|
||||||
console.log('关闭订单成功',index);
|
console.log('关闭订单成功', index);
|
||||||
|
|
||||||
if(index == this.ComplateRequestArr.length-1){ // 最后一个支付订单
|
if (index == this.ComplateRequestArr.length - 1) { // 最后一个支付订单
|
||||||
this.setUserInfo({restoreFlag:false});
|
this.setUserInfo({
|
||||||
|
restoreFlag: false
|
||||||
|
});
|
||||||
// console.log(this.userInfo.restoreFlag,'this.ComplateRequestArr.length+++')
|
// console.log(this.userInfo.restoreFlag,'this.ComplateRequestArr.length+++')
|
||||||
}
|
}
|
||||||
|
|
||||||
}, (fail) => {
|
}, (fail) => {
|
||||||
console.log('关闭订单失败');
|
console.log('关闭订单失败');
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
iapCheck(result,index) {
|
iapCheck(result, index) {
|
||||||
const that = this
|
const that = this
|
||||||
console.log('进入后台验证')
|
console.log('进入后台验证')
|
||||||
let data = {
|
let data = {
|
||||||
transactionId: result.transactionIdentifier, // 支付交易id
|
transactionId: result.transactionIdentifier, // 支付交易id
|
||||||
customerOid: that.userInfo.id,
|
customerOid: that.userInfo.id,
|
||||||
productId: result.payment.productid, // 产品id
|
productId: result.payment.productid, // 产品id
|
||||||
orderId: result.payment.username, // 系统订单号
|
orderId: result.payment.username, // 系统订单号
|
||||||
receiptData: result.transactionReceipt ,// 苹果返回收据
|
receiptData: result.transactionReceipt, // 苹果返回收据
|
||||||
loadAnimate:'none', // 请求加载动画
|
loadAnimate: 'none', // 请求加载动画
|
||||||
}
|
}
|
||||||
console.log(data,'data')
|
console.log(data, 'data')
|
||||||
$http.request({
|
$http.request({
|
||||||
url: "/Ipa/veri",
|
url: "/Ipa/veri",
|
||||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||||
@@ -561,51 +577,51 @@
|
|||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(JSON.stringify(res))
|
console.log(JSON.stringify(res))
|
||||||
console.log(res.code)
|
console.log(res.code)
|
||||||
if(res.code == 0){
|
if (res.code == 0) {
|
||||||
// uni.hideLoading()
|
// uni.hideLoading()
|
||||||
console.log('充值订单已处理,请留意账户金额变动....')
|
console.log('充值订单已处理,请留意账户金额变动....')
|
||||||
// 服务器验证票据有效后在客户端关闭订单
|
// 服务器验证票据有效后在客户端关闭订单
|
||||||
that.finishTransaction(result,index)
|
that.finishTransaction(result, index)
|
||||||
}else if(res.code == 200){ // 重复验证订单
|
} else if (res.code == 200) { // 重复验证订单
|
||||||
console.log('重复验证....')
|
console.log('重复验证....')
|
||||||
that.finishTransaction(result,index)
|
that.finishTransaction(result, index)
|
||||||
}
|
}
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log('支付验证失败,进入轮询程序...')
|
console.log('支付验证失败,进入轮询程序...')
|
||||||
that.getIapPayResult(result,index)
|
that.getIapPayResult(result, index)
|
||||||
})
|
})
|
||||||
console.log('--------------')
|
console.log('--------------')
|
||||||
},
|
},
|
||||||
|
|
||||||
// 轮询验证支付结果
|
// 轮询验证支付结果
|
||||||
getIapPayResult(result,index){
|
getIapPayResult(result, index) {
|
||||||
// let interval = null
|
// let interval = null
|
||||||
this.ComplateRequestInterval = setTimeout(() => {
|
this.ComplateRequestInterval = setTimeout(() => {
|
||||||
if(this.maxTimes <= 3){
|
if (this.maxTimes <= 3) {
|
||||||
this.iapCheck(result,index)
|
this.iapCheck(result, index)
|
||||||
console.log('执行1', this.maxTimes,this.ComplateRequestInterval)
|
console.log('执行1', this.maxTimes, this.ComplateRequestInterval)
|
||||||
this.maxTimes += 1
|
this.maxTimes += 1
|
||||||
}else{
|
} else {
|
||||||
this.maxTimes = 0
|
this.maxTimes = 0
|
||||||
console.log('停止轮询', this.maxTimes,this.ComplateRequestInterval, this.maxTimes)
|
console.log('停止轮询', this.maxTimes, this.ComplateRequestInterval, this.maxTimes)
|
||||||
this.checking = false
|
this.checking = false
|
||||||
this.saveErrorIapOrder(result,index)
|
this.saveErrorIapOrder(result, index)
|
||||||
clearTimeout(this.ComplateRequestInterval)
|
clearTimeout(this.ComplateRequestInterval)
|
||||||
|
|
||||||
}
|
}
|
||||||
},10000)
|
}, 10000)
|
||||||
|
|
||||||
},
|
},
|
||||||
// 轮询失败接口
|
// 轮询失败接口
|
||||||
saveErrorIapOrder(result,index){
|
saveErrorIapOrder(result, index) {
|
||||||
console.log('提交到充值问题单里面...')
|
console.log('提交到充值问题单里面...')
|
||||||
let data = {
|
let data = {
|
||||||
transactionId : result.transactionIdentifier,
|
transactionId: result.transactionIdentifier,
|
||||||
failureflag: 1,
|
failureflag: 1,
|
||||||
orderId:result.payment.username,
|
orderId: result.payment.username,
|
||||||
receiptData:result.transactionReceipt,
|
receiptData: result.transactionReceipt,
|
||||||
productId:result.payment.productid,
|
productId: result.payment.productid,
|
||||||
customerOid:this.userInfo.id
|
customerOid: this.userInfo.id
|
||||||
}
|
}
|
||||||
$http.request({
|
$http.request({
|
||||||
url: "Ipa/failure",
|
url: "Ipa/failure",
|
||||||
@@ -616,16 +632,16 @@
|
|||||||
},
|
},
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(JSON.stringify(res))
|
console.log(JSON.stringify(res))
|
||||||
if(res.code == 200){
|
if (res.code == 200) {
|
||||||
console.log('提交成功,关闭订单')
|
console.log('提交成功,关闭订单')
|
||||||
this.finishTransaction(result,index)
|
this.finishTransaction(result, index)
|
||||||
}
|
}
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
if(e.statusCode == 0){ // 重复提交,直接关闭订单
|
if (e.statusCode == 0) { // 重复提交,直接关闭订单
|
||||||
this.finishTransaction(result,index)
|
this.finishTransaction(result, index)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 获取列表数据
|
// 获取列表数据
|
||||||
getData() {
|
getData() {
|
||||||
@@ -709,7 +725,13 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 游客跳转
|
||||||
|
onYouAlert() {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '请先登录'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -717,46 +739,115 @@
|
|||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import '@/style/mixin.scss';
|
@import '@/style/mixin.scss';
|
||||||
.fiveIcon{justify-content: space-between; text-align: center;
|
|
||||||
text{
|
.fiveIcon {
|
||||||
font-size: 28rpx; color: #11a669;
|
justify-content: space-between;
|
||||||
|
text-align: center;
|
||||||
|
|
||||||
|
text {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #11a669;
|
||||||
|
}
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 56rpx;
|
||||||
|
height: 56rpx;
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
image{width: 56rpx; height: 56rpx; margin: 0 auto; }
|
|
||||||
}
|
}
|
||||||
.hehan{width: 80%; margin: 10rpx auto;}
|
|
||||||
.zhekou{
|
.hehan {
|
||||||
.goodsName{margin-bottom: 20rpx;}
|
width: 80%;
|
||||||
|
margin: 10rpx auto;
|
||||||
}
|
}
|
||||||
.activityPrice{font-size: 60rpx;}
|
|
||||||
.priceAndnum{ font-size: 24rpx !important;
|
.zhekou {
|
||||||
.price{color: #9b9b9b !important; font-size: inherit; font-weight: normal !important; display: block;}
|
.goodsName {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.ProTabs{
|
|
||||||
|
.activityPrice {
|
||||||
|
font-size: 60rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.priceAndnum {
|
||||||
|
font-size: 24rpx !important;
|
||||||
|
|
||||||
|
.price {
|
||||||
|
color: #9b9b9b !important;
|
||||||
|
font-size: inherit;
|
||||||
|
font-weight: normal !important;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.ProTabs {
|
||||||
// margin: 20rpx 0;
|
// margin: 20rpx 0;
|
||||||
padding:0 20rpx;
|
padding: 0 20rpx;
|
||||||
text{padding: 8rpx 14rpx; font-size: 32rpx; display: inline-block; border-radius: 10rpx; overflow: hidden;
|
|
||||||
// background-color: #eee;
|
text {
|
||||||
color: #55aa7f; margin-right: 10rpx;}
|
padding: 8rpx 14rpx;
|
||||||
text.cur{background-color:#55aa7f ; color: #fff;}
|
font-size: 32rpx;
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
// background-color: #eee;
|
||||||
|
color: #55aa7f;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
text.cur {
|
||||||
|
background-color: #55aa7f;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .newBook{margin-top: 10rpx;}
|
// .newBook{margin-top: 10rpx;}
|
||||||
.scroll-view_H{background-color: #fff;white-space: nowrap;
|
.scroll-view_H {
|
||||||
padding:10rpx ; margin-top: 12rpx;}
|
background-color: #fff;
|
||||||
.scroll-view_H{
|
white-space: nowrap;
|
||||||
.item { padding: 10rpx; overflow: hidden; display: inline-block; padding-bottom: 0;
|
padding: 10rpx;
|
||||||
width: 180rpx !important; margin-right: 20rpx; border-radius: 10rpx;
|
margin-top: 12rpx;
|
||||||
.videoBox{
|
}
|
||||||
image{display: block; width:150rpx;
|
|
||||||
height: 170rpx;
|
.scroll-view_H {
|
||||||
|
.item {
|
||||||
|
padding: 10rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
display: inline-block;
|
||||||
|
padding-bottom: 0;
|
||||||
|
width: 180rpx !important;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
|
||||||
|
.videoBox {
|
||||||
|
image {
|
||||||
|
display: block;
|
||||||
|
width: 150rpx;
|
||||||
|
height: 170rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.bookName{display: block; margin-top: 6rpx; color: #666; font-size: 24rpx; white-space: nowrap;
|
|
||||||
overflow-x: hidden; overflow: hidden;
|
.bookName {
|
||||||
text-overflow: ellipsis;}
|
display: block;
|
||||||
|
margin-top: 6rpx;
|
||||||
|
color: #666;
|
||||||
|
font-size: 24rpx;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow-x: hidden;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// .item.active{margin-right: 20rpx; border: 1px solid #55aa00; border-radius: 10rpx;}
|
// .item.active{margin-right: 20rpx; border: 1px solid #55aa00; border-radius: 10rpx;}
|
||||||
}
|
}
|
||||||
.flexbox{display: flex;}
|
|
||||||
|
.flexbox {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
.head_line {
|
.head_line {
|
||||||
padding-top: 8rpx;
|
padding-top: 8rpx;
|
||||||
margin: 12rpx 0 0 0;
|
margin: 12rpx 0 0 0;
|
||||||
@@ -792,32 +883,56 @@
|
|||||||
background-size: cover;
|
background-size: cover;
|
||||||
padding: 20rpx;
|
padding: 20rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
// margin-bottom:60rpx;
|
// margin-bottom:60rpx;
|
||||||
// height: 400rpx; margin-bottom: 130rpx;
|
// height: 400rpx; margin-bottom: 130rpx;
|
||||||
.icon_hua_1 {
|
.icon_hua_1 {
|
||||||
// margin: 0 auto;
|
// margin: 0 auto;
|
||||||
width: 100%; text-align: center;
|
width: 100%;
|
||||||
height: 80rpx;
|
text-align: center;
|
||||||
image{width: 150rpx; height: 80rpx;}
|
height: 80rpx;
|
||||||
}
|
|
||||||
.icon_hua{width: 100%; text-align: center; display: block;
|
|
||||||
image{width: 150rpx; height: 150rpx; margin: 0 auto;}
|
|
||||||
}
|
|
||||||
.search_box { margin: 0 auto; margin-top: 20rpx; align-items: center;
|
|
||||||
width: calc(100% - 30rpx); margin-top: 0;
|
|
||||||
margin-bottom: 20rpx;
|
|
||||||
|
|
||||||
.search{height: 56upx;
|
image {
|
||||||
|
width: 150rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon_hua {
|
||||||
|
width: 100%;
|
||||||
|
text-align: center;
|
||||||
|
display: block;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 150rpx;
|
||||||
|
height: 150rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.search_box {
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
align-items: center;
|
||||||
|
width: calc(100% - 30rpx);
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
|
||||||
|
.search {
|
||||||
|
height: 56upx;
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 86%; margin: 0 auto;
|
width: 86%;
|
||||||
|
margin: 0 auto;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0upx 40upx;
|
padding: 0upx 40upx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-radius: 20upx;
|
border-radius: 20upx;
|
||||||
box-shadow: 0 0px 10px 1px #54a96633;
|
box-shadow: 0 0px 10px 1px #54a96633;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prompt {
|
.prompt {
|
||||||
color: #838383; font-size: 24rpx;
|
color: #838383;
|
||||||
|
font-size: 24rpx;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -826,23 +941,28 @@
|
|||||||
background-position: center center;
|
background-position: center center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
width:36upx;
|
width: 36upx;
|
||||||
height: 36upx;
|
height: 36upx;
|
||||||
margin-right: 20upx;
|
margin-right: 20upx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.searBtn{
|
|
||||||
width: 80rpx; align-items: center;
|
.searBtn {
|
||||||
font-size: 30rpx; color: #fff;
|
width: 80rpx;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #fff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.home_nar {
|
.home_nar {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding: 40rpx 10rpx;
|
padding: 40rpx 10rpx;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
display: flex;
|
display: flex;
|
||||||
color: #333;
|
color: #333;
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
|
|
||||||
// .dianzishu{ margin-right:10rpx;
|
// .dianzishu{ margin-right:10rpx;
|
||||||
// background-color:#f8d6f4 ; border: 2px solid #edcce9;
|
// background-color:#f8d6f4 ; border: 2px solid #edcce9;
|
||||||
// }
|
// }
|
||||||
@@ -853,19 +973,28 @@
|
|||||||
// width: 23%;
|
// width: 23%;
|
||||||
width: 31%;
|
width: 31%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
border-radius: 20rpx ;
|
border-radius: 20rpx;
|
||||||
// line-height: 110upx;
|
// line-height: 110upx;
|
||||||
//display: flex;
|
//display: flex;
|
||||||
align-content: center;
|
align-content: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
image {
|
image {
|
||||||
width:120rpx;
|
width: 120rpx;
|
||||||
height:120rpx;
|
height: 120rpx;
|
||||||
display: block;
|
display: block;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
// margin: 0 20rpx;
|
// margin: 0 20rpx;
|
||||||
}
|
}
|
||||||
text{ display:block; text-align: center; margin-top:4rpx; font-size: 36rpx; color: #000; font-weight:blod;}
|
|
||||||
|
text {
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 4rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #000;
|
||||||
|
font-weight: blod;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1129,13 +1258,15 @@
|
|||||||
|
|
||||||
.goods {
|
.goods {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin:0 0 50rpx 0; background-color: #fff;
|
margin: 0 0 50rpx 0;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
.goodsItem {
|
.goodsItem {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 46%;
|
width: 46%;
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
padding: 25rpx; padding-bottom: 5rpx;
|
padding: 25rpx;
|
||||||
|
padding-bottom: 5rpx;
|
||||||
margin: 0 20rpx 20rpx 20rpx;
|
margin: 0 20rpx 20rpx 20rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border: 1px solid #eee;
|
border: 1px solid #eee;
|
||||||
@@ -1157,12 +1288,17 @@
|
|||||||
.goodsPrice {
|
.goodsPrice {
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
margin: 5rpx 0 0 3rpx;
|
margin: 5rpx 0 0 3rpx;
|
||||||
display: flex; justify-content: space-between;
|
display: flex;
|
||||||
.price{
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.price {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #ff0000;
|
color: #ff0000;
|
||||||
}
|
}
|
||||||
.Salesnum{color: #9b9b9b;}
|
|
||||||
|
.Salesnum {
|
||||||
|
color: #9b9b9b;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||
<view style="height: 50rpx;"></view>
|
<view style="height: 50rpx;"></view>
|
||||||
<view class="per_mes">
|
<view class="per_mes">
|
||||||
<image :src="userMes.avatar" v-if="userMes.avatar!=null" class="per_mes_img"></image>
|
<image :src="userMes.avatar" v-if="userMes.avatar!=null" class="per_mes_img"></image>
|
||||||
<image src="../../static/icon/home_icon_1.png" v-if="userMes.avatar==null" class="per_mes_img"></image>
|
<image src="../../static/icon/home_icon_1.png" v-if="userMes.avatar==null" class="per_mes_img" @click="signOut()"></image>
|
||||||
<view>
|
<view>
|
||||||
<text class="name" v-if="userMes.nickname!=null">{{userMes.nickname}}</text>
|
<text class="name" v-if="userMes.nickname!=null">{{userMes.nickname}}</text>
|
||||||
<text class="name" v-if="userMes.nickname==null">未设置</text>
|
<text class="name" v-if="userMes.nickname==null" @click="signOut()">未登录</text>
|
||||||
<!-- <image v-if="userMes.vip==1" src="../../static/icon/mine_v.png" alt="" class="per_user_img"></image> -->
|
<!-- <image v-if="userMes.vip==1" src="../../static/icon/mine_v.png" alt="" class="per_user_img"></image> -->
|
||||||
<text style="margin-left: 20rpx;font-size: 22rpx;color: #888;">({{userMes.tel}})</text>
|
<text style="margin-left: 20rpx;font-size: 22rpx;color: #888;" v-if="userMes.tel">({{userMes.tel}})</text>
|
||||||
|
|
||||||
<!-- <text class="tong">累计读书5本
|
<!-- <text class="tong">累计读书5本
|
||||||
<span style="margin: 0 20upx;">|</span> 今日读50分钟
|
<span style="margin: 0 20upx;">|</span> 今日读50分钟
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
<b class="kt_btn" @click="onPageJump('./opeVip')">立即续费</b>
|
<b class="kt_btn" @click="onPageJump('./opeVip')">立即续费</b>
|
||||||
</view> -->
|
</view> -->
|
||||||
|
|
||||||
<view class="chong_zhi">
|
<view class="chong_zhi" v-if="!anonymous">
|
||||||
<view class="zhanghu" @click="onPageJump('../user/persCount')">
|
<view class="zhanghu" @click="onPageJump('../user/persCount')">
|
||||||
我的账户
|
我的账户
|
||||||
<text style="float: right;line-height: 85rpx;"> > </text>
|
<text style="float: right;line-height: 85rpx;"> > </text>
|
||||||
@@ -55,54 +55,64 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="xiugai">
|
<view class="xiugai">
|
||||||
<view class="nav_list" @click="switchTab('../bookShop/orderList')">
|
<view v-if="!anonymous">
|
||||||
<text>我的订单</text>
|
<view class="nav_list" @click="switchTab('../bookShop/orderList')">
|
||||||
</view>
|
<text>我的订单</text>
|
||||||
<!-- <view class="nav_list" @click="onPageJump('../clock/clockList')">
|
</view>
|
||||||
|
<!-- <view class="nav_list" @click="onPageJump('../clock/clockList')">
|
||||||
<text>我的打卡</text>
|
<text>我的打卡</text>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="nav_list" @click="onPageJump('../listen/home')">
|
<view class="nav_list" @click="onPageJump('../listen/home')">
|
||||||
<text>我的听书</text>
|
<text>我的听书</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="nav_list" @click="onPageJump('../listen/setListen')">
|
<view class="nav_list" @click="onPageJump('../listen/setListen')">
|
||||||
<text>听书设置</text>
|
<text>听书设置</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="nav_list" @click="onPageJump('../peanut/myComments')">
|
<view class="nav_list" @click="onPageJump('../peanut/myComments')">
|
||||||
<text>我的评价</text>
|
<text>我的评价</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="nav_list" @click="onPageJump('../peanut/shopping')">
|
<view class="nav_list" @click="onPageJump('../peanut/shopping')">
|
||||||
<text>购物车</text>
|
<text>购物车</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view v-if="showEbook" class="nav_list" @click="onPageJump('../eBook/bookBuy')">
|
<!-- <view v-if="showEbook" class="nav_list" @click="onPageJump('../eBook/bookBuy')">
|
||||||
<text>电子书购买记录</text>
|
<text>电子书购买记录</text>
|
||||||
</view> -->
|
</view> -->
|
||||||
<!-- <view v-if="showEbook" class="nav_list" @click="onPageJump('../eBook/bookRecord')">
|
<!-- <view v-if="showEbook" class="nav_list" @click="onPageJump('../eBook/bookRecord')">
|
||||||
<text>阅读记录</text>
|
<text>阅读记录</text>
|
||||||
</view> -->
|
</view> -->
|
||||||
<view class="nav_list" @click="onPageJump('../user/persData')">
|
<view class="nav_list" @click="onPageJump('../user/persData')">
|
||||||
<text>修改个人资料</text>
|
<text>修改个人资料</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="nav_list" @click="onPageJump('../user/address')">
|
<view class="nav_list" @click="onPageJump('../user/address')">
|
||||||
<text>地址管理</text>
|
<text>地址管理</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- <view class="nav_list" @click="onGoing()">
|
<!-- <view class="nav_list" @click="onGoing()">
|
||||||
<text>帮助与反馈11111</text>
|
<text>帮助与反馈11111</text>
|
||||||
</view> -->
|
</view> -->
|
||||||
<!-- <view class="nav_list" @click="newOnShare" v-if="isAndorid"> -->
|
<!-- <view class="nav_list" @click="newOnShare" v-if="isAndorid"> -->
|
||||||
<view class="nav_list" @click="newOnShare">
|
<view class="nav_list" @click="newOnShare">
|
||||||
<text>分享App</text>
|
<text>分享App</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="nav_list" @click="onPageJump('../peanut/aboutUs')">
|
<view class="nav_list" @click="onPageJump('../peanut/aboutUs')">
|
||||||
<text>关于我们</text>
|
<text>关于我们</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="nav_list" @click="signShow=true">
|
<view class="nav_list" @click="signShow=true">
|
||||||
<text>退出登录</text>
|
<text>退出登录</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="nav_list" @click="logout">
|
<view class="nav_list" @click="logout">
|
||||||
<text>注销帐号</text>
|
<text>注销帐号</text>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view v-if="anonymous">
|
||||||
|
<view class="nav_list" @click="newOnShare">
|
||||||
|
<text>分享App</text>
|
||||||
|
</view>
|
||||||
|
<view class="nav_list" @click="onPageJump('../peanut/aboutUs')">
|
||||||
|
<text>关于我们</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<u-modal :show="signShow" :content="signContent" :showCancelButton="true" @cancel="signShow=false"
|
<u-modal :show="signShow" :content="signContent" :showCancelButton="true" @cancel="signShow=false"
|
||||||
@@ -115,6 +125,7 @@
|
|||||||
|
|
||||||
<music-play :playData="playData"></music-play>
|
<music-play :playData="playData"></music-play>
|
||||||
<z-navigation></z-navigation>
|
<z-navigation></z-navigation>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -123,18 +134,20 @@
|
|||||||
import $http from '@/config/requestConfig.js';
|
import $http from '@/config/requestConfig.js';
|
||||||
// import appShare, { closeShare } from '@/uni_modules/zhouWei-APPshare/js_sdk/appShare';
|
// import appShare, { closeShare } from '@/uni_modules/zhouWei-APPshare/js_sdk/appShare';
|
||||||
import {
|
import {
|
||||||
mapState,mapMutations
|
mapState,
|
||||||
|
mapMutations
|
||||||
} from 'vuex';
|
} from 'vuex';
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
showEbook:false, // 显示电子书相关
|
showEbook: false, // 显示电子书相关
|
||||||
userMes: {},
|
userMes: {},
|
||||||
signShow: false,
|
signShow: false,
|
||||||
signContent: '是否要退出登录?',
|
signContent: '是否要退出登录?',
|
||||||
playData:{},
|
playData: {},
|
||||||
isAndorid:true,
|
isAndorid: true,
|
||||||
platform : null, // 设备系统
|
platform: null, // 设备系统
|
||||||
|
anonymous: false, //游客
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
//第一次加载
|
//第一次加载
|
||||||
@@ -155,6 +168,7 @@
|
|||||||
// 隐藏原生的tabbar
|
// 隐藏原生的tabbar
|
||||||
uni.hideTabBar();
|
uni.hideTabBar();
|
||||||
this.getData();
|
this.getData();
|
||||||
|
this.anonyMo();
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
musicPlay
|
musicPlay
|
||||||
@@ -163,19 +177,19 @@
|
|||||||
methods: {
|
methods: {
|
||||||
...mapMutations(['setUserInfo']),
|
...mapMutations(['setUserInfo']),
|
||||||
// 获得操作系统
|
// 获得操作系统
|
||||||
getOS(){
|
getOS() {
|
||||||
let oprateOs = ''
|
let oprateOs = ''
|
||||||
oprateOs = uni.getSystemInfoSync().platform
|
oprateOs = uni.getSystemInfoSync().platform
|
||||||
// console.log(oprateOs)
|
// console.log(oprateOs)
|
||||||
if(oprateOs == 'android'){
|
if (oprateOs == 'android') {
|
||||||
this.isAndorid = true
|
this.isAndorid = true
|
||||||
}else{
|
} else {
|
||||||
this.isAndorid = false
|
this.isAndorid = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
haveSelected(data){
|
haveSelected(data) {
|
||||||
console.log(data,' 选择的是')
|
console.log(data, ' 选择的是')
|
||||||
if(data.index == 0){
|
if (data.index == 0) {
|
||||||
// 分享到好友
|
// 分享到好友
|
||||||
uni.share({
|
uni.share({
|
||||||
provider: "weixin",
|
provider: "weixin",
|
||||||
@@ -185,14 +199,14 @@
|
|||||||
title: "疯子读书",
|
title: "疯子读书",
|
||||||
summary: "我正在使用疯子读书提升自己,赶紧跟我一起来体验吧!",
|
summary: "我正在使用疯子读书提升自己,赶紧跟我一起来体验吧!",
|
||||||
imageUrl: "static/fengziIcon.jpg",
|
imageUrl: "static/fengziIcon.jpg",
|
||||||
success: function (res) {
|
success: function(res) {
|
||||||
console.log("success:" + JSON.stringify(res));
|
console.log("success:" + JSON.stringify(res));
|
||||||
},
|
},
|
||||||
fail: function (err) {
|
fail: function(err) {
|
||||||
console.log("fail:" + JSON.stringify(err));
|
console.log("fail:" + JSON.stringify(err));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}else if(data.index == 1){
|
} else if (data.index == 1) {
|
||||||
// 分享到朋友圈
|
// 分享到朋友圈
|
||||||
uni.share({
|
uni.share({
|
||||||
provider: "weixin",
|
provider: "weixin",
|
||||||
@@ -202,20 +216,32 @@
|
|||||||
title: "疯子读书",
|
title: "疯子读书",
|
||||||
summary: "我正在使用疯子读书提升自己,赶紧跟我一起来体验吧!",
|
summary: "我正在使用疯子读书提升自己,赶紧跟我一起来体验吧!",
|
||||||
imageUrl: "static/fengziIcon.jpg",
|
imageUrl: "static/fengziIcon.jpg",
|
||||||
success: function (res) {
|
success: function(res) {
|
||||||
console.log("success:" + JSON.stringify(res));
|
console.log("success:" + JSON.stringify(res));
|
||||||
},
|
},
|
||||||
fail: function (err) {
|
fail: function(err) {
|
||||||
console.log("fail:" + JSON.stringify(err));
|
console.log("fail:" + JSON.stringify(err));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
switchTab(url){
|
switchTab(url) {
|
||||||
uni.switchTab({
|
uni.switchTab({
|
||||||
url: url
|
url: url
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 游客模式
|
||||||
|
anonyMo() {
|
||||||
|
if (uni.getStorageSync("anonymous") == '0000000000') {
|
||||||
|
this.anonymous = true
|
||||||
|
} else {
|
||||||
|
this.anonymous = false
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
getData() {
|
getData() {
|
||||||
// 获取个人信息
|
// 获取个人信息
|
||||||
if (this.userInfo.id != undefined) {
|
if (this.userInfo.id != undefined) {
|
||||||
@@ -234,23 +260,23 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
// 新写分享
|
// 新写分享
|
||||||
newOnShare(){
|
newOnShare() {
|
||||||
this.$refs.share.open()
|
this.$refs.share.open()
|
||||||
},
|
},
|
||||||
|
|
||||||
// 注销账户
|
// 注销账户
|
||||||
logout(){
|
logout() {
|
||||||
let that = this
|
let that = this
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: '确定要注销当前账户吗?',
|
content: '确定要注销当前账户吗?',
|
||||||
success: function (res) {
|
success: function(res) {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
showCancel:false,
|
showCancel: false,
|
||||||
content: `注销申请已提交成功,请联系客服进行后续操作:022-24142321`,
|
content: `注销申请已提交成功,请联系客服进行后续操作:022-24142321`,
|
||||||
success: function (res1) {
|
success: function(res1) {
|
||||||
if (res1.confirm) {
|
if (res1.confirm) {
|
||||||
that.signOut()
|
that.signOut()
|
||||||
}
|
}
|
||||||
@@ -270,7 +296,7 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
onPageJump(url) {
|
onPageJump(url) {
|
||||||
console.log(url,'url')
|
console.log(url, 'url')
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: url
|
url: url
|
||||||
});
|
});
|
||||||
@@ -280,7 +306,9 @@
|
|||||||
// 退出登录
|
// 退出登录
|
||||||
signOut() {
|
signOut() {
|
||||||
this.signShow = false
|
this.signShow = false
|
||||||
this.setUserInfo({'token': null})
|
this.setUserInfo({
|
||||||
|
'token': null
|
||||||
|
})
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: '../user/login'
|
url: '../user/login'
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -11,13 +11,16 @@
|
|||||||
<view class="audiobox">
|
<view class="audiobox">
|
||||||
<view class="audioinfo">
|
<view class="audioinfo">
|
||||||
<image class="audioimg" :src="bookInfo.images" mode="aspectFit"></image>
|
<image class="audioimg" :src="bookInfo.images" mode="aspectFit"></image>
|
||||||
<image class="audioimgstart" v-if="!this.paused" mode="aspectFit" src="../../static/audiostart.png" @click="start"></image>
|
<image class="audioimgstart" v-if="!this.paused" mode="aspectFit"
|
||||||
<image class="audioimgstart" v-else mode="aspectFit" src="../../static/audiostop.png" @click="start"></image>
|
src="../../static/audiostart.png" @click="start"></image>
|
||||||
|
<image class="audioimgstart" v-else mode="aspectFit" src="../../static/audiostop.png"
|
||||||
|
@click="start"></image>
|
||||||
<view>
|
<view>
|
||||||
<view class="audiotitle">{{talkBookDetail.title}}</view>
|
<view class="audiotitle">{{talkBookDetail.title}}</view>
|
||||||
<view class="audioauthor">{{bookInfo.author.authorName}}</view>
|
<view class="audioauthor">{{bookInfo.author.authorName}}</view>
|
||||||
<view class="audioauthor">{{currentTime+'/'+duration}}秒</view>
|
<view class="audioauthor">{{currentTime+'/'+duration}}秒</view>
|
||||||
<slider class="audioslider" block-size="12" v-model="currentTime" :max="duration" @change="changeTime"></slider>
|
<slider class="audioslider" block-size="12" v-model="currentTime" :max="duration"
|
||||||
|
@change="changeTime"></slider>
|
||||||
<!-- <view @click="start">点击播放/暂停</view> -->
|
<!-- <view @click="start">点击播放/暂停</view> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -25,8 +28,21 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="content" v-if="talkBookDetail.content != ''" v-html="talkBookDetail.content"></view>
|
<view class="content" v-if="talkBookDetail.content != ''" v-html="talkBookDetail.content"></view>
|
||||||
<view class="content" v-else></view>
|
<view class="content" v-else></view>
|
||||||
<view class="time">
|
<!-- <view class="time">
|
||||||
<text>{{talkBookDetail.createTime}}</text>
|
<text>{{talkBookDetail.createTime}}</text>
|
||||||
|
</view> -->
|
||||||
|
<view class="zanche flexbox" style="margin-top:15rpx;">
|
||||||
|
<span class="left">{{talkBookDetail.createTime}}</span>
|
||||||
|
<span class="right flexbox opbtns">
|
||||||
|
<image class="gzicon" v-if="contlikeYN" src="../../static/icon/gz2.png" mode="aspectFill"
|
||||||
|
@click.stop="clickLike(talkBookDetail)"></image>
|
||||||
|
<image class="gzicon" v-else src="../../static/icon/gz.png" mode="aspectFill"
|
||||||
|
@click.stop="clickLike(talkBookDetail)"></image>
|
||||||
|
<view style="color: #C0C4CC;">{{contlike}}</view>
|
||||||
|
<image class="gzicon" v-if="1" src="../../static/icon/pinglun.png" mode="aspectFill"
|
||||||
|
@click="pinglun()"></image>
|
||||||
|
<view style="color: #C0C4CC;" @click="pinglun()">{{pTotal}}</view>
|
||||||
|
</span>
|
||||||
</view>
|
</view>
|
||||||
<view class="tuijin" v-if="!isBuy && bookInfo.productId != null">
|
<view class="tuijin" v-if="!isBuy && bookInfo.productId != null">
|
||||||
<p>觉得这本书还不错?</p>
|
<p>觉得这本书还不错?</p>
|
||||||
@@ -52,6 +68,87 @@
|
|||||||
<view class="">下一章</view>
|
<view class="">下一章</view>
|
||||||
</view> -->
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view class="pinglunMain">
|
||||||
|
<!-- <u-button class="addPl" type='success' plain @click="pinglun()">添加评论</u-button>
|
||||||
|
<view class="">
|
||||||
|
<view style="font-weight: 700;margin:30rpx 0rpx 30rpx;font-size: 30rpx;color:#55aa00;">精彩热评</view>
|
||||||
|
</view> -->
|
||||||
|
<!-- <h4>~ 精彩热评 ~</h4> -->
|
||||||
|
<view v-if="plList.length > 0">
|
||||||
|
<view class="pl-item" v-for="item in plList" :key="item.id">
|
||||||
|
<view class="plusername">
|
||||||
|
<image :src="item.user.avatar"></image>
|
||||||
|
<span v-if="item.user.nickname!=null">{{item.user.nickname}}</span>
|
||||||
|
<span v-if="item.user.nickname==null">匿名用户</span>
|
||||||
|
</view>
|
||||||
|
<view class="content" v-html="item.content"></view>
|
||||||
|
<view class="btns flexbox" style="margin-top:10rpx;">
|
||||||
|
<span class="left" style="color: #C0C4CC;">{{formatTimeDifferenceFromT(item.createTime)}}</span>
|
||||||
|
<span class="condelt" @click="deleteCont(item)" v-if="item.deletUse">删除</span>
|
||||||
|
<!-- <span class="conhuif" @click="pinglun(item)">回复</span> -->
|
||||||
|
</view>
|
||||||
|
<!-- <view class="pl-son" v-if="item.comments.length > 0">
|
||||||
|
<view class="pl-son-item" v-for="(item1,index) in item.comments" :key="index">
|
||||||
|
<view class="pl-son-item-content">
|
||||||
|
<text class="pl-son-atob">
|
||||||
|
<text v-if="item1.user.nickname!=null">{{item1.user.nickname}}</text>
|
||||||
|
<text v-if="item1.user.nickname==null">匿名用户</text>
|
||||||
|
<text style="margin: 0 10rpx;">回复</text>
|
||||||
|
<text v-if="item.user.nickname!=null">{{item.user.nickname}}</text>
|
||||||
|
<text v-if="item.user.nickname==null">匿名用户</text>:
|
||||||
|
</text>
|
||||||
|
<text v-html="item1.content"></text>
|
||||||
|
</view>
|
||||||
|
<view class="btns flexbox" style="margin-top:10rpx;">
|
||||||
|
<span class="left"
|
||||||
|
style="color: #C0C4CC;">{{formatTimeDifferenceFromT(item1.createTime)}}</span>
|
||||||
|
<span class="condelt" @click="deleteCont(item)" v-if="item.deletUse">删除</span>
|
||||||
|
<span class="conhuif" @click="pinglun(item)">回复</span>
|
||||||
|
</view>
|
||||||
|
<view style="border-bottom:2rpx solid #e9e9e9;height:20rpx;"
|
||||||
|
v-if="index<item.comments.length-1"></view>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<!-- </view> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="quesheng" v-else>
|
||||||
|
<text>暂无评论内容~</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="status==0" style="text-align: center;">
|
||||||
|
<u-loading-icon style="display: inline-block;"></u-loading-icon>
|
||||||
|
<font style='vertical-align: super;margin-left: 10px;font-size: 26rpx;color: #909399;'>努力加载中</font>
|
||||||
|
</view>
|
||||||
|
<u-divider v-if="status == 1" text="已加载全部评论"></u-divider>
|
||||||
|
<!-- 评论书评对话框 -->
|
||||||
|
<!-- 回复评论对话框 -->
|
||||||
|
<u-popup :show="pingjiaShow" :round="10" @close="closePingjia">
|
||||||
|
<view class="tanchu">
|
||||||
|
<view class="dp_title">添加评论</view>
|
||||||
|
<view style="max-height: 1000rpx;overflow-y: scroll;">
|
||||||
|
<view class="padding-bottom-sm flex padding-lr-sm" style="border-bottom: 1px solid #EEEEEE;">
|
||||||
|
|
||||||
|
<view class="flex-sub flexbox">
|
||||||
|
<i @click="showEmj()" :class="emojiIcon"></i>
|
||||||
|
<textarea class="textarea" v-model="Pform.comment" @focus="InputFocus" @blur="InputBlur"
|
||||||
|
@input="textareaBInput" placeholder-style="font-size:24rpx;color:#aaaaaa;"
|
||||||
|
placeholder="请输入您要发送的内容"></textarea>
|
||||||
|
</view>
|
||||||
|
<view class="">
|
||||||
|
<u-button type="success" @click="submitPJ">提交</u-button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view style="position: relative;">
|
||||||
|
<emotion @emotion="handleEmj" :height="220" v-if="isShowEmj" :windowWidth="windowWidth">
|
||||||
|
</emotion>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
|
|
||||||
<music-play :playData="playData"></music-play>
|
<music-play :playData="playData"></music-play>
|
||||||
<!-- 公共组件-每个页面必须引入 -->
|
<!-- 公共组件-每个页面必须引入 -->
|
||||||
<public-module></public-module>
|
<public-module></public-module>
|
||||||
@@ -59,7 +156,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import $http from '@/config/requestConfig.js';
|
||||||
|
import emotion from '@/bkhumor-emojiplus/components/bkhumor-emojiplus/bkhumor-emojiplus.vue';
|
||||||
|
import emojiList1 from '../../bkhumor-emojiplus/emoji/biaoqin.js'
|
||||||
import musicPlay from '@/components/music.vue'
|
import musicPlay from '@/components/music.vue'
|
||||||
|
|
||||||
import {
|
import {
|
||||||
mapState,
|
mapState,
|
||||||
mapMutations
|
mapMutations
|
||||||
@@ -71,6 +172,10 @@
|
|||||||
method: 'pause'
|
method: 'pause'
|
||||||
},
|
},
|
||||||
audioShow: false,
|
audioShow: false,
|
||||||
|
isShowEmj: false,
|
||||||
|
emojiIcon: 'cuIcon-emoji',
|
||||||
|
emoji: [],
|
||||||
|
windowWidth: 0,
|
||||||
voicesImg: '',
|
voicesImg: '',
|
||||||
isBuy: false,
|
isBuy: false,
|
||||||
playData: {},
|
playData: {},
|
||||||
@@ -86,7 +191,22 @@
|
|||||||
audio: null,
|
audio: null,
|
||||||
duration: 10,
|
duration: 10,
|
||||||
currentTime: 0,
|
currentTime: 0,
|
||||||
paused: false
|
paused: false,
|
||||||
|
emojiIcon: 'cuIcon-emoji',
|
||||||
|
isShowEmj: false,
|
||||||
|
status: 3,
|
||||||
|
pingjiaShow: false, //添加评价
|
||||||
|
Pform: { // 评价表单
|
||||||
|
//star:0,
|
||||||
|
comment: '',
|
||||||
|
//img:[],
|
||||||
|
html: ''
|
||||||
|
},
|
||||||
|
contlike: 0,
|
||||||
|
contlikeYN: false,
|
||||||
|
pPage: 1,
|
||||||
|
pTotal: 0, // 评论的总条数
|
||||||
|
plList: [], // 书评的评论list
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(e) {
|
onLoad(e) {
|
||||||
@@ -101,6 +221,8 @@
|
|||||||
onShow() {
|
onShow() {
|
||||||
this.getBookInfo()
|
this.getBookInfo()
|
||||||
this.getTalkBookDetail()
|
this.getTalkBookDetail()
|
||||||
|
this.getCommPL()
|
||||||
|
this.getGoodNum()
|
||||||
},
|
},
|
||||||
onHide() {
|
onHide() {
|
||||||
// console.log('onHide----',this.paused)
|
// console.log('onHide----',this.paused)
|
||||||
@@ -116,37 +238,68 @@
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapMutations(['setUserInfo']),
|
...mapMutations(['setUserInfo']),
|
||||||
start(){
|
start() {
|
||||||
this.initAudio() // 开始播放
|
this.initAudio() // 开始播放
|
||||||
},
|
},
|
||||||
initAudio(){
|
formatTimeDifferenceFromT(dateTimeT) {
|
||||||
this.audio.onTimeUpdate(()=>{
|
const now = new Date();
|
||||||
|
const t = new Date(dateTimeT);
|
||||||
|
const differenceInSeconds = Math.floor((now - t) / 1000);
|
||||||
|
|
||||||
|
if (differenceInSeconds <= 3600) {
|
||||||
|
const minutes = Math.floor(differenceInSeconds / 60);
|
||||||
|
return `${minutes} 分钟前`;
|
||||||
|
} else if (differenceInSeconds <= 86400) {
|
||||||
|
const hours = Math.floor(differenceInSeconds / 3600);
|
||||||
|
return `${hours} 小时前`;
|
||||||
|
} else if (differenceInSeconds <= 2592000) {
|
||||||
|
const days = Math.floor(differenceInSeconds / 86400);
|
||||||
|
return `${days} 天前`;
|
||||||
|
} else {
|
||||||
|
const currentYear = now.getFullYear();
|
||||||
|
const tYear = t.getFullYear();
|
||||||
|
if (currentYear === tYear) {
|
||||||
|
const month = t.getMonth() + 1;
|
||||||
|
const day = t.getDate();
|
||||||
|
return `${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
|
||||||
|
} else {
|
||||||
|
const year = t.getFullYear();
|
||||||
|
const month = t.getMonth() + 1;
|
||||||
|
const day = t.getDate();
|
||||||
|
return `${year}-${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
initAudio() {
|
||||||
|
this.audio.onTimeUpdate(() => {
|
||||||
this.duration = this.audio.duration.toFixed()
|
this.duration = this.audio.duration.toFixed()
|
||||||
this.currentTime = this.audio.currentTime.toFixed()
|
this.currentTime = this.audio.currentTime.toFixed()
|
||||||
})
|
})
|
||||||
this.audio.onPause(()=>{ // 用于被听书组件打断时,设置播放icon状态
|
this.audio.onPause(() => { // 用于被听书组件打断时,设置播放icon状态
|
||||||
this.paused = false
|
this.paused = false
|
||||||
// console.log('onPause----------',this.paused)
|
// console.log('onPause----------',this.paused)
|
||||||
})
|
})
|
||||||
this.paused = this.audio.paused
|
this.paused = this.audio.paused
|
||||||
// console.log('paused',this.paused)
|
// console.log('paused',this.paused)
|
||||||
if(this.paused){
|
if (this.paused) {
|
||||||
this.audio.play()
|
this.audio.play()
|
||||||
}else{
|
} else {
|
||||||
this.audio.pause()
|
this.audio.pause()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateTime(e){
|
updateTime(e) {
|
||||||
this.currentTime = e.detail.currentTime.toFixed()
|
this.currentTime = e.detail.currentTime.toFixed()
|
||||||
this.duration = e.detail.duration.toFixed()
|
this.duration = e.detail.duration.toFixed()
|
||||||
},
|
},
|
||||||
changeTime(e){
|
changeTime(e) {
|
||||||
this.audio.seek(e.detail.value) // 设置播放位置
|
this.audio.seek(e.detail.value) // 设置播放位置
|
||||||
},
|
},
|
||||||
audioPlay(){
|
audioPlay() {
|
||||||
console.log('播放讲书',this.$music)
|
console.log('播放讲书', this.$music)
|
||||||
this.$music.setCloseBgm() // 关闭听书音频
|
this.$music.setCloseBgm() // 关闭听书音频
|
||||||
this.setUserInfo({'playFlag': false})
|
this.setUserInfo({
|
||||||
|
'playFlag': false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
// 购买
|
// 购买
|
||||||
gotoBuy() {
|
gotoBuy() {
|
||||||
@@ -199,12 +352,13 @@
|
|||||||
this.talkBookDetail = res.bookTeach
|
this.talkBookDetail = res.bookTeach
|
||||||
|
|
||||||
this.audio.src = this.talkBookDetail.voices // 设置播放资源路径
|
this.audio.src = this.talkBookDetail.voices // 设置播放资源路径
|
||||||
this.audio.onCanplay((e)=>{
|
this.audio.onCanplay((e) => {
|
||||||
this.duration = this.audio.duration.toFixed() // 初始化进度条和音频秒数
|
this.duration = this.audio.duration.toFixed() // 初始化进度条和音频秒数
|
||||||
})
|
})
|
||||||
|
|
||||||
// this.isBuy = res.book.isBuy
|
// this.isBuy = res.book.isBuy
|
||||||
// this.freeChapterCount = res.book.freeChapterCount
|
// this.freeChapterCount = res.book.freeChapterCount
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
console.log(res.msg)
|
console.log(res.msg)
|
||||||
}
|
}
|
||||||
@@ -215,9 +369,291 @@
|
|||||||
this.audioShow = true
|
this.audioShow = true
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 表情
|
||||||
|
showEmj() {
|
||||||
|
let bool = !this.isShowEmj;
|
||||||
|
if (bool) {
|
||||||
|
this.emojiIcon = 'cuIcon-keyboard';
|
||||||
|
} else {
|
||||||
|
this.emojiIcon = 'cuIcon-emoji';
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isShowEmj = bool;
|
||||||
|
this.$emit('show')
|
||||||
|
},
|
||||||
|
InputBlur(e) {
|
||||||
|
|
||||||
|
},
|
||||||
|
InputFocus(e) {
|
||||||
|
this.isShowEmj = false;
|
||||||
|
this.emojiIcon = 'cuIcon-emoji';
|
||||||
|
this.$emit('foc')
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取点赞数和是否点赞
|
||||||
|
getGoodNum() {
|
||||||
|
|
||||||
|
this.$http
|
||||||
|
.post("book/teach/getLikeCount?teachId=" + this.teachId)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.contlike = res.count
|
||||||
|
}
|
||||||
|
}).catch((e) => {
|
||||||
|
console.log(e, 'e')
|
||||||
|
})
|
||||||
|
|
||||||
|
this.$http
|
||||||
|
.post("book/teach/ifLike?teachId=" + this.teachId)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.contlikeYN = res.flag
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((e) => {
|
||||||
|
console.log(e, 'e')
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获得书评回复列表
|
||||||
|
getCommPL() {
|
||||||
|
|
||||||
|
$http.request({
|
||||||
|
url: "book/teach/getCommentList",
|
||||||
|
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||||
|
data: {
|
||||||
|
'teachId': this.teachId,
|
||||||
|
'limit': 5,
|
||||||
|
'page': this.pPage,
|
||||||
|
},
|
||||||
|
header: { //默认 无 说明:请求头
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
console.log(res, '书评评论')
|
||||||
|
// this.plList = this.plList.concat(res.page.list)
|
||||||
|
let plList1 = res.page.records
|
||||||
|
this.pTotal = res.page.total
|
||||||
|
this.status = 3
|
||||||
|
// 评论格式化
|
||||||
|
var newarr = []
|
||||||
|
plList1.forEach((item1) => {
|
||||||
|
item1.content = this.getHtmlComment(item1.content)
|
||||||
|
if (item1.userId == this.userInfo.id) {
|
||||||
|
item1.deletUse = true
|
||||||
|
} else {
|
||||||
|
item1.deletUse = false
|
||||||
|
}
|
||||||
|
newarr.push(item1)
|
||||||
|
})
|
||||||
|
this.plList = this.plList.concat(newarr)
|
||||||
|
console.log('改变格式后', this.plList)
|
||||||
|
|
||||||
|
}).catch(e => {
|
||||||
|
console.log(e, 'e')
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取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>');
|
||||||
|
},
|
||||||
|
|
||||||
|
// 点赞
|
||||||
|
clickLike(item) {
|
||||||
|
this.$http
|
||||||
|
.post("book/teach/addOrCancelLike?teachId=" + this.teachId)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.msg,
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
this.getGoodNum()
|
||||||
|
}
|
||||||
|
}).catch((e) => {
|
||||||
|
console.log(e, 'e')
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
// 显示评论框
|
||||||
|
pinglun(val) {
|
||||||
|
console.log('pinglun-val', val)
|
||||||
|
if (val && val.user && val.user.id && val.puser && val.puser.id) {
|
||||||
|
this.Pform.name = val.user.name || ''
|
||||||
|
this.Pform.pid = val.pid
|
||||||
|
this.Pform.puserId = val.user.id || ''
|
||||||
|
} else if (val && val.user && val.user.id) {
|
||||||
|
this.Pform.name = val.user.name || ''
|
||||||
|
this.Pform.pid = val.id
|
||||||
|
this.Pform.puserId = val.user.id || ''
|
||||||
|
} else {
|
||||||
|
// this.pinglunId = val || null
|
||||||
|
this.Pform.pid = ''
|
||||||
|
this.Pform.puserId = ''
|
||||||
|
}
|
||||||
|
this.pingjiaShow = true
|
||||||
|
},
|
||||||
|
// 提交评论
|
||||||
|
submitPJ() {
|
||||||
|
if (this.Pform.comment != '') {
|
||||||
|
$http.request({
|
||||||
|
url: "book/teach/addComment",
|
||||||
|
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||||
|
data: {
|
||||||
|
teachId: this.teachId,
|
||||||
|
content: this.Pform.comment,
|
||||||
|
puserId: 0,
|
||||||
|
},
|
||||||
|
header: { //默认 无 说明:请求头
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then(res => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '评论成功!',
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
// this.getCommPL()
|
||||||
|
this.pingjiaShow = false
|
||||||
|
this.Pform.comment = ''
|
||||||
|
this.Pform.name = ''
|
||||||
|
this.Pform.pid = ''
|
||||||
|
this.Pform.puserId = ''
|
||||||
|
// this.pinglunId = null
|
||||||
|
|
||||||
|
this.plList = []
|
||||||
|
this.pPage = 1
|
||||||
|
this.getCommPL()
|
||||||
|
|
||||||
|
}).catch(e => {
|
||||||
|
console.log(e, 'e')
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请先输入您的评价内容!',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 删除评论
|
||||||
|
deleteCont(item) {
|
||||||
|
uni.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '确定要删除评论吗?',
|
||||||
|
confirmText: "确定",
|
||||||
|
cancelText: "取消",
|
||||||
|
success: function(res) {
|
||||||
|
let _this = this
|
||||||
|
if (res.confirm) {
|
||||||
|
_this.$http
|
||||||
|
.post("book/teach/delComment?commentId=" + item.id)
|
||||||
|
.then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '删除成功',
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
_this.plList = []
|
||||||
|
_this.pPage = 1
|
||||||
|
_this.getCommPL()
|
||||||
|
}
|
||||||
|
}).catch((e) => {
|
||||||
|
console.log(e, 'e')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}.bind(this)
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
closePingjia() {
|
||||||
|
this.pingjiaShow = false
|
||||||
|
this.Pform.comment = ''
|
||||||
|
this.Pform.html = ''
|
||||||
|
this.emoji = []
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获得输入的表情数组
|
||||||
|
handleEmj(i) {
|
||||||
|
console.log(i, 'i---------');
|
||||||
|
this.inputValue = i
|
||||||
|
// console.log(this.inputValue);
|
||||||
|
if (i.emotioni == '[em_98]') {
|
||||||
|
//匹配最后一个表情符号并删除11。
|
||||||
|
this.Pform.comment = this.Pform.comment.replace(/(\[[^\]]+\]|[\s\S])$/, '');
|
||||||
|
if (this.emoji.length > 0) {
|
||||||
|
this.emoji = this.emoji.slice(0, -1)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.emoji.push({
|
||||||
|
'tag': i.emotion,
|
||||||
|
'name': i.emotioni
|
||||||
|
})
|
||||||
|
// console.log(this.emoji,'this.emoji')
|
||||||
|
this.Pform.comment += i.emotioni;
|
||||||
|
/// this.Pform.html += i.emotion
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
textareaBInput(e) {
|
||||||
|
console.log(e, 'e')
|
||||||
|
this.Pform.comment = e.detail.value
|
||||||
|
/// this.Pform.html = e.detail.value
|
||||||
|
},
|
||||||
|
showEmj() {
|
||||||
|
let bool = !this.isShowEmj;
|
||||||
|
if (bool) {
|
||||||
|
this.emojiIcon = 'cuIcon-keyboard';
|
||||||
|
} else {
|
||||||
|
this.emojiIcon = 'cuIcon-emoji';
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isShowEmj = bool;
|
||||||
|
this.$emit('show')
|
||||||
|
},
|
||||||
|
|
||||||
|
InputBlur(e) {
|
||||||
|
|
||||||
|
},
|
||||||
|
InputFocus(e) {
|
||||||
|
this.isShowEmj = false;
|
||||||
|
this.emojiIcon = 'cuIcon-emoji';
|
||||||
|
this.$emit('foc')
|
||||||
|
},
|
||||||
|
|
||||||
|
onReachBottom() {
|
||||||
|
console.log('到底了')
|
||||||
|
if (this.pPage + 1 <= this.pTotal) {
|
||||||
|
this.status = 0
|
||||||
|
this.pPage++
|
||||||
|
this.getCommPL()
|
||||||
|
} else {
|
||||||
|
this.status = 3
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
musicPlay
|
musicPlay,
|
||||||
|
emotion
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@@ -291,6 +727,9 @@
|
|||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
margin-right: 20rpx;
|
margin-right: 20rpx;
|
||||||
|
font-size: 22rpx;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
text {
|
text {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@@ -302,37 +741,79 @@
|
|||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 自定义播放器样式
|
|
||||||
.audiobox{
|
|
||||||
border: 2rpx solid #d6d5d5;
|
.zanche {
|
||||||
border-radius: 8px;
|
font-size: 22rpx;
|
||||||
.audioinfo{
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
width: 300rpx;
|
||||||
|
color: #999;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
width: 300rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
.audioimg{
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gzicon {
|
||||||
|
margin: 0 0 0 20rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
width: 40rpx;
|
||||||
|
// float:left;
|
||||||
|
// border-radius: 20rpx;
|
||||||
|
// border:1rpx solid #e9e9e9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opbtns {
|
||||||
|
.pingjia {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 自定义播放器样式
|
||||||
|
.audiobox {
|
||||||
|
border: 2rpx solid #d6d5d5;
|
||||||
|
border-radius: 8px;
|
||||||
|
|
||||||
|
.audioinfo {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.audioimg {
|
||||||
padding: 10rpx;
|
padding: 10rpx;
|
||||||
width: 180rpx;
|
width: 180rpx;
|
||||||
height: 220rpx;
|
height: 220rpx;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
.audioimgstart{
|
|
||||||
|
.audioimgstart {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
padding: 20rpx;
|
padding: 20rpx;
|
||||||
width: 180rpx;
|
width: 180rpx;
|
||||||
height: 220rpx;
|
height: 220rpx;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
}
|
}
|
||||||
.audiotitle{
|
|
||||||
|
.audiotitle {
|
||||||
padding: 10rpx;
|
padding: 10rpx;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
.audioauthor{
|
|
||||||
|
.audioauthor {
|
||||||
padding: 4rpx;
|
padding: 4rpx;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
color: #999;
|
color: #999;
|
||||||
}
|
}
|
||||||
.audioslider{
|
|
||||||
|
.audioslider {
|
||||||
width: 400rpx;
|
width: 400rpx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -341,4 +822,156 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// .opbtn{font-size: 14rpx;}
|
// .opbtn{font-size: 14rpx;}
|
||||||
|
.pinglunMain {
|
||||||
|
.pl-item {
|
||||||
|
margin: 0 0 14rpx 0;
|
||||||
|
padding: 0 0 14rpx 0;
|
||||||
|
border-bottom: 1px solid #f0f0f0;
|
||||||
|
|
||||||
|
.condelt {
|
||||||
|
color: #fd6004;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.conhuif {
|
||||||
|
|
||||||
|
color: #4185c1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-son {
|
||||||
|
margin: 14rpx 0 14rpx 60rpx;
|
||||||
|
padding: 0 14rpx 14rpx 14rpx;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
|
||||||
|
.pl-son-item {
|
||||||
|
font-size: 26rpx;
|
||||||
|
padding-top: 28rpx;
|
||||||
|
|
||||||
|
.pl-son-item-content {}
|
||||||
|
|
||||||
|
.pl-son-atob {
|
||||||
|
color: #a1a1a1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.plusername {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #a1a1a1;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 40rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 15rpx;
|
||||||
|
vertical-align: sub;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
margin: 30rpx 0rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
color: #000;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
background-color: #fff;
|
||||||
|
padding: 10px;
|
||||||
|
|
||||||
|
// h4{color: #55aa00; font-size: 40rpx; margin:30rpx 0 ; text-align: center;}
|
||||||
|
.time {
|
||||||
|
color: #888;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btns {
|
||||||
|
font-size: 22rpx;
|
||||||
|
// justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
// width: 300rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
color: #a1a1a1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
width: 300rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gzicon {
|
||||||
|
margin: 0 0 0 20rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
width: 40rpx;
|
||||||
|
// float:left;
|
||||||
|
// border-radius: 20rpx;
|
||||||
|
// border:1rpx solid #e9e9e9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.opbtns {
|
||||||
|
.pingjia {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.quesheng {
|
||||||
|
text-align: center;
|
||||||
|
color: #8b8a91;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
padding-top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tanchu {
|
||||||
|
padding: 40rpx 30rpx 40rpx 30rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
|
||||||
|
.dp_title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
margin-bottom: 50rpx;
|
||||||
|
color: #555;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dp_add {
|
||||||
|
position: absolute;
|
||||||
|
top: 40rpx;
|
||||||
|
right: 30rpx;
|
||||||
|
font-size: 22rpx;
|
||||||
|
background-color: #fd6004;
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
padding: 5rpx 10rpx;
|
||||||
|
|
||||||
|
.u-icon {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 5rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cuIcon-emoji {
|
||||||
|
background: url(../../static/biaoqing.png) no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
display: block;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
width: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cuIcon-keyboard {
|
||||||
|
background: url(../../static/biaoqing.png) no-repeat;
|
||||||
|
background-size: contain;
|
||||||
|
display: block;
|
||||||
|
width: 30px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -150,7 +150,7 @@ import { data } from 'jquery';
|
|||||||
this.booksetpage = 1
|
this.booksetpage = 1
|
||||||
this.yianList = []
|
this.yianList = []
|
||||||
}
|
}
|
||||||
if(this.contentShow == 2){
|
if(this.contentShow == 1){
|
||||||
httpurl = "book/bookMedicalRecords/userEbookBuyList"
|
httpurl = "book/bookMedicalRecords/userEbookBuyList"
|
||||||
} else {
|
} else {
|
||||||
httpurl = "book/bookMedicalRecords/recommendBookList"
|
httpurl = "book/bookMedicalRecords/recommendBookList"
|
||||||
|
|||||||
@@ -150,8 +150,16 @@
|
|||||||
this.$http
|
this.$http
|
||||||
.post('book/bookMedicalRecords/getById?medicalRecordsId=' + this.medicalRecordsId )
|
.post('book/bookMedicalRecords/getById?medicalRecordsId=' + this.medicalRecordsId )
|
||||||
.then(res => {
|
.then(res => {
|
||||||
console.log(res,'res')
|
// console.log(res,'res')
|
||||||
this.productInfo = res.entity
|
this.productInfo = res.entity
|
||||||
|
// console.log('cursor: nwse-resize', this.productInfo.content.includes('cursor: nwse-resize'))
|
||||||
|
// if(this.productInfo.content.includes('cursor: nwse-resize')){
|
||||||
|
// // this.productInfo.content = this.productInfo.content.replaceAll('cursor: nwse-resize;', 'cursor: nwse-resize;max-width:100%;')
|
||||||
|
// }else{
|
||||||
|
this.productInfo.content = this.productInfo.content.replaceAll('img src', 'img style="max-width:100%;" src')
|
||||||
|
// }
|
||||||
|
|
||||||
|
// console.log(this.productInfo.content,'res')
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
}).catch((e)=>{
|
}).catch((e)=>{
|
||||||
console.log(e,'e')
|
console.log(e,'e')
|
||||||
@@ -305,6 +313,9 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
/deep/.ql-align-center{
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
.addPl{padding-top: 0rpx; margin-bottom: 0rpx;}
|
.addPl{padding-top: 0rpx; margin-bottom: 0rpx;}
|
||||||
.pinglunMain{
|
.pinglunMain{
|
||||||
.pl-item{
|
.pl-item{
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 3.5 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 3.2 KiB |
Reference in New Issue
Block a user