This commit is contained in:
许允枞 2025-03-19 16:46:34 +08:00
parent 2b06f3d50f
commit f44c20c547
27 changed files with 899 additions and 589 deletions

View File

@ -128,9 +128,11 @@
},
"splashscreen" : {
"useOriginalMsgbox" : true,
"androidStyle" : "common",
"androidStyle" : "default",
"android" : {
"hdpi" : "C:/Users/19943/Desktop/43980605a54b98e16d4dec19a08ba33.png"
"hdpi" : "E:\\Works\\lighting\\guoJiDaChe\\Flinto@2x.png",
"xhdpi" : "E:\\Works\\lighting\\guoJiDaChe\\Flinto@2x.png",
"xxhdpi" : "E:\\Works\\lighting\\guoJiDaChe\\Flinto@2x.png"
}
}
},

View File

@ -203,6 +203,14 @@
"enablePullDownRefresh": true,
"navigationBarTitleText": "Contact"
}
},
{
"path": "pages/index/firstLogin",
"style": {
"navigationBarTitleText": "",
"enablePullDownRefresh": true,
"navigationStyle": "custom"
}
}
],
"globalStyle": {

View File

@ -1,135 +1,304 @@
<template>
<view class="container">
<view class="list_top" v-for="(item,index) in list" :key="index" @click="goDetails(item)">
<view class="img_">
<image :src="item.icon" mode=""></image>
</view>
<view class="right_">
<view class="right_top">{{item.title}}</view>
</view>
</view>
<view class="container">
<view style="text-align: center">
<!-- 循环渲染列表项添加动态样式绑定 -->
<view
class="list_top"
v-for="(item, index) in list"
:key="index"
@click="selectItem(item, index)"
>
<view class="img_">
<image :src="selectedIndex === index ? item.selectedIcon : item.icon" mode="scaleToFill"></image>
</view>
</view>
</view>
<view class="k_"></view>
<!-- <tabbar :msg='msg'></tabbar> -->
</view>
<view class="introduction">
<scroll-view scroll-y="true">
<view>Agent Introduction</view>
<view>
<u-image height="400" :src="selectedItem.introduction" mode=""></u-image>
</view>
<view v-for="(item, index) in selectedItem.step" style="justify-content:left" :key="index" class="step-item">
<view class="step-index">{{ index + 1 }}</view>
<view class="step-content">{{ item }}</view>
</view>
</scroll-view>
</view>
<!-- 新增底部按钮 -->
<view class="enter-btn" @click="handleEnter">
Enter
</view>
</view>
</template>
<script>
import request from '../../utils/request'
import tabbar from '../../components/tabbar/tabbar.vue'
export default {
data() {
return {
msg: "2",
list:[
{title:'Translator',
icon:'../../static/chatImg/fy.png',
token:'Bearer app-EcJaT2EkUjHNJsax9SwESQuK',
detail:'',
conversation:'Translator'},
{title:'Trip Advisor',
icon:'../../static/chatImg/lxgw.png',
token:'Bearer app-4Wqu03XTw297LtEsTXhotOuP',
detail:'',
conversation:'Trip'},
{title:'Budget Planner',
icon:'../../static/chatImg/ysjh.png',
token:'Bearer app-wNZ3qcMRhNUj0K9FrH8ERPwF',
detail:'',
conversation:'Budget'},
{title:'Ai Search',
icon:'../../static/chatImg/znss.png',
token:'Bearer app-4Wqu03XTw297LtEsTXhotOuP',
detail:'',
conversation:'Ai'},
import request from '../../utils/request'
import tabbar from '../../components/tabbar/tabbar.vue'
],
userInfo:{}
}
},
onLoad() {
},
components: {
tabbar
},
methods:{
async goDetails(item){
let res = await request({
url: 'system/user/getUserBaseInfo',
method: 'get',
})
if (res.code == 200) {
let toData = {...item,userId:res.data.userId,userAvatar:res.data.avatar}
let data = JSON.stringify(toData)
uni.navigateTo({
url:'/pages/Chat/newChat?data='+data
})
}
},
async goNewChat(item){
let res = await request({
url: 'system/user/getUserBaseInfo',
method: 'get',
})
if (res.code == 200) {
let toData = {...item,userId:res.data.userId,userAvatar:res.data.avatar}
let data = JSON.stringify(toData)
uni.navigateTo({
url:'/pages/Chat/newChat/index?data='+data
})
}
}
}
}
export default {
data() {
return {
msg: "2",
list: [
{
title: 'Translator',
icon: '../../static/chatImg/tran.png',
token: 'Bearer app-EcJaT2EkUjHNJsax9SwESQuK',
detail: '',
conversation: 'Translator',
introduction: '../../static/chatImg/fanyi.png',
selectedIcon: '../../static/chatImg/transelect.png',
step: [
'Choose the language to be translated',
'Choose the language to translate',
'Return key',
'Translate images in to text(Long press trigger)',
'Send images for translation',
'Send voice for translation',
'Send text for translation',
'Translate text into images(Only for sending pictures)',
'Translate voice(Long press trigger)'
]
},
{
title: 'Trip Advisor',
icon: '../../static/chatImg/trip.png',
token: 'Bearer app-4Wqu03XTw297LtEsTXhotOuP',
detail: '',
conversation: 'Trip',
introduction: '../../static/chatImg/ai.png',
selectedIcon: '../../static/chatImg/tripselect.png',
step: [
'Return key',
'Send images',
]
},
{
title: 'Budget Planner',
icon: '../../static/chatImg/bud.png',
token: 'Bearer app-wNZ3qcMRhNUj0K9FrH8ERPwF',
detail: '',
conversation: 'Budget',
introduction: '../../static/chatImg/ai.png',
selectedIcon: '../../static/chatImg/budselect.png',
step: [
'Return key',
'Send images',
]
},
{
title: 'Ai Search',
icon: '../../static/chatImg/search.png',
token: 'Bearer app-4Wqu03XTw297LtEsTXhotOuP',
detail: '',
conversation: 'Ai',
introduction: '../../static/chatImg/ai.png',
selectedIcon: '../../static/chatImg/searchselect.png',
step: [
'Return key',
'Send images',
]
},
],
userInfo: {},
//
selectedIndex: null,
selectedItem: null,
}
},
onLoad() {
this.selectedItem = this.list[0];
this.selectedIndex = 0;
},
components: {
tabbar
},
methods: {
async goDetails(item, index) {
//
this.selectedIndex = index;
this.selectedItem = item;
let res = await request({
url: 'system/user/getUserBaseInfo',
method: 'get',
})
if (res.code == 200) {
let toData = {...item, userId: res.data.userId, userAvatar: res.data.avatar}
let data = JSON.stringify(toData)
uni.navigateTo({
url: '/pages/Chat/newChat?data=' + data
})
}
},
selectItem(item, index) {
this.selectedIndex = index;
this.selectedItem = item;
},
handleEnter(){
this.goDetails(this.selectedItem, this.selectedIndex)
},
async goNewChat(item) {
let res = await request({
url: 'system/user/getUserBaseInfo',
method: 'get',
})
if (res.code == 200) {
let toData = {...item, userId: res.data.userId, userAvatar: res.data.avatar}
let data = JSON.stringify(toData)
uni.navigateTo({
url: '/pages/Chat/newChat/index?data=' + data
})
}
}
}
}
</script>
<style scoped lang="scss">
.list_top{
width: 100%;
box-sizing: border-box;
padding: 10px;
display: flex;
align-items: center;
margin: 10px 0px;
border-bottom: 1px solid #d4d4d4;
}
.img_{
width: 100rpx;
height: 100rpx;
border-radius: 50%;
overflow: hidden;
margin-right: 10px;
image{
width: 100%;
height: 100%;
}
}
.k_{
width: 100%;
height: 120px;
}
.right_{
width: 80%;
.container {
//
padding: 30rpx 20rpx;
}
}
.right_top{
font-weight: bold;
font-size: 16px;
color: #242E42;
margin-bottom: 10px;
}
.right_buttom{
ont-weight: 500;
font-size: 14px;
color: #999999;
overflow:hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow:ellipsis;
}
.list_top {
display: inline-flex;
width: calc(25% - 10rpx);
box-sizing: border-box;
justify-content: center;
align-items: center;
padding: 0 5rpx;
}
.img_ {
width: 100%;
// height: 180rpx; //
display: flex;
justify-content: center;
align-items: center;
}
.img_ image {
width: 100%;
height: 180rpx;
object-fit: contain; //
}
.k_ {
width: 100%;
height: 120px;
}
.right_ {
width: auto;
}
.right_top {
font-weight: bold;
font-size: 18rpx;
margin-bottom: 10rpx;
/* 新增文本不换行属性 */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 100%;
}
.right_buttom {
font-weight: 500;
font-size: 14px;
color: #999999;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
}
/* 新增样式 */
.intro-container {
height: 200rpx;
margin-top: 20rpx;
padding: 20rpx;
background-color: #fff;
border-radius: 10rpx;
box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
}
.intro-content {
font-size: 26rpx;
color: #666;
line-height: 1.6;
}
.enter-btn {
position: fixed;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 80%;
height: 80rpx;
background-color: #337151;
color: #fff;
border-radius: 40rpx;
text-align: center;
line-height: 80rpx;
font-size: 32rpx;
box-shadow: 0 4rpx 10rpx rgba(51, 113, 81, 0.3);
}
.introduction{
background-color: #F4F4F4;
padding: 20rpx;
margin-top: 20rpx;
margin-bottom: 60rpx; //
text-align: center;
font-weight: bold;
border-radius: 20rpx;
//
view {
display: flex;
justify-content: center;
align-items: center;
margin-top: 20rpx;
}
//
.u-image {
width: 100%;
object-fit: contain;
}
}
.step-item {
display: flex;
align-items: center;
margin-top: 20rpx;
justify-content: flex-start; //
}
.step-content {
font-size: 28rpx;
color: #333;
text-align: left; //
}
.step-index {
width: 40rpx;
height: 40rpx;
border-radius: 50%;
background-color: #FBB72A;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 24rpx;
margin-right: 20rpx;
}
.step-content {
font-size: 28rpx;
color: #333;
}
</style>

View File

@ -10,7 +10,7 @@
<text style="flex: 1; text-align: center;">{{ info.title }}</text>
<!-- 右侧内容 -->
<view style="display: flex; align-items: center;">
<view style="display: flex; align-items: center;" v-if="ifShowLang">
<view v-if="info.conversation == 'Translator'" class="sm-text" @click="chooseSayLang">
{{ sayLangStr }}
<u-icon style="margin-top: 6rpx; margin-left: 5rpx;" name="arrow-down" color="#fff" size="12"></u-icon>
@ -235,7 +235,8 @@ export default {
sendFlag: false
},
scrollId: 'bottomId',
storeList: 'msgHisList'
storeList: 'msgHisList',
ifShowLang: false,
}
},
onLoad(option) {
@ -249,6 +250,9 @@ export default {
userAvatar: infoData.userAvatar,
title: infoData.title
}
if (infoData.title == 'Translator') {
this.ifShowLang = true
}
uni.setStorageSync('userId', infoData.userId)
this.info = tempInfo
this.userId = infoData.userId

View File

@ -2,7 +2,7 @@
<view>
<view class="submit">
<view class="submit-chat">
<view class="bt-img" @tap="records">
<view class="bt-img" @tap="records" v-if="isShow">
<image :src="toc"></image>
</view>
<view class="bt-img" @tap="more">
@ -82,6 +82,7 @@ export default {
timer: '', //
vlength: 0,
translatorImageUploadUrl: config.translatorImageUploadUrl,
isShow: false
};
},
components: {
@ -94,6 +95,11 @@ export default {
default: ''
},
},
mounted() {
if (this.title == 'Translator') {
this.isShow = true
}
},
methods: {
//
getElementHeight() {

View File

@ -806,7 +806,7 @@
}
.bz_width {
//width: 100%;
width: 600rpx;
}
.segment-item{
width: 300rpx;

View File

@ -0,0 +1,103 @@
<template>
<view class="container">
<swiper class="swiper" :indicator-dots="true" :autoplay="false" :interval="3000" :duration="1000" @change="onSwiperChange">
<swiper-item indicator-active-color="#347053" v-for="(item, index) in swiperList" :key="index">
<view class="swiper-item">
<u-image height="300" shape="circle" :src="item.image" ></u-image>
<h2 style="margin-top: 150rpx">{{ item.title }}</h2>
<text>{{ item.text }}</text>
<!-- 新增按钮 -->
<view class="start-btn" v-if="item.isShow" @click="goNewChat">GET STARTED!</view>
</view>
</swiper-item>
</swiper>
</view>
</template>
<script>
export default {
data() {
return {
swiperList: [
{
image: '../../static/imgs/first1.png',
text: 'Request a ride get picked upby a\n' +
'nearbycommunitydriver',
title: 'Request Ride',
isShow:false
},
{
image: '../../static/imgs/first2.png',
text: 'Al Agents represent a paradigm\n' +
'shift from passive Al to proactive,\n' +
'tool-augmented systems',
title: 'AI Agent',
isShow:true
}
]
};
},
onShow() {
console.log('进入了jjj');
},
methods: {
onSwiperChange(e) {
console.log('当前滑动的索引:', e.detail.current);
},
goNewChat() {
//
uni.setStorageSync('isFirst', '1');
uni.navigateTo({
url: '/pages/index/index'
});
}
}
};
</script>
<style>
.container {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.swiper {
width: 100%;
height: 100%;
}
.swiper-item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
}
image {
width: 100%;
height: 300px;
border-radius: 50%;
overflow: hidden;
}
text {
margin-top: 20px;
font-size: 18px;
color: #333;
text-align: center;
}
.start-btn {
margin-top: 40rpx;
padding: 20rpx 60rpx;
background-color: #337151;
color: #fff;
font-size: 32rpx;
border-radius: 40rpx;
text-align: center;
box-shadow: 0 4rpx 10rpx rgba(51, 113, 81, 0.3);
}
</style>

View File

@ -1,517 +1,533 @@
<template>
<view class="content">
<view class="content">
</view>
</view>
</template>
<script>
import headers from '../../components/header/headers.vue'
import tabbar from '../../components/tabbar/tabbar.vue'
// import newMap from './newMap.nvue'
import {
getToken
} from '@/utils/auth'
import request from '../../utils/request'
export default {
data() {
return {
type: 1,
bindex: 0,
is_focus: false,
showLeft: true,
titles: "首页",
msg: "1",
controls: [],
latitude: 23.099994,
longitude: 113.324520,
markers: [{
id: 0,
latitude: 23.099994,
longitude: 113.324520,
width: 30,
height: 30,
}],
show: false,
status: 'loading',
import headers from '../../components/header/headers.vue'
import tabbar from '../../components/tabbar/tabbar.vue'
// import newMap from './newMap.nvue'
import {
getToken
} from '@/utils/auth'
import request from '../../utils/request'
}
},
onShow() {
this.getBaseInfo()
},
export default {
data() {
return {
type: 1,
bindex: 0,
is_focus: false,
showLeft: true,
titles: "首页",
msg: "1",
controls: [],
latitude: 23.099994,
longitude: 113.324520,
markers: [{
id: 0,
latitude: 23.099994,
longitude: 113.324520,
width: 30,
height: 30,
}],
show: false,
status: 'loading',
components: {
headers,
tabbar,
// newMap
},
methods: {
//
}
},
onShow() {
const isFirst = this.getIsFirst()
if (isFirst) {
//
uni.reLaunch({
url: '/pages/index/firstLogin'
})
} else {
this.getBaseInfo()
}
},
components: {
headers,
tabbar,
// newMap
},
methods: {
//
//isFirst
getIsFirst() {
console.log(288, 'isFirst', uni.getStorageSync('isFirst'))
if (uni.getStorageSync('isFirst') != '1') {
return true
} else {
return false
}
},
getBaseInfo() {
request({
url: 'system/user/getUserBaseInfo',
method: 'get',
}).then(res => {
console.log(288);
if (res.code == 200) {
uni.reLaunch({
url: '/pages/index/nIndex'
})
console.log(res.data);
uni.setStorageSync('user_info', res.data);
} else {
uni.reLaunch({
url: '/pages/login/login'
})
}
})
getBaseInfo() {
request({
url: 'system/user/getUserBaseInfo',
method: 'get',
}).then(res => {
console.log(288);
if (res.code == 200) {
uni.reLaunch({
url:'/pages/index/nIndex'
})
console.log(res.data);
uni.setStorageSync('user_info', res.data);
}else{
uni.reLaunch({
url:'/pages/login/login'
})
}
})
},
//
goqb() {
uni.navigateTo({
url: '/pages/my/MyWallet'
})
},
//
interactiveType(num) {
this.type = num
if (num == 0) {
uni.showToast({
title: "Sorry, it is currently in the development stage",
icon: 'none'
})
}
},
//
goSearch() {
uni.navigateTo({
url: '/pages/index/search'
})
},
getLatLon() {
let _this = this;
uni.getLocation({
// 使wgs84 使gcj02
type: 'gcj02', // 使
geocode: true,
success: function(res) {
uni.setStorageSync("lon", res.longitude)
uni.setStorageSync("lat", res.latitude)
console.log('经度: ' + res.longitude);
console.log('纬度: ' + res.latitude);
_this.longitude = res.longitude
_this.latitude = res.latitude
_this.markers = [{
id: 0,
latitude: res.latitude,
longitude: res.longitude,
width: 100,
height: 100,
}]
},
fail: function(err) {
console.log('获取位置信息失败: ' + err.errMsg);
uni.setStorageSync("isGetAddress", false)
}
});
},
showDrawer(e) {
this.$refs[e].open()
console.log(e, 138);
},
change(e, type) {
console.log((type === 'showLeft' ? '左窗口' : '右窗口') + (e ? '打开' : '关闭'));
this[type] = e
},
goback() {
uni.navigateBack()
}
},
onNavigationBarButtonTap(e) {
if (this.showLeft) {
this.$refs.showLeft.close()
} else {
this.$refs.showLeft.open()
}
},
// app app
onBackPress() {
if (this.showRight || this.showLeft) {
this.$refs.showLeft.close()
this.$refs.showRight.close()
return true
}
}
}
},
//
goqb() {
uni.navigateTo({
url: '/pages/my/MyWallet'
})
},
//
interactiveType(num) {
this.type = num
if (num == 0) {
uni.showToast({
title: "Sorry, it is currently in the development stage",
icon: 'none'
})
}
},
//
goSearch() {
uni.navigateTo({
url: '/pages/index/search'
})
},
getLatLon() {
let _this = this;
uni.getLocation({
// 使wgs84 使gcj02
type: 'gcj02', // 使
geocode: true,
success: function (res) {
uni.setStorageSync("lon", res.longitude)
uni.setStorageSync("lat", res.latitude)
console.log('经度: ' + res.longitude);
console.log('纬度: ' + res.latitude);
_this.longitude = res.longitude
_this.latitude = res.latitude
_this.markers = [{
id: 0,
latitude: res.latitude,
longitude: res.longitude,
width: 100,
height: 100,
}]
},
fail: function (err) {
console.log('获取位置信息失败: ' + err.errMsg);
uni.setStorageSync("isGetAddress", false)
}
});
},
showDrawer(e) {
this.$refs[e].open()
console.log(e, 138);
},
change(e, type) {
console.log((type === 'showLeft' ? '左窗口' : '右窗口') + (e ? '打开' : '关闭'));
this[type] = e
},
goback() {
uni.navigateBack()
}
},
onNavigationBarButtonTap(e) {
if (this.showLeft) {
this.$refs.showLeft.close()
} else {
this.$refs.showLeft.open()
}
},
// app app
onBackPress() {
if (this.showRight || this.showLeft) {
this.$refs.showLeft.close()
this.$refs.showRight.close()
return true
}
}
}
</script>
<style scoped lang="scss">
.input {
flex: 1;
border: 1px solid #ccc;
padding: 5px 10px;
z-index: 999;
}
.input {
flex: 1;
border: 1px solid #ccc;
padding: 5px 10px;
z-index: 999;
}
.map_cavs {
position: relative;
box-sizing: border-box;
}
.map_cavs {
position: relative;
box-sizing: border-box;
}
#map {
z-index: -99999999999999999999999999999999999999999999999999;
}
#map {
z-index: -99999999999999999999999999999999999999999999999999;
}
.left_icon {
height: 35px;
width: 35px;
background: #fff;
color: #41a863;
background: transparent;
margin: 15px;
z-index: 9999999999999999999999;
margin-top: 44px;
display: flex;
align-items: center;
justify-content: center;
}
.left_icon {
height: 35px;
width: 35px;
background: #fff;
color: #41a863;
background: transparent;
margin: 15px;
z-index: 9999999999999999999999;
margin-top: 44px;
display: flex;
align-items: center;
justify-content: center;
}
.po-input {
z-index: 999999;
width: 90%;
height: 60px;
background: #FFFFFF;
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
border-radius: 6px 6px 6px 6px;
box-sizing: border-box;
// padding: 15px;
display: flex;
align-items: center;
position: fixed;
left: 50%;
top: 44px;
transform: translate(-50%, -50%);
}
.po-input {
z-index: 999999;
width: 90%;
height: 60px;
background: #FFFFFF;
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
border-radius: 6px 6px 6px 6px;
box-sizing: border-box;
// padding: 15px;
display: flex;
align-items: center;
position: fixed;
left: 50%;
top: 44px;
transform: translate(-50%, -50%);
}
.co-input {
width: 90%;
height: 60px;
background: #FFFFFF;
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
.co-input {
width: 90%;
height: 60px;
background: #FFFFFF;
box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.1);
border-radius: 6px 6px 6px 6px;
box-sizing: border-box;
// padding: 15px;
display: flex;
align-items: center;
position: fixed;
left: 50%;
transform: translate(-50%, -50%);
z-index: 999999;
top: 68px;
// margin: 5px auto;
// margin-top: 44px;
}
border-radius: 6px 6px 6px 6px;
box-sizing: border-box;
// padding: 15px;
display: flex;
align-items: center;
position: fixed;
left: 50%;
transform: translate(-50%, -50%);
z-index: 999999;
top: 68px;
// margin: 5px auto;
// margin-top: 44px;
}
.bottom_pr {
min-height: 80px;
width: 100%;
background: #FFFFFF;
box-shadow: 0px -5px 10px 0px rgba(0, 0, 0, 0.1);
border-radius: 18px 18px 0px 0px;
position: fixed;
left: 0px;
bottom: 68px;
overflow: hidden;
.bottom_pr {
min-height: 80px;
width: 100%;
background: #FFFFFF;
box-shadow: 0px -5px 10px 0px rgba(0, 0, 0, 0.1);
border-radius: 18px 18px 0px 0px;
position: fixed;
left: 0px;
bottom: 68px;
overflow: hidden;
}
}
.bottom_time {
position: fixed;
left: 50%;
bottom: 55px;
transform: translate(-50%, -50%);
width: 90%;
height: 106px;
background: #FFFFFF;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border-radius: 6px 6px 6px 6px;
box-sizing: border-box;
padding: 15px;
display: flex;
align-items: center;
justify-content: space-around;
}
.bottom_time {
position: fixed;
left: 50%;
bottom: 55px;
transform: translate(-50%, -50%);
width: 90%;
height: 106px;
background: #FFFFFF;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border-radius: 6px 6px 6px 6px;
box-sizing: border-box;
padding: 15px;
display: flex;
align-items: center;
justify-content: space-around;
}
.bottom_po {
min-height: 80px;
width: 100%;
background: #FFFFFF;
box-shadow: 0px -5px 10px 0px rgba(0, 0, 0, 0.1);
border-radius: 18px 18px 0px 0px;
position: fixed;
left: 0px;
bottom: 68px;
display: flex;
align-items: center;
justify-content: space-around;
}
.bottom_po {
min-height: 80px;
width: 100%;
background: #FFFFFF;
box-shadow: 0px -5px 10px 0px rgba(0, 0, 0, 0.1);
border-radius: 18px 18px 0px 0px;
position: fixed;
left: 0px;
bottom: 68px;
display: flex;
align-items: center;
justify-content: space-around;
}
.b_an {
width: 40%;
height: 48px;
font-size: 16px;
border-radius: 6px 6px 6px 6px;
border: 1px solid #E8E8E8;
display: flex;
align-items: center;
justify-content: center;
color: #000;
}
.b_an {
width: 40%;
height: 48px;
font-size: 16px;
border-radius: 6px 6px 6px 6px;
border: 1px solid #E8E8E8;
display: flex;
align-items: center;
justify-content: center;
color: #000;
}
.avc_ {
background: #32714F !important;
color: #fff !important;
}
.avc_ {
background: #32714F !important;
color: #fff !important;
}
.i_anniu {
width: 95%;
margin: 15px auto;
box-sizing: border-box;
padding: 15px;
background: #32714F;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
border-radius: 4px;
.i_anniu {
width: 95%;
margin: 15px auto;
box-sizing: border-box;
padding: 15px;
background: #32714F;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
border-radius: 4px;
}
}
.z_hang {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 15px;
border-bottom: 1px solid #F2F2F2;
}
.z_hang {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
padding: 15px;
border-bottom: 1px solid #F2F2F2;
}
.z_icon {
width: 15%;
height: 35px;
.z_icon {
width: 15%;
height: 35px;
image {
width: 50px;
height: 23px;
}
}
image {
width: 50px;
height: 23px;
}
}
.z_right {
width: 80%;
display: flex;
align-items: center;
justify-content: space-between;
.z_right {
width: 80%;
display: flex;
align-items: center;
justify-content: space-between;
}
}
.z_title {
font-weight: bold;
font-size: 14px;
color: #333333;
}
.z_title {
font-weight: bold;
font-size: 14px;
color: #333333;
}
.z_time {
text-align: center;
color: #DDDDDD;
}
.z_time {
text-align: center;
color: #DDDDDD;
}
.g_ {
width: 1px;
height: 74px;
background: #E8E8E8;
.g_ {
width: 1px;
height: 74px;
background: #E8E8E8;
}
}
.sm_size {
width: 100%;
text-align: center;
font-weight: 500;
font-size: 12px;
}
.sm_size {
width: 100%;
text-align: center;
font-weight: 500;
font-size: 12px;
}
.max-size {
width: 100%;
text-align: center;
font-weight: 600;
font-size: 18px;
color: #333333;
margin: 10px auto;
line-height: 18px;
.max-size {
width: 100%;
text-align: center;
font-weight: 600;
font-size: 18px;
color: #333333;
margin: 10px auto;
line-height: 18px;
}
}
.po_back {
position: fixed;
top: 54px;
left: 15px;
.po_back {
position: fixed;
top: 54px;
left: 15px;
image {
width: 30px;
height: 30px;
}
}
image {
width: 30px;
height: 30px;
}
}
.po_dw {
position: fixed;
top: 18%;
right: 15px;
.po_dw {
position: fixed;
top: 18%;
right: 15px;
image {
width: 35px;
height: 35px;
}
}
image {
width: 35px;
height: 35px;
}
}
.introduce_ {
width: 95%;
z-index: 999999;
background: #FFFFFF;
box-sizing: border-box;
padding: 15px;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border-radius: 6px 6px 6px 6px;
position: fixed;
left: 50%;
bottom: 15%;
transform: translate(-50%, -50%);
}
.introduce_ {
width: 95%;
z-index: 999999;
background: #FFFFFF;
box-sizing: border-box;
padding: 15px;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
border-radius: 6px 6px 6px 6px;
position: fixed;
left: 50%;
bottom: 15%;
transform: translate(-50%, -50%);
}
.p_1 {
font-weight: bold;
font-size: 16px;
color: #333333;
margin-bottom: 10px;
}
.p_1 {
font-weight: bold;
font-size: 16px;
color: #333333;
margin-bottom: 10px;
}
.p_2 {
font-weight: 500;
font-size: 12px;
color: #333333;
margin-bottom: 10px;
}
.p_2 {
font-weight: 500;
font-size: 12px;
color: #333333;
margin-bottom: 10px;
}
.p_3 {
font-weight: bold;
font-size: 12px;
color: #333333;
margin-bottom: 10px;
}
.p_3 {
font-weight: bold;
font-size: 12px;
color: #333333;
margin-bottom: 10px;
}
.p_4 {
font-weight: 500;
font-size: 10px;
color: #999999;
margin-bottom: 10px;
}
.p_4 {
font-weight: 500;
font-size: 10px;
color: #999999;
margin-bottom: 10px;
}
.h_bs {
width: 90%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: space-around;
.h_bs {
width: 90%;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: space-around;
}
}
.zy_ {
text-align: center;
.zy_ {
text-align: center;
image {
width: 30px;
height: 30px;
}
}
image {
width: 30px;
height: 30px;
}
}
.bs_ {
width: 100%;
display: flex;
align-items: center;
.bs_ {
width: 100%;
display: flex;
align-items: center;
box-sizing: border-box;
padding: 15px;
justify-content: space-between;
}
box-sizing: border-box;
padding: 15px;
justify-content: space-between;
}
.ds_ {
display: flex;
align-items: center;
.ds_ {
display: flex;
align-items: center;
image {
width: 50px;
height: 23px;
margin-right: 10px;
}
}
image {
width: 50px;
height: 23px;
margin-right: 10px;
}
}
.dhuang {
font-weight: bold;
font-size: 16px;
color: #FFA629;
}
.dhuang {
font-weight: bold;
font-size: 16px;
color: #FFA629;
}
.h_ds {
display: flex;
align-items: center;
box-sizing: border-box;
padding: 15px;
border-bottom: 1px solid #F2F2F2;
font-family: PingFang SC, PingFang SC;
font-weight: bold;
font-size: 16px;
color: #242E42;
.h_ds {
display: flex;
align-items: center;
box-sizing: border-box;
padding: 15px;
border-bottom: 1px solid #F2F2F2;
font-family: PingFang SC, PingFang SC;
font-weight: bold;
font-size: 16px;
color: #242E42;
}
}
.user_box {
width: 100%;
background: #F7F8FA;
box-sizing: border-box;
padding: 15px;
display: flex;
align-items: center;
justify-content: space-between;
.user_box {
width: 100%;
background: #F7F8FA;
box-sizing: border-box;
padding: 15px;
display: flex;
align-items: center;
justify-content: space-between;
}
}
.touxiang {
image {
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 10px;
}
}
.touxiang {
image {
width: 50px;
height: 50px;
border-radius: 50%;
margin-right: 10px;
}
}
.c-input {
background: red;
width: 90%;
position: absolute;
bottom: 15%;
left: 50%;
transform: translateX(-50%);
z-index: 99999999999999999999999999999999;
background-color: #FFFFFF;
}
.c-input {
background: red;
width: 90%;
position: absolute;
bottom: 15%;
left: 50%;
transform: translateX(-50%);
z-index: 99999999999999999999999999999999;
background-color: #FFFFFF;
}
</style>

