This commit is contained in:
2021-09-30 13:14:28 +08:00
24 changed files with 2171 additions and 1145 deletions

View File

@@ -336,6 +336,14 @@
"path" : "pages/wxAuth/wxAuth", "path" : "pages/wxAuth/wxAuth",
"name" : "wxAuth", "name" : "wxAuth",
"aliasPath": "/wechat-auth" "aliasPath": "/wechat-auth"
},{
"path" : "pages/clearOpen/clearOpen",
"style" : {
"navigationBarTitleText": "提现记录",
"enablePullDownRefresh": false
},
"name": "clearOpen",
"aliasPath": "/inside/clear-open"
} }
], ],
"globalStyle": { "globalStyle": {

View File

@@ -0,0 +1,35 @@
<template>
<view class="vertical content">
<view class="text">{{text}}</view>
<button class="btn" type="default" :disabled="text != '清理完成'" size="mini" @click="$Router.pushTab({name: 'Index'})">返回首页</button>
</view>
</template>
<script>
export default {
data() {
return {
text: 'Opneid清理中...'
};
},
created() {
this.$store.commit('setCode', '')
}
}
</script>
<style lang="scss">
.content{
text-align: center;
height: 100vh;
background: white;
}
.text{
color: gray;
padding-bottom: $padding*2;
}
.btn{
background: $mian-color;
color: white;
}
</style>

View File

@@ -131,6 +131,7 @@
showHelp() { showHelp() {
uni.showModal({ uni.showModal({
title: '能量碎片', title: '能量碎片',
confirmColor: '#8b64fd',
content: this.energyShard.description, content: this.energyShard.description,
showCancel: false showCancel: false
}) })

View File

@@ -70,7 +70,7 @@
inviteData: [] ,//二维码信息 inviteData: [] ,//二维码信息
codeIndex : 0, codeIndex : 0,
posterImg : '', posterImg : '',
defaultImg: '/static/dev/WechatIMG9663.png', defaultImg: '',
loaded : false, loaded : false,
posterShow: false posterShow: false
}; };
@@ -96,7 +96,6 @@
// 生成海报 // 生成海报
async coverCode(){ async coverCode(){
// let { img, title, price, head, tips } = this
let img = this.inviteData[this.codeIndex].code let img = this.inviteData[this.codeIndex].code
let back = this.inviteData[this.codeIndex].cover let back = this.inviteData[this.codeIndex].cover
let name = this.inviteData[this.codeIndex].user_info.nickname let name = this.inviteData[this.codeIndex].user_info.nickname
@@ -105,14 +104,14 @@
let date = this.inviteData[this.codeIndex].date let date = this.inviteData[this.codeIndex].date
draw = new Draw({ draw = new Draw({
width: 375, width: 375,
height: 745, height: 667,
canvasId:'myCanvas', canvasId:'myCanvas',
_this: this, _this: this,
background: { background: {
type: 'color', type: 'color',
color: 'white', color: 'white',
w: 375, w: 375,
h: 745, h: 667,
}, },
}) })
let res = await draw.createdSharePoster(({ bgObj }) => { let res = await draw.createdSharePoster(({ bgObj }) => {
@@ -127,7 +126,7 @@
y: 0, y: 0,
src: back, src: back,
w: 375, w: 375,
h: 745, h: 667,
zIndex: 0, zIndex: 0,
}, },
@@ -135,7 +134,7 @@
{ {
type: 'rect', type: 'rect',
x: 280, x: 280,
y: 20, y: 10,
w: 60, // 宽度 必填 w: 60, // 宽度 必填
h: 80, // 高度 必填 h: 80, // 高度 必填
zIndex: 99, zIndex: 99,
@@ -149,7 +148,7 @@
type: 'line', type: 'line',
zIndex: 99, zIndex: 99,
x: 280, x: 280,
y: 74, y: 62,
w: 60, // 宽度 默认整个画布的宽度 - x轴的距离 w: 60, // 宽度 默认整个画布的宽度 - x轴的距离
color: '#ffffff', // 颜色 默认#000000 在不考虑字节跳动小程序的前提下可简写(#000) color: '#ffffff', // 颜色 默认#000000 在不考虑字节跳动小程序的前提下可简写(#000)
alpha: 1, // 透明度 默认1 取值范围 0~1 alpha: 1, // 透明度 默认1 取值范围 0~1
@@ -162,7 +161,7 @@
{ {
type: 'text', type: 'text',
x: 284, x: 284,
y: 28, y: 18,
zIndex: 99, zIndex: 99,
w: width - (20 * 2), w: width - (20 * 2),
text: date.solar.month, text: date.solar.month,
@@ -175,14 +174,14 @@
// 日历-日 // 日历-日
{ {
type: 'text', type: 'text',
x: 296, x: 298,
y: 50, y: 40,
zIndex: 99, zIndex: 99,
w: width - (20 * 2), w: width - (20 * 2),
text: date.solar.day, text: date.solar.day,
color: '#ffffff', color: '#ffffff',
font: { font: {
size: 20, size: 18,
weight: 'bold' weight: 'bold'
} }
}, },
@@ -191,7 +190,7 @@
{ {
type: 'text', type: 'text',
x: 282, x: 282,
y: 80, y: 70,
zIndex: 99, zIndex: 99,
w: width - (20 * 2), w: width - (20 * 2),
text: date.lunar, text: date.lunar,
@@ -204,39 +203,39 @@
// 用户昵称 // 用户昵称
{ {
type: 'text', type: 'text',
x: 90, x: 86,
y: 650, y: 600,
zIndex: 99, zIndex: 99,
w: width - (20 * 2), w: width - (20 * 2),
text: name, text: name,
color: '#ffffff', color: '#ffffff',
font: { font: {
size: 18 size: 16
} }
}, },
// 邀请码 // 邀请码
{ {
type: 'text', type: 'text',
x: 90, x: 86,
y: 685, y: 630,
zIndex: 99, zIndex: 99,
w: width - (20 * 2), w: width - (20 * 2),
text: '邀请码:' + invite, text: '邀请码:' + invite,
color: '#c4a1cb', color: '#c4a1cb',
font: { font: {
size: 16 size: 14
} }
}, },
// 用户头像 // 用户头像
{ {
type: 'image', type: 'image',
x: 20, x: 24,
y: 650, y: 598,
src: avatar, src: avatar,
w: 54, w: 46,
h: 54, h: 46,
drawType: 'arc', drawType: 'arc',
zIndex: 99, zIndex: 99,
borderWidth: 5, // 图片边框大小 默认0 borderWidth: 5, // 图片边框大小 默认0
@@ -246,10 +245,10 @@
// 二维码 // 二维码
{ {
type: 'image', type: 'image',
x: 270, x: 280,
y: 630, y: 585,
w: 90, w: 72,
h: 90, h: 72,
zIndex: 99, zIndex: 99,
src: img src: img
} }
@@ -305,7 +304,7 @@
.code{ .code{
position: relative; position: relative;
width: 100%; width: 100%;
padding-top: calc(199% - 280rpx - #{$padding * 2}); padding-top: calc(183% - 280rpx - #{$padding * 2});
.code-swiper{ .code-swiper{
position: absolute; position: absolute;
top: 0; top: 0;
@@ -373,11 +372,10 @@
// 头像昵称 // 头像昵称
.codeCont { .codeCont {
position: absolute; position: absolute;
left: 0; left: 10rpx;
bottom: 0; bottom: 0;
width: 100%; width: 100%;
left: 0; padding: 10rpx 30rpx 20rpx;
padding: 10rpx 30rpx 50rpx;
box-sizing: border-box; box-sizing: border-box;
z-index: 9; z-index: 9;
.codeCont-avatar { .codeCont-avatar {
@@ -391,7 +389,7 @@
width: 100%; width: 100%;
left: 0; left: 0;
top: 0; top: 0;
padding: 10rpx 40rpx 0 150rpx; padding: 10rpx 40rpx 0 140rpx;
box-sizing: border-box; box-sizing: border-box;
.codeCont-name { .codeCont-name {
color: #FFFFFF; color: #FFFFFF;
@@ -405,17 +403,17 @@
} }
} }
.codeCont-img { .codeCont-img {
width: 140rpx; width: 120rpx;
height: 140rpx; height: 120rpx;
position: absolute; position: absolute;
right: 30rpx; right: 50rpx;
bottom: 30rpx; bottom: 10rpx;
} }
} }
// 日历 // 日历
.codDate { .codDate {
position: absolute; position: absolute;
top: 30rpx; top: 15rpx;
right: 70rpx; right: 70rpx;
z-index: 9; z-index: 9;
color: #FFFFFF; color: #FFFFFF;
@@ -441,7 +439,7 @@
// canvas // canvas
.my-canvas{ .my-canvas{
width: 375px; width: 375px;
height: 745px; height: 667px;
position: fixed; position: fixed;
top: -99999999999rpx; top: -99999999999rpx;
left: -99999999999rpx; left: -99999999999rpx;

View File

@@ -15,7 +15,7 @@
<view class="newBack" v-if="newState"></view> <view class="newBack" v-if="newState"></view>
<view class="newCont" v-if="newState"> <view class="newCont" v-if="newState">
<view class="newCont-title"> <view class="newCont-title">
{{newList[newPopIndex].title}} <view class="newCont-title-text">{{newList[newPopIndex].title}}</view>
</view> </view>
<view class="newCont-text"> <view class="newCont-text">
<rich-text :nodes="newList[newPopIndex].content"></rich-text> <rich-text :nodes="newList[newPopIndex].content"></rich-text>
@@ -27,25 +27,14 @@
</view> </view>
<!-- 消息列表弹出 end --> <!-- 消息列表弹出 end -->
<!-- 用户信息 start --> <scroll-view class="content-scroll" scroll-y="true">
<!-- <view class="fileTool" :class="{ bigTool: scroll > 200 }"> <view class="header">
<view class="user-portrait"> <!-- 工具 -->
<image class="user-portrait-head" :src="userData.avatar ? userData.avatar : '/static/user/user-portrait.png'" mode="aspectFill"></image>
</view>
<view class="user-tool">
<view class="user-tool-name">
{{userData.nickname}}
</view>
<image class="user-tool-icon" src="/static/user/user-top-00.png" mode="aspectFill" @click="$Router.push({name: 'setting'})"></image>
<image class="user-tool-icon" src="/static/user/user-top-01.png" mode="aspectFill" @click="$Router.push({name: 'news'})"></image>
</view>
</view> -->
<view class="user-top" :class="[scroll > 0 ? 'bigTop' : 'refurnTop']">
<!-- <image class="user-back" :class="[scroll > 0 ? 'bigSize' : 'refurnSize']" src="../../static/img/user-back.png" mode="aspectFill"></image> -->
<view class="user-tool"> <view class="user-tool">
<image class="user-tool-icon" src="/static/user/user-top-00.png" mode="aspectFill" @click="$Router.push({name: 'setting'})"></image> <image class="user-tool-icon" src="/static/user/user-top-00.png" mode="aspectFill" @click="$Router.push({name: 'setting'})"></image>
<image class="user-tool-icon" src="/static/user/user-top-01.png" mode="aspectFill" @click="$Router.push({name: 'news'})"></image> <image class="user-tool-icon" src="/static/user/user-top-01.png" mode="aspectFill" @click="$Router.push({name: 'news'})"></image>
</view> </view>
<!-- 用户信息 -->
<view class="user-info"> <view class="user-info">
<view class="user-portrait"> <view class="user-portrait">
<image class="user-portrait-head" :src="userData.avatar ? userData.avatar : '/static/user/user-portrait.png'" mode="aspectFill"></image> <image class="user-portrait-head" :src="userData.avatar ? userData.avatar : '/static/user/user-portrait.png'" mode="aspectFill"></image>
@@ -63,6 +52,7 @@
</view> </view>
</view> </view>
</view> </view>
<!-- 会员卡 -->
<view class="userVip" :class="{ animated: animatedShow }"> <view class="userVip" :class="{ animated: animatedShow }">
<view class="userVip-top"> <view class="userVip-top">
<view class="userVip-top-name" v-if="userIdentity.right"> <view class="userVip-top-name" v-if="userIdentity.right">
@@ -105,15 +95,19 @@
<image class="userVip-rightst-img" src="/static/user/userRightst_icon_more.png"></image> <image class="userVip-rightst-img" src="/static/user/userRightst_icon_more.png"></image>
<view class="nowrap userVip-rightst-name">敬请期待</view> <view class="nowrap userVip-rightst-name">敬请期待</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<!-- 用户信息 end --> <view
class="mian"
<!-- 滑动内容 start --> :style="[{
<view class="slide" :class="{ bigSlide: classStyle }" @touchmove="move"> transform: coverTransform,
transition: coverTransition
}]"
@touchstart="coverTouchstart"
@touchmove="coverTouchmove"
@touchend="coverTouchend">
<!-- 消息中心 --> <!-- 消息中心 -->
<view class="userNew"> <view class="userNew">
<image class="userNew-icon" src="/static/user/userNew_icon.png"></image> <image class="userNew-icon" src="/static/user/userNew_icon.png"></image>
@@ -123,7 +117,6 @@
</swiper-item> </swiper-item>
</swiper> </swiper>
</view> </view>
<!-- 我的资产 --> <!-- 我的资产 -->
<view class="userAssets"> <view class="userAssets">
<view class="userAssets-top"> <view class="userAssets-top">
@@ -150,7 +143,6 @@
</view> </view>
</view> </view>
</view> </view>
<!-- 我的伙伴 --> <!-- 我的伙伴 -->
<view class="userPartner"> <view class="userPartner">
<view class="partner-title"> <view class="partner-title">
@@ -171,7 +163,6 @@
</view> </view>
</view> </view>
</view> </view>
<!-- 企业工具 --> <!-- 企业工具 -->
<view class="userPartner" v-if="userData.is_company"> <view class="userPartner" v-if="userData.is_company">
<view class="partner-title"> <view class="partner-title">
@@ -208,7 +199,6 @@
</view> --> </view> -->
</view> </view>
</view> </view>
<!-- 我的服务 --> <!-- 我的服务 -->
<view class="userPartner"> <view class="userPartner">
<view class="partner-title"> <view class="partner-title">
@@ -234,19 +224,7 @@
</view> </view>
</view> </view>
</view> </view>
</scroll-view>
<!-- <view class="btns">
<view class="item" @click="$Router.push({name: 'instrumentBasics'})">基础信息</view>
<view class="item" @click="$Router.push({name: 'goodsManagement'})">商品权证</view>
<view class="item" @click="$Router.push({name: 'couponsManagement'})">优惠券管理</view>
<view class="item" @click="$Router.push({name: 'instrumentBasics'})">店员管理</view>
<view class="item" @click="$Router.push({name: 'instrumentCustomer'})">成交客户</view>
<view class="item" @click="$Router.push({name: 'Personal'})">个人认证</view>
<view class="item" @click="$Router.push({name: 'companyApprove'})">企业认证</view>
<view class="item" @click="$Router.push({name: 'companyApprove', params: { form_type: 'put' }})">编辑企业认证</view>
<view class="item" @click="$Router.push({name: 'setting'})">设置中心</view>
</view> -->
</view>
</view> </view>
</template> </template>
@@ -257,7 +235,6 @@
data() { data() {
return { return {
loding : true, // 加载 loding : true, // 加载
scroll : 0, // 回弹效果
userData : '', // 用户信息 userData : '', // 用户信息
userIdentity : '', // 用户身份 userIdentity : '', // 用户身份
helpDoc : '', // 资产说明 helpDoc : '', // 资产说明
@@ -267,14 +244,20 @@
newState : false, // 消息 显示状态 newState : false, // 消息 显示状态
newnextShow : false, // 消息 下一条按钮状态 newnextShow : false, // 消息 下一条按钮状态
newPopIndex : '', // 消息列表选择index newPopIndex : '', // 消息列表选择index
animatedShow : false, // vip上下跳动效果
customer : { customer : {
customerShow: false, // 专属客服弹出 customerShow: false, // 专属客服弹出
customerCode: '', // 专属客服二维码 customerCode: '', // 专属客服二维码
} },
coverTransform: 'translateY(0px)',
coverTransition: '0s',
startY: 0, // 落点
moving: false, //开启卡片
moveY: 0,
}; };
}, },
onShow(){ onShow(){
this.scroll = 0
// 添加vip模块跳动样式 // 添加vip模块跳动样式
this.animatedShow = true this.animatedShow = true
@@ -312,7 +295,6 @@
}) })
}) })
}, },
// 公告列表 // 公告列表
newInfo() { newInfo() {
userNotice().then(res=>{ userNotice().then(res=>{
@@ -324,7 +306,6 @@
}) })
}) })
}, },
// 专属客服二维码 // 专属客服二维码
customerInfo() { customerInfo() {
userCustomer().then(res=>{ userCustomer().then(res=>{
@@ -336,23 +317,10 @@
}) })
}) })
}, },
// 下拉回弹
onPageScroll(e) {
if(e.scrollTop > 0) this.classStyle = false
this.scroll = e.scrollTop
},
// 手指触摸离开
move() {
this.classStyle = true
},
// 专属客服弹出 // 专属客服弹出
custEject() { custEject() {
this.customer.customerShow = !this.customer.customerShow this.customer.customerShow = !this.customer.customerShow
}, },
// 复制邀请码 // 复制邀请码
copyCenter(e) { copyCenter(e) {
let copyNo = e let copyNo = e
@@ -368,7 +336,6 @@
}) })
} }
}, },
// 友情提示信息 // 友情提示信息
showHelp(type) { showHelp(type) {
let title = '能量球', let title = '能量球',
@@ -377,11 +344,11 @@
if(type == 'chip') content = this.helpDoc.energy_shard.description if(type == 'chip') content = this.helpDoc.energy_shard.description
uni.showModal({ uni.showModal({
title: title, title: title,
confirmColor: '#8b64fd',
content: content, content: content,
showCancel: false showCancel: false
}) })
}, },
// 消息列表查看 // 消息列表查看
newEject(index) { newEject(index) {
this.newPopIndex = index this.newPopIndex = index
@@ -401,12 +368,48 @@
} else { } else {
this.newnextShow = false this.newnextShow = false
} }
},
// 滑动部分
coverTouchstart(e) {
this.coverTransition = 'transform .1s linear'
this.startY = e.touches[0].clientY
},
coverTouchmove(e) {
this.moveY = e.touches[0].clientY
let moveDistance = this.moveY - this.startY
if (this.moving && moveDistance < 0){
this.coverTransform = `translateY(0px)`
this.moving = false
return
}else{
if (moveDistance > 0 && moveDistance <= 120) {
this.coverTransform = `translateY(${moveDistance}px)`
}
this.moving = moveDistance >= 120
}
},
coverTouchend() {
if (this.moving) {
this.runRefresh()
} else {
this.coverTransition = 'transform 0.3s cubic-bezier(.21,1.93,.53,.64)'
this.coverTransform = 'translateY(0px)'
}
},
runRefresh() {
this.coverTransition = 'transform .1s linear'
this.coverTransform = 'translateY(120px)'
this.playState = true
this.$emit('refresh')
} }
} }
} };
</script> </script>
<style lang="scss"> <style lang="scss">
.content-scroll{
height: calc(100vh - 60px);
}
// 专属客服 // 专属客服
.customerBack { .customerBack {
position: fixed; position: fixed;
@@ -487,14 +490,19 @@
text-align: center; text-align: center;
color: $text-gray; color: $text-gray;
.newCont-title { .newCont-title {
padding: 80rpx 40rpx 0; padding: 25rpx 40rpx;
border-bottom: 1rpx solid #eaeaea;
box-sizing: border-box; box-sizing: border-box;
font-size: 30rpx; font-size: 30rpx;
margin-bottom: 30rpx;
font-weight: 600; font-weight: 600;
text-align: center;
.newCont-title-text {
padding: 0 50rpx;
box-sizing: border-box;
}
} }
.newCont-text { .newCont-text {
padding: 50rpx 40rpx; padding: 20rpx 40rpx 40rpx;
box-sizing: border-box; box-sizing: border-box;
line-height: 48rpx; line-height: 48rpx;
text-align: justify; text-align: justify;
@@ -504,41 +512,117 @@
} }
.newCont-btn { .newCont-btn {
color: #7e54fe; color: #7e54fe;
margin-top: 30rpx;
font-size: 30rpx; font-size: 30rpx;
line-height: 90rpx; line-height: 90rpx;
border-top: 2rpx solid #eaeaea; border-top: 2rpx solid #eaeaea;
} }
.newCont-close { .newCont-close {
position: absolute; position: absolute;
top: 20rpx; top: 28rpx;
right: 20rpx; right: 20rpx;
width: 34rpx; width: 32rpx;
height: 34rpx; height: 32rpx;
}
} }
// 用户信息
.fileTool {
position: fixed;
width: 100%;
left: 0;
height: 0;
top: 0;
background-image: linear-gradient(to left, #7c52fc, #976dff);
transition: .5s;
opacity: 0;
text-align: right;
padding-top: var(--status-bar-height);
display: flex;
&.bigTool {
z-index: 999;
height: 80rpx;
opacity: 1;
} }
.user-tool { // 会员卡
.userVip {
background-image:linear-gradient(to right, #4721bd, #885efe, #5d39b9);
margin: 40rpx 40rpx 0;
border-radius: 30rpx 30rpx 0 0;
border: 3rpx solid #b197ff;
color: #f6e9fa;
box-sizing: border-box;
.userVip-top {
display: flex; display: flex;
width: calc(100% - #{$margin*2 + 40}); padding: 30rpx;
.userVip-top-name {
font-size: 30rpx;
flex: 1;
line-height: 48rpx;
}
.userVip-top-btn {
font-size: 26rpx;
background-color: #977ae8;
border-radius: 40rpx;
padding: 0 20rpx 0 25rpx;
height: 48rpx;
line-height: 48rpx;
display: flex;
.userVip-top-arrow {
width: 20rpx;
height: 20rpx;
margin: 14rpx 0 0 10rpx;
}
}
}
.userVip-tips {
margin-top: 40rpx;
font-size: 28rpx;
.userVip-tips-title {
margin-bottom: 20rpx;
font-weight: 600;
}
.userVip-tips-text {
line-height: 48rpx;
}
}
.userVip-rights {
border-radius: 10rpx;
margin: 0 30rpx;
padding: 20rpx;
box-sizing: border-box;
background-image:linear-gradient(to bottom, #dbceff, #bb9fff);
color: #5723af;
.userVip-rightst-title {
padding: 0 20rpx;
box-sizing: border-box;
font-size: 30rpx;
display: flex;
line-height: 40rpx;
.userVip-rightst-title-name {
font-weight: 600;
flex: 1;
}
.userVip-rightst-more {
font-size: 28rpx;
display: flex;
.userVip-rightst-more-img {
width: 40rpx;
height: 40rpx;
}
}
}
.userVip-rightst-list {
margin-top: 30rpx;
display: flex;
.userVip-rightst-label {
display: inline-block;
width: 25%;
text-align: center;
font-size: 26rpx;
line-height: 40rpx;
.userVip-rightst-img {
width: 90rpx;
height: 90rpx;
vertical-align: top;
margin-bottom: 15rpx;
}
// 255 + 140 + 80 + 40
}
}
}
}
// 会员信息
.header {
background-image: linear-gradient(to right, #7c52fc, #976dff);
height: 628rpx;
// user工具
.user-tool {
text-align: right;
line-height: 80rpx;
.user-tool-name { .user-tool-name {
flex: 1; flex: 1;
line-height: 80rpx; line-height: 80rpx;
@@ -551,70 +635,10 @@
margin-top: 20rpx; margin-top: 20rpx;
width: $uni-img-size-sm; width: $uni-img-size-sm;
height: $uni-img-size-sm; height: $uni-img-size-sm;
vertical-align: top;
} }
} }
.user-portrait { // 用户信息
width: 64rpx;
height: 64rpx;
flex: 1;
margin-left: $margin;
border-radius: $uni-border-radius-circle;
position: relative;
.user-portrait-head {
border-radius: $uni-border-radius-circle;
position: absolute;
left: 0;
top: 15rpx;
width: 54rpx;
height: 54rpx;
}
.user-portrait-tips {
position: absolute;
width: 100%;
height: 100%;
z-index: 1;
left: 0;
top: 0;
}
}
}
.user-top {
background-image: linear-gradient(to right, #7c52fc, #976dff);
position: fixed;
width: 100%;
height: 420rpx;
overflow: hidden;
transition: .5s;
&.bigTop {
height: 420rpx;
}
&.refurnTop {
height: 660rpx;
}
.user-tool {
text-align: right;
position: absolute;
padding-top: var(--status-bar-height);
top: 20rpx;
margin-bottom: 20rpx;
height: 50rpx;
height: calc(50rpx - var(--status-bar-height));
right: $padding + 10;
z-index: 1;
.user-tool-icon {
padding-left: $padding;
width: $uni-img-size-sm;
height: $uni-img-size-sm;
}
}
.user-back {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
}
.user-info { .user-info {
position: relative; position: relative;
width: 100%; width: 100%;
@@ -623,10 +647,9 @@
padding-left: $padding; padding-left: $padding;
padding-right: $padding; padding-right: $padding;
color: $uni-text-color-inverse; color: $uni-text-color-inverse;
margin-top: 100rpx;
.user-portrait { .user-portrait {
width: 130rpx; width: 140rpx;
height: 130rpx; height: 140rpx;
border-radius: $uni-border-radius-circle; border-radius: $uni-border-radius-circle;
position: relative; position: relative;
.user-portrait-head { .user-portrait-head {
@@ -635,8 +658,8 @@
position: absolute; position: absolute;
left: 8rpx; left: 8rpx;
top: 14rpx; top: 14rpx;
width: calc(100% - 16rpx); width: calc(100% - 24rpx);
height: calc(100% - 14rpx); height: calc(100% - 24rpx);
} }
.user-portrait-tips { .user-portrait-tips {
position: absolute; position: absolute;
@@ -674,6 +697,7 @@
left: 0; left: 0;
top: 0; top: 0;
width: 100%; width: 100%;
height: 100%;
padding: 0 0 0 calc(#{$uni-img-size-lg + 20} + (#{$padding * 2} + 10rpx)); padding: 0 0 0 calc(#{$uni-img-size-lg + 20} + (#{$padding * 2} + 10rpx));
box-sizing: border-box; box-sizing: border-box;
.user-name { .user-name {
@@ -703,116 +727,18 @@
} }
} }
} }
.userVip { // 会员卡
background-image:linear-gradient(to right, #4721bd, #885efe, #5d39b9); .card {
margin: 40rpx 40rpx 0; height: 200rpx;
height: 100%; margin: 0 30rpx;
border-radius: 30rpx 30rpx 0 0; background: #555555;
border: 3rpx solid #b197ff;
color: #f6e9fa;
padding: 30rpx;
box-sizing: border-box;
.userVip-top {
display: flex;
.userVip-top-name {
font-size: 30rpx;
flex: 1;
line-height: 48rpx;
}
.userVip-top-btn {
font-size: 26rpx;
background-color: #977ae8;
border-radius: 40rpx;
padding: 0 20rpx 0 25rpx;
height: 48rpx;
line-height: 48rpx;
display: flex;
.userVip-top-arrow {
width: 20rpx;
height: 20rpx;
margin: 14rpx 0 0 10rpx;
} }
} }
} // 按钮内容
.userVip-tips { .mian {
margin-top: 40rpx; margin-top: -260rpx;
font-size: 28rpx; padding: 30rpx 30rpx 30rpx;
.userVip-tips-title { background: #F5F5F5;
margin-bottom: 20rpx;
font-weight: 600;
}
.userVip-tips-text {
line-height: 48rpx;
}
}
.userVip-rights {
margin-top: 40rpx;
border-radius: 10rpx;
padding: 20rpx 0;
box-sizing: border-box;
background-image:linear-gradient(to bottom, #dbceff, #bb9fff);
color: #5723af;
.userVip-rightst-title {
padding: 0 20rpx;
box-sizing: border-box;
font-size: 30rpx;
display: flex;
.userVip-rightst-title-name {
font-weight: 600;
flex: 1;
}
.userVip-rightst-more {
font-size: 28rpx;
display: flex;
.userVip-rightst-more-img {
width: 40rpx;
height: 40rpx;
}
}
}
.userVip-rightst-list {
margin-top: 30rpx;
display: flex;
.userVip-rightst-label {
display: inline-block;
width: 25%;
text-align: center;
font-size: 26rpx;
.userVip-rightst-img {
width: 90rpx;
height: 90rpx;
margin-bottom: 10rpx;
}
}
}
}
}
}
// 消息模块
.userNew {
background-color: #FFFFFF;
margin-bottom: 30rpx;
height: 90rpx;
overflow: hidden;
border-radius: 15rpx;
padding: 0 30rpx;
box-sizing: border-box;
display: flex;
.userNew-banner {
width: calc(100% - 70rpx);
height: 90rpx;
line-height: 90rpx;
font-size: 28rpx;
color: #5e5e5e;
}
.userNew-icon {
width: 46rpx;
height: 46rpx;
margin: 22rpx 20rpx 0 0;
}
}
// 我的资产模块 // 我的资产模块
.userAssets { .userAssets {
margin-bottom: 30rpx; margin-bottom: 30rpx;
@@ -895,7 +821,6 @@
} }
} }
} }
// 我的伙伴 // 我的伙伴
.userPartner { .userPartner {
margin-bottom: 30rpx; margin-bottom: 30rpx;
@@ -963,110 +888,28 @@
} }
} }
} }
// 消息模块
// 滑动内容部分 .userNew {
.slide { background-color: #FFFFFF;
position: absolute; margin-bottom: 30rpx;
padding: 30rpx 30rpx 120rpx; height: 90rpx;
overflow: hidden;
border-radius: 15rpx;
padding: 0 30rpx;
box-sizing: border-box; box-sizing: border-box;
width: 100%;
z-index: 99;
left: 0;
top: 200px;
// padding-top: var(--status-bar-height);
background-color: #F8F8F8;
transition: .5s;
&.bigSlide {
top: 660rpx;
}
.list {
margin: $margin + 10;
padding: 0 $padding + 10;
border-radius: $radius-lg;
background-color: $uni-bg-color;
.title {
padding-top: $padding + 10;
font-weight: 700;
font-size: $title-size;
}
.label {
height: 70rpx;
line-height: 70rpx;
padding: $padding 0;
border-bottom: 1rpx solid #f4f4f4;
font-size: $title-size - 2;
display: flex; display: flex;
&:last-child { .userNew-banner {
border: none; width: calc(100% - 70rpx);
height: 90rpx;
line-height: 90rpx;
font-size: 28rpx;
color: #5e5e5e;
} }
.label-name { .userNew-icon {
flex: 1; width: 46rpx;
display: flex; height: 46rpx;
margin: 22rpx 20rpx 0 0;
} }
.label-icon {
width: $uni-img-size-sm - 4;
height: $uni-img-size-sm - 4;
margin: 16rpx $margin 0 0;
}
.label-code {
flex: 1;
display: flex;
.code {
line-height: 40rpx;
text {
text-transform:uppercase;
display: block;
color: $uni-text-color-grey;
font-size: $uni-font-size-sm;
}
}
}
.label-number {
font-size: $uni-font-size-base;
display: flex;
line-height: 70rpx;
color: #009360;
text {
padding: 0 $padding - 5;
height: 30rpx;
line-height: 30rpx;
margin-top: 18rpx;
font-size: $uni-font-size-sm;
border-radius: $radius * 2;
border: 2rpx solid #009360;
display: inline-block;
}
.label-more {
width: $uni-img-size-sm - 18;
height: $uni-img-size-sm - 18;
margin: 24rpx 0 0 $margin - 5;
}
}
}
}
}
// 动画效果
.bigSize {
animation: big .5s 1 alternate linear forwards;
}
.refurnSize {
transform: scale(1.5);
animation: refurn .5s 1 alternate linear forwards;
}
@keyframes big {
100% {
top: 10rpx;
transform: scale(1.5);
}
}
@keyframes refurn {
100% {
top: 0;
transform: scale(1);
} }
} }

1100
pages/user/new_file.vue Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -6,7 +6,7 @@
<view class="item" :class="{'show': larer == '1'}" @click="onTabs('1')">直接</view> <view class="item" :class="{'show': larer == '1'}" @click="onTabs('1')">直接</view>
<view class="item" :class="{'show': larer == '2'}" @click="onTabs('2')">间接</view> <view class="item" :class="{'show': larer == '2'}" @click="onTabs('2')">间接</view>
</view> </view>
<block v-if="lists.length > 0">
<view class="partner-list"> <view class="partner-list">
<view class="partner-label" v-for="(item, index) in lists" :key="index" :larer='larer'> <view class="partner-label" v-for="(item, index) in lists" :key="index" :larer='larer'>
<image class="partner-avatar" :src="item.avatar ? item.avatar : '/static/user/user-portrait.png'" mode="aspectFill"></image> <image class="partner-avatar" :src="item.avatar ? item.avatar : '/static/user/user-portrait.png'" mode="aspectFill"></image>
@@ -23,6 +23,13 @@
</view> </view>
</view> </view>
</view> </view>
</block>
<block v-else>
<view class="list-null">
<image class="icon" src="@/static/icons/approve-icon.png" mode="widthFix"></image>
<view class="sub-title">暂未数据</view>
</view>
</block>
</view> </view>
</template> </template>
@@ -67,6 +74,34 @@
padding-top: 90rpx; padding-top: 90rpx;
} }
// 空提示
.list-null{
width: 100vw;
height: 100vh;
padding-bottom: 20vh;
box-sizing: border-box;
background: white;
text-align: center;
@extend .vertical;
.sub-title{
color: $text-gray;
font-size: $title-size-m;
}
.icon{
width: 288rpx;
}
.sub-btn{
width: 200rpx;
height: 70rpx;
line-height: 70rpx;
text-align: center;
background: $mian-color;
color: white;
display: inline-block;
margin-top: $margin*2;
}
}
// tabs // tabs
.tabs{ .tabs{
position: fixed; position: fixed;

View File

@@ -253,7 +253,12 @@ export default {
}) })
} }
}); });
}); }).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
}, },
// 勾选协议 // 勾选协议

