Merge branch 'youda' of http://192.168.195.14:3000/shang/yfs into youda

This commit is contained in:
18631081161 2025-06-07 22:17:53 +08:00
commit f5fc0c3c0f
9 changed files with 105 additions and 2072 deletions

View File

@ -1,5 +1,6 @@
import BasePlatform from './BasePlatform';
import RequestManager from '@/common/request.js'
import {navigateTo} from '@/common/router'
import {
sleep,
parseQueryString
@ -250,6 +251,10 @@ class AppPlatform extends BasePlatform {
if (!this.getIsCheck("user_menu_3")) {
menuList.push(menu);
}
} if (menu.id == 5) {
if (!this.getIsCheck("user_menu_5")) {
menuList.push(menu);
}
} else {
menuList.push(menu);
@ -341,6 +346,7 @@ class AppPlatform extends BasePlatform {
// #endif
}
handleLogout() {
var that = this;
uni.showModal({
title: '提示',
content: '确定要退出登录吗?',
@ -348,13 +354,28 @@ class AppPlatform extends BasePlatform {
if (res.confirm) {
uni.removeStorageSync('token');
uni.removeStorageSync('userinfo');
uni.switchTab({
url: '/pages/shouye/index'
that.getConfig().then(res => {
console.log("AppLaunch", res);
if (!res.isCheck) {
uni.switchTab({
url: '/pages/shouye/index'
});
} else {
uni.switchTab({
url: '/pages/mall/index'
});
}
});
// window.location.href = window.location.href;
}
}
});
}
getUserAgreement() {
navigateTo('/pages/guize/guize', { type: 30 })
}
getPrivacyAgreement() {
navigateTo('/pages/guize/guize', { type: 31 })
}
}
export default AppPlatform;

View File

@ -103,65 +103,65 @@ class BasePlatform {
*/
getUserMenuList() {
let m = [{
id: 1,
show: true,
title: '消费记录',
icon: 'my/s1.png',
path: '/pages/other/order_list',
handler: this.navigateToPath.bind(this)
},
{
id: 3,
show: true,
title: '我的收藏',
icon: 'my/s3.png',
path: '/package/mine/collect',
handler: this.navigateToPath.bind(this)
},
{
id: 4,
show: true,
title: '优惠券',
icon: 'my/s4.png',
path: '/pages/user/coupon',
handler: this.navigateToPath.bind(this)
},
{
id: 5,
show: true,
title: '邀请好友',
icon: 'my/s5.png',
path: '/pages/user/tui-guang',
handler: this.navigateToPath.bind(this)
},
{
id: 6,
show: true,
title: '加入福利群',
icon: 'my/s6.png',
path: '',
handler: this.handleJoinGroup.bind(this)
},
{
id: 7,
show: true,
title: '用户协议',
icon: 'my/s7.png',
path: '/pages/guize/guize?type=4',
handler: this.navigateToPath.bind(this)
}
id: 1,
show: true,
title: '消费记录',
icon: 'my/s1.png',
path: '/pages/other/order_list',
handler: this.navigateToPath.bind(this)
},
{
id: 3,
show: true,
title: '我的收藏',
icon: 'my/s3.png',
path: '/package/mine/collect',
handler: this.navigateToPath.bind(this)
},
{
id: 4,
show: true,
title: '优惠券',
icon: 'my/s4.png',
path: '/pages/user/coupon',
handler: this.navigateToPath.bind(this)
},
{
id: 5,
show: true,
title: '邀请好友',
icon: 'my/s5.png',
path: '/pages/user/tui-guang',
handler: this.navigateToPath.bind(this)
},
{
id: 6,
show: true,
title: '加入福利群',
icon: 'my/s6.png',
path: '',
handler: this.handleJoinGroup.bind(this)
},
{
id: 7,
show: true,
title: '用户协议',
icon: 'my/s7.png',
// path: '/pages/guize/guize?type=4',
handler: this.getUserAgreement.bind(this)
}
];
if (uni.getStorageSync('token') != null && uni.getStorageSync('token') != "") {
m.push({
id: 8,
show: true,
title: '注销账号',
icon: 'my/s10.png',
path: '/pages/user/cancel-account-page',
handler: this.navigateToPath.bind(this)
}),
id: 8,
show: true,
title: '注销账号',
icon: 'my/s10.png',
path: '/pages/user/cancel-account-page',
handler: this.navigateToPath.bind(this)
}),
m.push({
id: 8,
show: true,
@ -204,9 +204,6 @@ class BasePlatform {
if (res.confirm) {
uni.removeStorageSync('token');
uni.removeStorageSync('userinfo');
// uni.switchTab({
// url: '/pages/user/index'
// });
window.location.href = window.location.href;
}
}
@ -227,5 +224,12 @@ class BasePlatform {
getVersion() {
return '1.0.0';
}
getUserAgreement() {
navigateTo('/pages/guize/guize', { type: 4 })
}
getPrivacyAgreement() {
navigateTo('/pages/guize/guize', { type: 5 })
}
}
export default BasePlatform;

View File

@ -63,7 +63,7 @@
{
"path": "pages/user/login",
"style": {
"navigationBarTitleText": "友达赏",
"navigationBarTitleText": "登录",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
@ -71,7 +71,7 @@
{
"path": "pages/user/bangding",
"style": {
"navigationBarTitleText": "友达赏",
"navigationBarTitleText": "绑定手机号",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
@ -83,14 +83,6 @@
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/user/yetx",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "星钻明细",
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/user/xfjl",
"style": {
@ -202,30 +194,6 @@
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/DrawCard/index",
"style": {
"navigationBarTextStyle": "black",
"navigationStyle": "custom"
}
},
{
"path": "pages/DrawCard/cardDetail",
"style": {
"navigationBarTextStyle": "black",
"navigationStyle": "custom"
}
},
{
"path": "pages/DrawCard/tujian",
"style": {
"navigationBarBackgroundColor": "#222222",
"navigationBarTitleText": "图鉴",
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/infinite/index",
"style": {
@ -428,7 +396,7 @@
{
"path": "leitai",
"style": {
"navigationBarTitleText": "擂台赏",
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,346 +0,0 @@
<template>
<view class="content">
<!-- 顶部搜索 -->
<view class="content_top">
<view class="content_top_bar"></view>
<view class="content_top_title">友达赏</view>
<view class="flex_center">
<view class="title_ipt">
<image :src="z_imgPath+'search.png'"></image>
<input type="text" placeholder="请输入关键字" placeholder-style="color:rgba(2555,255,255,0.6)"
confirm-type="search" v-model="keyword" @confirm="show='',loadData(1)" />
</view>
</view>
</view>
<mescroll-body ref="mescrollRef" class="valbox" @init="mescrollInit" :down="downOption" @down="downCallback"
@up="upCallback">
<!-- 轮播 -->
<view style="position: relative;">
<swiper class="content_swiper" :autoplay="true" :indicator-dots="true" :circular="true">
<swiper-item v-for="(v,i) in advert" :key='i'>
<image class="yh_bg" :src="'https://hdyfs.languowangluo.cn'+v.imgurl"></image>
</swiper-item>
</swiper>
<!-- <image :src="z_imgPath+'xian.png'" class="xianStyle"></image>
<image :src="z_imgPath+'mysy.png'" class="mysyStyle"></image> -->
</view>
<!-- 公告 -->
<view class="content_gonggao" v-if="aa && notice_list && notice_list.length>0">
<lff-barrage ref="lffBarrage"></lff-barrage>
</view>
<!-- 类型筛选 -->
<view class="qiehuan">
<view @click="getlist(v.id)" v-for="(v,i) in arr" :key="i" :class="show==v.id?'xzs':'wzs'">
{{v.title}}
<!-- <image :src="show==v.show?z_imgPath+v.sel:z_imgPath+v.img" :style="show==v.show?'width:160rpx;height:47rpx;':'width:102rpx;height:26rpx;'"></image> -->
</view>
</view>
<!-- 卡片数据 -->
<view class="content_con">
<view v-for="(item,index) in listdata" :key="index" class="content_con_item" @click="todetails(item)"
:style="'background: url('+ z_imgPath + 'chouka_bg.png'+ ') no-repeat 0 0 / 100% 100%;'">
<view class="item_img">
<image :src="item.imgurl" mode="aspectFill"></image>
</view>
<view class="item_title">
<view class="hang1">{{item.title}}</view>
<view><text>{{item.show_price}}</text></view>
</view>
</view>
</view>
</mescroll-body>
<tab-bar :index="2"></tab-bar>
</view>
</template>
<script>
import lffBarrage from '@/components/lff-barrage/lff-barrage.vue'
export default {
components: {
lffBarrage
},
data() {
return {
z_imgPath: this.$z_img1 + 'chouka/',
arr:'',
// arr: ['', '', '', '', ''],
show:0,
keyword: '',
listdata: [],
downOption: {
auto: false
},
advert: [], //
notice_list: [], //
erweima: '', //
yushou_rili: '', //
jump_appid: '', // id
aa: false,
}
},
onUnload() {
this.aa = false
},
onHide() {
clearInterval(this.timer);
this.aa = false
let pages = getCurrentPages()
uni.setStorageSync('page', this.$mp.page.route)
},
onLoad(v) {
this.getnews();
this.getCate();
},
onShow() {
let that = this;
this.aa = true
setTimeout(() => {
that.colrdo()
}, 500)
},
onShareAppMessage() {
let that = this;
return {
title: "友达赏,正版潮玩手办一番赏",
imageUrl: that.advert[0].imgurl,
path: "/pages/shouye/index?pid=" + uni.getStorageSync('userinfo').ID
};
},
methods: {
colrdo() { //
let that = this;
let a = 0;
that.timer = setInterval(function() {
that.$refs.lffBarrage.add({
item: that.notice_list[a].content,
// title: that.notice_list[a].title,
// color: that.notice_list[a].color,
headimg: that.notice_list[a].headimg
});
if (a < that.notice_list.length - 1) {
a++;
} else {
a = 0
}
}, 5000)
},
getnews() {
let that = this;
that.req({
url: 'card_index',
success(res) {
if (res.status == 1) {
that.advert = res.data.advert;
that.notice_list = res.data.bullet_chat
}
}
})
},
getCate(){
let that = this;
that.req({
url: 'card_category_list',
success(res) {
if (res.status == 1) {
that.arr=res.data
}
}
})
},
/*下拉刷新的回调 */
downCallback() {
// this.mescroll.resetUpScroll()
this.loadData(1)
},
/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
upCallback(page) {
//
this.loadData(page.num);
},
loadData(pageNo) {
//
let that = this;
that.req({
url: 'card_goods_list',
data: {
page: pageNo,
type:that.show
},
success: function(res) {
that.mescroll.endByPage(res.data.data.length, res.data.data.last_page);
if (pageNo == 1) {
that.listdata = res.data.data;
} else {
that.listdata = that.listdata.concat(res.data.data);
}
console.log(that.listdata)
}
})
},
todetails(e) {
this.$customRouter.navigateTo('cardDetail', { goods_id: e.id });
},
getlist(v) {
this.show = v;
this.loadData(1)
},
}
}
</script>
<style lang="scss" scoped>
//
.content{
width: 100vw;
box-sizing: border-box;
position: relative;
background-attachment: fixed;
position: relative;
background: #222222;
color: #fff;
&_top{
width: 750rpx;
height: 230rpx;
padding: 30rpx;
box-sizing: border-box;
position: fixed;
top: 0;
z-index: 15;
&_bar {
width: 100%;
height: var(--status-bar-height);
}
&_title {
height: 69rpx;
font-weight: bold;
color: #FFFFFF;
}
.title_ipt{
display: flex;
align-items: center;
margin: 20rpx auto;
border-radius: 30rpx;
padding-left: 30rpx;
width: 620rpx;
height: 60rpx;
background: rgba(255, 255, 255, .2);
border-radius: 10rpx;
box-sizing: border-box;
>image {
width: 33rpx;
height: 33rpx;
}
>input {
width: 90%;
height: 60rpx;
box-sizing: border-box;
border-radius: 105rpx;
font-size: 28rpx;
line-height: 60rpx;
font-size: 28rpx;
font-weight: 400;
color: rgba(255, 255, 255, 0.6);
padding-left: 20rpx;
}
}
}
&_swiper {
width: 750rpx;
height: 660rpx;
margin: 0rpx auto;
.yh_bg {
width: 750rpx;
height: 660rpx;
}
}
&_gonggao {
width: 750rpx;
height: 300rpx;
border-radius: 39rpx;
margin: 0rpx auto;
overflow: hidden;
display: flex;
align-items: center;
padding: 0 20rpx;
box-sizing: border-box;
position: absolute;
top: 330rpx;
z-index: 16;
pointer-events: none;
}
.qiehuan {
display: flex;
// justify-content: space-between;
align-items: center;
width: 690rpx;
margin: 35rpx auto;
box-sizing: border-box;
>view{
margin-right: 20rpx;
}
.wzs {
font-size: 32rpx;
color: rgba(255, 255, 255, 0.6);
}
.xzs {
font-size: 34rpx;
color: #fff;
}
}
&_con{
margin:0 30rpx;
&_item{
width: 690rpx;
height: 402rpx;
padding-top:32rpx;
box-sizing: border-box;
margin-top: 30rpx;
.item_img{
margin-left: 13rpx;
image{
width: 664rpx;
height: 310rpx;
}
}
.item_title{
margin: 0 20rpx;
font-size: 28rpx;
display: flex;
justify-content: space-between;
align-items: center;
color: #FEFF00;
text{
font-size: 32rpx;
}
}
}
}
swiper {
width: 100%;
display: flex;
align-items: center;
pointer-events: auto;
}
.xianStyle{
width:750rpx;
height:104rpx;
display: block;
position: absolute;
left: 0;
bottom:0
}
.mysyStyle{
width: 213rpx;
height: 129rpx;
position: absolute;
left: 0;
right: 0;
bottom:0;
margin: 0 auto;
}
}
</style>

View File

@ -1,159 +0,0 @@
<template>
<view class="content">
<view class="jilv_title">
<view v-for="(item,index) in shang_cate" :key="index" @click="change_shang_id(item.id)" :class="shang_id==item.id?'selActive':''">
{{item.title}}
</view>
</view>
<mescroll-body ref="mescrollRef" class="valbox" @init="mescrollInit" :down="downOption" @down="downCallback"
@up="upCallback">
<view class="content_mian">
<view class="content_mian_item" v-for="(e,i) in listdata" :key="i">
<view class="imgView">
<image :src="'https://hdyfs.languowangluo.cn'+e.imgurl"></image>
<view>{{e.shang_name}}</view>
</view>
<view class="title hang1">{{e.title}}</view>
<view class="price">产考价:{{e.price}}</view>
</view>
</view>
</mescroll-body>
</view>
</template>
<script>
export default {
data() {
return {
shang_cate:[],
card_id:'',
downOption: {
auto: false
},
listdata:[],
shang_id:''
}
},
onLoad(e) {
this.card_id=e.id
// this.getDeatil();
},
methods: {
// getDeatil(){
// let that = this;
// that.req({
// url: 'card_level',
// success(res) {
// if (res.status == 1) {
// that.shang_cate=res.data
// }
// }
// })
// },
/*下拉刷新的回调 */
downCallback() {
// this.mescroll.resetUpScroll()
this.loadData(1)
},
/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
upCallback(page) {
//
this.loadData(page.num);
},
loadData(pageNo) {
//
let that = this;
that.req({
url: 'shang_goods',
data: {
page: pageNo,
card_id:that.card_id,
shang_id:that.shang_id,
},
success: function(res) {
that.mescroll.endByPage(res.data.goods.data.length, res.data.goods.last_page);
if (pageNo == 1) {
let lastArr = [{
title: '全部',
id: ''
}]
that.shang_cate=lastArr.concat(res.data.card_level);
that.listdata = res.data.goods.data;
} else {
that.listdata = that.listdata.concat(res.data.goods.data);
}
console.log(that.listdata)
}
})
},
change_shang_id(e){
this.shang_id=e;
this.loadData(1)
}
}
}
</script>
<style scoped lang="scss">
.content{
.jilv_title {
font-size: 30rpx;
color: #F7F7F7;
display: flex;
align-items: center;
width: 690rpx;
margin: 20rpx auto 0;
flex-wrap: wrap;
// overflow-x: scroll;
>view{
background: #444444;
border-radius: 10rpx;
padding: 15rpx 25rpx;
margin-right: 20rpx;
margin-bottom: 15rpx;
}
.selActive{
background: linear-gradient(0deg, #1AC762 0%, #35ED85 100%);
border-radius: 10rpx;
color: #222;
}
}
&_mian{
display: flex;
flex-wrap: wrap;
&_item{
margin: 30rpx 0 0 30rpx;
width: 210rpx;
.imgView{
position: relative;
width: 210rpx;
height: 300rpx;
image{
width: 210rpx;
height: 300rpx;
}
view{
position: absolute;
top: 9rpx;
left: 10rpx;
font-weight: 600;
color: #B35CEF;
// opacity: 0.8;
font-size: 26rpx;
-webkit-text-stroke: 1rpx #fff;
}
}
.title{
font-size: 26rpx;
text-align: center;
color: #fff;
}
.price{
font-size: 24rpx;
color: rgba(255, 255, 255, .4);
}
}
}
}
</style>

View File

@ -1,17 +1,17 @@
<template>
<view class="guize">
<view v-html="rule" style="color: #676767;"></view>
<!-- <view v-html="rule" style="color: #676767;">2321321</view> -->
<rich-text :nodes="rule"></rich-text>
</view>
</template>
<script>
export default {
components: {
},
components: {},
data() {
return {
z_imgUrl: this.$z_imgUrl,
rule: '',
rule: ``,
title: ''
}
},
@ -28,10 +28,10 @@
if (e.type == 3) {
title = '公告'
}
if (e.type == 4) {
if (e.type == 4 || e.type == 30) {
title = '用户协议'
}
if (e.type == 5) {
if (e.type == 5 || e.type == 31) {
title = '隐私政策'
}
if (e.type == 6) {
@ -74,20 +74,14 @@
},
methods: {
getnews(e) {
async getnews(e) {
let that = this;
that.req({
url: 'danye',
data: {
type: e,
},
success(res) {
if (res.status == 1) {
var rule = res.data
that.rule = rule.replaceAll('style="text-wrap: nowrap;"','')
}
}
})
const res = await this.$request.post('danye', {
type: e,
});
if (res.status === 1) {
this.rule = res.data;
}
},
@ -97,9 +91,10 @@
<style>
>>>span{
>>>span {
text-wrap: wrap !important;
}
.text_2,
.text_3 {
font-size: 28rpx;
@ -121,4 +116,4 @@
background-color: #FFFFFF;
box-sizing: border-box;
}
</style>
</style>

View File

@ -71,11 +71,11 @@
</view>
<view class="agree-r">
我已阅读并同意
<text @click.stop="$customRouter.navigateTo('/pages/guize/guize', {type: 4})">
<text @click.stop="$platform.getUserAgreement()">
用户协议
</text>
<text @click.stop="$customRouter.navigateTo('/pages/guize/guize', {type: 5})">
<text @click.stop="$platform.getPrivacyAgreement()">
隐私政策
</text>
</view>

View File

@ -1,303 +0,0 @@
<template>
<view class="content">
<uni-nav-bar
left-icon="left"
:title="$config.getAppSetting('balance_name') + '记录'"
color="#000000"
backgroundColor="transparent"
:fixed="true"
:statusBar="true"
:border="false"
@clickLeft="$c.back"
></uni-nav-bar>
<view class="tab-list align-center">
<view
@click="getlist(i)"
v-for="(item, i) in arr"
:key="i"
class="tab-list-item"
:class="{ active: show == i }"
>
{{ item }}
<view v-if="show == i" class="arrow"></view>
</view>
</view>
<!-- <view class="head">
<view class="qiehuan">
<view @click="getlist(i)" v-for="(v, i) in arr" :key="i">
<view :class="show == i ? 'xzs' : 'wzs'">{{ v }}</view>
<view class="qiehuan_line" v-if="show == i">
</view>
</view>
</view>
</view> -->
<!-- 内容 -->
<mescroll-body
ref="mescrollRef"
@init="mescrollInit"
:down="downOption"
@down="downCallback"
@up="upCallback"
>
<view class="coupon">
<view
v-for="(item, index) in listData"
:key="index"
class="coupon_item"
>
<view class="coupon_item_1">
<view>{{ item.content }}</view>
<view>{{ item.addtime }}</view>
</view>
<view class="coupon_r">{{ item.change_money }}</view>
</view>
</view>
</mescroll-body>
</view>
</template>
<script>
export default {
data() {
return {
z_imgPath: this.$z_img2 + "mine/",
statusBarHeight: uni.getSystemInfoSync().statusBarHeight,
arr: ["全部", "收入", "支出", "兑换"],
show: 0,
listData: [],
//
downOption: {
auto: false,
},
};
},
onLoad(e) {
// setTimeout(() => {
// this.listData=[
// {
// content:'',
// addtime:'2333-23-23 23:23:23',
// change_money:233
// }
// ]
// }, 1000);
},
methods: {
back() {
uni.navigateBack();
},
getlist(v) {
this.show = v;
this.aixuanArr = [];
this.mescroll.resetUpScroll();
},
/*下拉刷新的回调 */
downCallback() {
this.mescroll.resetUpScroll();
},
/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
upCallback(page) {
//
this.loadData(page.num);
},
loadData(pageNo) {
//
let that = this;
that.req({
url: "profitMoney",
Loading: true,
data: {
page: pageNo,
type: that.show,
},
success(res) {
that.mescroll.endByPage(res.data.data.length, res.data.last_page);
if (pageNo == 1) {
that.listData = res.data.data;
} else {
that.listData = that.listData.concat(res.data.data);
}
},
});
},
},
};
</script>
<style lang="scss">
.coupon_r > image {
width: 32rpx;
height: 32rpx;
margin-left: 10rpx;
}
.coupon_r {
font-size: 24rpx;
/* font-family: 'zcq'; */
color: #333333;
}
.coupon_item_1 > view:nth-of-type(2) {
font-size: 16rpx;
color: #676767;
margin-top: 10rpx;
}
.coupon_item_1 > view:nth-of-type(1) {
font-size: 20rpx;
// font-weight: bold;
color: #333333;
}
.coupon_item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 30rpx 0;
box-sizing: border-box;
// background-color: rgba(255, 255, 255, 0.08);
// margin-top: 20rpx;
// border-radius: 10rpx;
position: relative;
border-bottom: 1px solid #f3f3f3;
}
.coupon {
width: 690rpx;
margin: 20rpx auto;
/* background: #11141D;
box-shadow: 0px 0px 10rpx 0px rgba(150, 255, 254, 0.7);
padding: 0 30rpx; */
box-sizing: border-box;
background-color: #ffffff;
padding: 0 32rpx;
border-radius: 16rpx;
/* border-radius: 20rpx; */
}
.qiehuan {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 16rpx;
width: 400rpx;
}
.qiehuan_line {
margin: -10rpx auto;
width: 30rpx;
height: 20rpx;
border-bottom: 4rpx solid #70ede8;
border-radius: 2rpx;
}
.qiehuan_line > image {
width: 30rpx;
height: 20rpx;
}
.qiehuan > view {
flex: 1;
text-align: center;
}
.wzs {
font-size: 34rpx;
color: rgba(255, 255, 255, 0.6);
}
.xzs {
font-size: 34rpx;
color: #ffffff;
}
.header {
width: 750rpx;
/* height: 176rpx; */
padding-bottom: 30rpx;
background: #222222;
font-size: 28rpx;
color: #333333;
box-sizing: border-box;
position: fixed;
/* #ifdef MP */
top: 0;
/* #endif */
/* #ifndef MP */
top: 88rpx;
/* #endif */
z-index: 15;
}
.content {
width: 100vw;
min-height: 100vh;
box-sizing: border-box;
background-color: #f7f7f7;
.head {
position: fixed;
top: 0;
z-index: 20;
.header_title {
height: 70rpx;
line-height: 70rpx;
width: 100%;
box-sizing: border-box;
font-weight: bold;
display: flex;
align-items: center;
padding-left: 30rpx;
box-sizing: border-box;
> view:nth-of-type(1) {
display: flex;
align-items: center;
}
> view:nth-of-type(2) {
width: 520rpx;
text-align: center;
/* margin: auto; */
}
image {
width: 48rpx;
height: 48rpx;
}
}
}
}
.tab-list {
display: flex;
padding: 30rpx;
.tab-list-item {
width: 88rpx;
height: 40rpx;
margin-right: 40rpx;
position: relative;
font-size: 20rpx;
font-weight: 400;
color: #333333;
background-color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
border-radius: 8rpx;
&.active {
font-weight: 400;
color: #333333;
background-color: #e6f791;
}
}
}
</style>