修复:复读报错

This commit is contained in:
2026-01-05 13:53:03 +08:00
parent 4901ec8737
commit d18c32753f
6 changed files with 41 additions and 16 deletions

View File

@@ -7,8 +7,8 @@ export const ENV = process.env.NODE_ENV || 'development';
*/ */
const BASE_URL_MAP = { const BASE_URL_MAP = {
development: { development: {
MAIN: 'http://192.168.110.100:9300/pb/', // 张川川 //MAIN: 'http://192.168.110.100:9300/pb/', // 张川川
// MAIN: 'https://global.nuttyreading.com/', // 线上 MAIN: 'https://global.nuttyreading.com/', // 线上
// PAYMENT: 'https://dev-pay.example.com', // 暂时用不到 // PAYMENT: 'https://dev-pay.example.com', // 暂时用不到
// CDN: 'https://cdn-dev.example.com', // 暂时用不到 // CDN: 'https://cdn-dev.example.com', // 暂时用不到
}, },

View File

@@ -433,7 +433,7 @@ export async function getCourseExpireList(page : number, limit : number, userId
* @return * @return
*/ */
export async function addUserCourseStudyingList(userId : string, courseId : string) { export async function addUserCourseStudyingList(userId : string, courseId : string) {
const res = await mainClient.request<IApiResponse>({ const res = await skeletonClient.request<IApiResponse>({
url: 'medical/course/addUserCourseStudying', url: 'medical/course/addUserCourseStudying',
method: 'POST', method: 'POST',
data: { userId, courseId } data: { userId, courseId }
@@ -447,7 +447,7 @@ export async function addUserCourseStudyingList(userId : string, courseId : stri
* @return * @return
*/ */
export async function delUserCourseStudyingList(courseId : string) { export async function delUserCourseStudyingList(courseId : string) {
const res = await mainClient.request<IApiResponse>({ const res = await skeletonClient.request<IApiResponse>({
url: 'medical/course/delUserCourseStudying', url: 'medical/course/delUserCourseStudying',
method: 'POST', method: 'POST',
data: { courseId } data: { courseId }
@@ -465,4 +465,18 @@ export async function getCourseMedicalTreeList() {
method: 'POST' method: 'POST'
}) })
return res return res
}
/**
* 续费课程
* @param catalogueId 商品id
* @return
*/
export async function getRelearnShopProductList(catalogueId : string) {
const res = await skeletonClient.request<IApiResponse>({
url: 'common/courseRelearn/relearnShopProductList',
method: 'POST',
data: { catalogueId }
})
return res
} }

View File

@@ -7,7 +7,7 @@
</view> </view>
<!-- 订单备注区域 --> <!-- 订单备注区域 -->
<view class="remark-section common-section" @click="showRemarkPopup = true"> <view class="remark-section common-section" @click="showRemarkPopup = true" v-if="props.orderType !== 'relearn'">
<view class="remark-row"> <view class="remark-row">
<text class="remark-label">{{ $t('order.remark') }}</text> <text class="remark-label">{{ $t('order.remark') }}</text>
<view class="remark-value"> <view class="remark-value">
@@ -409,7 +409,7 @@ const handleSubmit = async () => {
* 创建订单 * 创建订单
*/ */
const createOrder = async (): Promise<string | null> => { const createOrder = async (): Promise<string | null> => {
const orderParams = { const orderParams = {
userId: props.userInfo.id, userId: props.userInfo.id,
paymentMethod: 4, // 天医币 paymentMethod: 4, // 天医币
orderMoney: totalAmount.value, orderMoney: totalAmount.value,
@@ -419,7 +419,8 @@ const createOrder = async (): Promise<string | null> => {
// couponName: selectedCoupon.value?.couponEntity.couponName, // couponName: selectedCoupon.value?.couponEntity.couponName,
vipDiscountAmount: vipDiscounted.value, vipDiscountAmount: vipDiscounted.value,
districtMoney: promotionDiscounted.value, districtMoney: promotionDiscounted.value,
remark: remark.value, // 复读的时候备注传入格式id,名称
remark: props.orderType === 'relearn' ? `${props.goodsList[0].productId},${props.goodsList[0].productName}` : remark.value,
orderType: props.orderType, orderType: props.orderType,
productList: props.orderType === 'order' ? goodsListParams.value : null, productList: props.orderType === 'order' ? goodsListParams.value : null,
vipBuyConfigId: props.orderType === 'vip' ? props.goodsList[0].productId : null, vipBuyConfigId: props.orderType === 'vip' ? props.goodsList[0].productId : null,

View File

@@ -2,8 +2,8 @@
"name" : "吴门国际", "name" : "吴门国际",
"appid" : "__UNI__1250B39", "appid" : "__UNI__1250B39",
"description" : "吴门国际", "description" : "吴门国际",
"versionName" : "1.1.11", "versionName" : "1.1.12",
"versionCode" : 1111, "versionCode" : 1112,
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {

View File

@@ -99,7 +99,7 @@ onLoad(async (options: any) => {
uni.$on('selectedGoods', async (data: IOrderGoods) => { uni.$on('selectedGoods', async (data: IOrderGoods) => {
// 获取用户信息 // 获取用户信息
await getUserInfo() await getUserInfo()
isRelearn.value = true
// 处理商品数据 // 处理商品数据
console.log('监听到传入的商品数据:', data) console.log('监听到传入的商品数据:', data)
goodsList.value = [ data ] goodsList.value = [ data ]

View File

@@ -11,7 +11,7 @@
<wd-tab :title="`${item.name}`" :name="item.id"> <wd-tab :title="`${item.name}`" :name="item.id">
<view v-if="item.id === 0"> <view v-if="item.id === 0">
<wd-search v-model="title" placeholder-right placeholder="请输入课程名称" cancel-txt="搜索" @search="search" <wd-search v-model="title" placeholder-right placeholder="请输入课程名称" cancel-txt="搜索" @search="search"
@cancel="search" @clear="search" light style="margin-top: 10rpx;"/> @cancel="search" @clear="search" light style="margin-top: 10rpx;" />
<view class="courses-row"> <view class="courses-row">
<view class="courses-category">{{ !tagData ? '已显示全部课程' : `已选择分类:${tagName}`}} <view class="courses-category">{{ !tagData ? '已显示全部课程' : `已选择分类:${tagName}`}}
<wd-button size="small" type="warning" style="margin-left: 20rpx;" v-if="tagData" <wd-button size="small" type="warning" style="margin-left: 20rpx;" v-if="tagData"
@@ -89,13 +89,15 @@
import { courseApi } from '@/api/modules/course' import { courseApi } from '@/api/modules/course'
import { useUserStore } from '@/stores/user' import { useUserStore } from '@/stores/user'
import GoodsSelector from '@/components/order/GoodsSelector.vue' import GoodsSelector from '@/components/order/GoodsSelector.vue'
import { onShow } from '@dcloudio/uni-app'
import { import {
getUserCourseBuyList, getUserCourseBuyList,
getUserCourseStudyingList, getUserCourseStudyingList,
getCourseExpireList, getCourseExpireList,
addUserCourseStudyingList, addUserCourseStudyingList,
delUserCourseStudyingList, delUserCourseStudyingList,
getCourseMedicalTreeList getCourseMedicalTreeList,
getRelearnShopProductList
} from '@/api/modules/user' } from '@/api/modules/user'
const { t } = useI18n() const { t } = useI18n()
@@ -195,7 +197,7 @@
* 续费课程 * 续费课程
*/ */
const renewal = async (id : any) => { const renewal = async (id : any) => {
const res = await courseApi.getProductListForCourse(id) const res = await getRelearnShopProductList(id)
if (res.code === 0 && res.productList.length > 0) { if (res.code === 0 && res.productList.length > 0) {
goodsList.value = res.productList goodsList.value = res.productList
showGoodsSelector.value = true showGoodsSelector.value = true
@@ -215,7 +217,12 @@
const handleGoodsConfirm = () => { const handleGoodsConfirm = () => {
showGoodsSelector.value = false showGoodsSelector.value = false
uni.navigateTo({ uni.navigateTo({
url: `/pages/order/goodsConfirm?goods=${selectedGoods.value.productId}` url: `/pages/order/goodsConfirm?isRelearn=1`,
success: () => {
setTimeout(() => {
uni.$emit('selectedGoods', selectedGoods.value)
}, 100)
}
}) })
} }
@@ -239,7 +246,6 @@
try { try {
const data = await getCourseMedicalTreeList() const data = await getCourseMedicalTreeList()
labelTree.value = data.labels labelTree.value = data.labels
console.log(data, '分类标签数');
} catch (error) { } catch (error) {
console.error('分类标签数', error) console.error('分类标签数', error)
} }
@@ -284,7 +290,10 @@
url: `${url}?id=${id}` url: `${url}?id=${id}`
}) })
} }
onShow(() => {
bookList.value = []
getDataList()
})
onMounted(() => { onMounted(() => {
getTreeList() getTreeList()
}) })
@@ -305,6 +314,7 @@
display: flex; display: flex;
align-items: center; align-items: center;
font-size: 26rpx; font-size: 26rpx;
text { text {
color: #2979ff; color: #2979ff;
margin-left: 4rpx; margin-left: 4rpx;