View File

@@ -24,11 +24,11 @@ const router = createRouter({
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
const token = store.getters.getToken || uni.getStorageSync('token') const token = store.getters.getToken || uni.getStorageSync('token')
// 检查是否需要微信授权 // 检查是否需要微信授权
// if(store.getters.getCode === '' && to.name != 'wxAuth'){ if(store.getters.getCode === '' && to.name != 'wxAuth'){
// next({ next({
// name: 'wxAuth' name: 'wxAuth'
// }) })
// } }
// 检查是否需要登录 // 检查是否需要登录
if(to.auth && token === ''){ if(to.auth && token === ''){
next({ next({

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 152 KiB

View File

@@ -1,2 +1,2 @@
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>链商星球</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)')) <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>链商星球</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/static/index.5e7e3b56.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.61332aa4.js></script><script src=/static/js/index.75ad1224.js></script></body></html> document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/static/index.5e7e3b56.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.61332aa4.js></script><script src=/static/js/index.c1da6ab1.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-clearOpen-clearOpen"],{"25c2":function(e,t,n){"use strict";n.r(t);var i=n("c804"),a=n("4d4a");for(var o in a)"default"!==o&&function(e){n.d(t,e,(function(){return a[e]}))}(o);n("7fc1");var s,r=n("f0c5"),d=Object(r["a"])(a["default"],i["b"],i["c"],!1,null,"e49e5628",null,!1,i["a"],s);t["default"]=d.exports},"49d0":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i={data:function(){return{text:"Opneid清理中..."}},created:function(){var e=this;uni.removeStorage({key:"wxCode",success:function(t){setTimeout((function(){e.text="清理完成"}),1e3)}})}};t.default=i},"4d4a":function(e,t,n){"use strict";n.r(t);var i=n("49d0"),a=n.n(i);for(var o in i)"default"!==o&&function(e){n.d(t,e,(function(){return i[e]}))}(o);t["default"]=a.a},7667:function(e,t,n){var i=n("24fb");t=i(!1),t.push([e.i,'@charset "UTF-8";\n/**\n * 这里是uni-app内置的常用样式变量\n *\n * uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量\n * 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App\n *\n */\n/**\n * 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能\n *\n * 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\n */\n/**\n * Web唐明明\n * 匆匆数载恍如梦,岁月迢迢华发增。\n * 碌碌无为枉半生,一朝惊醒万事空。\n */.ios-bottom[data-v-e49e5628]{padding-bottom:env(safe-area-inset-bottom);padding-bottom:constant(safe-area-inset-bottom)}.ios-left[data-v-e49e5628]{padding-left:env(safe-area-inset-left);padding-left:constant(safe-area-inset-left)}.ios-right[data-v-e49e5628]{padding-right:env(safe-area-inset-right);padding-right:constant(safe-area-inset-right)}.ios-top[data-v-e49e5628]{padding-top:0}.vertical[data-v-e49e5628]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-box-pack:center}.nowrap[data-v-e49e5628]{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ellipsis[data-v-e49e5628]{max-width:100%;display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ellipsis-3[data-v-e49e5628]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3}.ellipsis-4[data-v-e49e5628]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:4}.ellipsis-5[data-v-e49e5628]{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:5}\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */.content[data-v-e49e5628]{text-align:center;height:100vh;background:#fff}.text[data-v-e49e5628]{color:grey;padding-bottom:%?60?%}.btn[data-v-e49e5628]{background:#8b64fd;color:#fff}',""]),e.exports=t},"7fc1":function(e,t,n){"use strict";var i=n("953e"),a=n.n(i);a.a},"953e":function(e,t,n){var i=n("7667");"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var a=n("4f06").default;a("47a4eaf7",i,!0,{sourceMap:!1,shadowMode:!1})},c804:function(e,t,n){"use strict";var i;n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return o})),n.d(t,"a",(function(){return i}));var a=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-uni-view",{staticClass:"vertical content"},[n("v-uni-view",{staticClass:"text"},[e._v(e._s(e.text))]),n("v-uni-button",{staticClass:"btn",attrs:{type:"default",disabled:"清理完成"!=e.text,size:"mini"},on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.$Router.pushTab({name:"Index"})}}},[e._v("返回首页")])],1)},o=[]}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long