合并master后

This commit is contained in:
@fawn-nine
2024-09-09 14:16:48 +08:00
10 changed files with 3106 additions and 3129 deletions

View File

@@ -24,7 +24,7 @@
"type" : "uni-app:app-ios"
},
{
"playground" : "custom",
"playground" : "standard",
"type" : "uni-app:app-android"
},
{

View File

@@ -6,17 +6,18 @@ if (process.env.NODE_ENV === 'development') {
// socketUrl = "ws://localhost:6001/";
// baseUrl = "https://twin-ui.com/demo/";
// baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试环境
// baseUrl = "https://api.nuttyreading.com/"; // 线上正式
baseUrl = "http://192.168.110.100:9200/pb/"; // 开发用电脑
baseUrl = "https://api.nuttyreading.com/"; // 线上正式
// baseUrl = "http://192.168.110.110:9200/pb/"; // 磊哥
// baseUrl = "http://192.168.110.100:9200/pb/"; // 开发用电脑
// baseUrl = "http://59.110.212.44:9200/pb/";
// baseUrl = "http://192.168.110.100:9100/pb/"; // 开发用电脑
// baseUrl = "http://192.168.110.110:9200/pb/";
// baseUrl = "http://192.168.110.38:9200/pb/"; // 吴春磊笔记本1
// socketUrl = "ws://8.129.186.35:6001/";
} else if (process.env.NODE_ENV === 'production') {
// 生产环境11
// baseUrl = "http://59.110.212.44:9100/pb/";
// baseUrl = "https://testapi.nuttyreading.com/";
// baseUrl = "http://192.168.110.110:9200/pb/";//磊哥
baseUrl = "https://api.nuttyreading.com/"; //1
// baseUrl = "ws://twin-ui.com:6001/";
// socketUrl = "ws://twin-ui.com:6001/";

View File

@@ -6,14 +6,12 @@
"request": 15000
},
"transformPx": false,
"icons" : [
{
"icons": [{
"sizes": "分辨率192x192",
"src": "图片路径"
}
],
"versionName" : "1.0.17",
"versionCode" : 1017,
}],
"versionName": "1.0.18",
"versionCode": 1018,
"app-plus": {
"nvueCompiler": "weex",
"compatible": {
@@ -270,4 +268,3 @@
}
}
//

Binary file not shown.

View File

@@ -13,14 +13,14 @@
</view>
<view v-if="show"
style="height: 100%;display: flex;align-items:center;justify-content:center;color: #fff;font-size: 38rpx;text-align: center;">
{{errorTxt}}</view>
{{errorTxt}}
</view>
<div class="" v-else style="background-color: #000" ref="videoContent" @tap="renderScript.handleClick"
id="url-player-test" :videoData="videoData" :winWidth="winWidth" :winHeight="winHeight"
:currentVideoList="currentVideoList" :firstTime="firstTime" :isfresh="isfresh" :platform="platform"
:isSetFirstTime="isSetFirstTime" :isChange="isChange" :change:videoData="renderScript.receiveMsg"
:replayVideoFlag="replayVideoFlag"
:change:winWidth="renderScript.receiveWinWidth" :change:winHeight="renderScript.receiveWinHeight"
:change:firstTime="renderScript.receiveFirstTime"
:replayVideoFlag="replayVideoFlag" :change:winWidth="renderScript.receiveWinWidth"
:change:winHeight="renderScript.receiveWinHeight" :change:firstTime="renderScript.receiveFirstTime"
:change:replayVideoFlag="renderScript.receiveReplayVideoFlag"
:change:isSetFirstTime="renderScript.receiveisSetFirstTime"
:change:isfresh="renderScript.receiveIsfresh" :change:platform="renderScript.receiveplatform"
@@ -165,7 +165,9 @@
loadNextVideo() {
this.playEndBlank = true
var _list = [...this.currentVideoList]
_list = _list.map(item => { return item.id})
_list = _list.map(item => {
return item.id
})
var thisIndex = _list.findIndex(item => {
return item == this.currentVideo.id
@@ -303,7 +305,7 @@
},
// 获取播放凭证
async getLive(isChange, newVideoData) {
console.log('获取播放凭证',newVideoData.id);
console.log('获取播放凭证11111111111111', newVideoData);
if (this.reaquestFlag) {
uni.showToast({
title: '操作太快了,歇一下吧',
@@ -942,15 +944,26 @@
}
</script>
<style>
.cancelNext{display: inline-block; margin-right: 20rpx;
border-radius: 10rpx; margin-top: 10rpx;
padding: 10rpx 20rpx !important; background-color: #fff !important;
color: #000; text-align: center; line-height: 50rpx;}
.cancelNext {
display: inline-block;
margin-right: 20rpx;
border-radius: 10rpx;
margin-top: 10rpx;
padding: 10rpx 20rpx !important;
background-color: #fff !important;
color: #000;
text-align: center;
line-height: 50rpx;
}
/* .cancelNext:last-child{margin-left: 10rpx;} */
.nextText {}
.showCountDownd {
box-sizing: border-box;
height: 100%; width: 100%; background-color: rgba(0, 0, 0, 0.6);
height: 100%;
width: 100%;
background-color: rgba(0, 0, 0, 0.6);
display: flex;
align-items: center;
@@ -959,11 +972,11 @@
font-size: 38rpx;
text-align: center;
position: absolute;
top: 0; right: 10rpx;
top: 0;
right: 10rpx;
z-index: 4;
text{
}
text {}
}

View File

@@ -4,6 +4,9 @@
<public-module></public-module>
<!-- <z-nav-bar :title="pageTitle ? pageTitle : '课程详情'"> -->
<z-nav-bar title="课程介绍">
<!-- <view class="curseSet" slot="right" @click="newOnShare">
<uni-icons type="redo" size="26"></uni-icons><text style="font-size: 26rpx;"></text> 分享课程
</view> -->
</z-nav-bar>
<view class="contentBox commonPageContentBox">
@@ -49,11 +52,11 @@
position: relative;
display: flex;
align-items: center;
" @click="isHideCourseInfo = !isHideCourseInfo">
">
<view :class="`${isHideCourseInfo ? 'hidden2' : ''}`"
style="width: calc(100% - 50rpx); font-size: 30rpx;" v-html="course.content">
</view>
<text
<text @click="isHideCourseInfo = !isHideCourseInfo"
style="
position: absolute;
bottom: 0;
@@ -475,7 +478,25 @@
fatherIndex: null,
supportFlag: false,
selectGoodsData: {},
buyOptions: [],
buyOptions: [
// {
// icon: 'chat',
// text: '客服'
// },
// {
// icon: 'shop',
// text: '店铺',
// // info: 2,
// infoBackgroundColor: '#007aff',
// infoColor: "#f5f5f5"
// },
// {
// icon: 'cart',
// text: '购物车',
// info: 2
// }
],
customButtonGroup1: [{
with: 200,
text: "立即购买",
@@ -502,13 +523,13 @@
console.log(e, "传入分类id");
this.getUserInfo();
this.courseId = e.id;
// this.getCateList(this.courseId)
// await this.getData(e.id);
this.getSayList();
this.getOS()
},
onPageScroll(e) {
this.scrollTop = e.scrollTop;
if (this.scrollTop > 500) {
@@ -594,6 +615,31 @@
})
})
},
getClassList(){
$http.request({
url: '/common/class/getClassByUser',
method: "POST",
data: {
"courseId": this.courseId
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(res => {
this.classInfo = {}
console.log('获取班级列表',res.result);
if(res.code == 0 && res.result != null){
if(res.result.id){
this.classInfo = res.result
}
}
console.log('获取班级列表++++++',this.classList);
}).catch(e => {
console.log('获取班级列表失败',e);
this.classInfo = {}
});
},
// 获得操作系统
getOS() {
let oprateOs = "";
@@ -692,7 +738,7 @@
v.isAudition == 1 && this.userMsg.vip == 0 && this.librayList[this.curIndex].isBuy == 0 ?
noRecored = true : ''
uni.navigateTo({
url: `${_myurl}?courseId=${this.course.id}&navTitle=${this.pageTitle}&title=${v.title}&id=${v.id}&conditions=${v.conditions}&noRecored=${noRecored}`,
url: `${_myurl}?navTitle=${this.pageTitle}&title=${v.title}&id=${v.id}&conditions=${v.conditions}&noRecored=${noRecored}`,
});
} else {
this.$commonJS.showToast("请先购买课程");
@@ -746,7 +792,6 @@
this.getCourseDescriptionData();
// this.$commonJS.showToast("");
}
this.$forceUpdate();
});
} else {
@@ -1013,31 +1058,6 @@
console.log("提交报错", e);
});
},
getClassList(){
$http.request({
url: '/common/class/getClassByUser',
method: "POST",
data: {
"courseId": this.courseId
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(res => {
this.classInfo = {}
console.log('获取班级列表',res.result);
if(res.code == 0){
if(res.result.id){
this.classInfo = res.result
}
}
console.log('获取班级列表++++++',this.classList);
}).catch(e => {
console.log('获取班级列表失败',e);
this.classInfo = {}
});
},
// 查询课程的评论
getSayList() {
this.status = 1;
@@ -1215,9 +1235,7 @@
this.courseList = [];
// console.log("at line 1167:", "调用了几次");
var that = this;
uni.showLoading({
title:'正在加载'
})
await $http
.request({
url: "sociology/course/getCourseDetail",
@@ -1303,10 +1321,8 @@
// console.log("list at line 1233:", list);
}
}
uni.hideLoading()
})
.catch((e) => {
uni.hideLoading()
console.log(e, "获取目录数据报错");
});
},
@@ -1477,7 +1493,7 @@
}
img {
max-width: 260rpx;
width: 20px;
}
.u-upload__button {
@@ -1514,12 +1530,14 @@
.contentBox {
width: calc(100% - 60rpx);
// img{width: 100rpx !important;
// height: 100rpx !important;}
}
// .img{ width: 60rpx;
// height: 60rpx;
// image{width:60rpx; height: 60rpx; border-radius: 100%;}
// }
.img{ width: 60rpx;
height: 60rpx;
image{width:60rpx; height: 60rpx; border-radius: 100%;}
}
}
.chooseImgType {
@@ -2147,8 +2165,9 @@
color: #333;
// background-color: #f0f0f0;
// margin-bottom: 10rpx;
}
}
::v-deep .prof img{ width: 100px; height: 100px;}
.catalogueTitle {
justify-content: space-between;
overflow: hidden;

View File

@@ -1012,6 +1012,7 @@
},
})
.then(async (res) => {
this.buyingFlag = false
console.log("res at line 598:", res);
if (res.code == 0) {
if (res.orderSn == null) {
@@ -1042,7 +1043,6 @@
});
console.log(res, "支付支付");
if (res.success) {
this.buyingFlag = false
uni.showToast({
title: "支付成功",
});
@@ -1062,7 +1062,7 @@
}, 1000);
} else {
console.log("失败失败失败");
this.buyingFlag = false
// this.buyingFlag = false
// that.$commonJS.showToast('支付是失败')
setTimeout(() => {
console.log("延迟调用 失败提示");
@@ -1091,7 +1091,7 @@
};
setWXPay(data1, (res) => {
if (res.success) {
this.buyingFlag = false
// this.buyingFlag = false
uni.showToast({
title: "支付成功",
});
@@ -1111,7 +1111,7 @@
}
}, 1000);
} else {
this.buyingFlag = false
// this.buyingFlag = false
console.log(res, "微信支付111111111111111");
if (res.data.errMsg.indexOf("User canceled") != -1) {
uni.showToast({
@@ -1129,7 +1129,7 @@
}
});
} else if (this.payType == 4) {
this.buyingFlag = false
// this.buyingFlag = false
// 天医币支付
uni.showToast({
title: "购买成功",
@@ -1149,6 +1149,8 @@
}
}
}
}).catch(e => {
this.buyingFlag = false
});
},

View File

@@ -10,55 +10,35 @@
-->
</z-nav-bar>
<view
class="contentBox commonPageContentBox"
:style="`margin-top: ${
<view class="contentBox commonPageContentBox" :style="`margin-top: ${
(40 + statusBarHeight) * 2
}rpx;height: calc(100% - ${(50 + statusBarHeight) * 2}rpx) !important;`"
>
}rpx;height: calc(100% - ${(50 + statusBarHeight) * 2}rpx) !important;`">
<view class="flash_sale_content">
<scroll-view scroll-y="true" class="scroll-Y" style="">
<view
class="scroll-view-item flash_sale_content_item color_shandow"
v-for="(v, i) in dataList"
:style="`background:${v.background ? v.background : '#f6f6f6'};`"
>
<view
class="book_name PM_font"
v-html="v.title"
:style="`background: ${v.color};
<view class="scroll-view-item flash_sale_content_item color_shandow" v-for="(v, i) in dataList"
:style="`background:${v.background ? v.background : '#f6f6f6'};`">
<view class="book_name PM_font" v-html="v.title" :style="`background: ${v.color};
;-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
`"
></view>
`"></view>
<view class="vip_content">
<view class="vip_image_box"
><image
class="vip_image"
src="@/static/icon/quanyi.png"
mode="aspectFit"
>
</image
></view>
<view class="vip_image_box">
<image class="vip_image" src="@/static/icon/quanyi.png" mode="aspectFit">
</image>
</view>
<view class="qunyi_box">
<view style="height: auto">
<view class="item"
v-for="(item, index1) in v.quanyi"
:style="item.style"
v-html="item.name"
></view
></view>
<view v-for="(item, index1) in v.quanyi" :style="item.style" v-html="item.name">
</view>
</view>
</view>
<!-- buttonbg -->
</view>
<view class="vip_list vip_button_list">
<view
@click="openorderModal(item)"
v-for="(item, index) in v.list"
class="vip_button"
:style="`background:${v.buttonbg ? v.buttonbg : '#f6f6f6'};`"
><view style="max-width: 200rpx">{{ item.title }}</view>
<view @click="openorderModal(item)" v-for="(item, index) in v.list" class="vip_button"
:style="`background:${v.buttonbg ? v.buttonbg : '#f6f6f6'};`">
<view style="max-width: 200rpx">{{ item.title }}</view>
<view style="margin: 0 5rpx">{{ item.lastFee }}</view>
</view>
</view>
@@ -68,18 +48,12 @@
</view>
<u-popup :show="orderModalShow" mode="bottom" :round="20">
<view class="orderModalShow popup_box">
<u-icon
name="close"
color="#333"
size="18"
@click="closeOrderModalShow"
style="
<u-icon name="close" color="#333" size="18" @click="closeOrderModalShow" style="
display: inline-block;
position: absolute;
right: 20rpx;
top: 20rpx;
"
></u-icon>
"></u-icon>
<orderPay ref="orderPay" :dataInfo="selectVipData"></orderPay>
<!-- <view class="goods_nav_box">
<uni-goods-nav
@@ -100,7 +74,9 @@
import list from "@/pages/component/commonComponents/list";
import orderPay from "./order.vue";
import $http from "@/config/requestConfig.js";
import { mapState } from "vuex";
import {
mapState
} from "vuex";
export default {
components: {
list,
@@ -110,43 +86,52 @@ export default {
return {
selectVipData: {},
orderModalShow: false,
superQuanyi: [
{ name: "众妙之门视频",
// style: {
// color: "#2D38F4",
// },
superQuanyi: [{
name: "众妙之门视频",
style: {
color: "#2D38F4",
},
},
{
name: "吴门医述视频",
},
{ name: "专属视频视听" },
{
name: "专属视频视听"
},
{
name: "读书相关权益",
// style: {
// color: "#2D38F4",
// },
style: {
color: "#2D38F4",
},
},
{
name: "活动报名折扣价<text style='color:red'>(更优惠)</text>"
},
{ name: "活动报名折扣价<text style='color:red'>(更优惠)</text>" },
],
sociologyQuanyi: [
// {
// name: "-",
// style: {
// color: "#b0b0b0",
// },
// },
{ name: "吴门医述视频" },
{ name: "专属视频视听" },
sociologyQuanyi: [{
name: "-",
style: {
color: "#fafafa",
},
},
{
name: "吴门医述视频"
},
{
name: "专属视频视听"
},
// {
// name: "-",
// style: {
// color: "#b0b0b0",
// },
// },
{
name: "-",
style: {
color: "#fafafa",
},
},
{ name: "活动报名折扣价" },
{
name: "活动报名折扣价"
},
],
isLoadingHide: false,
@@ -277,8 +262,7 @@ export default {
width: "120rpx",
},
background: "rgb(255 255 255 / 85%)",
buttonbg:
"linear-gradient(to right, #3F7FC9 0%,#D3EEFC 100%) ",
buttonbg: "linear-gradient(to right, #3F7FC9 0%,#D3EEFC 100%) ",
// titleBackground:
// "linear-gradient(130deg, rgb(153, 202, 192) 0%, rgb(192, 223, 207) 50%)",
color: "linear-gradient(130deg,rgb(45, 56, 244) 0%, #72AD92 100%)",
@@ -504,8 +488,7 @@ export default {
if (res.code == 0 && res.result.length >= 0) {
this.twoCateList = res.result;
if (this.curOneCateIndex == 0) {
this.twoCateList = [
{
this.twoCateList = [{
dictType: "1",
dictValue: "学术思想",
},
@@ -520,8 +503,7 @@ export default {
];
}
if (this.curOneCateIndex == 2) {
this.twoCateList = [
{
this.twoCateList = [{
dictType: "1",
dictValue: "吴门之歌",
},
@@ -536,8 +518,7 @@ export default {
];
}
if (this.curOneCateIndex == 3) {
this.twoCateList = [
{
this.twoCateList = [{
dictType: "1",
dictValue: "学术贡献",
},
@@ -591,7 +572,9 @@ export default {
transformData(inputData) {
const result = {};
inputData.forEach((item) => {
const { letter } = item;
const {
letter
} = item;
if (!result[letter]) {
result[letter] = [];
}
@@ -765,6 +748,7 @@ export default {
.commonPageBox {
height: 100vh !important;
}
.vipBox {
font-size: 28rpx !important;
background-repeat: no-repeat;
@@ -826,9 +810,11 @@ export default {
.titleList2 {
height: calc(100% - 170rpx);
}
.commonPageContentBox {
// min-height: 100% !important;
}
.related_courses_name {
display: inline-block;
float: left;
@@ -836,20 +822,24 @@ export default {
width: calc(100% - 90rpx) !important;
padding-left: 20rpx;
font-weight: 700;
.aui-text-danger {
display: inline-block;
float: right;
}
}
.vip_image_box {
@include themFlex(center, center);
margin-bottom: 20rpx;
}
.vip_image {
width: 60rpx;
height: 60rpx;
// float: left;
}
/deep/.list_item {
.rightArrow {
margin-top: 10rpx !important;
@@ -867,11 +857,12 @@ export default {
.flash_sale_content_item {
width: auto;
min-width: 47%;
min-height: 56%;
min-height: 48%;
margin: 10rpx !important;
border-radius: 20rpx;
overflow: hidden;
position: relative;
.vip_content {
width: 100%;
height: calc(100% - 80rpx);
@@ -911,6 +902,7 @@ export default {
white-space: wrap;
}
}
.vip_button_list {
width: 100%;
max-height: 200rpx;
@@ -924,6 +916,7 @@ export default {
bottom: 20rpx;
left: 0;
width: 100%;
// justify-content: center;
// flex-direction: column;
.vip_button {
@@ -942,6 +935,7 @@ export default {
// line-height: 80rpx;
margin-top: 20rpx;
white-space: wrap;
view {
display: flex;
line-height: 30rpx;
@@ -949,10 +943,12 @@ export default {
justify-content: center;
}
}
.vip_button:first-child {
margin-top: 0 !important;
}
}
.qunyi_box {
height: calc(100% - 280rpx);
color: #333;
@@ -961,9 +957,18 @@ export default {
display: flex;
align-items: center;
justify-content: center;
.item{line-height: 60rpx; text-align: center; padding: 0 10rpx; border: 1px solid #64bec5; border-radius: 50rpx; margin-bottom: 20rpx;}
.item {
line-height: 60rpx;
text-align: center;
padding: 0 10rpx;
border: 1px solid #64bec5;
border-radius: 50rpx;
margin-bottom: 20rpx;
}
}
.popup_box {
max-height: 95vh;
overflow: auto;

View File

@@ -1,8 +1,5 @@
<template>
<view
class="container commonDetailPage"
style="background-color: #fff !important"
>
<view class="container commonDetailPage" style="background-color: #fff !important">
<!-- 公共组件-每个页面必须引入 -->
<view class="contentBox commonPageContentBox order_box">
@@ -10,90 +7,49 @@
<view class="pay_title">支付方式</view>
<view style="margin-bottom: 20rpx">
<u-tag
:text="`已选:${dataInfo.title}`"
bgColor="#DCF2FA"
borderColor="#DCF2FA"
color="#258feb"
plain
></u-tag>
<u-tag :text="`已选:${dataInfo.title}`" bgColor="#DCF2FA" borderColor="#DCF2FA" color="#258feb"
plain></u-tag>
</view>
<view
class="curriulum_title_box goods_item pay_item"
v-for="(v, i) in payList" :key="i"
>
<view class="curriulum_title_box goods_item pay_item" v-for="(v, i) in payList">
<view :class="isDefaultCurrency && i != 2 ? 'bgGrey top' : 'top'">
<view class="left">
<image
class="pay_item_img"
:src="v.imgUrl"
mode="aspectFil"
:style="v.style"
>
<image class="pay_item_img" :src="v.imgUrl" mode="aspectFil" :style="v.style">
</image>
<template v-if="v.type == 4">
<text> {{ v.text }}</text>
<text
style="color: #258feb; font-weight: 600; margin-left: 10rpx"
>
<text style="color: #258feb; font-weight: 600; margin-left: 10rpx">
(余额{{
initData && initData.user ? initData.user.peanutCoin : 0
}})</text
>
}})</text>
</template>
<text v-else> {{ v.text }}</text>
</view>
<template v-if="isDefaultCurrency">
<radio
v-if="i == 2"
:value="v.value"
color="#258feb"
:checked="selectPayIndex == i ? true : false"
@click="radioChange(i)"
size="10"
/>
<radio v-if="i == 2" :value="v.value" color="#258feb"
:checked="selectPayIndex == i ? true : false" @click="radioChange(i)" size="10" />
</template>
<template v-else>
<radio
:value="v.value"
color="#258feb"
:checked="selectPayIndex == i ? true : false"
@click="radioChange(i)"
size="10"
/>
<radio :value="v.value" color="#258feb" :checked="selectPayIndex == i ? true : false"
@click="radioChange(i)" size="10" />
</template>
</view>
</view>
<template v-if="selectPayIndex == 2">
<view
class="goods_detail_list_title bg_box_shandow color_shandow bg_color"
>
<view
class="linlanzhifu"
style="
<view class="goods_detail_list_title bg_box_shandow color_shandow bg_color">
<view class="linlanzhifu" style="
width: 100%;
overflow: hidden;
justify-content: space-between;
"
>
">
<view class="linlanzhifu">
<u-icon
name="error-circle"
color="#258feb"
size="20"
style="display: inline-block; margin-right: 10rpx"
></u-icon>
<u-icon name="error-circle" color="#258feb" size="20"
style="display: inline-block; margin-right: 10rpx"></u-icon>
确保您的天医币足够支付
</view>
<text
class="fdButtonBox aui-text-danger fdButtonBoxRed"
style="float: right"
@click="onPageJump('/pages/mine/wallet/recharge/index?source=order')"
>立即充值</text
>
<text class="fdButtonBox aui-text-danger fdButtonBoxRed" style="float: right"
@click="onPageJump('/pages/mine/wallet/recharge/index?source=order')">立即充值</text>
</view>
<view class="other_info" style="margin-top: 12rpx">
@@ -101,9 +57,7 @@
<view class="explain"> 1. 1天医币 = 1元人民币 </view>
<view class="explain">
2.若有疑问或意见请致电客服
<span style="font-size: 15px"
><u @click="gotoPhone">022-24142321</u></span
>
<span style="font-size: 15px"><u @click="gotoPhone">022-24142321</u></span>
</view>
<view class="explain">
<!-- 3.非中国大陆用户可通过paypal账户支付
@@ -116,21 +70,14 @@
3.非中国大陆用户可以信用卡支付简单快捷推荐使用
支付时使用的信用卡需要带有Visa或MasterCard的标识请向邮箱
<text
@click="fnCopy('publisher@tmrjournals.com', '邮箱')"
class="aui-text-success"
style="text-decoration: underline; color: #258feb"
>
<text @click="fnCopy('publisher@tmrjournals.com', '邮箱')" class="aui-text-success"
style="text-decoration: underline; color: #258feb">
publisher@tmrjournals.com
</text>
点击复制发送支付请求内容需包含拟购买的课程名称支付金额APP注册姓名及手机号码或者加一路健康客服微信
<text
class="aui-text-success"
@click="fnCopy('yilujiankangkefu', '微信名')"
style="text-decoration: underline; color: #258feb"
>
yilujiankangkefu </text
>点击复制联系我们我们将在24小时内向您的邮箱或者微信发送支付链接根据提示即可完成信用卡支付无需兑换外币
<text class="aui-text-success" @click="fnCopy('yilujiankangkefu', '微信名')"
style="text-decoration: underline; color: #258feb">
yilujiankangkefu </text>点击复制联系我们我们将在24小时内向您的邮箱或者微信发送支付链接根据提示即可完成信用卡支付无需兑换外币
</view>
</view>
</view>
@@ -138,29 +85,19 @@
</view>
<template>
<common-sticky
label="title"
:itemStyle="`width:${
<common-sticky label="title" :itemStyle="`width:${
cateList.length == 2 ? '50' : '33'
}%;padding-left: 15px; padding-right: 15px; height: 68rpx;`"
:list="cateList"
:currentCateIndex="currentCateIndex"
@handleselectCate="handleselectCate"
>
}%;padding-left: 15px; padding-right: 15px; height: 68rpx;`" :list="cateList"
:currentCateIndex="currentCateIndex" @handleselectCate="handleselectCate">
</common-sticky>
</template>
</view>
<view class="goods_nav_box">
<common-goods-nav
:iconList="[]"
:customButton="customButton"
@submit="goBuyJie"
>
<common-goods-nav :iconList="[]" :customButton="customButton" @submit="goBuyJie">
<!-- leftSlot -->
<template slot="leftSlot" slot-scope="slotProps">
<view class="price_box order_bottom_box">
<text class="price"
>合计
<text class="price">合计
<text class="total">{{ dataInfo.lastFee }}</text>
</text>
@@ -180,10 +117,18 @@
<script>
import courseDescription from "@/pages/component/commonComponents/list";
import { setPay, setPayAssign, setWXPay } from "@/config/utils";
import {
setPay,
setPayAssign,
setWXPay
} from "@/config/utils";
import $http from "@/config/requestConfig.js";
const { platform } = uni.getSystemInfoSync();
import { mapState } from "vuex";
const {
platform
} = uni.getSystemInfoSync();
import {
mapState
} from "vuex";
export default {
props: ["dataInfo"],
components: {
@@ -232,8 +177,7 @@ export default {
},
selectPayIndex: 1,
farePrice: 0,
payList: [
{
payList: [{
text: "支付宝",
imgUrl: require("@/static/icon/pay_1.png"),
type: 2,
@@ -316,22 +260,18 @@ export default {
addressList: "common/userAddress/getUserAddress",
freightNum: "book/buyOrder/calculateTransportPrice", //运费
},
customButton: [
{
customButton: [{
width: "160rpx",
text: "立即支付",
backgroundColor: "linear-gradient(90deg, #3C77BE 0%,#258feb 100%)",
color: "#fff",
},
],
customButtonGroup1: [
{
}, ],
customButtonGroup1: [{
with: 200,
text: "确定",
backgroundColor: "linear-gradient(90deg, #3C77BE 0%,#258feb 100%)",
color: "#fff",
},
],
}, ],
};
},
async onLoad(options) {
@@ -413,8 +353,7 @@ export default {
},
async initPrepareOrder() {
this.priceBreakdownList = [
{
this.priceBreakdownList = [{
text: "商品总价",
imgUrl: "",
type: 1,
@@ -607,10 +546,9 @@ export default {
title: "正在支付",
icon: "loading",
});
await setPay(
{
await setPay({
typePay: "alipay",
subject: "order",
subject: "vip",
totalAmount: res.money,
type: 2,
relevanceoid: res.orderSn,
@@ -754,8 +692,7 @@ export default {
}
this.modalInfo = {
title: "提示信息",
content:
"用户您好,该课程已到期,通过支付" +
content: "用户您好,该课程已到期,通过支付" +
fee +
"元,本门课程可获得" +
days +
@@ -970,8 +907,7 @@ export default {
// curriculumInfo
this.detailInfo = {
content:
"<img src='http://oss.taihumed.com/other/null_20210528102528870.jpg' ></img> <img src='http://101.201.146.165:8088/curriculum/detailImg/curriculum_20170420143333621.png' ></img><p><p>没有中医基础想学中医难不难?中医学者治疗出现瓶颈怎么办?中西医究竟有什么不同呢?吴雄志教授将以全新的视角,完美整合中药学和西医学知识,让你领略当代中医生理学魅力。</p><p><br/><p></p><p><br/></p><p>【思考题】</p><p>1、简述中医的发展这些年出现了哪些变化</p><p>2、简述中西医学科的异同</p>",
content: "<img src='http://oss.taihumed.com/other/null_20210528102528870.jpg' ></img> <img src='http://101.201.146.165:8088/curriculum/detailImg/curriculum_20170420143333621.png' ></img><p><p>没有中医基础想学中医难不难?中医学者治疗出现瓶颈怎么办?中西医究竟有什么不同呢?吴雄志教授将以全新的视角,完美整合中药学和西医学知识,让你领略当代中医生理学魅力。</p><p><br/><p></p><p><br/></p><p>【思考题】</p><p>1、简述中医的发展这些年出现了哪些变化</p><p>2、简述中西医学科的异同</p>",
};
// this.$http
@@ -1116,7 +1052,9 @@ export default {
transformData(inputData) {
const result = {};
inputData.forEach((item) => {
const { letter } = item;
const {
letter
} = item;
if (!result[letter]) {
result[letter] = [];
}
@@ -1286,11 +1224,13 @@ export default {
<style lang="scss" scoped>
@import "@/style/mixin.scss";
.pay_title {
text-align: center;
font-size: 32rpx;
margin-bottom: 40rpx;
}
.order_box {
padding: 20rpx;
@@ -1558,8 +1498,7 @@ export default {
// color: #aaa;
color: #5a5a5a;
.explain {
}
.explain {}
}
.left {
@@ -1820,6 +1759,7 @@ export default {
.bgGrey {
// background-color: #f5f5f5;
}
.pay_info {
margin-bottom: 60rpx;
display: flex;

View File

@@ -94,7 +94,7 @@
</template>
<script>
const paperBack = require('@/data/paperBack.json')
// const paperBack = require('@/data/paperBack.json')
import $http from '@/config/requestConfig.js';
import {
mapState