Commit 7c462fde authored by Mac's avatar Mac

新增粉丝和关注页面

parent 5cde7f0b
......@@ -552,6 +552,10 @@
"root": "pages/blindDate",
"pages": [{
"path": "basicdata"//基础资料的填写
},{
"path":"personal/fanlist"//粉丝列表
},{
"path":"personal/followlist"//关注列表
}]
},
//韩国馆项目 { "root": "pages/kotra", "pages": [{ "path": "contanctus" },{ "path": "contanctDetail" },{ "path": "compInformation" }] }
......
<template>
<view class="fanlist" :style="{ height: contentHeight }">
<u-empty v-if="g.length == 0" text="暂无粉丝" mode="list"></u-empty>
<view
v-if="g.length > 0"
style="
height: calc(100vh);
width: calc(100vw);
overflow: hidden;
"
>
<scroll-view
:scroll-y="true"
:enable-back-to-top="true"
:enable-flex="true"
@scrolltolower="lower"
:style="{ height: '100%' }"
>
<view class="ftBox">
<view class="interDList" v-for="(x, i) in g" :key="i">
<view style="position: relative;">
<u-avatar :src="x.TeacherLogo" size="80"></u-avatar>
<image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/basic-nan.png" style="width: 32rpx;height: 32rpx;position: absolute;right: 0;bottom: 0;"></image>
<!-- <image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/basic-nv.png" style="width: 32rpx;height: 32rpx;position: absolute;right: 0;bottom: 0;"></image> -->
</view>
<view :style="{'width':(windowWidth-30-45-20-30)+'px','margin-left':'10px'}">
<view class="teinfo">{{x.Name}}</view>
<!-- <view class="teinfo" style="margin-top: 10px;font-size: 11px;color: #999999;">{{x.Major}}</view> -->
</view>
<view class="gzbtn" @click.stop="setFollowTeacher(x,i)" >
<view class="iconstyle" :style="{background:mainColor}">
<u-icon name="plus" color="#FFF" size="32"></u-icon>
</view>
<image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/basic-hu.png" style="width: 50rpx;height: 50rpx;"></image>
</view>
</view>
</view>
<u-loadmore
:status="status"
:load-text="loadText"
:font-size="24"
:margin-top="20"
:margin-bottom="20"
bg-color="#FFF"
/>
</scroll-view>
</view>
<!-- 加载中 -->
<view class="loading" v-if="loading">
<u-loading mode="flower" size="48">></u-loading>
<Text style="color: #fff; margin-top: 10rpx;">加载中...</Text>
</view>
<!-- 取消提示 -->
<u-toast ref="uToast" />
<auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth= 'gbAuth'></auth>
</view>
</template>
<script>
import auth from "../../../components/auth/index.vue";
export default {
components: {
auth
},
data() {
return {
pageTitle: "粉丝",
showAuth:false,
msg:{
pageIndex: 1,
pageSize:10,
},
mainColor: "",
secondary:'',
pricecolor:'',
contentHeight: 0,
page: 1,
page_count: 1,
g: [],
loading: false,
status: "loadmore",
count:0,
loadText: {
loadmore: "轻轻上拉,加载更多",
loading: "努力加载中",
nomore: "没有更多了",
},
windowWidth:0,
};
},
created() {
this.contentHeight = this.$utils.calcContentHeight(-40) + "px";
this.mainColor = this.$uiConfig.mainColor;
this.secondary = this.$uiConfig.secondary;
this.pricecolor = this.$uiConfig.pricecolor;
this.windowWidth = this.$utils.SystemInfo().windowWidth;
},
mounted() {
let currentPages = getCurrentPages();
let u = "/" + currentPages[currentPages.length - 1].route;
let pages = wx.getStorageSync("basedata")
? wx.getStorageSync("basedata").bar_title
: [];
pages.forEach((x) => {
if (x.value == u) {
this.pageTitle = x.new_name ? x.new_name : x.name;
}
});
uni.setNavigationBarTitle({
title: this.pageTitle,
});
},
onLoad(){
this.u = uni.getStorageSync("mall_UserInfo");
if (!this.u) {
this.u = {
nickName: "未登录",
avatarUrl: ""
};
this.showAuth = true;
} else{
this.init();
}
},
methods: {
init() {
this.loading = true;
this.request2(
{
url: '/api/AppletEducation/GetFollowTeacherPageList',
data: this.msg
},
res => {
if(res.resultCode==1){
this.loading = false;
this.count = res.data.count;
// res.data.pageData.forEach(x=>{
// x.fanlist=1;//1为关注
// })
this.g = this.g.concat(res.data.pageData);
this.page_count = res.data.pageCount;
if (this.page_count == 1) {
this.status = "nomore";
}
}
}
);
},
setFollowTeacher(x,i){
this.request2({
url: '/api/AppletEducation/fanlist',
data: {
ID: x.ID,
TeacherId:x.TeacherId,
}
},
res => {
this.g.splice(i,1)
this.count--
uni.showToast({
title: res.message,
icon: 'none',
duration: 2000
});
}
);
},
lower(e) {
if (this.msg.pageIndex < this.page_count) {
this.msg.pageIndex++;
this.status = "loading";
this.init();
} else {
this.status = "nomore";
}
},
reloadUserinfo() {
this.u = uni.getStorageSync("mall_UserInfo");
// this.showAuth=false;
this.init();
},
//关闭登录窗口
gbAuth(){
uni.navigateBack()
},
},
};
</script>
<style>
.fanlist {
width: 100%;
height: 100vh;
background: #FFF;
}
.fanlist .loading {
width: 200rpx;
height: 200rpx;
background: #000000;
opacity: 0.7;
border-radius: 10rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: fixed;
left: 50%;
top: 30%;
margin-left: -100rpx;
z-index: 999;
}
.fanlist .interDList{
width:calc(100vw - 30px) ;
display: flex;
flex-direction: row;
align-items: center;
padding: 15px 0;
border-bottom: 1px solid #f5f5f5;
}
.fanlist .followTeacher-top{
width: 100%;
height: 35px;
padding: 0 15px;
display: flex;
flex-direction: row;
align-items: center;
font-size: 11px;
color: #999999;
background: #FAF8F9;
}
.fanlist .ftBox{
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.fanlist .teinfo{
width: 100%;
overflow: hidden;white-space: nowrap;text-overflow: ellipsis;
font-size: 15px;
}
.fanlist .gzbtn{
width: 69px;
height: 26px;
border-radius: 4px;
margin-left: 8px;
color: #111111;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
}
.iconstyle{
width: 50rpx;
height: 50rpx;
border-radius: 25rpx;
display: flex;
align-items: center;
justify-content: center;
}
</style>
<template>
<view class="followlist" :style="{ height: contentHeight }">
<u-empty v-if="g.length == 0" text="暂无关注对象" mode="list"></u-empty>
<view
v-if="g.length > 0"
style="
height: calc(100vh);
width: calc(100vw);
overflow: hidden;
"
>
<scroll-view
:scroll-y="true"
:enable-back-to-top="true"
:enable-flex="true"
@scrolltolower="lower"
:style="{ height: '100%' }"
>
<view class="ftBox">
<view class="interDList" v-for="(x, i) in g" :key="i">
<view style="position: relative;">
<u-avatar :src="x.TeacherLogo" size="80"></u-avatar>
<image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/basic-nan.png" style="width: 32rpx;height: 32rpx;position: absolute;right: 0;bottom: 0;"></image>
<!-- <image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/basic-nv.png" style="width: 32rpx;height: 32rpx;position: absolute;right: 0;bottom: 0;"></image> -->
</view>
<view :style="{'width':(windowWidth-30-45-20-30)+'px','margin-left':'10px'}">
<view class="teinfo">{{x.Name}}</view>
<!-- <view class="teinfo" style="margin-top: 10px;font-size: 11px;color: #999999;">{{x.Major}}</view> -->
</view>
<view class="gzbtn" @click.stop="setFollowTeacher(x,i)" >
<view class="iconstyle" >
<u-icon name="success" color="#999999" size="32"></u-icon>
</view>
<image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/basic-hu.png" style="width: 50rpx;height: 50rpx;"></image>
</view>
</view>
</view>
<u-loadmore
:status="status"
:load-text="loadText"
:font-size="24"
:margin-top="20"
:margin-bottom="20"
bg-color="#FFF"
/>
</scroll-view>
</view>
<!-- 加载中 -->
<view class="loading" v-if="loading">
<u-loading mode="flower" size="48">></u-loading>
<Text style="color: #fff; margin-top: 10rpx;">加载中...</Text>
</view>
<!-- 取消提示 -->
<u-toast ref="uToast" />
<auth v-if="showAuth" @changeuserinfo="reloadUserinfo" @gbAuth= 'gbAuth'></auth>
</view>
</template>
<script>
import auth from "../../../components/auth/index.vue";
export default {
components: {
auth
},
data() {
return {
pageTitle: "粉丝",
showAuth:false,
msg:{
pageIndex: 1,
pageSize:10,
},
mainColor: "",
secondary:'',
pricecolor:'',
contentHeight: 0,
page: 1,
page_count: 1,
g: [],
loading: false,
status: "loadmore",
count:0,
loadText: {
loadmore: "轻轻上拉,加载更多",
loading: "努力加载中",
nomore: "没有更多了",
},
windowWidth:0,
};
},
created() {
this.contentHeight = this.$utils.calcContentHeight(-40) + "px";
this.mainColor = this.$uiConfig.mainColor;
this.secondary = this.$uiConfig.secondary;
this.pricecolor = this.$uiConfig.pricecolor;
this.windowWidth = this.$utils.SystemInfo().windowWidth;
},
mounted() {
let currentPages = getCurrentPages();
let u = "/" + currentPages[currentPages.length - 1].route;
let pages = wx.getStorageSync("basedata")
? wx.getStorageSync("basedata").bar_title
: [];
pages.forEach((x) => {
if (x.value == u) {
this.pageTitle = x.new_name ? x.new_name : x.name;
}
});
uni.setNavigationBarTitle({
title: this.pageTitle,
});
},
onLoad(){
this.u = uni.getStorageSync("mall_UserInfo");
if (!this.u) {
this.u = {
nickName: "未登录",
avatarUrl: ""
};
this.showAuth = true;
} else{
this.init();
}
},
methods: {
init() {
this.loading = true;
this.request2(
{
url: '/api/AppletEducation/GetFollowTeacherPageList',
data: this.msg
},
res => {
if(res.resultCode==1){
this.loading = false;
this.count = res.data.count;
// res.data.pageData.forEach(x=>{
// x.followlist=1;//1为关注
// })
this.g = this.g.concat(res.data.pageData);
this.page_count = res.data.pageCount;
if (this.page_count == 1) {
this.status = "nomore";
}
}
}
);
},
setFollowTeacher(x,i){
this.request2({
url: '/api/AppletEducation/followlist',
data: {
ID: x.ID,
TeacherId:x.TeacherId,
}
},
res => {
this.g.splice(i,1)
this.count--
uni.showToast({
title: res.message,
icon: 'none',
duration: 2000
});
}
);
},
lower(e) {
if (this.msg.pageIndex < this.page_count) {
this.msg.pageIndex++;
this.status = "loading";
this.init();
} else {
this.status = "nomore";
}
},
reloadUserinfo() {
this.u = uni.getStorageSync("mall_UserInfo");
// this.showAuth=false;
this.init();
},
//关闭登录窗口
gbAuth(){
uni.navigateBack()
},
},
};
</script>
<style>
.followlist {
width: 100%;
height: 100vh;
background: #FFF;
}
.followlist .loading {
width: 200rpx;
height: 200rpx;
background: #000000;
opacity: 0.7;
border-radius: 10rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: fixed;
left: 50%;
top: 30%;
margin-left: -100rpx;
z-index: 999;
}
.followlist .interDList{
width:calc(100vw - 30px) ;
display: flex;
flex-direction: row;
align-items: center;
padding: 15px 0;
border-bottom: 1px solid #f5f5f5;
}
.followlist .followTeacher-top{
width: 100%;
height: 35px;
padding: 0 15px;
display: flex;
flex-direction: row;
align-items: center;
font-size: 11px;
color: #999999;
background: #FAF8F9;
}
.followlist .ftBox{
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
.followlist .teinfo{
width: 100%;
overflow: hidden;white-space: nowrap;text-overflow: ellipsis;
font-size: 15px;
}
.followlist .gzbtn{
width: 69px;
height: 26px;
border-radius: 4px;
margin-left: 8px;
color: #111111;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
}
.iconstyle{
width: 50rpx;
height: 50rpx;
border-radius: 25rpx;
display: flex;
align-items: center;
justify-content: center;
border:1px solid #999999
}
</style>
......@@ -378,6 +378,7 @@
.shareindexStyle .shareadd {
width: 100%;
height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment