Merge branch 'Branch_1' of https://git.u8t.cn/tangxinyue/alipay-emulator into Branch_1

This commit is contained in:
小李 2026-03-27 09:41:29 +08:00
commit c97560d691
33 changed files with 1279 additions and 24 deletions

View File

@ -38,7 +38,9 @@
</view> </view>
<view v-if="phone == 'iphone'" class="text-box flex-align-center flex-justify-center"> <view v-if="phone == 'iphone'" class="text-box flex-align-center flex-justify-center">
<text class="title">{{ chatInfo.title }}</text> <text class="title">{{ chatInfo.title }}</text>
<uni-icons type="right" size="10" color="#D8D8D8"></uni-icons> <!-- <uni-icons type="right" size="10" color="#D8D8D8"></uni-icons> -->
<image style="width: 16rpx;height: 16rpx;"
src="/static/image/phone-message/iphone/chat-right.png"></image>
</view> </view>
</view> </view>
</slot> </slot>

View File

@ -1,5 +1,5 @@
<template> <template>
<view style="width: 100%;" :style="{ height: `calc(${data.statusBarHeight}px + 88rpx)` }"> <view class="placeholder-box" style="width: 100%;" :style="{ height: `calc(${data.statusBarHeight}px + 88rpx)` }">
<!-- <slot name="statusBar"></slot> --> <!-- <slot name="statusBar"></slot> -->
</view> </view>
<view class="nav-bar-container" :style="{ backgroundColor: bgColor, zIndex: zIndex }"> <view class="nav-bar-container" :style="{ backgroundColor: bgColor, zIndex: zIndex }">

View File

