完善钱包模块,修改密码,导出助记词

This commit is contained in:
唐明明
2022-01-13 17:23:22 +08:00
parent ae0179af3c
commit 8eef1d2a4b
9 changed files with 220 additions and 152 deletions

View File

@@ -14,7 +14,7 @@
</view>
<!-- 按钮 -->
<view class="buttons">
<button type="default" form-type="submit" @click="createWallet">确认</button>
<button type="default" form-type="submit" @click="createWallet">确认激活</button>
</view>
</view>
</template>
@@ -50,10 +50,7 @@ export default {
code: Number(this.password)
}).then(res => {
this.$Router.replace({
name: 'WalletMnemonic',
params: {
code: this.password
}
name: 'WalletProperty'
})
}).catch(err => {
uni.showToast({

View File

@@ -9,7 +9,7 @@
<!-- 按钮 -->
<view class="buttons">
<view class="text">助记词是用户账户的唯一标识不能分享给他人掌握该助记词即可控制该账户与钱包</view>
<button type="default" @click="goto">验证助记词</button>
<!-- <button type="default" @click="goto">验证助记词</button> -->
</view>
</view>
</template>
@@ -19,18 +19,14 @@
export default {
data() {
return {
mnemonic: [], // 助记词
sign : '' // 校验签名
mnemonic: []
}
},
mounted() {
// this.$Route.query.code
seed({
code: 123456
code: this.$Route.query.password
}).then(res => {
console.log(res)
this.mnemonic = res.seed.split(' ')
this.sign = res.sign
}).catch(err => {
uni.showToast({
icon: 'none',

View File

@@ -2,7 +2,7 @@
<view>
<!-- 私钥 -->
<view class="keys">
<view class="title">已接收OC Chain托管</view>
<view class="title">的ZH托管钱包</view>
<view class="key">{{key || '-'}}</view>
<view class="copykey" @click="copykey">复制我的私钥</view>
</view>
@@ -14,9 +14,9 @@
</view>
</view>
<!-- 免责说明 -->
<view class="liability">
<!-- <view class="liability">
<navigator url="/pages/wallet/cmsWithDraw">免责条款</navigator>
</view>
</view> -->
</view>
</template>
@@ -26,15 +26,26 @@
data() {
return {
key: "",
rules: []
rules: [
{
title: "什么是托管钱包?",
description: "托管钱包顾名思义就是用户把私钥和数字资产委托给其他机构管理,也就是就是通过中心化的方式安全管理并保存资产,本质上是与区块链所追求的去中心化相背离的。"
},
{
title: "什么是钱包私钥?",
description: "作为管理和使用加密货币最关键的东西,私钥对所有数字货币用户而言具有所有权,拥有私钥才能支配相应的加密资产。"
}
]
};
},
mounted() {
Promise.all([privatekey(this.$Route.query.password), keyrules()]).then(res => {
let privatekey = res[0],
keyrules = res[1]
this.key = privatekey.private_key
this.rules = keyrules
privatekey(this.$Route.query.password).then(res => {
this.key = res.private_key
}).catch(err => {
uni.showToast({
title: err.message,
icon : 'none'
})
})
},
methods:{
@@ -63,11 +74,11 @@
.key{
padding: $padding * 2 0;
text-align: center;
color: $mian-color;
color: $main-color;
word-wrap: break-word;
}
.copykey{
background-color: $mian-color;
background-color: $main-color;
color: white;
height: 95rpx;
line-height: 95rpx;
@@ -88,7 +99,7 @@
font-size: $title-size + 2;
}
.content{
color: $text-gray-lg;
color: $text-gray;
font-size: $title-size-m;
line-height: 40rpx;
}

View File

@@ -50,7 +50,7 @@
logs : [],
logsType : 0,
password : '',
passwordShow : true,
passwordShow : false,
passwordPages: ''
};
},
@@ -90,17 +90,18 @@
return
}
securityCheck(this.password).then(res => {
switch (this.passwordPages){
case 'privatekey':
this.$Router.push({name:'WalletPrivatekey', params: {password: this.password}})
break;
case 'ResetPassword':
this.$Router.push({name:'ResetPassword', params: {password: this.password}})
break;
case 'WalletMnemonic':
this.$Router.push({name:'WalletMnemonic', params: {password: this.password}})
break;
}
this.resetPassword()
console.log("密码验证通过")
// switch (this.passwordPages){
// case 'privatekey':
// this.$Router.push({name:'Privatekey', params: {password: this.password}})
// break;
// case 'resetPassword':
// this.$Router.push({name:'ResetPassword', params: {password: this.password}})
// break;
// }
}).catch(err => {
uni.showToast({
title: err.message,
@@ -145,18 +146,11 @@
itemList: ['导出助记词', '修改密码'],
success: (res) => {
switch (res.tapIndex) {
case 0:
this.$Router.push({
name: 'Transfer'
})
case 0:
this.showPrivatekey('WalletMnemonic')
break;
case 1:
this.$Router.push({
name: 'WalletCode'
})
break;
case 3:
this.showPrivatekey('resetPassword')
case 1:
this.showPrivatekey('ResetPassword')
break;
}
uni.hideLoading()
@@ -270,7 +264,7 @@
color: $main-color;
margin: 0 $margin;
border-radius: $radius-m;
font-size: $title-size;
font-size: $title-size-lg;
}
}
}

View File

@@ -1,30 +1,26 @@
<template>
<view>
<!-- 设置钱包密码 -->
<view class="password">
<view class="prompt">请设置6位数字密码建议不要使用连续的数字</view>
<view class="group">
<view class="inputs">
<label>密码</label>
<input type="digit" v-model="password" maxlength="6" password placeholder="请设置新密码" />
</view>
<view class="inputs">
<label>确认密码</label>
<input type="digit" v-model="verify" maxlength="6" password placeholder="请确认新密码" />
</view>
</view>
</view>
<!-- 按钮 -->
<view class="buttons">
<button type="default" form-type="submit" @click="createWallet">确认</button>
</view>
<view>
<!-- 设置钱包密码 -->
<view class="password">
<view class="prompt">请设置6位数字密码建议不要使用连续的数字</view>
<view class="group">
<view class="inputs">
<input type="digit" password v-model="password" maxlength="6" placeholder="请设置密码" />
</view>
<view class="inputs">
<input type="digit" password v-model="verify" maxlength="6" placeholder="请确认密码" />
</view>
</view>
</view>
<!-- 按钮 -->
<view class="buttons">
<button type="default" form-type="submit" @click="createWallet">确认修改</button>
</view>
</view>
</template>
<script>
import {
securityReset
} from '@/apis/interfaces/wallet'
import { securityReset } from '@/apis/interfaces/wallet'
export default {
data() {
return {
@@ -37,7 +33,7 @@
this.oldPassword = this.$Route.query.password
},
methods: {
// 激活钱包
// 修改密码
createWallet() {
if (this.password === '' || this.verify === '') {
uni.showToast({
@@ -52,10 +48,10 @@
title: '两次输入密码不一致'
})
return
}
}
securityReset({
new_code: this.password,
old_code: this.oldPassword
code: this.oldPassword
}).then(res => {
uni.showModal({
title: '提示',
@@ -76,75 +72,69 @@
}
</script>
<style lang="scss" scoped>
// 副标题
.sub-title {
color: $text-gray;
text-align: center;
margin: $margin * 2 $margin;
font-size: $title-size-m;
}
// 设置密码
.password {
padding: 0 $padding * 2;
.prompt {
margin-top: $margin * 2;
font-size: $title-size-m;
color: $mian-color;
}
.group {
margin-top: $margin;
border-radius: $radius-m;
box-shadow: 0 0 4rpx 4rpx rgba($color: $text-color, $alpha: .02);
background-color: white;
.inputs {
padding: $padding $padding + 10;
border-bottom: solid 1rpx $border-color;
&:last-child {
border-bottom: none;
}
label {
color: $text-gray;
font-size: $title-size-m;
}
input {
height: 70rpx;
line-height: 70rpx;
font-size: $title-size;
}
}
}
}
// 按钮
.buttons {
padding: $padding * 2;
.text {
text-align: center;
line-height: 90rpx;
height: 90rpx;
margin-bottom: $margin * 2;
font-size: $title-size-lg;
color: $mian-color;
font-weight: bold;
}
button {
height: 90rpx;
line-height: 90rpx;
background-color: $mian-color;
border-radius: $radius-lg;
color: white;
font-weight: bold;
font-size: $title-size;
}
}
<style lang="scss" scoped>
// 副标题
.sub-title {
color: $text-gray;
text-align: center;
margin: $margin * 2 $margin;
font-size: $title-size-m;
}
// 设置密码
.password {
padding: 0 $padding * 2;
.prompt {
margin-top: $margin * 2;
font-size: $title-size-m;
color: $main-color;
text-align: center;
}
.group {
padding-top: $padding;
.inputs {
padding: 10rpx $padding + 10;
margin-top: $margin;
border-radius: $radius-m;
background-color: $window-color;
&:last-child {
border-bottom: none;
}
input {
height: 70rpx;
line-height: 70rpx;
font-size: $title-size-lg;
text-align: center;
}
}
}
}
// 按钮
.buttons {
padding: $padding * 2;
.text {
text-align: center;
line-height: 90rpx;
height: 90rpx;
margin-bottom: $margin * 2;
font-size: $title-size-lg;
color: $main-color;
font-weight: bold;
}
button {
height: 90rpx;
line-height: 90rpx;
background-color: $main-color;
border-radius: $radius-m;
color: white;
font-weight: bold;
font-size: $title-size;
&::after{
display: none;
}
}
}
</style>