feat:性能优化

This commit is contained in:
2026-07-25 09:12:36 +08:00
parent 3eba959b48
commit 9ab39d2aec
138 changed files with 232 additions and 1511 deletions
+4 -1
View File
@@ -6,8 +6,11 @@ export default {
onLaunch: function () {
console.log("App Launch");
const res = uni.getSystemInfoSync();
uni.getSystemInfo({
success: (res) => {
uni.setStorageSync("platform", res.platform);
}
});
// #ifdef APP-PLUS
plus.navigator.closeSplashscreen(); // 立即关闭原生闪屏
+27
View File
@@ -0,0 +1,27 @@
import { KEFU_BASE_URL, Authorization } from '@/utils/config.js'
import { getStorageFun, TOKEN_NAME } from '@/utils/auth.js'
export function getUnreadCount(userId) {
const token = getStorageFun(TOKEN_NAME)
return new Promise((resolve, reject) => {
uni.request({
url: `${KEFU_BASE_URL}/kefu/user/unread-count`,
method: 'GET',
data: { userId },
header: {
Authorization,
'HSM-AUTH': token || '',
'content-type': 'application/json'
},
success: response => {
const body = response.data || {}
if (response.statusCode >= 200 && response.statusCode < 300 && body.bizcode === 100) {
resolve(Number(body.data || 0))
return
}
resolve(0)
},
fail: () => resolve(0)
})
})
}
-176
View File
@@ -1,176 +0,0 @@
<template>
<view class="turntable-container" :style="{ backgroundColor: bgColor }">
<view class="turntable" :style="turntableStyle" @click="startRotate">
<!-- 奖项区域 -->
<view
v-for="(item, index) in prizes"
:key="index"
class="prize-sector"
:style="getPrizeStyle(index)"
>
<view class="prize-text">{{ item.name }}</view>
</view>
<!-- 装饰点 -->
<view
v-for="(item, index) in prizes"
:key="'dot'+index"
class="decorative-dot"
:style="getDotStyle(index)"
/>
<!-- 中心指针 -->
<view class="center-pointer" />
</view>
<button @click="startRotate">开始抽奖</button>
</view>
</template>
<script>
export default {
props: {
prizes: {
type: Array,
default: () => [
{ name: "一等奖", color: "#FF4444" },
{ name: "二等奖", color: "#66CC33" },
{ name: "三等奖", color: "#44AAFF" },
{ name: "谢谢参与", color: "#CCCCCC" }
]
},
bgColor: {
type: String,
default: "#F0F0F0"
},
turntableColor: {
type: String,
default: "#FFFFFF"
}
},
data() {
return {
isRotating: false,
currentRotation: 0
}
},
computed: {
turntableStyle() {
return {
transform: `rotate(${this.currentRotation}deg)`,
backgroundColor: this.turntableColor
}
}
},
methods: {
getPrizeStyle(index) {
const total = this.prizes.length
const angle = 360 / total
return {
clipPath: `polygon(50% 0%, 100% 0, 100% ${100 * (index + 1) / total}%, 50% 100%, 0 ${100 * index / total}%, 0 0)`,
backgroundColor: this.prizes[index].color
}
},
getDotStyle(index) {
const total = this.prizes.length
const angle = (360 / total) * index
return {
transform: `rotate(${angle}deg) translateX(70%)`,
backgroundColor: this.prizes[index].color
}
},
async startRotate() {
if (this.isRotating) return
this.isRotating = true
const targetIndex = Math.floor(Math.random() * this.prizes.length)
const targetRotation = this.currentRotation + 360 * 5 + (360 / this.prizes.length) * targetIndex
await this.$nextTick()
this.currentRotation = targetRotation
setTimeout(() => {
this.isRotating = false
this.$emit('result', this.prizes[targetIndex])
}, 3000)
}
}
}
</script>
<style scoped lang="scss">
.turntable-container {
display: flex;
flex-direction: column;
align-items: center;
padding: 20px;
border-radius: 20px;
}
.turntable {
position: relative;
width: 300px;
height: 300px;
border-radius: 50%;
transition: transform 3s ease-out;
overflow: hidden;
cursor: pointer;
}
.prize-sector {
position: absolute;
width: 50%;
height: 50%;
left: 50%;
top: 0;
transform-origin: left bottom;
display: flex;
align-items: center;
justify-content: center;
}
.prize-text {
transform: rotate(45deg);
color: white;
font-weight: bold;
text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
.decorative-dot {
position: absolute;
width: 8px;
height: 8px;
border-radius: 50%;
top: 10%;
left: 50%;
}
.center-pointer {
position: absolute;
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 40px solid #333;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 2;
}
button {
margin-top: 20px;
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
background-color: #44AAFF;
color: white;
border: none;
border-radius: 5px;
transition: background-color 0.3s;
}
button:hover {
background-color: #3399FF;
}
</style>
+1 -1
View File
@@ -15,7 +15,7 @@
</view>
</view>
<view v-else class="not_order_warp">
<view class="not_order_warp_img"><up-image src="/static/common/not_search.png" width="100" height="100"
<view class="not_order_warp_img"><up-image src="/pages/other_package/static/not_search.png" width="100" height="100"
bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_msg_warp">暂时地址,快去地址管理添加吧~</view>
</view>
+1 -1
View File
@@ -8,7 +8,7 @@
<view class="choiceness_product" :class="platformType ? '' : 'iosplatformType'">
<view v-for="item in productList" :key="item.id" class="choiceness_product_item" @click="jumpInfo(item)">
<view>
<up-image :src="item.url" width="100%" height="140" bgColor="#f1f6ff00"></up-image>
<up-image :lazy-load="true" :src="item.url" width="100%" height="140" bgColor="#f1f6ff00"></up-image>
<view class="product_item_name">{{ item.title }}</view>
</view>
<view class="product_item_price">
+1 -1
View File
@@ -2,7 +2,7 @@
<view class="seckill_card_container" @click="onSelectProct(item)">
<!-- Left side image with optional countdown overlay -->
<view class="seckill_card_left">
<up-image :src="item.url || item.image || item.accessUrl" width="220rpx" height="220rpx" bgColor="#f1f6ff00"
<up-image :lazy-load="true" :src="item.url || item.image || item.accessUrl" width="220rpx" height="220rpx" bgColor="#f1f6ff00"
shape="square" radius="16rpx"></up-image>
<view class="countdown_bar" v-if="showCountdown && countdownText">
<text class="countdown_text">{{ countdownText }}</text>
@@ -1,5 +1,5 @@
<template>
<view class="ping-item" @click.stop="onClick">
<view class="parity-product-item" @click.stop="onClick">
<image class="top-img" :src="obj.url" mode="widthFix" lazy-load />
<view class="shop-bottom-panel">
<text class="title text-30 text-zu text-overflow">
@@ -24,7 +24,7 @@
<script>
export default {
name: 'PingItem',
name: 'ParityProductItem',
props: {
obj: {
type: Object,
@@ -47,7 +47,7 @@ export default {
</script>
<style lang="scss" scoped>
.ping-item {
.parity-product-item {
width: 332rpx;
background: #fff;
border-radius: 12rpx;
@@ -1,7 +1,7 @@
<template>
<view class="shop-view" @click="onClick">
<view class="shop-left-view">
<image :src="obj.url"></image>
<image :src="obj.url" lazy-load></image>
</view>
<view class="shop-right-view">
<view class="right-top-view text-overflow1">
@@ -1,7 +1,7 @@
<template>
<view class="shop-view" @click="onClick">
<view class="shop-left-view">
<image :src="obj.url"></image>
<image :src="obj.url" lazy-load></image>
</view>
<view class="shop-right-view">
<view class="shop-top-img">
+2
View File
@@ -9,6 +9,8 @@
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<link rel="dns-prefetch" href="https://static.tbmall.xin" />
<link rel="preconnect" href="https://static.tbmall.xin" crossorigin />
<title></title>
<!--preload-links-->
<!--app-context-->
+2 -1
View File
@@ -3,7 +3,7 @@
"appid" : "__UNI__4910728",
"description" : "信任桥优品是一款集线上商城、线下联盟商家的DAO聚合商城;通过“有趣”“有利”“有希望”的卖货玩法,吸引消费者、推广者、商家、投资人参与生态,共同打造共创共享的全球产业生态。",
"versionName" : "1.0.3",
"versionCode" : 169,
"versionCode" : 170,
"transformPx" : false,
/* 5+App特有相关 */
"app-plus" : {
@@ -164,6 +164,7 @@
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : "wx376a16a88befe265",
"lazyCodeLoading" : "requiredComponents",
"setting" : {
"urlCheck" : false,
"minified" : true,
-1
View File
@@ -76,7 +76,6 @@
"crypto-js": "^4.2.0",
"dayjs": "^1.11.13",
"decimal.js": "^10.6.0",
"echarts": "^5.1.2",
"qs-canvas": "^1.0.11",
"tabber-component": "^1.1.1",
"vue-clipboard2": "^0.3.3",
+28 -10
View File
@@ -291,14 +291,14 @@
}
},
{
"path": "zhaopian/zhaopian",
"path": "store-photo/store-photo",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
}
},
{
"path": "zhao/zhao",
"path": "business-license/business-license",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
@@ -361,7 +361,7 @@
}
},
{
"path": "shop/you-shop",
"path": "shop/preferred-shop",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
@@ -375,7 +375,7 @@
}
},
{
"path": "shop/fen-shop",
"path": "shop/points-shop",
"style": {
"navigationStyle": "custom",
"navigationBarTextStyle": "black"
@@ -431,31 +431,31 @@
}
},
{
"path": "dongjian/index",
"path": "insights/index",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "dongjian/jia",
"path": "insights/acceleration",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "dongjian/finance",
"path": "insights/finance",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "dongjian/check",
"path": "insights/check",
"style": {
"navigationStyle": "custom"
}
},
{
"path": "dongjian/search",
"path": "insights/search",
"style": {
"navigationStyle": "custom"
}
@@ -624,7 +624,7 @@
}
},
{
"path": "zfb_payment/zfb_payment",
"path": "alipay_payment/alipay_payment",
"style": {
"navigationBarTitleText": "支付",
"navigationBarBackgroundColor": "#FFFFFF",
@@ -704,6 +704,24 @@
}
}
},
"preloadRule": {
"pages/home/home": {
"network": "all",
"packages": ["pages/mine_package", "pages/order_package", "pages/other_package"]
},
"pages/sort/sort": {
"network": "all",
"packages": ["pages/other_package", "pages/order_package"]
},
"pages/supply_chain/supply_chain": {
"network": "all",
"packages": ["pages/other_package", "pages/order_package"]
},
"pages/mine/mine": {
"network": "all",
"packages": ["pages/mine_package", "pages/rwa_package"]
}
},
"condition": {
//模式配置,仅开发期间生效
"current": 0, //当前激活的模式(list 的索引项)
+3 -3
View File
@@ -47,7 +47,7 @@ import { getCascadeCategory, getCarouselImage } from '@/api/common.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue';
import MyBtn from '@/components/common/my-btn.vue';
import PingItem from '@/components/shop/ping-item.vue';
import ParityProductItem from '@/components/shop/parity-product-item.vue';
import { getSeckillGoodsList, getSeckillCurrent, getSeckillPreview } from '@/api/product.js';
import CustomTabBar from '@/components/custom-tab-bar.vue';
import MescrollMixin from '@/components/mescroll-uni/mescroll-mixins.js';
@@ -57,7 +57,7 @@ import { APP_PAGE_TYPE } from '@/utils/enumUtils.js';
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, CustomTabBar, MescrollUni, productSeckillCard },
components: { Header, TopSafe, MyBtn, ParityProductItem, CustomTabBar, MescrollUni, productSeckillCard },
data() {
return {
swiperList: [],
@@ -418,7 +418,7 @@ export default {
.fall-col {
width: 332rpx;
/* 与 PingItem 宽度一致 */
/* 与 ParityProductItem 宽度一致 */
height: 100%;
}
}
@@ -49,7 +49,7 @@ import { getCascadeCategory, getCarouselImage } from "@/api/common.js";
import Header from "@/components/common/header.vue";
import TopSafe from "@/components/common/top-safe.nvue";
import MyBtn from "@/components/common/my-btn.vue";
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
import { searchList, } from "@/api/product.js";
import CustomTabBar from "@/components/custom-tab-bar.vue";
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
@@ -59,7 +59,7 @@ import { APP_PAGE_TYPE } from "@/utils/enumUtils.js";
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, CustomTabBar, MescrollUni, productSeckillCard },
components: { Header, TopSafe, MyBtn, ParityProductItem, CustomTabBar, MescrollUni, productSeckillCard },
data() {
return {
swiperList: [],
@@ -344,7 +344,7 @@ export default {
.fall-col {
width: 332rpx;
/* 与 PingItem 宽度一致 */
/* 与 ParityProductItem 宽度一致 */
height: 100%;
}
}

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

+3 -3
View File
@@ -36,7 +36,7 @@ import { getCascadeCategory, getCarouselImage } from "@/api/common.js";
import Header from "@/components/common/header.vue";
import TopSafe from "@/components/common/top-safe.nvue";
import MyBtn from "@/components/common/my-btn.vue";
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
import { searchList } from "@/api/product.js";
import CustomTabBar from "@/components/custom-tab-bar.vue";
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
@@ -46,7 +46,7 @@ import { APP_PAGE_TYPE } from "@/utils/enumUtils.js";
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, CustomTabBar, MescrollUni, productSeckillCard },
components: { Header, TopSafe, MyBtn, ParityProductItem, CustomTabBar, MescrollUni, productSeckillCard },
data() {
return {
swiperList: [],
@@ -314,7 +314,7 @@ export default {
.fall-col {
width: 332rpx;
/* 与 PingItem 宽度一致 */
/* 与 ParityProductItem 宽度一致 */
height: 100%;
}
}
+4 -4
View File
@@ -62,7 +62,7 @@
<!-- <up-loading-icon :show="productLoading"></up-loading-icon> -->
<view class="yp_item" v-for="item in faddishProduct" :key="item.id" @click.stop="jumpInfo(item)">
<view class="yp_item_image_wrapper">
<image :src="item.url" mode="aspectFill" class="yp_item_image" shape="square" radius="15"></image>
<image :src="item.url" mode="aspectFill" lazy-load class="yp_item_image" shape="square" radius="15"></image>
<!-- <up-image :src="item.url" width="100%" height="88" bgColor="#f1f6ff00" shape="square"
radius="15"></up-image> -->
</view>
@@ -409,7 +409,7 @@ export default {
},
jumpSearch() {
uni.navigateTo({
url: "/pages/rwa_package/dongjian/search",
url: "/pages/rwa_package/insights/search",
});
},
// 商品列表
@@ -524,7 +524,7 @@ export default {
},
onJumpYou() {
uni.navigateTo({
url: "/pages/rwa_package/shop/you-shop",
url: "/pages/rwa_package/shop/preferred-shop",
});
},
checkUpdate() {
@@ -662,7 +662,7 @@ export default {
jumpIntegral() {
uni.navigateTo({
url: "/pages/rwa_package/shop/fen-shop",
url: "/pages/rwa_package/shop/points-shop",
});
},
jumpPage(path) {
+6 -6
View File
@@ -19,9 +19,9 @@
<up-input placeholder="请输入密码" border="surround" v-model="form.password" :customStyle="inputCss"
:type="isShow ? 'text' : 'password'" @change="checkParam">
<template #suffix style="margin-right: 10rpx">
<up-image v-if="isShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-if="isShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
@click="isShow = false"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="isShow = true"></up-image>
</template>
</up-input>
@@ -56,12 +56,12 @@
<view class="other_login">其他登录方式</view>
<view class="login_other_icon">
<view class="login_other_item" @click="wechatOneLogin">
<up-image src="/static/login/WXICON.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/WXICON.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
微信登录
</view>
<!-- <view class="login_other_item" @click="aa"> -->
<view v-if="!isIOS" class="login_other_item" @click="alipayOneLogin">
<up-image src="/static/login/ZFB.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/ZFB.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
支付宝登录
</view>
</view>
@@ -71,7 +71,7 @@
<view class="other_login">其他登录方式</view>
<!-- <view class="login_other_icon">
<view class="login_other_item" @click="wechatOneLogin">
<up-image src="/static/login/WXICON.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/WXICON.png" width="44" height="44" bgColor="#f1f6ff00"></up-image>
微信登录
</view>
</view> -->
@@ -112,7 +112,7 @@
</template>
<script>
import InputCodeComm from "@/components/code-comm/code-comm.vue";
import InputCodeComm from "@/pages/login_package/components/code-comm/code-comm.vue";
import {
SMS_TYPE
} from "@/utils/enumUtils.js";
+1 -1
View File
@@ -40,7 +40,7 @@
<view>{{ formatDate(item.ctdate) }}</view>
<view class="browses_">
<view>
<up-image src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view style="margin-left: 8rpx;">{{ item.browses }}</view>
</view>
+1 -1
View File
@@ -14,7 +14,7 @@
<view>{{ formatDate(newsDetail.ctdate) }}</view>
<view class="browses_">
<view>
<up-image src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view style="margin-left: 8rpx;">{{ newsDetail.browses }}</view>
</view>
@@ -12,9 +12,9 @@
>
</up-swiper>
<view class="preference_title">
<up-image src="/static/product/hw_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/hw_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<view class="msg">信任桥优选</view>
<up-image src="/static/product/hw_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/hw_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
</view>
<view class="preference_product">
<up-loading-page :loading="productListLoading"></up-loading-page>
+6 -6
View File
@@ -28,9 +28,9 @@
<up-input placeholder="请输入登录密码" border="surround" v-model="form.loginPassword" :customStyle="inputCss"
:type="loginPasswordIsShow ? 'text' : 'password'">
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="loginPasswordIsShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-if="loginPasswordIsShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPasswordIsShow = false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPasswordIsShow = true;"></up-image>
</template>
</up-input>
@@ -39,9 +39,9 @@
<up-input placeholder="再次输入登录密码" border="surround" v-model="form.loginPassword2" :customStyle="inputCss"
:type="loginPassword2IsShow ? 'text' : 'password'">
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="loginPassword2IsShow" src="/static/login/show.png" width="20" height="20"
<up-image v-if="loginPassword2IsShow" src="/pages/login_package/static/login/show.png" width="20" height="20"
bgColor="#f1f6ff00" @click="loginPassword2IsShow = false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPassword2IsShow = true;"></up-image>
</template>
</up-input>
@@ -55,8 +55,8 @@
:type="transactionCodeIsShow ?'text':'password'"
>
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="transactionCodeIsShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00" @click="transactionCodeIsShow=false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00" @click="transactionCodeIsShow=true;"></up-image>
<up-image v-if="transactionCodeIsShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00" @click="transactionCodeIsShow=false;"></up-image>
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00" @click="transactionCodeIsShow=true;"></up-image>
</template>
</up-input>
</view> -->

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

+2 -2
View File
@@ -12,9 +12,9 @@
>
</up-swiper>
<view class="preference_title">
<up-image src="/static/product/bk_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/bk_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<view class="msg">信任桥优品</view>
<up-image src="/static/product/bk_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/bk_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
</view>
<view class="preference_product">
<up-loading-page :loading="productListLoading"></up-loading-page>
+6 -6
View File
@@ -3,7 +3,7 @@
<view class="mine_header" :style="headerStyle">
<view class="mine_login_data" v-if="currentUserData && Object.keys(currentUserData).length !== 0">
<view class="mine_data">
<up-image
<up-image :lazy-load="true"
:src="currentUserData.avatarUrl ? currentUserData.avatarUrl : 'https://static.tbmall.xin/static/mine/avatar.png'"
shape="circle" width="54" height="54" bgColor="#f1f6ff00"></up-image>
<view class="mine_info">
@@ -81,7 +81,7 @@
<view class="mine_order_list">
<view class="mine_fontsize_comm_warp order_list_item" v-for="item in orderTemplList" :key="item.id"
@click="jumpOrder(item)">
<up-image :src="item.url" width="28" height="28" bgColor="#f1f6ff00"></up-image>
<up-image :lazy-load="true" :src="item.url" width="28" height="28" bgColor="#f1f6ff00"></up-image>
<view>{{ item.title }}</view>
<up-badge :absolute="true" :offset="[-9, 9]" max="99"
:customStyle="{ width: '40rpx', height: '32rpx', borderRadius: '45% 45% 45% 0', display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 0 }"
@@ -93,7 +93,7 @@
<view class="mine_content_comm_warp mine_top_comm_warp apply_list">
<view class="apply_item mine_fontsize_comm_warp" v-for="item in applyList" :key="item.id"
@click="jumpTool(item)">
<up-image :src="item.url" width="36" height="36" bgColor="#f1f6ff00"></up-image>
<up-image :lazy-load="true" :src="item.url" width="36" height="36" bgColor="#f1f6ff00"></up-image>
<view>{{ item.title }}</view>
</view>
</view>
@@ -235,7 +235,7 @@ import CustomTabBar from '@/components/custom-tab-bar.vue';
import { getStatistics } from '@/api/order.js';
import { getUserInfo } from '@/api/auth.js';
import { CUSTOMER_SERVICE_PHONE_NUMBER } from '@/utils/config.js';
import { getUnreadCount as getKefuUnreadCount } from "@/uni_modules/hashmall-customer-service/js_sdk/api.js";
import { getUnreadCount as getKefuUnreadCount } from "@/api/kefu.js";
export default {
computed: {
@@ -314,7 +314,7 @@ export default {
id: 5,
title: '数字积分',
url: 'https://static.tbmall.xin/static/mine/tool_js.png',
path: '/pages/rwa_package/dongjian/jia'
path: '/pages/rwa_package/insights/acceleration'
}
// {
// id: 3,
@@ -388,7 +388,7 @@ export default {
id: 12,
title: '财务',
url: 'https://static.tbmall.xin/static/mine/tool_cw.png',
path: '/pages/rwa_package/dongjian/finance'
path: '/pages/rwa_package/insights/finance'
}
// {
// id: 11,
@@ -22,7 +22,7 @@
</view>
</view>
<view v-else class="not_order_warp">
<view class="not_order_warp_img"><up-image src="/static/common/not_search.png" width="100" height="100"
<view class="not_order_warp_img"><up-image src="/pages/other_package/static/not_search.png" width="100" height="100"
bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_msg_warp">暂无地址,快去添加吧~</view>
</view>
@@ -24,7 +24,7 @@
</template>
<script>
import { bindBank } from '@/api/bank.js';
import { bindBank } from '@/pages/mine_package/api/bank.js';
import { getSupportBank } from '@/api/common.js';
export default {
@@ -8,7 +8,7 @@
<view class="bank_list">
<view v-if="bankList.length !== 0" class="bank_item" v-for="item in bankList" :key="item.id">
<view class="bank_data">
<up-image :src="item.bankLogo || '/static/bank/default.png'" width="50" height="50"
<up-image :src="item.bankLogo || '/pages/mine_package/static/bank/default.png'" width="50" height="50"
bgColor="#f1f6ff00"></up-image>
<view class="bank_info">
<view class="bank_bank_name">{{ item.bankName }}</view>
@@ -36,7 +36,7 @@
</template>
<script>
import { getBankList, bindBank, unbind } from '@/api/bank.js';
import { getBankList, bindBank, unbind } from '@/pages/mine_package/api/bank.js';
import { encipherBankNumber } from '@/utils/index.js';
import Header from '@/components/header.vue';
import { getUserInfo } from '@/api/auth.js'
@@ -47,7 +47,7 @@
<view class="card_comm">
<view class="card_title_comm card_title_comm2">
<view>推广业绩</view>
<up-image src="/static/common/tips.png" width="16" height="16" bgColor="#f1f6ff00"
<up-image src="/pages/rwa_package/static/tips.png" width="16" height="16" bgColor="#f1f6ff00"
@click="openTeamShow = true;" />
</view>
<view class="performance">
@@ -91,7 +91,7 @@
<view class="card_item_comm">
<view class="card_title_comm card_title_comm2">
<view>奖励统计</view>
<up-image src="/static/common/tips.png" width="16" height="16" bgColor="#f1f6ff00"
<up-image src="/pages/rwa_package/static/tips.png" width="16" height="16" bgColor="#f1f6ff00"
@click="openTcShow = true;" />
</view>
<view class="performance">
@@ -197,7 +197,7 @@
getAcctCategory,
getRewardSummaryRecord,
getRewardSummary
} from '@/api/team.js';
} from '@/pages/mine_package/api/team.js';
import {
formatDate
} from '@/utils/index.js';
@@ -52,7 +52,7 @@
</template>
<script>
import { getCascadeJunior, getJuniorSummary } from '@/api/team.js';
import { getCascadeJunior, getJuniorSummary } from '@/pages/mine_package/api/team.js';
import { getUserInfo } from '@/api/auth.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
@@ -1,415 +0,0 @@
<template>
<view class="my_team_list">
<Header :leftTitle="$t('mine.my.team.title')" left-path-type="navigateTo" :leftPath="leftPath" />
<view class="my_team_list_content">
<view class="team_list_card">
<view class="amount_">{{ (juniorSummaryData && juniorSummaryData.teamAmount) || 0 }}</view>
<view class="amount_sum">总订单金额</view>
<view class="comm_fg"></view>
<view class="people_number">
<view class="people_number_item">
<view class="title_">总人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.teamCount) || 0 }}</view>
</view>
<view class="comm_fg_s"></view>
<view class="people_number_item">
<view class="title_">推广人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.ztCount) || 0 }}</view>
</view>
<!-- <view class="comm_fg_s"></view>
<view class="people_number_item">
<view class="title_">间推人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.jtCount) || 0 }}</view>
</view> -->
</view>
<view class="current_user_id" v-if="form.userId">当前用户ID:{{ form.userId }}</view>
<view class="current_user_tips">
<up-image src="/static/common/tips_b.png" width="20" height="20" bgColor="#f1f6ff00"
@click="openTcShow = true;" />
</view>
</view>
<view class="team_list_remarks">
<view>注:所有数据均截至到进入页面的时间为止,返回再进入页面数据会更新</view>
<view style="margin-left: 40rpx;">总订单金额统计的为所有已支付的订单金额</view>
</view>
<scroll-view scroll-y="true" @scrolltolower="loadMore" :style="{ 'height': 'calc(100vh - 500rpx)' }">
<view class="team_item" v-for="(item, index) in listData" :key="item.id" v-if="listData && listData.length">
<view class="team_header" @click="queryLowerFun(item, index)">
<view class="header_left_">
<view style="margin-top: 10rpx;">
<up-image :src="item.userUrl || '/static/logo.png'" width="50" height="50" bgColor="#f1f6ff00"
shape="circle" radius='16'></up-image>
</view>
<view class="right_data">
<view class="name_">{{ item.userName || '信任桥优品用户' }}({{ item.gradeName }})</view>
<view class="msg_">
ID:{{ item.userId }}
</view>
<view class="msg_">
注册时间:{{ formatDate(item.registTime) }}
</view>
</view>
</view>
<view>
<up-image src="/static/common/right_x.png" width="20" height="20" bgColor="#f1f6ff00" radius='16'
v-if="!item.isOpen"></up-image>
<up-image src="/static/common/buttom_x.png" width="20" height="20" bgColor="#f1f6ff00" radius='16'
v-else></up-image>
</view>
</view>
<view style="padding: 10rpx;" v-if="item.isOpen && item.lowerData">
<view class="team_lower">
<view class="team_lower_item">
<view class="title_">总订单金额</view>
<view class="val_">{{ item.lowerData.teamAmount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">直推人数</view>
<view class="val_">{{ item.lowerData.ztCount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">间推人数</view>
<view class="val_">{{ item.lowerData.jtCount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">总人数</view>
<view class="val_">{{ item.lowerData.teamCount }}</view>
</view>
</view>
</view>
</view>
<view v-else class="not_order_warp">
<up-image src="https://static.tbmall.xin/static/not_order.png" width="80" height="80"
bgColor="#f1f6ff00"></up-image>
<view class="not_order_msg_warp">暂无数据</view>
</view>
<view v-if="royaltyLoading" style="text-align: center;">加载中...</view>
</scroll-view>
</view>
<!-- 提成统计 -->
<up-modal :show="openTcShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="openTcShow = false;">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_">
<view class="content_1">温馨提示</view>
<view class="content_2">1、页面数据截至到进入该页面的时间统计</view>
<view class="content_2">2、当前页面数据为主用户的数据</view>
<view class="content_2">3、下方显示为全部的直推用户,点击后可跳转他/她的团队数据页,查看他/她的直推数据(也就是我的间推)</view>
</view>
<view class="but_">
<view class="but_copy" @click="openTcShow = false;">确定</view>
</view>
</view>
</up-modal>
</view>
</template>
<script>
import { getCascadeJunior, getJuniorSummary } from '@/api/team.js';
import { formatDate } from '@/utils/index.js';
import Header from '@/components/header.vue';
export default {
components: { Header },
data() {
return {
form: {
userId: 0,
page: 1,
pageSize: 15,
},
loading: false,
listData: [],
juniorSummaryData: {},// 统计
leftPath: "/pages/mine_package/mine_my_team_list/mine_my_team_list",
openTcShow: false,
};
},
onLoad(option) {
const id = option.id;
if (id && id !== "null") {
this.form.userId = id;
} else {
this.leftPath = '/pages/mine_package/mine_my_team/mine_my_team';
}
},
mounted() {
this.loadData();
this.getJuniorSummary();
},
methods: {
formatDate,
jumpNextLevel(item) {
const path = "/pages/mine_package/mine_my_team_list/mine_my_team_list?id=" + item.userId;
this.leftPath = path;
uni.navigateTo({
url: path,
})
},
/**
* 查询统计数据
*/
async getJuniorSummary() {
const resp = await getJuniorSummary();
console.log("getJuniorSummary", resp);
if (resp && resp.bizcode === 100) {
this.juniorSummaryData = resp.data;
}
},
// 加载数据的方法
async loadData() {
if (this.loading) return; // 如果正在加载,则不重复加载
this.loading = true; // 设置加载状态为true
try {
// 模拟异步获取数据,实际应用中应该替换为你的数据获取逻辑,例如API调用
const newData = await this.fetchData();
if (newData.entitys && newData.entitys.length !== 0) {
const data = newData.entitys.map(item => ({ ...item, isOpen: false }));
this.listData = [...this.listData, ...data]; // 将新数据添加到列表中
this.form.page++; // 页码加1
}
} catch (error) {
console.error('加载数据失败:', error);
} finally {
this.loading = false; // 设置加载状态为false
}
},
// 模拟获取数据的方法,实际应用中应该替换为你的数据获取逻辑,例如从服务器获取数据
async fetchData() {
const params = {
...this.form,
}
const data = await getCascadeJunior(params);
if (data && data.bizcode === 100 && data.data) {
return data.data
} else {
return [];
}
},
// 当滚动到底部时触发的方法
loadMore() {
this.loadData(); // 加载更多数据
},
/**
* 查询团队下级数据
* @param {Object} item
* @param {Object} index
*/
async queryLowerFun(item, index) {
const data = this.listData[index];
const type = !data.isOpen
if (type) {
const params = {
userId: item.userId,
}
const resp = await getJuniorSummary(params);
if (resp && resp.bizcode === 100) {
data.lowerData = resp.data;
}
}
data.isOpen = type;
this.listData[index] = data;
}
}
}
</script>
<style lang="scss" scoped>
.my_team_list {
// height: calc(100vh - 58rpx);
// overflow: auto;
background-color: $app-bj;
.my_team_list_content {
padding: 30rpx;
}
.team_list_card {
background-color: $app-bt-bj;
text-align: center;
color: rgba(255, 255, 255, 0.9);
padding: 40rpx;
border-radius: 15rpx;
margin-bottom: 20rpx;
position: relative;
.current_user_id {
position: absolute;
top: 0;
left: 0;
background-color: #33333340;
padding: 10rpx;
font-size: 22rpx;
border-radius: 10rpx 0;
}
.current_user_tips {
position: absolute;
top: 20rpx;
right: 20rpx;
}
.amount_ {
font-weight: 500;
font-size: 58rpx;
color: rgba(255, 255, 255, 0.9);
}
.amount_sum {
font-size: 23rpx;
color: rgba(255, 255, 255, 0.55);
}
.comm_fg {
border: 2rpx dashed rgba(255, 255, 255, 0.55);
margin: 20rpx 0;
}
.comm_fg_s {
width: 1rpx;
height: 35rpx;
background-color: rgba(255, 255, 255, 0.9);
}
.people_number {
display: flex;
justify-content: space-between;
align-items: center;
}
.people_number_item {
width: 30%;
text-align: center;
.title_ {
font-size: 23rpx;
color: rgba(255, 255, 255, 0.55);
line-height: 33rpx;
}
.value_ {
font-size: 38rpx;
color: rgba(255, 255, 255, 0.9);
line-height: 54rpx;
}
}
}
.team_list_remarks {
font-size: 20rpx;
color: #9E9E9E;
margin-bottom: 10rpx;
}
.team_item {
margin-bottom: 20rpx;
}
.team_header {
display: flex;
align-content: center;
justify-content: space-between;
align-items: center;
border-radius: 8rpx;
background: #FFFFFF;
padding: 20rpx;
.header_left_ {
display: flex;
align-items: inherit;
width: calc(100% - 70rpx);
}
.right_data {
margin-left: 10rpx;
// display: grid;
}
.name_ {
font-weight: bold;
font-size: 30rpx;
color: #333333;
}
.msg_ {
font-weight: 500;
font-size: 24rpx;
color: #999999;
margin-top: 10rpx;
}
}
.team_lower {
display: flex;
justify-content: space-between;
align-items: center;
background: #E9E9E9;
border-radius: 4px;
padding: 30rpx 20rpx;
.team_lower_fg {
border-right: 1px solid rgba(0, 0, 0, 0.26);
height: 36rpx;
}
.team_lower_item {
text-align: center;
}
.title_ {
font-size: 10px;
color: rgba(0, 0, 0, 0.6);
}
.val_ {
font-weight: 500;
font-size: 14px;
color: rgba(0, 0, 0, 0.9);
margin-top: 20rpx;
}
}
.team_content {
border-top: 1rpx solid #EEEEEE;
padding: 20rpx 0 0;
display: flex;
flex-wrap: wrap;
.team_content_item {
width: 50%;
font-weight: 500;
display: flex;
margin-bottom: 10rpx;
}
.team_content2_item {
width: 100%;
}
.title_ {
font-size: 24rpx;
color: #999999;
}
.content_ {
font-size: 26rpx;
color: #333333;
}
}
.content_1 {
margin-bottom: 40rpx;
}
.content_2 {
text-align: left;
margin-top: 10rpx;
}
}
</style>
+4 -4
View File
@@ -214,7 +214,7 @@
<view class="content_2">如遇退/换货等问题,请联系客服处理</view>
<view class="content_3">
<view style="margin-left: 20rpx">
<up-image src="/static/common/kf_dh.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/rwa_package/static/kf_dh.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_info" @click="onKefu">
<view class="content_info_title" style="margin-top: 20rpx">在线客服</view>
@@ -229,7 +229,7 @@
</view>
<!-- <view class="content_3">
<view style="margin-left: 20rpx">
<up-image src="/static/common/kf_wx.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/rwa_package/static/kf_wx.png" width="40" height="40" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_info">
<view class="content_info_title">客服微信</view>
@@ -290,7 +290,7 @@ import {
AFTER_ORDER_STATUS,
getValue,
} from "@/utils/enumUtils.js";
import { ORDER_STATUS_CSS } from "@/utils/enumCssUtils.js";
import { ORDER_STATUS_CSS } from "@/pages/mine_package/utils/enumCssUtils.js";
import DownPopup from "@/components/common/down-popup.vue";
import {
getOrderList,
@@ -309,7 +309,7 @@ import { formatDate1, copyData } from "@/utils/index.js";
import { getUserInfo } from "@/api/auth.js";
import { CUSTOMER_SERVICE_PHONE_NUMBER } from "@/utils/config.js";
import afterSales from "./after-sales/index";
import refundPopup from "@/pages/mine_package/mine_order/after-sales/refund-popu.vue";
import refundPopup from "@/pages/mine_package/mine_order/after-sales/refund-popup.vue";
import { RETURN_REASON_LIST } from "@/pages/mine_package/mine_order/emun/index.js";
export default {
components: { DownPopup, afterSales, refundPopup },
@@ -6,7 +6,7 @@
@click="jumpLeft"></up-image>
<view class="header_status">
<view style="margin-top: 10rpx">
<up-image src="/static/common/order_status_1.png" width="20" height="19"
<up-image src="/pages/mine_package/static/order_status_1.png" width="20" height="19"
bgColor="#f1f6ff00"></up-image>
</view>
<text class="msg">{{ getValue(ORDER_STATUS, orderInfo.status) }}</text>
@@ -33,7 +33,7 @@
<!-- 物流单号 -->
<view class="address_info">
<view class="address_data_warp">
<up-image src="/static/common/waybill.png" width="20" height="20"
<up-image src="/pages/rwa_package/static/waybill.png" width="20" height="20"
bgColor="#f1f6ff00"></up-image>
<view class="address_info_name">订单编号:</view>
<view class="address_info_mobile" style="margin-right: 20rpx">{{
@@ -154,7 +154,7 @@
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
}}
</view>
<up-image style="margin-left: 8rpx" src="/static/rwa/copy.png" width="12" @click="
<up-image style="margin-left: 8rpx" src="/pages/rwa_package/static/rwa/copy.png" width="12" @click="
copyData(
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${orderInfo.antChainHash}`
)
@@ -227,7 +227,7 @@
<script>
import { ORDER_TYPE, ORDER_STATUS, getValue } from "@/utils/enumUtils.js";
import QrcodePreview from "@/pages/rwa_package/component/qrcode-preview.vue";
import QrcodePreview from "@/components/qrcode-preview.vue";
import {
copyData,
assembleAddress,
+4 -4
View File
@@ -38,7 +38,7 @@
<view class="bottom_item" @click.stop="onTip(vIndex)">
<view class="bottom_item_lock">{{ item.lockAmount || 0 }}</view>
<view class="bottom_item_title">{{ item.categoty === "raffle" ? "不可用次数" : "不可用余额" }}
<up-image src="/static/common/tips.png" width="12" height="12" bgColor="#fff"
<up-image src="/pages/rwa_package/static/tips.png" width="12" height="12" bgColor="#fff"
style="margin-left: 8rpx; margin-top: 4rpx" v-if="item.categoty == 'balance'" />
</view>
</view>
@@ -79,7 +79,7 @@
<input class="form_input" v-model="collectForm.password" placeholder="请输入支付密码"
:type="collectForm.showPassword ? 'text' : 'password'" />
<view class="form_eye" @click="togglePassword">
<up-image :src="collectForm.showPassword ? '/static/login/show.png' : '/static/login/hidden.png'"
<up-image :src="collectForm.showPassword ? '/pages/login_package/static/login/show.png' : '/pages/login_package/static/login/hidden.png'"
width="24" height="24" />
</view>
</view>
@@ -196,7 +196,7 @@ export default {
// url: "/pages/mine_package/mine_purse_exchange/mine_purse_exchange?amount=" + row.curAmount + "&category=" + row.categoty,
// })
uni.navigateTo({
url: "/pages/rwa_package/shop/fen-shop",
url: "/pages/rwa_package/shop/points-shop",
});
} else if (type === "transfer") {
console.log("transfer转出...");
@@ -209,7 +209,7 @@ export default {
}else if (type === "deduction") {
// 兑换
uni.navigateTo({
url: "/pages/rwa_package/shop/fen-shop",
url: "/pages/rwa_package/shop/points-shop",
});
}
},
@@ -66,7 +66,7 @@
<script>
import { getWithdrawalRule, withdrawal } from '@/api/finance.js';
import { getBankList } from '@/api/bank.js';
import { getBankList } from '@/pages/mine_package/api/bank.js';
export default {
data() {
@@ -142,7 +142,7 @@ export default {
})
}else if(type === 'contract'){
uni.navigateTo({
url:'/pages/rwa_package/dongjian/index'
url:'/pages/rwa_package/insights/index'
})
}
},
@@ -5,7 +5,7 @@
</template>
<script>
import winningRecord from '@/components/winning_record.vue';
import winningRecord from '@/pages/mine_package/components/winning_record.vue';
export default {
components:{winningRecord},

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

@@ -325,7 +325,7 @@ import {
} from "@/utils/payUtils.js";
import CryptoJS from "crypto-js";
import CouponDialog from "./cpoun-dialog.vue";
import CouponDialog from "./coupon-dialog.vue";
export default {
components: {
@@ -31,7 +31,7 @@ export default {
if (paymentLink && paymentLink !== "null") {
this.paymentLink = paymentLink; // 解码并设置支付链接
uni.navigateTo({
url: `/pages/other_package/zfb_payment/zfb_payment?link=${paymentLink}` // 假设有一个专门的支付页面来处理支付链接
url: `/pages/other_package/alipay_payment/alipay_payment?link=${paymentLink}` // 假设有一个专门的支付页面来处理支付链接
});
}
},
@@ -12,9 +12,9 @@
>
</up-swiper>
<view class="preference_title">
<up-image src="/static/product/bk_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/bk_l.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<view class="msg">信任桥积分</view>
<up-image src="/static/product/bk_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/bk_r.png" width="60" height="2" bgColor="#f1f6ff00"></up-image>
</view>
<view class="preference_product">
<up-loading-page :loading="productListLoading"></up-loading-page>
@@ -113,11 +113,11 @@
<view class="concrete_item_title">购物保障</view>
<view class="concrete_item_value concrete_item_bz">
<view class="concrete_item_bz concrete_item_bz_item">
<up-image src="/static/product/product_b.png" width="10" height="12" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/product_b.png" width="10" height="12" bgColor="#f1f6ff00"></up-image>
<view class="concrete_item_bz_item_left">品质严保</view>
</view>
<view class="concrete_item_bz">
<up-image src="/static/product/product_js.png" width="10" height="10" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/product/product_js.png" width="10" height="10" bgColor="#f1f6ff00"></up-image>
<view class="concrete_item_bz_item_left">极速退款</view>
</view>
</view>
@@ -149,17 +149,17 @@
<view class="product_but_warp">
<view class="product_but_left">
<view class="left_item">
<up-image src="/static/product/home_1.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image src="/pages/other_package/static/product/home_1.png" width="20" height="20" bgColor="#f1f6ff00"
@click="jumpOther('home')"></up-image>
<view>首页</view>
</view>
<view class="left_item">
<up-image src="/static/product/kefu.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image src="/pages/other_package/static/product/kefu.png" width="20" height="20" bgColor="#f1f6ff00"
@click="onZiXun"></up-image>
<view>咨询</view>
</view>
<view class="left_item">
<up-image src="/static/product/cart.png" width="24" height="20" bgColor="#f1f6ff00"
<up-image src="/pages/other_package/static/product/cart.png" width="24" height="20" bgColor="#f1f6ff00"
@click="jumpOther('cart')"></up-image>
<view>购物车</view>
</view>
@@ -363,9 +363,7 @@ import SharePopup from "@/pages/other_package/components/share-popup.vue";
import MyBtn from "@/components/common/my-btn.vue";
import { getPostageQuery } from "@/api/cart.js";
import { assembleAddress } from "@/utils/index.js";
// const QSCanvas = require('qs-canvas')
import QSCanvas from "qs-canvas";
// import {getSharePoster} from "@/components/QuShe-SharerPoster/QS-SharePoster/QS-SharePoster.js";
import func from "@/utils/func.js";
import Address from "@/components/address.vue";
import {
@@ -997,7 +995,7 @@ export default {
this.orderInfo = data;
this.detailRich = this.orderInfo.detailInfo.replace(
/<img([^>]*?)>/gi,
'<img$1 style="max-width:100%;height:auto;display:block;">'
'<img$1 style="max-width:100%;height:auto;display:block;" loading="lazy">'
);
}
},
@@ -1044,6 +1042,10 @@ export default {
}
this.swiperList = [currentThumb]; // 封面图
this.calcSwiperHeight();
this.detailRich = content.replace(
/<img([^>]*?)>/gi,
'<img$1 style="max-width:100%;height:auto;display:block;" loading="lazy">'
);
this.orderInfo = orderInfo;
}
},
+2 -2
View File
@@ -36,7 +36,7 @@
</view>
</view>
<view v-else class="not_order_warp">
<view class="not_order_warp_img"><up-image src="/static/common/not_search.png" width="100" height="100" bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_warp_img"><up-image src="/pages/other_package/static/not_search.png" width="100" height="100" bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_msg_warp">暂无搜索记录</view>
</view>
</view> -->
@@ -86,7 +86,7 @@
</view>
</view>
<view v-else class="not_order_warp">
<view class="not_order_warp_img"><up-image src="/static/common/not_search.png" width="100" height="100" bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_warp_img"><up-image src="/pages/other_package/static/not_search.png" width="100" height="100" bgColor="#f1f6ff00"></up-image></view>
<view class="not_order_msg_warp">抱歉没有搜索此类商品~</view>
</view>
</view>

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Before

Width:  |  Height:  |  Size: 767 B

After

Width:  |  Height:  |  Size: 767 B

Before

Width:  |  Height:  |  Size: 798 B

After

Width:  |  Height:  |  Size: 798 B

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 833 B

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

+1 -1
View File
@@ -57,7 +57,7 @@
<!-- 中奖记录 -->
<view class="winning_record" @click="jumpWinningRecord">
<view style="margin-top: 10rpx;">
<up-image src="/static/turntable/record.png" width="14" height="14" bgColor="#f1f6ff00"></up-image>
<up-image src="/pages/other_package/static/turntable/record.png" width="14" height="14" bgColor="#f1f6ff00"></up-image>
</view>
<view style="margin-left: 10rpx;">中奖记录</view>
</view>
+4 -4
View File
@@ -27,9 +27,9 @@
<up-input placeholder="请输入密码" border="surround" v-model="form.pass" :customStyle="inputCss"
:type="loginPasswordIsShow ? 'text' : 'password'">
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="loginPasswordIsShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-if="loginPasswordIsShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPasswordIsShow = false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPasswordIsShow = true;"></up-image>
</template>
</up-input>
@@ -39,9 +39,9 @@
<up-input placeholder="请输入密码" border="surround" v-model="form.passOne" :customStyle="inputCss"
:type="loginPassword2IsShow ? 'text' : 'password'">
<template #suffix style="margin-right: 10rpx;">
<up-image v-if="loginPassword2IsShow" src="/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-if="loginPassword2IsShow" src="/pages/login_package/static/login/show.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPassword2IsShow = false;"></up-image>
<up-image v-else src="/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
<up-image v-else src="/pages/login_package/static/login/hidden.png" width="20" height="20" bgColor="#f1f6ff00"
@click="loginPassword2IsShow = true;"></up-image>
</template>
</up-input>
@@ -175,7 +175,7 @@ import { getVcoinLocked, getVcoinReleaseLog, getUserExpendTbcList } from '@/api/
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import DownPopup from '@/components/common/down-popup.vue';
import { quickens } from '@/api/contract.js'
import { quickens } from '@/pages/rwa_package/api/contract.js'
import Decimal from 'decimal.js';
import func from '@/utils/func.js'
@@ -349,7 +349,7 @@ export default {
if (this.type) {
//查看
uni.navigateTo({
url: `/pages/rwa_package/dongjian/check`
url: `/pages/rwa_package/insights/check`
})
} else {
//去签署
@@ -40,7 +40,7 @@ import { getUserInfo } from '@/api/auth.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import ContractItem from './components/contract-item.vue'
import { getContractList, fileUrls } from '@/api/contract.js'
import { getContractList, fileUrls } from '@/pages/rwa_package/api/contract.js'
import func from '@/utils/func.js';
export default {
@@ -21,7 +21,7 @@ import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import ContractItem from './components/contract-item.vue'
import DownPopup from '@/components/common/down-popup.vue';
import { getContractList, isSignContract, } from '@/api/contract.js'
import { getContractList, isSignContract, } from '@/pages/rwa_package/api/contract.js'
import { getSignUrl, getMiniProgramSignUrl, signContract } from '@/api/order.js';
import func from '@/utils/func.js';
@@ -101,7 +101,7 @@ export default {
if (this.type) {
//查看
uni.navigateTo({
url: `/pages/rwa_package/dongjian/check`
url: `/pages/rwa_package/insights/check`
})
} else {
//去签署
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -16,7 +16,7 @@
<view class="btn-view">
<view class="left-btn" @click="onLeft">
<up-image
src="/static/rwa/tx.png"
src="/pages/rwa_package/static/rwa/tx.png"
style="margin-right: 5rpx; margin-top: 2rpx"
width="18"
height="18"
@@ -30,7 +30,7 @@
</view>
<view class="right-btn" @click="onRight">
<up-image
src="/static/rwa/jl.png"
src="/pages/rwa_package/static/rwa/jl.png"
style="margin-right: 5rpx; margin-top: 2rpx"
width="18"
height="18"
@@ -60,7 +60,7 @@
</view>
<view class="add-address" @click="onAdd">
<up-image
src="/static/rwa/add.png"
src="/pages/rwa_package/static/rwa/add.png"
style="margin-right: 5rpx; margin-top: 2rpx"
width="12"
height="12"
@@ -108,7 +108,7 @@
<view class="add-address-tip">
<up-image
src="/static/common/tips.png"
src="/pages/rwa_package/static/tips.png"
width="16"
height="16"
bgColor="#f1f6ff00"
@@ -1,287 +0,0 @@
<template>
<view class="rwa_withdrawal">
<Header leftTitle="共享计划终止" left-path-type="navigateTo" left-path="/pages/rwa_package/rwa/rwa" rightTitle="记录"
rightPath="/pages/rwa_package/rwa_withdrawal_log/rwa_withdrawal_log?back=withdrawal" rightPathType="navigateTo" />
<view class="rwa_withdrawal_content">
<view class="_content">
<view class="_content_usdt">
<view>{{ categotyObj.name || 'USDT' }}</view>
<view>{{ categotyObj.curAmount || 0 }}</view>
</view>
<view class="_content_item">
<view class="_content_item_title">行权金额</view>
<up-input placeholder="请输入行权金额" border="surround" v-model="form.amount" :customStyle="inputCss"></up-input>
<view class="_content_item_msg">当前可行权余额 {{ categotyObj.curAmount || 0 }} {{ categotyObj.name || 'USDT' }}
</view>
</view>
<view class="_content_item" @click="accountShowCheck(true)">
<view class="_content_item_title">行权账户</view>
<view class="_content_item_account">
<view v-if="accountName">{{ accountName }}</view>
<view v-else style="color: #30313363;">请选择行权账户</view>
<up-image src="/static/common/right.png" width="20" height="20" bgColor="#f1f6ff00" />
</view>
</view>
<view class="_content_item">
<view class="_content_item_title">交易密码<text class="_content_item_setting_pwd"
@click="jumpSettingPwd">《共享计划终止协议》</text></view>
<up-input placeholder="请输入交易密码" border="surround" v-model="form.password" :customStyle="inputCss"></up-input>
</view>
<view class="_content_item">
<view class="_content_item_title">备注</view>
<up-input placeholder="请输入备注(可选)" border="surround" v-model="form.remark" :customStyle="inputCss"></up-input>
</view>
</view>
<view class="add_but_css" @click="addWithdrawal">
提交
</view>
</view>
<DownPopup :show="tipsShow"
title="股权交割协议"
:contentText="text"
articleTitle="股权交割协议"
ok="我已知晓"
@cancel="tipsShow = false"
@ok="tipsShow = false"
></DownPopup>
<up-picker :show="accountShow" :columns="accountOption" keyName="account" itemHeight="34" @confirm="accountConfirm"
:loading="accountLoading" @close="accountShowCheck(false)" @cancel="accountShowCheck(false)"></up-picker>
<up-toast ref="uToastRef"></up-toast>
</view>
</template>
<script>
import Header from '@/components/header.vue';
import { getSupportBank } from '@/api/common.js';
import { getAcctBalance, exchTransfer, getExchUsers } from '@/api/finance.js';
import DownPopup from '@/components/common/down-popup.vue'
import CryptoJS from 'crypto-js';
export default {
components: { Header,DownPopup },
data() {
return {
categotyObj: {},// 可提现金额
inputCss: {
"height": '80rpx',
"background": "#F5F5F5",
"border-radius": "20rpx",
"border": "0rpx",
"padding-left": "16px",
},
form: {
category: "vcoin",
amount: '',
password: '',
acctIdtipsShow: '',
remark: '',
},
accountName: null,
accountShow: false,
accountOption: [],
accountLoading: false,
tipsShow:false,
text:`甲方(委托人):信任桥用户
乙方(受托人): 信任桥(深圳)网络科技有限公司
统一社会信用代码:91440300MAD3XHDP7C
鉴于条款
1. 甲乙双方已签署《消费型合伙人合作协议》《分红权代持协议》及《承诺书》(以下统称“原协议”),甲方通过购买TB信任桥商城产品取得分红权代持资格。
2. 为规范甲方对“TBC”(TrustBridge Coin,信任桥数字权益凭证)的行权行为,明确双方权利义务,现就甲方将TBC转移至交易所变现事宜达成补充约定。
第一条 定义与行权规则
1. TBC行权变现:指甲方向乙方申请将其持有的TBC通过非关联交易所进行行权的行为。
2. 自动失效条款:
若甲方将TBC转移至非关联交易所进行行权变现,视为甲方单方终止原协议项下所有权利义务。
甲方行权变现后,立即丧失以下权益:
(1)TB信任桥商城产品分红权;
(2)所有未兑现的分红收益;
第二条 协议终止与责任划分
1. 协议终止:
甲方触发行权变现条件后,原协议、《分红权代持协议》及《承诺书》自动终止,双方权利义务关系终结。
乙方有权立即冻结甲方账户,停止后续分红发放。
2. 责任承担:
甲方承诺行权变现行为合法合规,若因行权行为导致乙方或关联方遭受行政处罚、声誉损失或第三方索赔,甲方应承担全部赔偿责任。
乙方对甲方行权后的资金流向不承担监管责任。
第三条 特别提示与风险告知
1. 风险警示:
TBC行权变现可能涉及市场波动、汇率风险及合规风险,甲方应自行承担全部后果。
乙方不对TBC的流通性、价值稳定性作出任何承诺。
2. 合规要求:
甲方承诺行权变现资金用途合法,不得用于非法活动或洗钱行为。
若监管部门要求追溯资金来源或用途,甲方应全力配合并提供证明材料。
第四条 生效条件
1. 本补充协议自甲方点击确认后生效,与原协议具有同等法律效力。
2. 本协议未尽事宜,以原协议约定为准;与原协议冲突的,以本协议为准。`
};
},
onShow() {
this.getAcctBalance();
},
methods: {
// 查询余额
async getAcctBalance() {
const resp = await getAcctBalance();
let data = {};
if (resp && resp.bizcode === 100) {
if (resp.data) {
resp.data.map(item => {
// 交易币
if (item.categoty === "vcoin") {
data = item;
}
})
}
}
this.categotyObj = data;
},
async addWithdrawal() {
this.form.password = CryptoJS.MD5(this.form.password).toString()
const params = this.form;
if (!params.amount) {
this.$refs.uToastRef.show({
type: 'error',
message: "请输入行权金额",
});
return;
}
if (!params.acctId) {
this.$refs.uToastRef.show({
type: 'error',
message: "请选择行权账户",
});
return;
}
if (!params.password) {
this.$refs.uToastRef.show({
type: 'error',
message: "请输入交易密码",
});
return;
}
console.log("params", params);
const resp = await exchTransfer(params);
if (resp && resp.bizcode === 100) {
this.$refs.uToastRef.show({
type: 'success',
message: "提交成功",
});
setTimeout(() => {
uni.navigateTo({
url: '/pages/rwa_package/rwa/rwa',
})
}, 2000)
}
},
// 选择账户的弹框
async accountShowCheck(status) {
if (status) {
this.accountLoading = true;
const params = {
page: 1,
pageSize: 99,
}
const resp = await getExchUsers(params);
if (resp && resp.bizcode === 100) {
this.accountOption = [resp.data.entitys] || [];
}
this.accountLoading = false;
} else {
this.accountOption = [[]];
}
this.accountShow = status;
},
// 提交
accountConfirm(e) {
const {
columnIndex,
value,
values,
index,
} = e;
if (!value || value.length === 0) {
this.$refs.uToastRef.show({
type: 'error',
message: "请先选择账户",
});
return;
}
const data = value[0];
this.form.acctId = data.id;
this.accountName = data.account;
this.accountShowCheck(false);
},
// 设置交易密码
jumpSettingPwd() {
this.tipsShow = true;
// uni.navigateTo({
// url: '/pages/mine_package/mine_transaction_password/mine_transaction_password',
// })
}
}
}
</script>
<style lang="scss">
.rwa_withdrawal {
background: #F5F5F5;
.rwa_withdrawal_content {
padding: 20rpx;
height: calc(100vh - 198rpx);
._content {
padding: 30rpx;
background: #FFFFFF;
border-radius: 24rpx;
margin-bottom: 60rpx;
._content_usdt {
display: flex;
justify-content: space-between;
font-weight: bold;
font-size: 30rpx;
color: #333333;
border-bottom: 2rpx solid #EEEEEE;
padding: 0 0 20rpx;
}
._content_item {
margin-top: 30rpx;
._content_item_title {
margin-bottom: 20rpx;
font-weight: bold;
font-size: 30rpx;
color: #333333;
}
._content_item_setting_pwd {
color: $app-zt-color;
cursor: pointer;
text-decoration: underline;
font-size: 26rpx;
margin-left: 10rpx;
}
._content_item_msg {
font-weight: 500;
font-size: 24rpx;
color: #808080;
margin-top: 16rpx;
}
._content_item_account {
display: flex;
justify-content: space-between;
align-items: center;
background: #F8F8F8;
border-radius: 20rpx;
padding: 30rpx 20rpx;
font-weight: 500;
font-size: 28rpx;
color: #333333;
}
}
}
}
}
</style>
@@ -13,7 +13,7 @@
<!-- <view class="_content_item_no _content_item_no_buto" v-if="item.exchNo">股东流水号:{{item.exchNo}}</view> -->
<view class="_content_item_but">
<view class="_content_item_left">
<up-image src="/static/rwa/account.png" width="40" height="40" bgColor="#f1f6ff00" />
<up-image src="/pages/rwa_package/static/rwa/account.png" width="40" height="40" bgColor="#f1f6ff00" />
<view class="_content_item_left_">
<view class="_content_item_left_title">{{ item.name }}-{{ item.account }}</view>
<view class="_content_item_left_val">{{
@@ -40,7 +40,7 @@
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${item.antChainHash}`
}}
</view>
<up-image style="margin-left: 8rpx" src="/static/rwa/copy.png" width="12" @click="
<up-image style="margin-left: 8rpx" src="/pages/rwa_package/static/rwa/copy.png" width="12" @click="
copyData(
`https://chaininsight.antdigital.com/search?unionId=2647&projectName=VBGAKNJB&content=${item.antChainHash}`
)
@@ -91,7 +91,7 @@
RWA_STATUS,
getValue
} from "@/utils/enumUtils.js";
import QrcodePreview from "@/pages/rwa_package/component/qrcode-preview.vue";
import QrcodePreview from "@/components/qrcode-preview.vue";
export default {
components: {
Header,
+2 -3
View File
@@ -27,7 +27,6 @@
<MyBtn class="mt-48" @ok="onOutLogin" text="退出登录"></MyBtn>
</view>
<up-toast ref="uToastRef"></up-toast>
<!-- 腾讯电子签H5 → 集成到UniApp -->
</view>
</template>
@@ -274,10 +273,10 @@ export default {
url = '/pages/rwa_package/accountSafe/accountSafe'
break;
case 1:
url = '/pages/rwa_package/dongjian/index'
url = '/pages/rwa_package/insights/index'
break;
case 2:
url = '/pages/rwa_package/zhaopian/zhaopian'
url = '/pages/rwa_package/store-photo/store-photo'
break;
case 3:
url = '/pages/mine_package/mine_user_agreement/mine_user_agreement'
@@ -26,12 +26,12 @@
<!-- 原来单个 v-for 替换成两列 -->
<view class="mescrollUniView">
<view class="fall-col">
<PingItem v-for="(item, i) in leftList" :key="item.id" :obj="item" @ok="onJumpShop"
class="ping-item" />
<ParityProductItem v-for="(item, i) in leftList" :key="item.id" :obj="item" @ok="onJumpShop"
class="parity-product-item" />
</view>
<view class="fall-col">
<PingItem v-for="(item, i) in rightList" :key="item.id" :obj="item" @ok="onJumpShop"
class="ping-item" />
<ParityProductItem v-for="(item, i) in rightList" :key="item.id" :obj="item" @ok="onJumpShop"
class="parity-product-item" />
</view>
</view>
</mescroll-uni>
@@ -50,11 +50,11 @@ import { getAcctBalance } from "@/api/finance.js";
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
import MescrollUni from "@/components/mescroll-uni/mescroll-uni.vue";
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
export default {
mixins: [MescrollMixin],
components: { Header, TopSafe, MyBtn, PingItem, MescrollUni, },
components: { Header, TopSafe, MyBtn, ParityProductItem, MescrollUni, },
data() {
return {
dataList: [],
@@ -78,13 +78,13 @@
</view>
<view class="setting-view">
<YouItem
<PreferredProductItem
@ok="onJumpShop"
style="margin-bottom: 24rpx"
:obj="item"
v-for="(item, index) in dataList"
:key="index"
></YouItem>
></PreferredProductItem>
</view>
<up-toast ref="uToastRef"></up-toast>
</view>
@@ -94,12 +94,12 @@
import shopHeader from "@/components/common/shopHeader.vue";
import TopSafe from "@/components/common/top-safe.nvue";
import MyBtn from "@/components/common/my-btn.vue";
import YouItem from "@/components/shop/you-item.vue";
import PreferredProductItem from "@/components/shop/preferred-product-item.vue";
import { searchList } from "@/api/product.js";
import { getCarouselImage } from "@/api/common.js";
export default {
components: { shopHeader, TopSafe, MyBtn, YouItem },
components: { shopHeader, TopSafe, MyBtn, PreferredProductItem },
data() {
return {
dataList: [],
@@ -132,7 +132,7 @@ export default {
},
jumpSearch() {
uni.navigateTo({
url: "/pages/rwa_package/dongjian/search",
url: "/pages/rwa_package/insights/search",
});
},
// 跳转到商品详情
+3 -3
View File
@@ -10,7 +10,7 @@
</Header>
<view class="setting-view">
<view class="name-box" v-if="dataList.length">
<PingItem @ok="onJumpShop" style="margin-top:24rpx" :obj="item" v-for="(item,index) in dataList" :key="index"></PingItem>
<ParityProductItem @ok="onJumpShop" style="margin-top:24rpx" :obj="item" v-for="(item,index) in dataList" :key="index"></ParityProductItem>
</view>
<view class="bottom-scroll-no " v-else>
<text class="text-32" >暂无数据</text>
@@ -27,9 +27,9 @@ import MyBtn from '@/components/common/my-btn.vue'
import { searchList } from '@/api/product.js';
import { getCascadeCategory } from '@/api/common.js';
import PingItem from "@/components/shop/ping-item.vue";
import ParityProductItem from "@/components/shop/parity-product-item.vue";
export default {
components: { Header, TopSafe,MyBtn,PingItem },
components: { Header, TopSafe,MyBtn,ParityProductItem },
data() {
return {
dataList:[

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Some files were not shown because too many files have changed in this diff Show More