@ -27,7 +27,7 @@ export function createApp() {
const systemInfo = uni.getStorageSync('systemInfo') || {} const systemInfo = uni.getStorageSync('systemInfo') || {}
app.config.globalProperties.$system = systemInfo.platform == 'ios' ? 'iOS' : 'Android' app.config.globalProperties.$system = systemInfo.platform == 'ios' ? 'iOS' : 'Android'
app.config.globalProperties.$systemInfo = systemInfo app.config.globalProperties.$systemInfo = systemInfo
uni.setStorageSync('version', '1.0.3.sp9') uni.setStorageSync('version', '1.0.3.sp13')
app.config.globalProperties.$version = uni.getStorageSync('version') app.config.globalProperties.$version = uni.getStorageSync('version')
app.use(globalMethods); app.use(globalMethods);

View File

@ -9,20 +9,23 @@
} }
} }
], ],
"subPackages": [
"subPackages": [{ {
"root": "pages/call-log", "root": "pages/call-log",
"pages": [{ "pages": [
"path": "call", {
"style": { "path": "call",
"navigationBarTitleText": "通话记录页面", "style": {
"navigationStyle": "custom" "navigationBarTitleText": "通话记录页面",
"navigationStyle": "custom"
}
} }
}] ]
}, },
{ {
"root": "pages/message", "root": "pages/message",
"pages": [{ "pages": [
{
"path": "list-index", "path": "list-index",
"style": { "style": {
"navigationBarTitleText": "短信列表首页", "navigationBarTitleText": "短信列表首页",
@ -38,9 +41,28 @@
} }
] ]
}, },
{
"root": "pages/shopping",
"pages": [
{
"path": "index",
"style": {
"navigationBarTitleText": "购物app首页",
"navigationStyle": "custom"
}
},
{
"path": "jingdong/list-index",
"style": {
"navigationBarTitleText": "京东列表首页"
}
}
]
},
{ {
"root": "pages/balance", "root": "pages/balance",
"pages": [{ "pages": [
{
"path": "index", "path": "index",
"style": { "style": {
"navigationBarTitleText": "余额页面", "navigationBarTitleText": "余额页面",
@ -54,12 +76,20 @@
"navigationBarTitleText": "快速入口页面", "navigationBarTitleText": "快速入口页面",
"navigationStyle": "custom" "navigationStyle": "custom"
} }
},
{
"path": "transfer/transfer",
"style": {
"navigationBarTitleText": "转账模拟",
"navigationStyle": "custom"
}
} }
] ]
}, },
{ {
"root": "pages/bill", "root": "pages/bill",
"pages": [{ "pages": [
{
"path": "bill-list/bill-list", "path": "bill-list/bill-list",
"style": { "style": {
"navigationBarTitleText": "账单列表页面", "navigationBarTitleText": "账单列表页面",
@ -84,7 +114,8 @@
}, },
{ {
"root": "pages/ant-credit-pay", "root": "pages/ant-credit-pay",
"pages": [{ "pages": [
{
"path": "index", "path": "index",
"style": { "style": {
"navigationBarTitleText": "花呗首页", "navigationBarTitleText": "花呗首页",
@ -102,7 +133,8 @@
}, },
{ {
"root": "pages/finance-management", "root": "pages/finance-management",
"pages": [{ "pages": [
{
"path": "index", "path": "index",
"style": { "style": {
"navigationBarTitleText": "理财首页", "navigationBarTitleText": "理财首页",
@ -127,7 +159,8 @@
}, },
{ {
"root": "pages/other", "root": "pages/other",
"pages": [{ "pages": [
{
"path": "/video-group-chat/video-group-chat", "path": "/video-group-chat/video-group-chat",
"style": { "style": {
"navigationBarTitleText": "视频群聊", "navigationBarTitleText": "视频群聊",
@ -208,7 +241,6 @@
"navigationStyle": "custom" "navigationStyle": "custom"
} }
}, },
{ {
"path": "train-tickets/ctrip-train-tickets/ctrip-train-tickets", "path": "train-tickets/ctrip-train-tickets/ctrip-train-tickets",
"style": { "style": {
@ -234,7 +266,8 @@
}, },
{ {
"root": "pages/common", "root": "pages/common",
"pages": [{ "pages": [
{
"path": "hot-icon/hot-icon", "path": "hot-icon/hot-icon",
"style": { "style": {
"navigationBarTitleText": "热门图标", "navigationBarTitleText": "热门图标",

View File

@ -8,7 +8,7 @@
</view> </view>
<view class="container" :style="{ height: data.windowHeight + 'px' }"> <view class="container" :style="{ height: data.windowHeight + 'px' }">
<view class="bg-container"></view> <view class="bg-container"></view>
<NavBar class="nav-bar" isRightIcon title="" tipLayerType="balance-tip" isTipLayer tipLayerText="修改余额" <nav-bar class="nav-bar" isRightIcon title="" tipLayerType="balance-tip" isTipLayer tipLayerText="修改余额"
:bgColor="data.navBar.bgColor" :buttonGroup="buttonGroup" @button-click="clickTitlePopupButton"> :bgColor="data.navBar.bgColor" :buttonGroup="buttonGroup" @button-click="clickTitlePopupButton">
<template v-slot:left> <template v-slot:left>
<view class="nav-bar-left" @click="util.goBack()"> <view class="nav-bar-left" @click="util.goBack()">
@ -21,7 +21,7 @@
<image class="nav-icon" src="/static/image/nav-bar/more-white.png" mode=""></image> <image class="nav-icon" src="/static/image/nav-bar/more-white.png" mode=""></image>
</view> </view>
</template> </template>
</NavBar> </nav-bar>
<scroll-view class="scroll-view" :style="{ height: (data.windowHeight - 44 - data.statusBarHeight) + 'px' }" <scroll-view class="scroll-view" :style="{ height: (data.windowHeight - 44 - data.statusBarHeight) + 'px' }"
scroll-y="true"> scroll-y="true">
<view class="h100 w100 flex-between" style="flex-direction: column;"> <view class="h100 w100 flex-between" style="flex-direction: column;">
@ -111,7 +111,7 @@
</template> </template>
<script setup> <script setup>
import NavBar from '@/components/nav-bar/nav-bar' //import NavBar from '@/components/nav-bar/nav-bar'
import BalanceList from '@/components/balance-list/balance-list.vue' import BalanceList from '@/components/balance-list/balance-list.vue'
import { fastEntranceList } from '@/static/json/initial.json' import { fastEntranceList } from '@/static/json/initial.json'
import { import {

File diff suppressed because it is too large Load Diff

View File

@ -105,11 +105,11 @@
</view> </view>
</view> </view>
<view class="activity-box"> <!-- <view class="activity-box">
<image class="alipay-year-bill" :style="{ width: (windowWidth - 32) + 'px' }" <image class="alipay-year-bill" :style="{ width: (windowWidth - 32) + 'px' }"
src="/static/image/index/alipay-year-bill.png" mode="widthFix" src="/static/image/index/alipay-year-bill.png" mode="widthFix"
@click="util.goPage(`/pages/common/alipay-annual-bill/alipay-annual-bill`)"></image> @click="util.goPage(`/pages/common/alipay-annual-bill/alipay-annual-bill`)"></image>
</view> </view> -->
<view class="group-box"> <view class="group-box">
<image class="title-img" src="/static/image/index/qita.png"></image> <image class="title-img" src="/static/image/index/qita.png"></image>
@ -227,6 +227,16 @@ const menuList = [{
name: "花呗", name: "花呗",
isHot: false, isHot: false,
path: "/pages/ant-credit-pay/index" path: "/pages/ant-credit-pay/index"
}, {
icon: "zhuanzhang",
name: "转账模拟",
isHot: false,
path: "/pages/balance/transfer/transfer"
}, {
icon: "nianduzhangdan",
name: "年度账单",
isHot: false,
path: "/pages/common/alipay-annual-bill/alipay-annual-bill"
}, },
] ]
const otherList = [{ const otherList = [{
@ -265,6 +275,11 @@ const otherList = [{
name: "通话", name: "通话",
path: "/pages/common/call-and-message-entry/call-and-message-entry?type=call" path: "/pages/common/call-and-message-entry/call-and-message-entry?type=call"
}, },
// {
// icon: "/static/image/index/qita/gouwu.png",
// name: "购物",
// path: "/pages/shopping/index"
// },
] ]
const data = reactive({ const data = reactive({

155
pages/shopping/index.vue Normal file
View File

@ -0,0 +1,155 @@
<template>
<view class="container">
<nav-bar title="购物平台" bgColor="#F0F4F9"></nav-bar>
<view class="menu-container">
<view class="card" v-for="(item, index) in menuList" :key="index"
:style="{ background: `linear-gradient(to bottom, ${item.bgColor[0]} 0%, ${item.bgColor[1]} 80%)` }">
<text class="card-title">{{ item.name }}</text>
<view class="icon-wrapper">
<view class="icon-shadow" :style="{ background: item.shadowColor }"></view>
<image class="icon-img" :src="`/static/image/shopping/${item.icon}.png`" mode="aspectFit"></image>
</view>
<view class="btn" :style="{ background: item.btnBg }" @click="goTo(item.url)">立即进入</view>
</view>
</view>
</view>
</template>
<script setup>
import { ref } from 'vue';
const menuList = ref([
{
name: "京东",
icon: "jingdong",
bgColor: ["#FFE0DF", "#FFFFFF"],
btnBg: "#FF4848",
shadowColor: "#FF4848",
url: "/pages/shopping/jingdong/list-index"
}, {
name: "淘宝",
icon: "taobao",
bgColor: ["#FFF0DA", "#FFFFFF"],
btnBg: "#FF953C",
shadowColor: "#FF953C",
url: ""
}, {
name: "快手",
icon: "kuaishou",
bgColor: ["#FFF0DA", "#FFFFFF"],
btnBg: "#FF953C",
shadowColor: "#FF953C",
url: ""
}, {
name: "抖音",
icon: "douyin",
bgColor: ["#FAE5FF", "#FFFFFF"],
btnBg: "#393939",
shadowColor: "#D15CFF",
url: ""
}, {
name: "抖音",
icon: "dewu",
bgColor: ["#FAE5FF", "#FFFFFF"],
btnBg: "#393939",
shadowColor: "#D15CFF",
url: ""
}, {
name: "拼多多",
icon: "pinduoduo",
bgColor: ["#FFE0DF", "#FFFFFF"],
btnBg: "#FF4848",
shadowColor: "#FF4848",
url: ""
}
]);
const goTo = (url) => {
if (url) {
uni.navigateTo({
url: url
})
} else {
uni.showToast({
title: "开发中",
icon: "none"
})
}
}
</script>
<style>
page {
background-color: #F0F4F9;
}
</style>
<style lang="less" scoped>
.container {
min-height: 100vh;
}
.menu-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 24rpx;
}
.card {
width: calc(50% - 14rpx);
border-radius: 28rpx 28rpx 28rpx 28rpx;
margin-bottom: 24rpx;
display: flex;
flex-direction: column;
align-items: center;
padding-top: 48rpx;
padding-bottom: 40rpx;
box-sizing: border-box;
border: 1px solid #ffffff;
}
.card-title {
font-size: 28rpx;
color: #1A1A1A;
font-weight: 500;
}
.icon-wrapper {
margin-top: 40rpx;
margin-bottom: 62rpx;
position: relative;
width: 116rpx;
height: 116rpx;
display: flex;
justify-content: center;
align-items: center;
}
.icon-img {
width: 116rpx;
height: 116rpx;
z-index: 2;
}
.icon-shadow {
position: absolute;
bottom: -10rpx;
width: 100rpx;
height: 8rpx;
border-radius: 50%;
filter: blur(5px);
z-index: 1;
opacity: 0.6;
}
.btn {
padding: 0 20rpx;
height: 56rpx;
line-height: 56rpx;
border-radius: 16rpx 16rpx 16rpx 16rpx;
color: #fff;
font-size: 24rpx;
text-align: center;
font-weight: 500;
}
</style>

View File

@ -0,0 +1,47 @@
<template>
<view>
<nav-bar title="京东" bgColor="#F0F4F9">
<template v-slot:center>
<view class="search-box">
<image class="search-icon" src="/static/image/shopping/jingdong/search-icon.png" mode="aspectFit">
</image>
<input class="input" type="text" placeholder="搜索我的订单" disabled />
</view>
</template>
</nav-bar>
</view>
</template>
<script setup>
</script>
<style lang="less">
::v-deep .uni-navbar__header-btns {
width: auto !important;
}
.search-box {
width: 100%;
background-color: #fff;
border-radius: 12rpx;
padding: 12rpx 16rpx;
display: flex;
align-items: center;
border: 1rpx solid #E5E5E5;
.search-icon {
width: 36rpx;
height: 36rpx;
flex-shrink: 0;
margin-right: 14rpx;
}
::v-deep .input-placeholder {
font-size: 26rpx;
line-height: 26rpx;
color: #CCCCCC;
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB