Browse Source

页面处理

dev_des
1054425342@qq.com 2 months ago
parent
commit
707486b390
  1. 6
      components/Book.vue
  2. 4
      components/DynamicIsland.vue
  3. 196
      pages/index/iSoul.vue
  4. 4
      pages/index/timeShopBank.vue

6
components/Book.vue

@ -10,6 +10,7 @@
@click="handleMoreClick" @click="handleMoreClick"
> >
<text class="title">EPIC SOUL阅读体</text> <text class="title">EPIC SOUL阅读体</text>
<view class="more-btn">更多 <uni-icons size="16" color="#000000" type="arrowright" /></view>
</div> </div>
</view> </view>
<!-- 轮播容器 --> <!-- 轮播容器 -->
@ -86,6 +87,11 @@ export default {
this.getList(); this.getList();
}, },
methods: { methods: {
handleMoreClick(){
uni.switchTab({
url:'/pages/index/readingBody'
})
},
getList() { getList() {
this.Post( this.Post(
{ {

4
components/DynamicIsland.vue

@ -57,7 +57,7 @@
<!-- 右侧头像和链接 --> <!-- 右侧头像和链接 -->
<view class="right-section"> <view class="right-section">
<view class="avatar-container"> <view class="avatar-container" @click="toWebView">
<image <image
class="avatar" class="avatar"
src="https://epic.js-dyyj.com/uploads/20250728/7d9ba1fe109643681396cb03f60f3218.png" src="https://epic.js-dyyj.com/uploads/20250728/7d9ba1fe109643681396cb03f60f3218.png"
@ -69,7 +69,7 @@
<text class="profile-title">文化工厂主理人</text> <text class="profile-title">文化工厂主理人</text>
<text class="profile-name">EVITA</text> <text class="profile-name">EVITA</text>
</view> </view>
<view class="platform-link" @click="toWebView"> <view class="platform-link" >
<text class="link-text">平台简介 >></text> <text class="link-text">平台简介 >></text>
</view> </view>
</view> </view>

196
pages/index/iSoul.vue

@ -1,13 +1,10 @@
<template> <template>
<view class="profile-container"> <view class="profile-container">
<view <view class="user-top" :style="{
class="user-top"
:style="{
backgroundImage: `url(${showImg( backgroundImage: `url(${showImg(
'/uploads/20250728/4ad18fba010760a527d0cf5e24bcf467.png' '/uploads/20250728/4ad18fba010760a527d0cf5e24bcf467.png'
)})`, )})`,
}" }">
>
<!-- 状态栏占位 --> <!-- 状态栏占位 -->
<view class="status-bar-placeholder"></view> <view class="status-bar-placeholder"></view>
<!-- 顶部导航 --> <!-- 顶部导航 -->
@ -22,24 +19,13 @@
<!-- 用户信息区域 --> <!-- 用户信息区域 -->
<view class="user-section" @click="gotoProfile"> <view class="user-section" @click="gotoProfile">
<view class="user-avatar"> <view class="user-avatar">
<image <image :src="userInfo.avatar ? showImg(userInfo.avatar) : defaultAvatar" mode="aspectFill"
:src="userInfo.avatar ? showImg(userInfo.avatar) : defaultAvatar" class="avatar-img"></image>
mode="aspectFill"
class="avatar-img"
></image>
</view> </view>
<view class="user-info"> <view class="user-info">
<view class="username" <view class="username">{{ userInfo.nickname || "去登录"
>{{ userInfo.nickname || "去登录" }}<uni-icons type="right" size="16" style="margin-left: 10rpx" color="#ffffff" /></view>
}}<uni-icons <view class="user-id" v-if="userInfo.redBookId">ID{{ userInfo.redBookId || "123456" }}</view>
type="right"
size="16"
style="margin-left: 10rpx"
color="#ffffff"
/></view>
<view class="user-id" v-if="userInfo.redBookId"
>ID{{ userInfo.redBookId || "123456" }}</view
>
</view> </view>
</view> </view>
@ -81,17 +67,12 @@
</view> </view>
</view> </view>
<view class="action-box"> <view class="action-box">
<image <image @click="showExchangePopup" :src="showImg('/uploads/20250822/7f18265ca351dfd2d6477322b17c1751.png')"
@click="showExchangePopup" style="width: 233rpx; height: 43rpx"></image>
:src="showImg('/uploads/20250822/7f18265ca351dfd2d6477322b17c1751.png')"
style="width: 233rpx; height: 43rpx"
></image>
<view class="column-divider"></view> <view class="column-divider"></view>
<image <image @click="showActivateAgentPopup"
@click="showActivateAgentPopup"
:src="showImg('/uploads/20250822/53718d0d8a655ac33d7197ad11a32f98.png')" :src="showImg('/uploads/20250822/53718d0d8a655ac33d7197ad11a32f98.png')"
style="width: 200rpx; height: 43rpx" style="width: 200rpx; height: 43rpx"></image>
></image>
</view> </view>
<!-- 数字资产权益 --> <!-- 数字资产权益 -->
@ -103,33 +84,17 @@
</view> </view>
<!-- 有数据时显示滑动卡片 --> <!-- 有数据时显示滑动卡片 -->
<view v-if="assetList.length > 0" class="asset-scroll-container"> <view v-if="assetList.length > 0" class="asset-scroll-container">
<scroll-view <scroll-view class="asset-scroll" scroll-x="true" :show-scrollbar="false" :enhanced="true">
class="asset-scroll"
scroll-x="true"
:show-scrollbar="false"
:enhanced="true"
>
<view class="asset-cards"> <view class="asset-cards">
<view <view class="asset-card" v-for="(asset, index) in assetList" :key="index"
class="asset-card" @click="handleAction(asset)">
v-for="(asset, index) in assetList"
:key="index"
@click="handleAction(asset)"
>
<view class="asset-card-wrapper"> <view class="asset-card-wrapper">
<image <image :src="showImgJdsz(asset.image)" mode="aspectFill" class="asset-img"></image>
:src="showImgJdsz(asset.image)"
mode="aspectFill"
class="asset-img"
></image>
<view class="asset-overlay"> <view class="asset-overlay">
<view class="asset-badge">{{ asset.badge }}</view> <view class="asset-badge">{{ asset.badge }}</view>
<view class="asset-name">{{ asset.name }}</view> <view class="asset-name">{{ asset.name }}</view>
<view class="asset-desc">{{ asset.desc }}</view> <view class="asset-desc">{{ asset.desc }}</view>
<view <view class="asset-action" style="flex-direction: row; padding: 20rpx">
class="asset-action"
style="flex-direction: row; padding: 20rpx"
>
<text class="action-text-order">{{ <text class="action-text-order">{{
asset.actionText asset.actionText
}}</text> }}</text>
@ -144,32 +109,33 @@
<!-- 无数据时显示原来的图片风格 --> <!-- 无数据时显示原来的图片风格 -->
<view v-else class="asset-card-old"> <view v-else class="asset-card-old">
<image <image @click="handleAssetAction('待使用')" :src="
@click="handleAssetAction('待使用')"
:src="
showImg('/uploads/20250729/42598a2dcf4c9a6f8c6e122e54b65c4f.png') showImg('/uploads/20250729/42598a2dcf4c9a6f8c6e122e54b65c4f.png')
" " mode="aspectFill" class="digital-img"></image>
mode="aspectFill"
class="digital-img"
></image>
</view> </view>
<!-- 底部操作按钮 --> <!-- 底部操作按钮 -->
<view class="goods-actions"> <view class="goods-actions">
<view class="goods-action" @click="handleAssetAction('待使用')"> <view class="goods-action" @click="handleAssetAction('待使用')">
<uni-badge size="small" :text="1" absolute="rightTop" > <uni-badge size="small" :text="orderStatus&&orderStatus[1].orderQuantity" absolute="rightTop">
<text>待使用</text> <text>待使用</text>
</uni-badge> </uni-badge>
</view> </view>
<view class="goods-action" @click="handleAssetAction('待收货')"> <view class="goods-action" @click="handleAssetAction('待收货')">
<uni-badge size="small" :text="orderStatus&&orderStatus[2].orderQuantity" absolute="rightTop">
<text>待收货</text> <text>待收货</text>
</uni-badge>
</view> </view>
<view class="goods-action" @click="handleAssetAction('已完成')"> <view class="goods-action" @click="handleAssetAction('已完成')">
<uni-badge size="small" :text="orderStatus&&orderStatus[3].orderQuantity" absolute="rightTop">
<text>已完成</text> <text>已完成</text>
</uni-badge>
</view> </view>
<view class="goods-action" @click="handleAssetAction('售后/退款')"> <view class="goods-action" @click="handleAssetAction('售后/退款')">
<uni-badge size="small" :text="orderStatus&&orderStatus[4].orderQuantity" absolute="rightTop">
<text>售后/退款</text> <text>售后/退款</text>
</uni-badge>
</view> </view>
</view> </view>
</view> </view>
@ -177,13 +143,9 @@
<!-- 有感商品 --> <!-- 有感商品 -->
<view class="feeling-goods"> <view class="feeling-goods">
<view class="goods-card"> <view class="goods-card">
<image <image :src="
:src="
showImg('/uploads/20250729/a010feb51e3f195563fb440f9235cc8b.png') showImg('/uploads/20250729/a010feb51e3f195563fb440f9235cc8b.png')
" " mode="aspectFill" class="digital-img"></image>
mode="aspectFill"
class="digital-img"
></image>
<view class="goods-actions"> <view class="goods-actions">
<view class="goods-action" @click="handleGoodsAction('购物车')"> <view class="goods-action" @click="handleGoodsAction('购物车')">
<text>购物车</text> <text>购物车</text>
@ -209,20 +171,14 @@
<view class="divider-line"></view> <view class="divider-line"></view>
</view> </view>
<!-- 有数据时显示 --> <!-- 有数据时显示 -->
<view <view class="memorial-cards" v-if="memorialItems.length > 0"
class="memorial-cards" :class="{ 'single-item': memorialItems.length === 1 }">
v-if="memorialItems.length > 0"
:class="{ 'single-item': memorialItems.length === 1 }"
>
<!-- 单条数据特殊展示 --> <!-- 单条数据特殊展示 -->
<template v-if="memorialItems.length === 1"> <template v-if="memorialItems.length === 1">
<view class="memorial-card-single" @click="handleMemorialClick(0)"> <view class="memorial-card-single" @click="handleMemorialClick(0)">
<view class="single-card-wrapper"> <view class="single-card-wrapper">
<image <image :src="showImg(memorialItems[0].goodsImg)" mode="aspectFill"
:src="showImg(memorialItems[0].goodsImg)" class="memorial-img-single"></image>
mode="aspectFill"
class="memorial-img-single"
></image>
<view class="single-overlay"> <view class="single-overlay">
<view class="single-badge">专属纪念册</view> <view class="single-badge">专属纪念册</view>
<view class="single-title">{{ <view class="single-title">{{
@ -239,17 +195,9 @@
</template> </template>
<!-- 多条数据正常展示 --> <!-- 多条数据正常展示 -->
<template v-else> <template v-else>
<view <view class="memorial-card" v-for="(item, index) in memorialItems" :key="index"
class="memorial-card" @click="handleMemorialClick(index)">
v-for="(item, index) in memorialItems" <image :src="showImg(item.goodsImg)" mode="aspectFill" class="memorial-img"></image>
:key="index"
@click="handleMemorialClick(index)"
>
<image
:src="showImg(item.goodsImg)"
mode="aspectFill"
class="memorial-img"
></image>
<view class="memorial-info"> <view class="memorial-info">
<text class="memorial-title">{{ <text class="memorial-title">{{
item.goodsTitle || "数字资产纪念册" item.goodsTitle || "数字资产纪念册"
@ -272,12 +220,7 @@
<!-- 底部菜单 --> <!-- 底部菜单 -->
<view class="bottom-menu"> <view class="bottom-menu">
<view <view class="menu-item" v-for="(item, index) in menuItems" :key="index" @click="handleMenuClick(item)">
class="menu-item"
v-for="(item, index) in menuItems"
:key="index"
@click="handleMenuClick(item)"
>
<text>{{ item.title }}</text> <text>{{ item.title }}</text>
</view> </view>
</view> </view>
@ -298,11 +241,7 @@
<view class="popup-content"> <view class="popup-content">
<view class="input-section"> <view class="input-section">
<text class="input-label">请输入兑换码</text> <text class="input-label">请输入兑换码</text>
<input <input class="exchange-input" v-model="exchangeCode" placeholder="请输入兑换码" />
class="exchange-input"
v-model="exchangeCode"
placeholder="请输入兑换码"
/>
</view> </view>
<view class="popup-actions"> <view class="popup-actions">
<button class="cancel-btn" @click="closeExchangePopup">取消</button> <button class="cancel-btn" @click="closeExchangePopup">取消</button>
@ -313,12 +252,8 @@
<view class="popup-actions-bottom"> <view class="popup-actions-bottom">
<view class="" style="color: #77f3f9"> 如何查找兑换码 </view> <view class="" style="color: #77f3f9"> 如何查找兑换码 </view>
<view class=""> <view class="">
前往君到苏州平台<text style="color: #77f3f9; margin: 0 10rpx" 前往君到苏州平台<text style="color: #77f3f9; margin: 0 10rpx">>></text>
>>></text 我的权益订单<text style="color: #77f3f9; margin: 0 10rpx">>></text>复制权益码
>
我的权益订单<text style="color: #77f3f9; margin: 0 10rpx"
>>></text
>复制权益码
</view> </view>
</view> </view>
</view> </view>
@ -341,15 +276,13 @@ export default {
data() { data() {
return { return {
userInfo: {}, userInfo: {},
defaultAvatar: defaultAvatar: "https://changshu.js-dyyj.com/uploads/20250326/516242619f0772bee371a60684618c01.png",
"https://changshu.js-dyyj.com/uploads/20250326/516242619f0772bee371a60684618c01.png",
userStats: { userStats: {
following: "140", following: "140",
followers: "2462", followers: "2462",
likes: "5.4万", likes: "5.4万",
}, },
menuItems: [ menuItems: [{
{
title: "账号与安全", title: "账号与安全",
icon: "🔒", icon: "🔒",
}, },
@ -389,8 +322,7 @@ export default {
this.userInfo = this.userInfo =
(uni.getStorageSync("userInfo") && (uni.getStorageSync("userInfo") &&
JSON.parse(uni.getStorageSync("userInfo"))) || JSON.parse(uni.getStorageSync("userInfo"))) ||
this.$store.state.user.userInfo || this.$store.state.user.userInfo || {};
{};
if (this.userInfo && this.userInfo.token) { if (this.userInfo && this.userInfo.token) {
this.getListIp(); this.getListIp();
this.getOrderChildList(); this.getOrderChildList();
@ -408,16 +340,13 @@ export default {
}, },
getAgentList() { getAgentList() {
this.Post({}, "/framework/agent/purchaseList", "DES").then((res) => { this.Post({}, "/framework/agent/purchaseList", "DES").then((res) => {
this.agentList = [ this.agentList = [{
{ headImage: "https://epic.js-dyyj.com/uploads/20250728/d27ef6e6c26877da7775664fed376c6f.png",
headImage:
"https://epic.js-dyyj.com/uploads/20250728/d27ef6e6c26877da7775664fed376c6f.png",
name: '文徵明', name: '文徵明',
status: 0 status: 0
}, },
{ {
headImage: headImage: "https://epic.js-dyyj.com/uploads/20250728/d7bf0dd2f3f272afba687b525a7c575c.png",
"https://epic.js-dyyj.com/uploads/20250728/d7bf0dd2f3f272afba687b525a7c575c.png",
name: '颜真卿', name: '颜真卿',
status: 1 status: 1
}, },
@ -455,23 +384,20 @@ export default {
if (res.data && res.data.length > 0) { if (res.data && res.data.length > 0) {
// assetList // assetList
this.assetList = res.data.map((item) => ({ this.assetList = res.data.map((item) => ({
image: image: item.goodsImg ||
item.goodsImg ||
"/uploads/20250729/42598a2dcf4c9a6f8c6e122e54b65c4f.png", "/uploads/20250729/42598a2dcf4c9a6f8c6e122e54b65c4f.png",
badge: "待使用", badge: "待使用",
name: item.goodsTitle || "数字资产权益", name: item.goodsTitle || "数字资产权益",
desc: desc: item.type == 1 ?
item.type == 1 "IP数字资产" :
? "IP数字资产" item.type == 2 ?
: item.type == 2 "IP周边" :
? "IP周边" item.skuName,
: item.skuName, actionText: item.type == 1 ?
actionText: "去查看" :
item.type == 1 item.type == 2 ?
? "去查看" "去预约" :
: item.type == 2 "去核销",
? "去预约"
: "去核销",
status: "待使用", status: "待使用",
...item, // ...item, //
})); }));
@ -545,8 +471,7 @@ export default {
case "帮助与客服": case "帮助与客服":
uni.showModal({ uni.showModal({
title: "客服电话", title: "客服电话",
content: content: "0515-69186109\n服务时间:周一至周五\n9:00-12:00,13:00-18:00",
"0515-69186109\n服务时间:周一至周五\n9:00-12:00,13:00-18:00",
confirmText: "拨打", confirmText: "拨打",
success: (res) => { success: (res) => {
if (res.confirm) { if (res.confirm) {
@ -696,8 +621,7 @@ export default {
return; return;
} }
this.Post( this.Post({
{
activeCode: this.exchangeCode.trim(), activeCode: this.exchangeCode.trim(),
}, },
"/framework/order/active", "/framework/order/active",
@ -1022,8 +946,7 @@ view {
font-weight: 500; font-weight: 500;
} }
.asset-scroll-container { .asset-scroll-container {}
}
.asset-scroll { .asset-scroll {
width: 100%; width: 100%;
@ -1149,6 +1072,7 @@ view {
flex-shrink: 0; flex-shrink: 0;
margin-left: 8rpx; margin-left: 8rpx;
} }
.action-arrow-order { .action-arrow-order {
font-size: 26rpx; font-size: 26rpx;
font-weight: bold; font-weight: bold;
@ -1572,6 +1496,7 @@ view {
background: #77f3f9; background: #77f3f9;
color: #000000; color: #000000;
} }
.column-divider { .column-divider {
width: 2rpx; width: 2rpx;
height: 60rpx; height: 60rpx;
@ -1579,6 +1504,7 @@ view {
margin: 35rpx 16rpx; margin: 35rpx 16rpx;
flex-shrink: 0; flex-shrink: 0;
} }
.action-box { .action-box {
display: flex; display: flex;
align-items: center; align-items: center;

4
pages/index/timeShopBank.vue

@ -400,8 +400,8 @@ page {
/* 悬浮发布按钮 */ /* 悬浮发布按钮 */
.fab-container { .fab-container {
position: fixed; position: fixed;
bottom: 200rpx; bottom: 250rpx;
right: 40rpx; right: 0rpx;
z-index: 999; z-index: 999;
} }

Loading…
Cancel
Save