View File

@ -403,6 +403,8 @@
this.watchData()
this.getBaseInfo()
this.getOrderInfo()
//移除缓存
// uni.removeStorageSync('isFirst')
},
created() {
uni.setLocale("en")

View File

@ -3,7 +3,7 @@
<u-card title="Contact Us" class="card">
<view class="info">
<u-icon name="email" size="28" color="#2E7D32"/>
<text class="info-text">contact@company.com</text>
<text class="info-text">flinto.registra@flintown.cn</text>
</view>
</u-card>

View File

@ -29,7 +29,7 @@
</view>
<view class="f_" @click="goMyRouter(5)">
<view class="icon_">
<image src="../../static/imgs/me2.png" mode=""></image>
<image src="../../static/imgs/connection.png" mode=""></image>
</view>
<view class="">Contact Us</view>
</view>

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1,7 +1,7 @@
{
"version": "1",
"env": {
"compilerVersion": "4.45.2025010502"
"compilerVersion": "4.29.2024093009"
},
"files": {
"utssdk/app-android/index.uts": {
@ -11,16 +11,16 @@
"md5": "0ef341bba9f99907e18ce67611e4f917"
},
"utssdk/interface.uts": {
"md5": "db15187a9fadbca426061057ae59c979"
"md5": "cc107c301f81d7258b06e2275c8bd580"
},
"utssdk/unierror.uts": {
"md5": "93cda918cb6cdfcb499987746a492d17"
"md5": "aedbc1a046aa54cb4b419cb7cf9cf794"
},
"package.json": {
"md5": "6c74f7276527d2834eed5a1806a1daa5"
"md5": "10b15779033e7e8d4e5812a40553f84e"
},
"utssdk/app-android/config.json": {
"md5": "49e34dad9b85d9ddf183e599555456fa"
"md5": "643b2980a54aaca20ecd07d593fb4099"
}
}
}
}