免责声明添加,修改密码功能完善,改文字提示等相关内容调整

This commit is contained in:
2022-07-01 12:01:41 +08:00
parent 937bb7083a
commit 48845dff41
12 changed files with 576 additions and 443 deletions

View File

@@ -5,7 +5,7 @@
<image src="@/static/user/user_back.png" mode="aspectFill" />
<view class="user-flex">
<image class="cover" @click="onBtn('Setting', {})"
:src="userInfo.avatar || require('@/static/user/cover.png')" mode="aspectFill" />
:src="userInfo.avatar || require('@/static/user/cover.png')" mode="aspectFill" />
<view class="user-content">
<view class="name">{{ userInfo.nickname }}</view>
@@ -24,8 +24,8 @@
<!-- 会员卡 -->
<view class="vip-card">
<view class="title" @click="onNum">
<image src="@/static/user/icon_06.png" mode="widthFix"/>
{{serial === '' ? '共力会员': 'NO:' + serial}}
<image src="@/static/user/icon_06.png" mode="widthFix" />
{{serial === '' ? '共力会员': 'NO:' + serial}}
</view>
<view class="subtitle">
<u-notice-bar :text="cardText" icon="" bgColor="" duration="3000" color="#fcc692" direction="column">
@@ -43,63 +43,63 @@
<view class="title">DT积分</view>
<view class="num">{{account.dt}}</view>
</view>
</view>
<!-- 计时器 -->
<view class="onTime">
<u-count-down ref="onTimeCount" :time="2000" @finish="walletNum = 0" :autoStart="false"></u-count-down>
</view>
</view>
<!-- 计时器 -->
<view class="onTime">
<u-count-down ref="onTimeCount" :time="2000" @finish="walletNum = 0" :autoStart="false"></u-count-down>
</view>
<!-- 订单 -->
<view class="order-box">
<view class="order-box-item" @click="onBtn('Order', { index: 0 })">
<image class="icon" src="@/static/user/order_icon_04.png" mode="widthFix" />
<view class="title">我的订单</view>
</view>
<view class="order-box-item" @click="onBtn('Order', { index: 1 })">
<view class="number" v-show="order.init > 0">{{order.init}}</view>
<view class="order-box-item" @click="onBtn('Order', { index: 1 })">
<view class="number" v-show="order.init > 0">{{order.init}}</view>
<image class="icon" src="@/static/user/order_icon_01.png" mode="widthFix" />
<view class="title">待付款</view>
</view>
<view class="order-box-item" @click="onBtn('Order', { index: 2 })">
<view class="number" v-show="order.paid > 0">{{order.paid}}</view>
<view class="order-box-item" @click="onBtn('Order', { index: 2 })">
<view class="number" v-show="order.paid > 0">{{order.paid}}</view>
<image class="icon" src="@/static/user/order_icon_02.png" mode="widthFix" />
<view class="title">待发货</view>
</view>
<view class="order-box-item" @click="onBtn('Order', { index: 3 })">
<view class="number" v-show="order.delivered > 0">{{order.delivered}}</view>
<view class="order-box-item" @click="onBtn('Order', { index: 3 })">
<view class="number" v-show="order.delivered > 0">{{order.delivered}}</view>
<image class="icon" src="@/static/user/order_icon_03.png" mode="widthFix" />
<view class="title">待收货</view>
</view>
<view class="order-box-item" @click="onBtn('OrderRefund')">
<view class="number" v-show="order.refund > 0">{{order.refund}}</view>
<view class="order-box-item" @click="onBtn('OrderRefund')">
<view class="number" v-show="order.refund > 0">{{order.refund}}</view>
<image class="icon" src="@/static/user/order_icon_05.png" mode="widthFix" />
<view class="title">退换货</view>
</view>
</view>
<!-- 功能块 -->
<view class="btns-box" v-if="isWallet">
<view class="btns-box-item" @click="onBtn('AccountIntegral', {})">
<image class="icon" src="@/static/user/userIcon_10.png" mode="widthFix" />
共力分钱包
<uni-icons class="forward" type="forward" color="#999" />
</view>
<view class="btns-box-item" @click="onBtn('AccountDt', {})">
<image class="icon" src="@/static/user/userIcon_01.png" mode="widthFix" />
DT积分钱包
<uni-icons class="forward" type="forward" color="#999" />
</view>
<view class="btns-box-item" @click="onMnemonic">
<image class="icon" src="@/static/user/userIcon_02.png" mode="widthFix" />
导出助记词
<uni-icons class="forward" type="forward" color="#999" />
</view>
<block v-if="canSeeData">
<view class="btns-box-item" @click="onBtn('DataBoard', {})">
<image class="icon" src="@/static/user/userIcon_12.png" mode="widthFix" />
平台数据看板
<uni-icons class="forward" type="forward" color="#999" />
</view>
</block>
</view>
<!-- 功能块 -->
<view class="btns-box" v-if="isWallet">
<view class="btns-box-item" @click="onBtn('AccountIntegral', {})">
<image class="icon" src="@/static/user/userIcon_10.png" mode="widthFix" />
共力分钱包
<uni-icons class="forward" type="forward" color="#999" />
</view>
<view class="btns-box-item" @click="onBtn('AccountDt', {})">
<image class="icon" src="@/static/user/userIcon_01.png" mode="widthFix" />
DT积分钱包
<uni-icons class="forward" type="forward" color="#999" />
</view>
<view class="btns-box-item" @click="onMnemonic">
<image class="icon" src="@/static/user/userIcon_02.png" mode="widthFix" />
导出助记词
<uni-icons class="forward" type="forward" color="#999" />
</view>
<block v-if="canSeeData">
<view class="btns-box-item" @click="onBtn('DataBoard', {})">
<image class="icon" src="@/static/user/userIcon_12.png" mode="widthFix" />
平台数据看板
<uni-icons class="forward" type="forward" color="#999" />
</view>
</block>
</view>
<view class="btns-box">
<view class="btns-box-item" @click="onBtn('Address', { type: 'edit' })">
<image class="icon" src="@/static/user/userIcon_03.png" mode="widthFix" />
@@ -110,12 +110,17 @@
<image class="icon" src="@/static/user/userIcon_07.png" mode="widthFix" />
分享邀请
<uni-icons class="forward" type="forward" color="#999" />
</view>
<view class="btns-box-item" @click="onBtn('Supplier', {})">
<image class="icon" src="@/static/user/userIcon_09.png" mode="widthFix" />
供应商入驻
<uni-icons class="forward" type="forward" color="#999" />
</view>
</view>
<view class="btns-box-item" @click="onBtn('Supplier', {})">
<image class="icon" src="@/static/user/userIcon_09.png" mode="widthFix" />
供应商入驻
<uni-icons class="forward" type="forward" color="#999" />
</view>
<view class="btns-box-item" @click="resetPassword">
<image class="icon" src="@/static/user/userIcon_13.png" mode="widthFix" />
{{hasPassword ? '修改' : '设置'}}支付密码
<uni-icons class="forward" type="forward" color="#999" />
</view>
</view>
<view class="btns-box">
<view class="btns-box-item" @click="onBtn('Feedback', {})">
@@ -128,6 +133,11 @@
版本更新
<uni-icons class="forward" type="forward" color="#999" />
</view>
<view class="btns-box-item" @click="mianze">
<image class="icon" src="@/static/user/userIcon_02.png" mode="widthFix" />
免责声明
<uni-icons class="forward" type="forward" color="#999" />
</view>
<view class="btns-box-item" @click="logOut" v-if="$store.state.token != ''">
<image class="icon" src="@/static/user/userIcon_05.png" mode="widthFix" />
退出登录
@@ -149,275 +159,297 @@
mode="widthFix"></image>
</view>
</slot>
</u-modal>
<!-- 输入支付密码 -->
<u-modal :show="showIv" title="请输入钱包支付密码" :showCancelButton="true" confirmColor="#34CE98" negativeTop="160"
@confirm="validationIv" @cancel="()=>{ this.showIv = false, this.iv = '' }">
<slot name="default">
<view class="mnemonic-pwass">
<input class="iv-input" :focus="true" type="number" password v-model="iv" maxlength="10"
placeholder="输入支付密码" />
</view>
</slot>
</u-modal>
</u-modal>
<!-- 输入支付密码 -->
<u-modal :show="showIv" title="请输入钱包支付密码" :showCancelButton="true" confirmColor="#34CE98" negativeTop="160"
@confirm="validationIv" @cancel="()=>{ this.showIv = false, this.iv = '' }">
<slot name="default">
<view class="mnemonic-pwass">
<input class="iv-input" :focus="true" type="number" password v-model="iv" maxlength="10"
placeholder="输入支付密码" />
</view>
</slot>
</u-modal>
</view>
</template>
<script>
import {
info,
chainSeed
} from '@/apis/interfaces/user';
import {
payPassword
} from '@/apis/interfaces/account.js'
import {
getVersions
} from '@/apis/interfaces/versions.js'
export default {
data() {
return {
cardText: [],
userInfo: {
nickname : '',
addr : '',
avatar : '',
isOpenVip : '',
},
identity : {
button_cover_url: '',
cover_url : '',
identity_text : ''
},
account : {
glz : 0.00,
dt : 0.00
},
mnemonic : '',
wordsShow: false,
order : {
init : 0,
paid : 0,
delivered: 0,
refund : 0
},
serial : '',
hasPassword : false,
showIv : false,
iv : '',
// 是否显示钱包
isWallet : false,
walletNum : 0,
// 数据看板权限
canSeeData : false
};
},
onShow() {
// if(uni.getStorageSync('isWalleNum') != '' && uni.getStorageSync('isWalleNum') === 1) this.isWallet = true
this.getInfo();
},
methods: {
// 用户信息
getInfo() {
if (this.$store.state.token === '') return;
info().then(res => {
uni.setNavigationBarTitle({
title: res.nickname
});
this.canSeeData = res.can_see_data
this.order = res.order
this.cardText = res.identity_array
this.userInfo = {
nickname : res.nickname,
addr : res.addr,
avatar : res.avatar,
isOpenVip : res.is_open_vip,
username : res.username
}
this.identity = res.identity
this.account = res.account
this.serial = res.serial
this.hasPassword = res.has_transfer_password
})
.catch(err => {
uni.showToast({
title: err.message,
icon: 'none'
});
});
},
// 导出助记词
onMnemonic(){
if(!this.hasPassword){
uni.showModal({
title : '提示',
content : '暂未设置账户支付密码,无法导出助记词,请设置密码后重试',
cancelText : '稍后设置',
confirmText : '立即设置',
success : modalRes => {
if(modalRes.confirm){
this.$Router.push({name: 'AccountResetPassword', params: {phone: this.userInfo.username}})
return
}
this.showIv = false
}
})
return
}
this.showIv = true
},
// 验证支付密码
validationIv(){
chainSeed({
password: this.iv
}).then(res => {
this.mnemonic = res.seed
this.showIv = false
this.wordsShow = true
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
// 按钮导航
onBtn(name, params) {
this.$Router.push({
name,
params
});
},
// 退出登录
logOut() {
uni.removeStorageSync('isnew')
// uni.removeStorageSync('isWalleNum')
this.$store.commit('setToken', '');
this.$Router.replaceAll({name: 'Auth'})
},
// 复制
copy(data) {
uni.setClipboardData({
data: data,
success: function() {
uni.showToast({
title: '复制成功',
icon: 'none',
mask: true,
duration: 2000
})
}
});
},
// 连续点击
onNum(){
if(this.isWallet){
return
}
this.walletNum++
this.$refs.onTimeCount.reset();
this.$refs.onTimeCount.start();
if(this.walletNum >= 7){
uni.showToast({
title: '已开启共力钱包',
icon : 'none'
})
this.isWallet = true
this.walletNum = 0
this.$refs.onTimeCount.pause();
// uni.setStorageSync('isWalleNum', 1)
}
},
// 复制助记词
copyWord() {
uni.setClipboardData({
data: this.mnemonic,
success: () => {
this.wordsShow = false
uni.showToast({
title: '助记词已复制',
icon: 'none',
mask: true
})
}
});
},
// 检查版本更新
updateApp(){
uni.showLoading({
title: '检查更新'
})
//#ifdef APP-PLUS
// 获取系统版本号
getVersions({
platform: plus.os.name,
version : plus.runtime.version
}).then(res => {
uni.hideLoading()
if (res.update) {
uni.showModal({
title: "更新提示",
content: res.note || '版本更新信息',
confirmText: "更新",
success: modalRes => {
if (modalRes.confirm) {
if (plus.os.name == "Android") {
uni.showToast({
title: '新版本下载中,将在下载完成后自动为您安装更新包',
icon: 'none'
})
uni.downloadFile({
url: res.info.download,
success: apkPick => {
plus.runtime.install(apkPick
.tempFilePath, '',
installRES => {
// 安装完成用于提示新版本引导,暂时无用
}, installERR => {
// 安装失败
})
},
fail(err) {
uni.showToast({
title: '安装包下载失败,请检查您的网络或稍后重试',
icon: 'none'
})
}
})
} else {
uni.showToast({
title: 'IOS应用暂未上架请打开测试(TestFlight)工具点击更新',
icon: 'none'
})
}
}
}
})
return
}
uni.showModal({
title : "提示",
content : "当前已是最新版本",
showCancel : false,
})
}).catch(err => {
uni.showToast({
title: err.message,
icon: 'none'
})
})
//#endif
}
}
};
import {
info,
chainSeed
} from '@/apis/interfaces/user';
import {
payPassword
} from '@/apis/interfaces/account.js'
import {
getVersions
} from '@/apis/interfaces/versions.js'
export default {
data() {
return {
cardText: [],
userInfo: {
nickname: '',
addr: '',
avatar: '',
isOpenVip: '',
},
identity: {
button_cover_url: '',
cover_url: '',
identity_text: ''
},
account: {
glz: 0.00,
dt: 0.00
},
mnemonic: '',
wordsShow: false,
order: {
init: 0,
paid: 0,
delivered: 0,
refund: 0
},
serial: '',
hasPassword: false,
showIv: false,
iv: '',
// 是否显示钱包
isWallet: false,
walletNum: 0,
// 数据看板权限
canSeeData: false
};
},
onShow() {
// if(uni.getStorageSync('isWalleNum') != '' && uni.getStorageSync('isWalleNum') === 1) this.isWallet = true
this.getInfo();
},
methods: {
// 用户信息
getInfo() {
if (this.$store.state.token === '') return;
info().then(res => {
uni.setNavigationBarTitle({
title: res.nickname
});
this.canSeeData = res.can_see_data
this.order = res.order
this.cardText = res.identity_array
this.userInfo = {
nickname: res.nickname,
addr: res.addr,
avatar: res.avatar,
isOpenVip: res.is_open_vip,
username: res.username
}
this.identity = res.identity
this.account = res.account
this.serial = res.serial
this.hasPassword = res.has_transfer_password
})
.catch(err => {
uni.showToast({
title: err.message,
icon: 'none'
});
});
},
// 导出助记词
onMnemonic() {
if (!this.hasPassword) {
uni.showModal({
title: '提示',
content: '暂未设置账户支付密码,无法导出助记词,请设置密码后重试',
cancelText: '稍后设置',
confirmText: '立即设置',
success: modalRes => {
if (modalRes.confirm) {
this.$Router.push({
name: 'AccountResetPassword',
params: {
phone: this.userInfo.username
}
})
return
}
this.showIv = false
}
})
return
}
this.showIv = true
},
resetPassword(){
this.$Router.push({
name: 'AccountResetPassword',
params: {
phone: this.userInfo.username
}
})
},
// 验证支付密码
validationIv() {
chainSeed({
transfer_password: this.iv
}).then(res => {
this.mnemonic = res.seed
this.showIv = false
this.wordsShow = true
this.iv = ''
}).catch(err => {
uni.showToast({
title: err.message,
icon: 'none'
})
})
},
mianze() {
uni.navigateTo({
url: 'pages/vip/agreement?id=7'
})
},
// 按钮导航
onBtn(name, params) {
this.$Router.push({
name,
params
});
},
// 退出登录
logOut() {
uni.removeStorageSync('isnew')
// uni.removeStorageSync('isWalleNum')
this.$store.commit('setToken', '');
this.$Router.replaceAll({
name: 'Auth'
})
},
// 复制
copy(data) {
uni.setClipboardData({
data: data,
success: function() {
uni.showToast({
title: '复制成功',
icon: 'none',
mask: true,
duration: 2000
})
}
});
},
// 连续点击
onNum() {
if (this.isWallet) {
return
}
this.walletNum++
this.$refs.onTimeCount.reset();
this.$refs.onTimeCount.start();
if (this.walletNum >= 7) {
uni.showToast({
title: '已开启共力钱包',
icon: 'none'
})
this.isWallet = true
this.walletNum = 0
this.$refs.onTimeCount.pause();
// uni.setStorageSync('isWalleNum', 1)
}
},
// 复制助记词
copyWord() {
uni.setClipboardData({
data: this.mnemonic,
success: () => {
this.wordsShow = false
uni.showToast({
title: '助记词已复制',
icon: 'none',
mask: true
})
}
});
},
// 检查版本更新
updateApp() {
uni.showLoading({
title: '检查更新'
})
//#ifdef APP-PLUS
// 获取系统版本号
getVersions({
platform: plus.os.name,
version: plus.runtime.version
}).then(res => {
uni.hideLoading()
if (res.update) {
uni.showModal({
title: "更新提示",
content: res.note || '版本更新信息',
confirmText: "更新",
success: modalRes => {
if (modalRes.confirm) {
if (plus.os.name == "Android") {
uni.showToast({
title: '新版本下载中,将在下载完成后自动为您安装更新包',
icon: 'none'
})
uni.downloadFile({
url: res.info.download,
success: apkPick => {
plus.runtime.install(apkPick
.tempFilePath, '',
installRES => {
// 安装完成用于提示新版本引导,暂时无用
}, installERR => {
// 安装失败
})
},
fail(err) {
uni.showToast({
title: '安装包下载失败,请检查您的网络或稍后重试',
icon: 'none'
})
}
})
} else {
uni.showToast({
title: 'IOS应用暂未上架请打开测试(TestFlight)工具点击更新',
icon: 'none'
})
}
}
}
})
return
}
uni.showModal({
title: "提示",
content: "当前已是最新版本",
showCancel: false,
})
}).catch(err => {
uni.showToast({
title: err.message,
icon: 'none'
})
})
//#endif
}
}
};
</script>
<style lang="scss" scoped>
.onTime{
height: 0px;
overflow: hidden;
}
<style lang="scss" scoped>
.onTime {
height: 0px;
overflow: hidden;
}
.content {
background: $window-color;
min-height: 100vh;
@@ -459,7 +491,7 @@
border-radius: 50%;
border: solid 6rpx white;
box-sizing: border-box;
z-index: 100;
z-index: 100;
background-color: #fff;
}
@@ -574,8 +606,8 @@
display: flex;
justify-content: space-between;
&-item {
position: relative;
&-item {
position: relative;
width: 25%;
padding: $padding $padding/2;
text-align: center;
@@ -589,20 +621,20 @@
.title {
font-size: $title-size-sm;
margin-top: $margin/3;
}
.number{
position: absolute;
top: 22rpx;
z-index: 2;
right: 20%;
background: $text-price;
color: white;
font-size: 22rpx;
min-width: 30rpx;
line-height: 30rpx;
border-radius: 50%;
}
}
.number {
position: absolute;
top: 22rpx;
z-index: 2;
right: 20%;
background: $text-price;
color: white;
font-size: 22rpx;
min-width: 30rpx;
line-height: 30rpx;
border-radius: 50%;
}
}
}