增加我的页面

main
26947 2024-06-08 14:36:51 +08:00
parent ea7bb59e32
commit c43c960568
5 changed files with 290 additions and 236 deletions

View File

@ -1,6 +1,6 @@
{
{
"name" : "若依移动端",
"appid" : "__UNI__25A9D80",
"appid" : "__UNI__9285214",
"description" : "",
"versionName" : "1.1.0",
"versionCode" : "100",
@ -14,9 +14,7 @@
"autoclose" : true,
"delay" : 0
},
"modules" : {
"OAuth" : {}
},
"modules" : {},
"distribute" : {
"android" : {
"permissions" : [
@ -29,7 +27,6 @@
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",

View File

@ -168,7 +168,9 @@
{
"path": "pages/mine/index",
"style": {
"navigationBarTitleText": "我的"
"navigationBarTitleText": "我的",
"navigationStyle": "custom",
"navigationBarTextStyle": "white"
}
},
{
@ -295,8 +297,8 @@
"text": "工作台"
}, {
"pagePath": "pages/mine/index",
"iconPath": "static/images/tabbar/mine.png",
"selectedIconPath": "static/images/tabbar/mine_.png",
"iconPath": "static/images/tabbar/tu1-10.png",
"selectedIconPath": "static/images/tabbar/tu1-9.png",
"text": "我的"
}]
},

View File

@ -27,7 +27,7 @@
</view>
<!-- tabs标签 -->
<view class="tabsinfo flex alignCenter justifyCenter">
<up-tabs :list="list4" lineWidth="24" lineHeight="4" lineColor="#B3D7FF" :activeStyle="{
<up-tabs :list="list4" lineWidth="24" lineHeight="4" @click="tabsClick" lineColor="#B3D7FF" :activeStyle="{
color: '#000000',
fontSize: '30rpx',
transform: 'scale(1.05)'
@ -69,10 +69,10 @@ const bgColor = ref('');
bgColor.value = 'rgba(170, 0, 0, 0)'
const store = useStore()
const list4 = reactive([
{ name: '全部' },
{ name: '未开始' },
{ name: '进行中' },
{ name: '已结束' }
{ name: '全部',state:9 },
{ name: '未开始',state:1 },
{ name: '进行中',state:2 },
{ name: '已结束',state:0 }
]);
const actiInfoList = ref([]);
const data = reactive({
@ -158,6 +158,16 @@ function reset() {
console.log("下拉刷新,",options);
getList();
})
//tabs
const tabsClick =(e) =>{
if(e.state == 9){
queryParams.value.state = null;
}else{
queryParams.value.state = e.state;
}
getList();
}
/** 查询活动详情列表 */
function getList() {
queryParams.value.params = {};

View File

@ -1,148 +1,72 @@
<template>
<view class="h-full w-full" :style="{ height: `${windowHeight}px` }">
<!--顶部个人信息栏-->
<view class="px-4 pt-4 pb-2 bg-[#3c96f3] text-white">
<view class="flex padding justify-between">
<view class="flex items-center">
<view v-if="!avatar" class="border-2 border-solid border-[#eaeaea] rounded-full w-16 h-16 bg-white">
<view class="iconfont icon-people text-gray text-[40px]"></view>
</view>
<image v-if="avatar" @click="handleToAvatar" :src="avatar"
class="border-2 border-solid border-[#eaeaea] rounded-full w-12 h-13" mode="widthFix">
</image>
<view v-if="!name" @click="handleToLogin" class="text-lg ml-2.5">
点击登录
</view>
<view v-if="name" @click="handleToInfo" class="ml-4">
<view class="text-lg">
用户昵称{{ nickName }}
</view>
<view class="text-lg">
ID{{ name }}
</view>
<view>
<view class="cards">
<image class="bg" :src="bjt"></image>
<view>
<view v-if="!name">
<view class="userInfoNot" @click="handleToLogin">
<up-avatar size="148rpx"></up-avatar>
<up-text text="请登录" size="44rpx" color="#FFFFFF" bold="400" margin="24rpx"></up-text>
</view>
</view>
<view v-else>
<view class="userInfoNot">
<up-avatar :src="avatar" size="148rpx"></up-avatar>
<up-text :text="nickName" size="44rpx" color="#FFFFFF" bold="400" margin="24rpx"></up-text>
<up-text :text="sex" size="44rpx" color="#FFFFFF" bold="400" margin="24rpx"></up-text>
</view>
</view>
<view class="smallUserInfo">
<view class="small1">
<up-text :text="infoAssist" size="36rpx" color="#FFFFFF" bold="400" align="center"></up-text>
<up-text text="点赞" size="28rpx" color="#FFFFFF" align="center"></up-text>
</view>
<view class="small1">
<up-text :text="followCount" size="36rpx" color="#FFFFFF" bold="400" align="center"></up-text>
<up-text text="关注" size="28rpx" color="#FFFFFF" align="center"></up-text>
</view>
<view class="small1">
<up-text :text="fanCount" size="36rpx" color="#FFFFFF" bold="400" align="center"></up-text>
<up-text text="粉丝" size="28rpx" color="#FFFFFF" align="center"></up-text>
</view>
</view>
</view>
<view v-if="name" class="info1" >
<view class="info11">
<up-icon v-if="sex == '0'"
name="man"
size="30"
color="blue"
></up-icon>
<up-icon v-else-if="sex == '1'"
name="woman"
size="30"
color="pink"
></up-icon>
<span >22</span>
</view>
<view class="info12">
<span>LV.</span>
<span >2</span>
</view>
<view class="info13">
<up-icon
name="star"
size="30"
color="#333333"
></up-icon>
<span >77</span>
</view>
</view>
</view>
<view class="zinfo">
<view>0关注</view>
<view>0</view>
<view>8浏览</view>
<view>8收藏</view>
<view class="cardz1">
<text class="text1">我的话题</text>
<view>
<up-grid :border="false" col="5" @click="grid1Click1">
<up-grid-item v-for="(listItem, listIndex) in list1" :key="listIndex"
customStyle="padding-top: 24rpx; ">
<image :src="listItem.icon" style="width: 66rpx; height: 66rpx;"></image>
<text style="font-size: 24rpx;color: #999999;margin-top: 20rpx;">{{ listItem.title }}</text>
</up-grid-item>
</up-grid>
</view>
</view>
<view class="content-section relative top-[-10px]">
<view class="m-4 py-5 bg-white rounded-md grid grid-cols-3 text-center [&_.icon]:text-[28px]">
<view @click="handleJiaoLiuQun">
<view class="iconfont icon-caogao text-pink-600 icon"></view>
<view class="my-2 text-xs">草稿箱</view>
</view>
<view @click="handleBuilding">
<view class="iconfont icon-lishixinxi text-blue-600 icon"></view>
<view class="my-2 text-xs">历史投稿</view>
</view>
<view @click="handleBuilding" style="justify-content: center;">
<view class="iconfont icon-lanqi text-blue-600 icon"></view>
<view class="my-2 text-xs">参与活动</view>
</view>
<view class="cardz1">
<text class="text1">我的活动</text>
<view>
<up-grid :border="false" col="5" @click="grid1Click2">
<up-grid-item v-for="(listItem, listIndex) in list2" :key="listIndex"
customStyle="padding-top: 24rpx; ">
<image :src="listItem.icon" style="width: 66rpx; height: 66rpx;"></image>
<text style="font-size: 24rpx;color: #999999;margin-top: 20rpx;">{{ listItem.title }}</text>
</up-grid-item>
</up-grid>
</view>
<view class="menu-list">
<view class="list-cell list-cell-arrow" @click="handleToUserInfo">
<view class="menu-item-box">
<view class="iconfont icon-user menu-icon"></view>
<view>账号设置</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleToInfo">
<view class="menu-item-box">
<view class="iconfont icon-user menu-icon"></view>
<view>个人信息</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view>学生专属卡</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view>邀请好友</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view>优惠券</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view>地址管理</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view>我的订单</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view>客服中心</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleAbout">
<view class="menu-item-box">
<view class="iconfont icon-aixin menu-icon"></view>
<view>关于我们</view>
</view>
</view>
<view class="list-cell list-cell-arrow" @click="handleToSetting">
<view class="menu-item-box">
<view class="iconfont icon-setting menu-icon"></view>
<view>应用设置</view>
</view>
</view>
</view>
<view class="cardz3">
<text class="text1">更多功能</text>
<view>
<up-grid :border="false" col="4" @click="grid1Click3">
<up-grid-item v-for="(listItem, listIndex) in list3" :key="listIndex"
customStyle="padding-top: 24rpx; ">
<image :src="listItem.icon" style="width: 66rpx; height: 66rpx;"></image>
<text style="font-size: 24rpx;color: #999999;margin-top: 20rpx;">{{ listItem.title }}</text>
</up-grid-item>
</up-grid>
</view>
</view>
</view>
</template>
@ -152,104 +76,193 @@ import { useStore } from 'vuex'
import { useRouter } from 'vue-router'
import { ref, getCurrentInstance } from 'vue';
const { proxy } = getCurrentInstance();
const iconConfig = proxy.iconConfig;
const bjt = iconConfig.bjt;
//+
const gd11 = iconConfig.gd11;
const gd12 = iconConfig.gd12;
const gd13 = iconConfig.gd13;
const gd14 = iconConfig.gd14;
const gd21 = iconConfig.gd21;
const gd22 = iconConfig.gd22;
const gd23 = iconConfig.gd23;
const gd24 = iconConfig.gd24;
//+
const ht11 = iconConfig.ht11;
const ht12 = iconConfig.ht12;
const ht13 = iconConfig.ht13;
const ht14 = iconConfig.ht14;
const ht15 = iconConfig.ht15;
// +
const hd11 = iconConfig.hd11;
const hd12 = iconConfig.hd12;
const hd13 = iconConfig.hd13;
const hd14 = iconConfig.hd14;
const hd15 = iconConfig.hd15;
const list1 = ref([
{icon: ht11, title: '全部话题' },
{ icon: ht12, title: '已发布' },
{ icon: ht13, title: '审核中' },
{ icon: ht14, title: '未通过' },
{ icon: ht15, title: '草稿箱' }
])
const list2 = ref([
{icon: hd11, title: '全部活动' },
{ icon: hd12, title: '已发布' },
{ icon: hd13, title: '审核中' },
{ icon: hd14, title: '未通过' },
{ icon: hd15, title: '草稿箱' }
])
const list3 = ref([
{icon: gd11, title: '外卖订单' },
{ icon: gd12, title: '我的兼职' },
{ icon: gd13, title: '证件证明' },
{ icon: gd14, title: '地址管理' },
{ icon: gd21, title: '优惠卡券' },
{icon: gd22, title: '联系客服' },
{ icon: gd23, title: '邀请好友' },
{ icon: gd24, title: '系统设置' }
])
const infoAssist = ref(0)
const followCount = ref(0)
const fanCount = ref(0)
const name = ref(proxy.$store.state.user.name)
const nickName = ref(proxy.$store.state.user.nickName)
const sex = ref(proxy.$store.state.user.sex)
const version = ref(getApp().globalData.config.appInfo.version)
const avatar = ref(proxy.$store.state.user.avatar)
const info = ()=> {
console.log(avatar);
}
info();
const name = ref(proxy.$store.state.user.name)
const nickName = ref(proxy.$store.state.user.nickName)
const sex = ref(proxy.$store.state.user.sex)
const version = ref(getApp().globalData.config.appInfo.version)
const avatar = ref(proxy.$store.state.user.avatar)
function handleLogout() {
proxy.$modal.confirm('确定注销并退出系统吗?').then(() => {
proxy.$store.dispatch('LogOut').then(() => {
proxy.$tab.reLaunch('/pages/index')
})
})
}
const handleToUserInfo = ()=> {
proxy.$tab.navigateTo('/pages/mine/info/userInfo')
}
const grid1Click1 = (e) => {
console.log(e);
}
const grid1Click2 = (e) => {
console.log(e);
}
const grid1Click3 = (e) => {
console.log(e);
}
function windowHeight() {
return uni.getSystemInfoSync().windowHeight - 50
}
const info = () => {
console.log(avatar);
}
info();
function handleToLogin() {
proxy.$tab.reLaunch('/pages/loginInfo/login')
}
const handleToUserInfo = () => {
proxy.$tab.navigateTo('/pages/mine/info/userInfo')
}
function handleToInfo() {
proxy.$tab.navigateTo('/pages/mine/info/index')
}
function handleToEditInfo() {
proxy.$tab.navigateTo('/pages/mine/info/edit')
}
function handleToSetting() {
proxy.$tab.navigateTo('/pages/mine/setting/index')
}
function handleToLogin() {
proxy.$tab.reLaunch('/pages/login')
}
function handleToAvatar() {
proxy.$tab.navigateTo('/pages/mine/avatar/index')
}
function handleLogout() {
proxy.$modal.confirm('确定注销并退出系统吗?').then(() => {
proxy.$store.dispatch('LogOut').then(() => {
proxy.$tab.reLaunch('/pages/index')
})
})
}
function handleHelp() {
proxy.$tab.navigateTo('/pages/mine/help/index')
}
function handleAbout() {
proxy.$tab.navigateTo('/pages/mine/about/index')
}
function handleJiaoLiuQun() {
proxy.$modal.showToast('QQ群①133713780、②146013835')
}
function handleBuilding() {
proxy.$modal.showToast('模块建设中~')
}
function windowHeight() {
return uni.getSystemInfoSync().windowHeight - 50
}
function handleToInfo() {
proxy.$tab.navigateTo('/pages/mine/info/index')
}
function handleToEditInfo() {
proxy.$tab.navigateTo('/pages/mine/info/edit')
}
function handleToSetting() {
proxy.$tab.navigateTo('/pages/mine/setting/index')
}
function handleToAvatar() {
proxy.$tab.navigateTo('/pages/mine/avatar/index')
}
function handleHelp() {
proxy.$tab.navigateTo('/pages/mine/help/index')
}
function handleAbout() {
proxy.$tab.navigateTo('/pages/mine/about/index')
}
function handleJiaoLiuQun() {
proxy.$modal.showToast('QQ群①133713780、②146013835')
}
function handleBuilding() {
proxy.$modal.showToast('模块建设中~')
}
</script>
<style lang="scss">
page {
background-color: #f5f6f7;
}
.info1{
display: flex;
justify-content:space-evenly;
font-weight: bold;
font-size: 18px;
.info11{
display: flex;
align-items: center;
background-color: rgba(174, 235, 96, 1);
border-radius: 15px;
padding: 2px 8px 2px 8px;
}
.info12{
display: flex;
align-items: center;
background-color: rgba(242, 132, 102, 1);
border-radius: 15px;
padding: 2px 8px 2px 8px;
}
.info13{
display: flex;
align-items: center;
background-color: rgba(116, 118, 230, 1);
border-radius: 15px;
padding: 2px 8px 2px 8px;
}
background-color: #F4F5F6;
}
.zinfo{
display: flex;
justify-content:space-evenly;
.cards {
position: relative;
font-size: 18px;
.userInfoNot {
position: absolute;
top: 200rpx;
left: 32rpx;
display: flex;
justify-content: center;
align-items: center;
}
.smallUserInfo {
position: absolute;
left: 47rpx;
bottom: 26rpx;
width: 656rpx;
height: 66rpx;
display: flex;
justify-content: space-between;
align-items: flex-end;
.small1 {}
}
}
.bg {
width: 100%;
height: 500rpx;
}
.cardz1 {
width: 686rpx;
height: 212rpx;
border-radius: 24rpx;
background: #ffffff;
margin: 24rpx auto;
padding-top: 24rpx; // padding
.text1 {
font-weight: 400;
font-size: 28rpx;
text-align: left;
color: #010101 !important;
margin: 0 24rpx; // margin top margin
}
}
.cardz3 {
width: 686rpx;
height: 356rpx;
border-radius: 24rpx;
background: #ffffff;
margin: 24rpx auto;
padding-top: 24rpx; // padding
.text1 {
font-weight: 400;
font-size: 28rpx;
text-align: left;
color: #010101 !important;
margin: 0 24rpx; // margin top margin
}
}
</style>

View File

@ -29,10 +29,42 @@ const cg2x22 = ref(QNDomain + "home/icon/image/png/成功@2x2 (2)_20240605100300
//话题-发布话题 审核失败
const sb2x = ref(QNDomain + "home/icon/image/png/审核失败@2x_20240605101107230.png");
const sb2x1 = ref(QNDomain + "home/icon/image/png/审核失败@2x1_20240605101107230.png");
//我的界面
//+背景图
const bjt = ref(QNDomain + "home/icon/image/png/bjtu_20240608121940341.png");
//+更多
const gd11 = ref(QNDomain + "home/icon/image/png/gd11_20240608080819017.png");
const gd12 = ref(QNDomain + "home/icon/image/png/gd12_20240608080819017.png");
const gd13 = ref(QNDomain + "home/icon/image/png/gd13_20240608080819030.png");
const gd14 = ref(QNDomain + "home/icon/image/png/gd14_20240608080819028.png");
const gd21 = ref(QNDomain + "home/icon/image/png/gd21_20240608080819022.png");
const gd22 = ref(QNDomain + "home/icon/image/png/gd22_20240608080819027.png");
const gd23 = ref(QNDomain + "home/icon/image/png/gd23_20240608080819044.png");
const gd24 = ref(QNDomain + "home/icon/image/png/gd24_20240608080819046.png");
//+我的话题
const ht11 = ref(QNDomain + "home/icon/image/png/ht11_20240608080819069.png");
const ht12 = ref(QNDomain + "home/icon/image/png/ht12_20240608080819073.png");
const ht13 = ref(QNDomain + "home/icon/image/png/ht13_20240608080819079.png");
const ht14 = ref(QNDomain + "home/icon/image/png/ht14_20240608080819079.png");
const ht15 = ref(QNDomain + "home/icon/image/png/ht15_20240608080819079.png");
// +我的活动
const hd11 = ref(QNDomain + "home/icon/image/png/hd11_20240608080819049.png");
const hd12 = ref(QNDomain + "home/icon/image/png/hd12_20240608080819056.png");
const hd13 = ref(QNDomain + "home/icon/image/png/hd13_20240608080819055.png");
const hd14 = ref(QNDomain + "home/icon/image/png/hd14_20240608080819057.png");
const hd15 = ref(QNDomain + "home/icon/image/png/hd15_20240608080819068.png");
export default {
tu21,tu22,tu23,tu2x,
tu51,tu52,tu53,tu512,tu522,tu532,
sh2x,sh2x1,
cg2x21,cg2x22,
sb2x,sb2x1,
//我的界面
bjt,
gd11,gd12,gd13,gd14,gd21,gd22,gd23,gd24,
ht11,ht12,ht13,ht14,ht15,
hd11,hd12,hd13,hd14,hd15,
}