初始化通话
This commit is contained in:
38
package-lock.json
generated
38
package-lock.json
generated
@@ -9,6 +9,10 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@rongcloud/engine": "^5.36.1",
|
||||||
|
"@rongcloud/imlib-next": "^5.36.1",
|
||||||
|
"@rongcloud/plugin-call-plus": "^2.36.0",
|
||||||
|
"@rongcloud/plugin-rtc": "^5.36.0",
|
||||||
"@tencentcloud/chat-uikit-engine-lite": "^1.0.4",
|
"@tencentcloud/chat-uikit-engine-lite": "^1.0.4",
|
||||||
"@tencentcloud/chat-uikit-uniapp": "^3.2.0",
|
"@tencentcloud/chat-uikit-uniapp": "^3.2.0",
|
||||||
"@tencentcloud/tui-core-lite": "1.0.0",
|
"@tencentcloud/tui-core-lite": "1.0.0",
|
||||||
@@ -743,6 +747,40 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@rongcloud/engine": {
|
||||||
|
"version": "5.36.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@rongcloud/engine/-/engine-5.36.1.tgz",
|
||||||
|
"integrity": "sha512-BLRE0Koym4h+DGBN0B+9rmVIGNDRELt5NwfaVC+X6tyOJBhzRDvJiIWXzrlYB4GoRQHBF8thADuy8+vx5pTCFg==",
|
||||||
|
"license": "LGPL 2.1"
|
||||||
|
},
|
||||||
|
"node_modules/@rongcloud/imlib-next": {
|
||||||
|
"version": "5.36.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@rongcloud/imlib-next/-/imlib-next-5.36.1.tgz",
|
||||||
|
"integrity": "sha512-PDTF/YDdUmmLC6c46b1DHT9xrd2dmx6C59KDYmzjclucgFsrEyQ3V40jLOJlZg5ggn7kRtHQOPoRMsfAXWxFuw==",
|
||||||
|
"license": "LGPL 2.1",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@rongcloud/engine": "=5.36.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@rongcloud/plugin-call-plus": {
|
||||||
|
"version": "2.36.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@rongcloud/plugin-call-plus/-/plugin-call-plus-2.36.0.tgz",
|
||||||
|
"integrity": "sha512-qTwRgNL3wUO51AgT4C/+5Pgpo0TzzIEAK4xW0qhGQfQQTuep7tyF5yL8UpTw6LsSnfBfetQdsYoaQZsgdlpn+g==",
|
||||||
|
"license": "LGPL 2.1",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@rongcloud/engine": "~5.36.1",
|
||||||
|
"@rongcloud/plugin-rtc": "~5.36.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@rongcloud/plugin-rtc": {
|
||||||
|
"version": "5.36.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@rongcloud/plugin-rtc/-/plugin-rtc-5.36.0.tgz",
|
||||||
|
"integrity": "sha512-8tKKBdhNs4OXhu6ux7N+nqJqjXOhJriv4LZkmXDfth7RvF4UBhogx5bIEa1VpAj+3Cp0PamCEF6wvHbdPfgYIA==",
|
||||||
|
"license": "LGPL 2.1",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@rongcloud/engine": "~5.36.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@swc/helpers": {
|
"node_modules/@swc/helpers": {
|
||||||
"version": "0.5.18",
|
"version": "0.5.18",
|
||||||
"resolved": "https://repo.huaweicloud.com/repository/npm/@swc/helpers/-/helpers-0.5.18.tgz",
|
"resolved": "https://repo.huaweicloud.com/repository/npm/@swc/helpers/-/helpers-0.5.18.tgz",
|
||||||
|
|||||||
@@ -10,13 +10,17 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@rongcloud/engine": "^5.36.1",
|
||||||
|
"@rongcloud/imlib-next": "^5.36.1",
|
||||||
|
"@rongcloud/plugin-call-plus": "^2.36.0",
|
||||||
|
"@rongcloud/plugin-rtc": "^5.36.0",
|
||||||
"@tencentcloud/chat-uikit-engine-lite": "^1.0.4",
|
"@tencentcloud/chat-uikit-engine-lite": "^1.0.4",
|
||||||
"@tencentcloud/chat-uikit-uniapp": "^3.2.0",
|
"@tencentcloud/chat-uikit-uniapp": "^3.2.0",
|
||||||
"@tencentcloud/tui-core-lite": "1.0.0",
|
"@tencentcloud/tui-core-lite": "1.0.0",
|
||||||
"@tencentcloud/tuiroom-engine-js": "^3.6.2",
|
"@tencentcloud/tuiroom-engine-js": "^3.6.2",
|
||||||
|
"@tencentcloud/uikit-base-component-vue3": "^1.3.5",
|
||||||
"@tencentcloud/universal-api": "^2.4.0",
|
"@tencentcloud/universal-api": "^2.4.0",
|
||||||
"dayjs": "^1.11.10",
|
"dayjs": "^1.11.10",
|
||||||
"@tencentcloud/uikit-base-component-vue3": "^1.3.5",
|
|
||||||
"tuikit-atomicx-vue3": "^5.2.0"
|
"tuikit-atomicx-vue3": "^5.2.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -71,9 +71,10 @@
|
|||||||
|
|
||||||
// 预览图片
|
// 预览图片
|
||||||
const previewImage = index => {
|
const previewImage = index => {
|
||||||
|
// detailData.imageGallery
|
||||||
uni.previewImage({
|
uni.previewImage({
|
||||||
current: goods.value.images[index],
|
current: detailData.value.imageGallery[index],
|
||||||
urls: goods.value.images,
|
urls: detailData.value.imageGallery,
|
||||||
indicator: 'number',
|
indicator: 'number',
|
||||||
loop: true
|
loop: true
|
||||||
})
|
})
|
||||||
@@ -99,7 +100,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<view class="goods-detail-page">
|
<view v-if="!loading" class="goods-detail-page">
|
||||||
<!-- 商品图片轮播 -->
|
<!-- 商品图片轮播 -->
|
||||||
<swiper
|
<swiper
|
||||||
class="goods-swiper"
|
class="goods-swiper"
|
||||||
@@ -107,19 +108,20 @@
|
|||||||
:autoplay="false"
|
:autoplay="false"
|
||||||
:interval="3000"
|
:interval="3000"
|
||||||
:duration="500"
|
:duration="500"
|
||||||
circular
|
circular>
|
||||||
>
|
<swiper-item
|
||||||
<swiper-item v-for="(img, index) in goods.images" :key="index">
|
v-for="(img, index) in detailData.imageGallery"
|
||||||
|
:key="index">
|
||||||
<image
|
<image
|
||||||
:src="img"
|
:src="img"
|
||||||
class="swiper-image"
|
class="swiper-image"
|
||||||
mode="aspectFit"
|
mode="aspectFit"
|
||||||
@tap="previewImage(index)"
|
@tap="previewImage(index)" />
|
||||||
/>
|
|
||||||
<!-- 图片指示器 -->
|
<!-- 图片指示器 -->
|
||||||
<view class="image-indicator">
|
<view class="image-indicator">
|
||||||
<text class="indicator-text">
|
<text class="indicator-text">
|
||||||
{{ index + 1 }}/{{ goods.images.length }}
|
{{ index + 1
|
||||||
|
}}/{{ detailData.imageGallery.length }}
|
||||||
</text>
|
</text>
|
||||||
</view>
|
</view>
|
||||||
</swiper-item>
|
</swiper-item>
|
||||||
@@ -130,48 +132,77 @@
|
|||||||
<!-- 价格和名称 -->
|
<!-- 价格和名称 -->
|
||||||
<view class="price-section">
|
<view class="price-section">
|
||||||
<view class="current-price">
|
<view class="current-price">
|
||||||
<text class="price-symbol">¥</text>
|
<text class="price-symbol"
|
||||||
<text class="price-number">{{ goods.price.toFixed(2) }}</text>
|
>¥</text
|
||||||
<text v-if="goods.originalPrice" class="original-price">
|
>
|
||||||
¥{{ goods.originalPrice.toFixed(2) }}
|
<text
|
||||||
|
class="price-number"
|
||||||
|
>{{ detailData.payAmount }}</text
|
||||||
|
>
|
||||||
|
<text class="original-price">
|
||||||
|
¥{{ detailData.totalAmount }}
|
||||||
</text>
|
</text>
|
||||||
<view v-if="goods.discount" class="discount-tag">
|
<!-- <view v-if="goods.discount" class="discount-tag">
|
||||||
<text class="discount-text">{{ goods.discount }}折</text>
|
<text class="discount-text">{{ goods.discount }}折</text>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<text class="goods-title">{{ goods.title }}</text>
|
<!-- <text class="goods-title">{{ goods.title }}</text> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 商品描述 -->
|
<!-- 商品描述 -->
|
||||||
<text class="goods-description">{{ goods.description }}</text>
|
<text
|
||||||
|
class="goods-description"
|
||||||
|
>{{ detailData.productName }}</text
|
||||||
|
>
|
||||||
|
|
||||||
<!-- 商品标签 -->
|
<!-- 商品标签 -->
|
||||||
<view class="tags-section">
|
<!-- <view class="tags-section">
|
||||||
<view class="tag-item" v-for="tag in goods.tags" :key="tag">
|
<view class="tag-item" v-for="tag in goods.tags" :key="tag">
|
||||||
<text class="tag-text">{{ tag }}</text>
|
<text class="tag-text">{{ tag }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 商品规格信息卡片 -->
|
<!-- 商品规格信息卡片 -->
|
||||||
<view class="spec-card">
|
<view class="spec-card">
|
||||||
<view class="card-header">
|
<view class="card-header">
|
||||||
<text class="card-title">商品规格</text>
|
<text class="card-title"
|
||||||
|
>商品参数</text
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
<view class="spec-list">
|
<view class="spec-list">
|
||||||
<view
|
<view class="spec-item">
|
||||||
class="spec-item"
|
<text class="spec-key"
|
||||||
v-for="spec in goods.specifications"
|
>订单号:</text
|
||||||
:key="spec.key"
|
>
|
||||||
>
|
<text
|
||||||
<text class="spec-key">{{ spec.key }}:</text>
|
class="spec-value"
|
||||||
<text class="spec-value">{{ spec.value }}</text>
|
>{{ detailData.orderNo }}</text
|
||||||
|
>
|
||||||
|
</view>
|
||||||
|
<view class="spec-item">
|
||||||
|
<text class="spec-key"
|
||||||
|
>提交时间:</text
|
||||||
|
>
|
||||||
|
<text
|
||||||
|
class="spec-value"
|
||||||
|
>{{ detailData.updateTime }}</text
|
||||||
|
>
|
||||||
|
</view>
|
||||||
|
<view class="spec-item">
|
||||||
|
<text class="spec-key"
|
||||||
|
>规格:</text
|
||||||
|
>
|
||||||
|
<text
|
||||||
|
class="spec-value"
|
||||||
|
>{{ detailData.specText }}</text
|
||||||
|
>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 库存和销量信息卡片 -->
|
<!-- 库存和销量信息卡片 -->
|
||||||
<view class="info-card">
|
<!-- <view class="info-card">
|
||||||
<view class="info-grid">
|
<view class="info-grid">
|
||||||
<view class="info-item">
|
<view class="info-item">
|
||||||
<text class="info-label">库存</text>
|
<text class="info-label">库存</text>
|
||||||
@@ -188,18 +219,16 @@
|
|||||||
<text class="info-value">{{ goods.totalSales }}件</text>
|
<text class="info-value">{{ goods.totalSales }}件</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
<!-- 商品详情描述 -->
|
<!-- 商品详情描述 -->
|
||||||
<view class="detail-card">
|
<!-- <view class="detail-card">
|
||||||
<view class="card-header">
|
<view class="card-header">
|
||||||
<text class="card-title">商品详情</text>
|
<text class="card-title">商品详情</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="detail-content">
|
<view class="detail-content">
|
||||||
<!-- 富文本内容 -->
|
|
||||||
<rich-text :nodes="goods.detailContent"></rich-text>
|
<rich-text :nodes="goods.detailContent"></rich-text>
|
||||||
|
|
||||||
<!-- 如果没有富文本,显示默认描述 -->
|
|
||||||
<view v-if="!goods.detailContent" class="default-detail">
|
<view v-if="!goods.detailContent" class="default-detail">
|
||||||
<view class="detail-section">
|
<view class="detail-section">
|
||||||
<text class="detail-title">产品特色</text>
|
<text class="detail-title">产品特色</text>
|
||||||
@@ -219,10 +248,10 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
<!-- 配送和售后信息 -->
|
<!-- 配送和售后信息 -->
|
||||||
<view class="service-card">
|
<!-- <view class="service-card">
|
||||||
<view class="card-header">
|
<view class="card-header">
|
||||||
<text class="card-title">服务保障</text>
|
<text class="card-title">服务保障</text>
|
||||||
</view>
|
</view>
|
||||||
@@ -251,10 +280,10 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
<!-- 商品参数表格 -->
|
<!-- 商品参数表格 -->
|
||||||
<view class="params-card">
|
<!-- <view class="params-card">
|
||||||
<view class="card-header">
|
<view class="card-header">
|
||||||
<text class="card-title">商品参数</text>
|
<text class="card-title">商品参数</text>
|
||||||
</view>
|
</view>
|
||||||
@@ -268,12 +297,14 @@
|
|||||||
<text class="param-value">{{ param.value }}</text>
|
<text class="param-value">{{ param.value }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
|
||||||
<!-- 底部装饰 -->
|
<!-- 底部装饰 -->
|
||||||
<view class="bottom-decor">
|
<view class="bottom-decor">
|
||||||
<view class="decor-line"></view>
|
<view class="decor-line"></view>
|
||||||
<text class="end-text">商品详情展示完毕</text>
|
<text class="end-text"
|
||||||
|
>商品详情展示完毕</text
|
||||||
|
>
|
||||||
<view class="decor-line"></view>
|
<view class="decor-line"></view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
Reference in New Issue
Block a user