npm-debug.log
yarn-error.log
key.pem
+*.crx
# Editor directories and files
.idea
width: 100%;
position: relative;
display: inline-block;
- font-size: 0.7rem;
+ font-size: 18px;
font-weight: 400;
font-family: inherit;
text-decoration: none;
text-align: center;
margin: 0;
background: #dddddd;
- padding: 0 0.6rem;
- height: 1.5rem;
- line-height: 1.5rem;
+ padding: 10px 20px;
+ height: 35px;
+ line-height: 18px;
border-radius: 0.2rem;
white-space: nowrap;
text-overflow: ellipsis;
color: #212121;
background-color: #bdbdbd;
}
+.btn-small {
+ width: 50%;
+ height: 50%;
+}
.btn-primary {
color: #ffffff;
background-color: #282f38;
cursor: pointer;
}
.btn-group {
- padding: 5px 50px;
- line-height: 45px;
+ padding: 0px 45px;
+ line-height: 55px;
+}
+
+.list {
+}
+
+.list-item {
+ padding: 5px 10px;
+}
+.list-item:active,
+.list-item:hover,
+.list-item.active {
+ background-color: #1bc1b0;
+ border-radius: 5px;
+ cursor: pointer;
+}
+.list-item i {
+ margin-right: 5px;
}
.form {
- font-size: 14px;
+ font-size: 18px !important;
}
.form-item {
- margin: 10px 0;
- padding: 5px 10px;
+ margin: 15px 0;
+ padding: 0 10px;
background-color: #282f38;
border-radius: 5px;
}
.form-item label {
display: inline-flex;
+ font-size: 16px;
+ line-height: 15px;
}
.form-item input {
border: none;
display: inline-block;
width: 100%;
}
+
+.form-item input,select {
+ font: 15px system-ui;
+}
+
.form-item-label {
text-align: right;
vertical-align: middle;
float: left;
- font-size: 12px;
line-height: 1;
padding: 10px 12px 10px 0;
box-sizing: border-box;
.form-item-content {
position: relative;
line-height: 32px;
- font-size: 12px;
}
}
.modal-footer {
- height: 20px;
+ height: 35px;
}
.modal-enter .modal-container,
-import dialog from "./component"
import Vue from 'vue';
+import dialog from "./component"
let instance;
const dialogInstance = {
--- /dev/null
+import MenuPage from "./page"
+
+const menuPageInstance = {
+ install: function (Vue, options) {
+ Vue.component('MenuPage', MenuPage);
+ },
+};
+
+export default menuPageInstance;
\ No newline at end of file
--- /dev/null
+<template>
+ <div class="mp bg-gray">
+ <div>
+ <i class="iconfont btn-close" @click="back"></i>
+ <div class="title">{{title}}</div>
+ </div>
+ <div class="content">
+ <slot></slot>
+ </div>
+ </div>
+</template>
+
+<script>
+export default {
+ props: {
+ title: ""
+ },
+ methods: {
+ back() {
+ this.$emit("back");
+ }
+ }
+};
+</script>
+
+<style scoped>
+.mp {
+ height: 100%;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ padding: 40px 30px;
+}
+.title {
+ font-size: 24px;
+ margin-bottom: 35px;
+}
+.content {
+ word-wrap: break-word;
+ font-size: 18px;
+}
+</style>
\ No newline at end of file
<style scoped>
-.content {
- margin: 30px 0;
- padding: 0 10px;
-}
+
</style>
<template>
- <div class="mc2warp bg-gray">
- <section>
- <i class="iconfont btn-close" @click="back"></i>
- <h3>备份种子</h3>
- </section>
- <section class="content">
- <div class="btn bg-green" @click="backup">备份</div>
- </section>
- </div>
+ <MenuPage title="备份" @back="back">
+ <div style="text-align: center">
+ <div style="width: 200px;" class="btn bg-green" @click="backup">备份</div>
+ </div>
+ </MenuPage>
</template>
<script>
margin: 50px 0;
}
.form-item .btn {
+ width: 200px;
margin-top: 15px;
}
</style>
<template>
- <div class="mc2warp bg-gray">
- <section>
- <i class="iconfont btn-close" @click="back"></i>
- <h3>创建账户</h3>
- </section>
- <section class="form">
+ <MenuPage title="创建账户" @back="back">
+ <div class="form">
<div class="form-item">
<label class="form-item-label">账户别名</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 76px;">
<input type="text" v-model="formItem.accAlias">
</div>
</div>
<div class="form-item">
<label class="form-item-label">密钥别名</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 76px;">
<input type="text" v-model="formItem.keyAlias">
</div>
</div>
<div class="form-item">
<label class="form-item-label">密钥密码</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 76px;">
<input type="password" v-model="formItem.passwd1">
</div>
</div>
<div class="form-item">
<label class="form-item-label">重复密码</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 76px;">
<input type="password" v-model="formItem.passwd2">
</div>
</div>
<div class="tips">{{tips}}</div>
- <div class="form-item bg-gray">
+ <div class="form-item bg-gray" style="text-align: center">
<div class="btn bg-green" @click="create">创建账户</div>
</div>
- </section>
- </div>
+ </div>
+ </MenuPage>
</template>
<script>
loader.hide();
this.$dialog.show({
header: "提示",
- body: err.message,
+ body: err.message
});
// this.tips = err.message;
});
<style scoped>
-.content {
- margin: 50px 0;
- word-wrap: break-word;
- font-size: 14px;
-}
</style>
<template>
- <div class="mc2warp bg-gray">
- <section>
- <i class="iconfont btn-close" @click="back"></i>
- <h3>{{ $t("help.title") }}</h3>
- </section>
- <section class="content">
- <p>{{ $t("help.page") }}</p>
- <a href="http://github.com/bytom/bytom/wiki" target="_blank">http://github.com/bytom/bytom/wiki</a>
- </section>
- </div>
+ <MenuPage :title="$t('help.title')" @back="back">
+ <p>{{ $t("help.page") }}</p>
+ <a href="http://github.com/bytom/bytom/wiki" target="_blank">http://github.com/bytom/bytom/wiki</a>
+ </MenuPage>
</template>
<script>
</style>
<template>
- <div class="mc2warp bg-gray">
- <section>
- <i class="iconfont btn-close" @click="back"></i>
- <h3>导入账户</h3>
- </section>
- <section class="body">
- <div class="form-item">
- <input type="file" ref="file" @change="tirggerFile($event)">
- </div>
- <div class="btn bg-green" @click="recovery">从种子导入</div>
- </section>
+ <MenuPage title="导入账户" @back="back">
+ <div class="form-item">
+ <input type="file" ref="file" @change="tirggerFile($event)">
</div>
+ <div class="btn bg-green" @click="recovery">从种子导入</div>
+ </MenuPage>
</template>
<script>
<style scoped>
-.content{
- margin: 50px 0;
- font-size: 14px;
+.row {
+ margin: 25px 0;
}
-.content div{
- margin: 20px 0;
+.value {
+ font-size: 15px;
+ line-height: 30px;
}
</style>
<template>
- <div class="mc2warp bg-gray">
- <section>
- <i class="iconfont btn-close" @click="back"></i>
- <h3>{{ $t("setting.title") }}</h3>
- </section>
- <section class="content">
- <div>
- <p>{{ $t("setting.version") }}</p>
- <p>1.0.1-2c74b9a</p>
- </div>
- <div>
- <p>{{ $t("setting.lang") }}</p>
- <select v-model="selected" @change="onChange()">
- <option value="cn">中文</option>
- <option value="en">English</option>
- </select>
- </div>
- <div>
- <p>{{ $t("setting.unit") }}</p>
- <select name="" id="">
- <option value="">BTM</option>
- </select>
- </div>
- </section>
- </div>
+ <MenuPage :title="$t('setting.title')" @back="back">
+ <div class="row">
+ <p>{{ $t("setting.version") }}</p>
+ <p class="value">1.0.1-2c74b9a</p>
+ </div>
+ <div class="row">
+ <p>{{ $t("setting.lang") }}</p>
+ <select class="value" v-model="selected" @change="onChange()">
+ <option value="cn">中文</option>
+ <option value="en">English</option>
+ </select>
+ </div>
+ <div class="row">
+ <p>{{ $t("setting.unit") }}</p>
+ <select class="value">
+ <option value="">BTM</option>
+ </select>
+ </div>
+ </MenuPage>
</template>
<script>
name: "",
data() {
return {
- selected: 'cn'
+ selected: "cn"
};
},
methods: {
},
close: function() {
this.$emit("on-exit");
- },
+ }
},
mounted: function() {
if (localStorage.lang) {
height: 150px;
}
.balance {
- display: flex;
- position: absolute;
- right: 0px;
- margin: 30px 50px;
+ text-align: center;
+ margin-top: 15px;
}
.balance .token-icon {
- height: 30px;
- width: 30px;
- line-height: 35px;
+ height: 38px;
+ width: 38px;
+ margin-right: 5px;
}
-.balance h1 {
- font-size: 38px;
- line-height: 32px;
- margin-left: 10px;
+.balance .token-amount {
+ display: inline-block;
+ font-size: 45px;
+ line-height: 45px;
}
-.balance span {
- line-height: 42px;
- margin-left: 3px;
+.balance .token-amount .asset {
+ font-size: 18px;
+ margin-left: 2px;
}
.mask {
z-index: 3 !important;
.btn-inline {
display: flex;
+ padding: 0;
}
.btn-inline .btn {
- margin: 0 10px;
+ margin: 10px 15px;
}
</style>
leave-active-class="animated fadeOutLeft faster">
<div v-show="show" class="warp bg-gray">
<section class="header bg-green">
- <i class="iconfont icon-back" @click="show=false; confirmClose()"></i>
- <div class="balance">
- <img src="../../../assets/logo.png" class="token-icon">
- <div style="display: flex">
- <h1>{{balance}}</h1>
- <span> BTM</span>
- </div>
- </div>
+ <i class="iconfont icon-back" @click="show=false; confirmClose()"></i>
+ <div class="balance">
+ <img src="../../../assets/logo.png" class="token-icon">
+ <div class="token-amount">{{balance}}<span class="asset">BTM</span></div>
+ </div>
</section>
+
<section v-show="maskShow" class="mask"></section>
<section class="form">
<div class="form-item-group">
</div>
<div class="form-item">
<label class="form-item-label">地址</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 80px;">
<input type="text" v-model="transaction.to">
</div>
</div>
<div class="form-item">
<label class="form-item-label">数量</label>
- <div class="form-item-content" style="margin-left: 60px; display: flex;">
+ <div class="form-item-content" style="margin-left: 80px; display: flex;">
<input type="text" v-model="transaction.amount">
- <span style="width: 30px;">{{unit}}</span>
+ <span style="width: 40px; font-size: 15px;">{{unit}}</span>
</div>
</div>
<!-- <div class="form-item">
</div> -->
<div class="form-item">
<label class="form-item-label">矿工费用</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 80px;">
<select v-model="transaction.fee">
<option value="">标准</option>
</select>
</div>
</div>
<br>
- <div class="form-item">
- <label class="form-item-label">交易密码</label>
- <div class="form-item-content" style="margin-left: 60px;">
- <input type="password" v-model="transaction.passwd">
- </div>
- </div>
- <div class="btn-group">
+ <div style="width: 200px; margin: 0 auto;">
<div class="btn bg-green" @click="confirmOpen">发送交易</div>
</div>
</section>
<div v-show="confirmShow" class="confirm form bg-gray">
<div class="form-item">
<label class="form-item-label">密码确认</label>
- <div class="form-item-content" style="margin-left: 60px;">
- <input type="password" v-model="confirmPasssword" autofocus>
+ <div class="form-item-content" style="margin-left: 85px;">
+ <input type="password" v-model="transaction.passwd" autofocus>
</div>
</div>
<div class="btn-group btn-inline">
balance: 0,
accounts: [],
unit: "单位",
- confirmPasssword: "",
assets: {
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff: "BTM"
},
this.maskShow = false;
},
confirmTransfer: function() {
- if (this.confirmPasssword != this.transaction.passwd) {
+ if (this.transaction.passwd != "") {
this.$dialog.show({
header: "提示",
- body: "密码不一致",
+ body: "密码不能为空"
});
return;
}
)
.then(ret => {
console.log(ret);
-
+
loader.hide();
this.close();
this.confirmClose();
this.$emit("on-success");
- this.confirmPasssword = "";
this.transaction.passwd = "";
})
.catch(error => {
loader.hide();
this.confirmClose();
this.transaction.passwd = "";
- this.confirmPasssword = "";
this.$dialog.show({
header: "提示",
- body: error.message,
+ body: error.message
});
});
}
.warp {
z-index: 1;
}
-.account {
- font-size: 18px;
+
+.topbar {
+ font-size: 19px;
+}
+.topbar .topbar-left {
+ width: 120px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ padding-top: 20px;
+ padding-left: 20px;
}
-.account .btn-menu {
+.topbar-left .btn-menu {
float: left;
- margin: 20px 8px 0 20px;
+ margin-right: 8px;
}
-.account .btn-toggle {
+.topbar-left .btn-menu i {
+ font-size: 100%;
+}
+.topbar-left .alias {
+ height: 25px;
+ font-size: 19px;
+ line-height: 28px;
+}
+
+.topbar .topbar-right {
float: right;
- margin-top: 15px;
+ margin-top: 20px;
margin-right: 20px;
border: 2px solid #fff;
border-radius: 18px;
padding: 0 10px;
- font-size: 12px;
+ font: 12px system-ui;
text-align: center;
}
-.lamp {
+.topbar-right .lamp {
display: inline-block;
- width: 8px;
- height: 8px;
+ width: 6px;
+ height: 6px;
border-radius: 50%;
background-color: #02f823;
+ margin-right: 2px;
+ position: relative;
+ top: -2px;
}
-.account .alias {
- height: 25px;
-}
-.account span {
- display: block;
- padding-top: 20px;
- font-size: 18px;
- font-weight: bold;
- width: 120px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.balance {
+.content {
margin-top: 20px;
text-align: center;
padding: 0 30px 20px;
}
-.balance .token-icon {
+.content .token-icon {
display: inline-flex;
height: 40px;
width: 40px;
- /* background: #fff; */
- /* border: 1px solid #dedede; */
- /* border-radius: 25px; */
padding: 8px;
margin: 8px;
}
-.balance .amount {
+.content .amount {
padding-bottom: 10px;
}
-.balance .token-amount {
- font-size: 32px;
+.content .token-amount {
+ font-size: 45px;
+ line-height: 45px;
+}
+.token-amount .asset {
+ font-size: 18px;
+ margin-left: 2px;
}
.qrcode {
margin-left: 5px;
}
.btn-transfer {
width: 200px;
- font-size: 20px;
- line-height: 22px;
- height: 40px;
- line-height: 40px;
+ /* font-size: 20px; */
+ /* line-height: 22px; */
+ /* height: 40px; */
}
.transactions {
- font-size: 14px;
+ font-size: 15px;
/* line-height: 40px; */
/* display: contents; */
}
.transactions h3 {
- padding: 10px;
- margin: 0;
+ font-size: 18px;
+ font-weight: inherit;
color: #cacaca;
+ text-align: center;
+ padding: 5px 0;
}
.transactions .list {
padding: 0 10px;
- /* overflow-y: scroll; */
-
}
.list-item {
display: block;
<template>
<div class="warp">
<section class="bg-green">
- <div class="row account">
- <a class="btn-menu" href="#"><i class="iconfont icon-menu" @click="$refs.menu.open()"></i></a>
- <span class="btn-toggle">
+ <div class="topbar">
+ <div class="topbar-right">
<i class="lamp"></i>
<select v-model="network" @change="netToggle">
<option value="mainnet">BYTOM主网络</option>
<option value="testnet">BYTOM测试网络</option>
</select>
- </span>
- <span class="alias">{{accountInfo.alias}}</span>
+ </div>
+ <div class="topbar-left">
+ <a class="btn-menu" href="#"><i class="iconfont icon-menu" @click="$refs.menu.open()"></i></a>
+ <span class="alias">{{accountInfo.alias}}</span>
+ </div>
</div>
- <div class="row balance">
+ <div class="content">
<img src="../../assets/logo.png" class="token-icon">
<div v-if="accountInfo.address!=undefined" class="amount">
- <div class="token-amount">{{accountInfo.balance}} BTM</div>
+ <div class="token-amount">{{accountInfo.balance}}<span class="asset">BTM</span></div>
<p class="account-address">
<span class="address-text" :title="addressTitle" :data-clipboard-text="accountInfo.address">{{accountInfo.address_short}}</span>
<i class="iconfont qrcode" @click="showQrcode"></i>
return;
}
- bytom.Transaction.list(
- this.accountInfo.guid,
- this.accountInfo.address
- ).then(ret => {
- let transactions = ret.data.transactions;
- if (transactions == null) {
- this.transcations = [];
- return;
- }
+ bytom.Transaction.list(this.accountInfo.guid, this.accountInfo.address)
+ .then(ret => {
+ let transactions = ret.data.transactions;
+ if (transactions == null) {
+ this.transcations = [];
+ return;
+ }
- this.transcationsFormat(transactions);
- console.log("formatTx", transactions);
- this.transcations = transactions;
- }).catch(error => {
- console.log(error);
- });
+ this.transcationsFormat(transactions);
+ console.log("formatTx", transactions);
+ this.transcations = transactions;
+ })
+ .catch(error => {
+ console.log(error);
+ });
}
},
mounted() {
this.network = localStorage.bytomNet;
this.refreshTransactions();
- this.clipboard.on("success", (e) => {
+ this.clipboard.on("success", e => {
this.$dialog.show({
header: this.$t("dialog.header"),
body: this.$t("dialog.copy.success"),
});
});
- this.clipboard.on("error", (e) => {
+ this.clipboard.on("error", e => {
this.$dialog.show({
header: this.$t("dialog.header"),
body: this.$t("dialog.copy.fail"),
<style scoped>
-.btn-close {
- color: #ffffff;
- font-weight: bold;
- position: absolute;
- right: 10px;
- top: 10px;
-}
.mc-wrap {
position: fixed;
top: 0;
right: 0;
bottom: 0;
z-index: 9999;
- width: 60%;
+ width: 55%;
height: 100%;
padding: 40px;
background-color: #3c454b;
}
-
-.mc2warp {
- height: 100%;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- padding: 40px;
-}
-.account-list {
+.accounts {
width: 100%;
- height: 230px;
+ height: 200px;
overflow-x: hidden;
overflow-y: scroll;
+ margin-bottom: 25px;
}
-.account-list::-webkit-scrollbar {
+.accounts::-webkit-scrollbar {
display: none;
}
-.account-list ul {
- margin-top: 30px;
-}
-.account-list i {
- font-size: 28px;
- line-height: 45px;
- margin-right: 18px;
+.accounts i {
+ font-size: 24px;
}
-ul {
- display: grid;
+.menu {
+ border-top: 1px solid #c9c9c9;
+ padding-top: 15px;
}
-ul li {
- display: flex;
- padding: 5px 0;
-}
-li i {
- margin: 0 8px;
+.account {
+ width: 150px;
+ display: inline-block;
+ vertical-align: middle;
}
-.acc-alias {
+.account-alias {
width: 150px;
+ font-size: 19px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
+.account-asset {
+ font-size: 15px;
+}
</style>
<template>
<div>
<link href="https://cdn.jsdelivr.net/npm/animate.css@3.5.1" rel="stylesheet" type="text/css">
<div v-show="maskShow" class="mask"></div>
- <transition name="left-menu"
+ <transition name="left-menu" v-on:after-leave="close"
enter-active-class="animated slideInLeft faster"
- leave-active-class="animated slideOutLeft faster"
- v-on:after-leave="close">
- <div v-show="show" class="mc-wrap bg-gray">
- <section>
- <i class="iconfont btn-close" @click="close"></i>
- <h3>账号切换</h3>
- </section>
- <section class="account-list">
- <ul>
- <!-- class="active" -->
- <div v-for="(account, index) in accounts" :key="index">
- <li :class="(currentAccount != undefined && account.address == currentAccount.address) ? 'active': ''" @click="accountSelected(account)">
- <i class="iconfont icon-user"></i>
- <div>
- <p v-if="account.alias" class="acc-alias">{{account.alias}}</p>
- <p v-else>账户{{index+1}}</p>
- <p>{{account.balance}} BTM</p>
- </div>
- </li>
+ leave-active-class="animated slideOutLeft faster">
+ <div v-show="show" class="mc-wrap">
+ <MenuPage title="账号切换" @back="close">
+ <div class="list accounts">
+ <div v-for="(account, index) in accounts" :key="index" @click="accountSelected(account)">
+ <div :class="(currentAccount != undefined && account.address == currentAccount.address) ? 'list-item active': 'list-item'">
+ <i class="iconfont icon-user"></i>
+ <div class="account">
+ <div class="account-alias">{{account.alias}}</div>
+ <div class="account-asset">{{account.balance}} BTM</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="list menu">
+ <div class="list-item" @click="currView='creation'">
+ <i class="iconfont icon-plusbox"></i>创建账户
</div>
- </ul>
- </section>
- <hr>
- <section class="menu-list">
- <ul>
- <li @click="currView='creation'"><i class="iconfont icon-plusbox"></i>创建账户</li>
- <!-- <li @click="currView='recovery'"><i class="iconfont icon-import"></i>导入账号</li> -->
- <li @click="currView='backup'"><i class="iconfont icon-backup"></i>备份</li>
- <li @click="currView='help'"><i class="iconfont icon-help"></i>帮助</li>
- <li @click="currView='settings'"><i class="iconfont icon-settings"></i>设置</li>
- </ul>
- </section>
+ <div class="list-item" @click="currView='backup'">
+ <i class="iconfont icon-backup"></i>备份
+ </div>
+ <div class="list-item" @click="currView='help'">
+ <i class="iconfont icon-help"></i>帮助
+ </div>
+ <div class="list-item" @click="currView='settings'">
+ <i class="iconfont icon-settings"></i>设置
+ </div>
+ </div>
+ </MenuPage>
<!-- child-page -->
<div>
this.$emit("accounts-clear");
return;
}
-
+
if (localStorage.currentAccount != undefined) {
this.currentAccount = JSON.parse(localStorage.currentAccount);
} else {
import Vue from "vue";
import App from "./App.vue";
-import Loading from 'vue-loading-overlay';
import moment from "moment";
-import vuescroll from 'vuescroll/dist/vuescroll-native';
-import 'vuescroll/dist/vuescroll.css';
+import Loading from "vue-loading-overlay";
+import vuescroll from "vuescroll/dist/vuescroll-native";
+import Dialog from "./components/dialog";
+import MenuPage from "./components/menu-page";
+import VueI18n from "vue-i18n";
+import messages from "../assets/language";
import "../assets/style.css";
-import 'vue-loading-overlay/dist/vue-loading.css';
-import Dialog from "./dialog/index"
-import VueI18n from 'vue-i18n'
-import messages from '../language'
+import "vuescroll/dist/vuescroll.css";
+import "vue-loading-overlay/dist/vue-loading.css";
-Vue.use(VueI18n);
-Vue.use(Loading);
Vue.use(vuescroll);
Vue.use(Dialog);
+Vue.use(MenuPage);
+Vue.use(Loading);
+Vue.use(VueI18n);
Vue.prototype.$vuescrollConfig = {
bar: {
- mode: 'pure-native',
+ mode: "pure-native",
keepShow: true,
- background: '#c9c9c9'
+ background: "#c9c9c9"
}
};
Vue.filter("moment", function(value, formatString) {
formatString = formatString || "YYYY-MM-DD HH:mm:ss";
return moment(value * 1000).format(formatString);
});
-let lang = 'en';
-if(localStorage.lang) {
+
+let lang = "cn";
+if (localStorage.lang) {
lang = localStorage.lang;
}
const i18n = new VueI18n({
- fallbackLocale: 'en',
+ fallbackLocale: "en",
locale: lang,
- messages,
-})
+ messages
+});
+
new Vue({
el: "#app",
i18n: i18n,
<img src="../../../assets/logo.png">
</section>
<section class="login-content">
- <h4>创建账户</h4>
+ <div class="title">创建账户</div>
<div class="form">
<div class="form-item">
<label class="form-item-label">选择网络</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 75px;">
<select name="net" v-model="selected" @change="onChange()">
<option value="mainnet">BYTOM主网络</option>
<option value="testnet">BYTOM测试网络</option>
</div>
<div class="form-item">
<label class="form-item-label">账户别名</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 76px;">
<input type="text" v-model="formItem.accAlias" autofocus>
</div>
</div>
<div class="form-item">
<label class="form-item-label">密钥别名</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 76px;">
<input type="text" v-model="formItem.keyAlias">
</div>
</div>
<div class="form-item">
<label class="form-item-label">密钥密码</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 76px;">
<input type="password" v-model="formItem.passwd1">
</div>
</div>
<div class="form-item">
<label class="form-item-label">重复密码</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 76px;">
<input type="password" v-model="formItem.passwd2">
</div>
</div>
<img src="../../../assets/logo.png">
</section>
<section class="login-content">
- <h4>从种子导入</h4>
+ <div class="title">从种子导入</div>
<div class="form">
<div class="form-item">
<label class="form-item-label">备份文件</label>
- <div class="form-item-content" style="margin-left: 60px;">
+ <div class="form-item-content" style="margin-left: 75px;">
<input type="file" @change="tirggerFile($event)">
</div>
</div>
<style scoped>
-.login-content {
- height: 414px;
- font-size: 12px;
-}
-.login-footer {
- padding: 20px 85px;
+.protocol {
+ height: 385px;
+ /* font-size: 12px; */
}
</style>
<template>
<section class="login-header bg-green">
<img src="../../../assets/logo.png">
</section>
- <section class="login-content">
- <h4>钱包使用条款</h4>
+ <section class="login-content protocol">
+ <div class="title">钱包使用条款</div>
<p>1.是范德萨发</p>
</section>
- <section class="login-footer bg-green">
- <div class="btn btn-primary" @click="confirm">确认</div>
+ <section class="welcome-bottom bg-green">
+ <div class="btn btn-primary btn-startup" @click="confirm">确认</div>
</section>
</div>
</template>
-<style scoped>
+<style>
.welcome-top {
- height: 534px;
+ height: 505px;
text-align: center;
- font-size: 15px;
- background: url('../../../assets/welcome.jpeg') no-repeat;
+ font-size: 18px;
+ background: url("../../../assets/welcome.jpeg") no-repeat;
background-size: 100%;
}
.welcome-top p {
position: absolute;
left: 0;
right: 0;
- bottom: 70px;
+ bottom: 100px;
}
.welcome-bottom {
- padding: 20px 85px;
+ height: 95px;
+}
+.btn-startup {
+ width: 200px;
+ position: absolute;
+ bottom: 15px;
+ left: 50%;
+ right: 50%;
+ transform: translate(-50%, -50%);
}
</style>
<p>欢迎使用BYTOM精简Chrome钱包</p>
</section>
<section class="welcome-bottom bg-green">
- <div class="btn btn-primary" @click="start">开始使用</div>
+ <div class="btn btn-primary btn-startup" @click="start">开始使用</div>
</section>
</div>
</template>
return {};
},
methods: {
- start: function(){
- this.$emit("next")
- }
+ start: function() {
+ this.$emit("next");
+ }
}
};
</script>
\ No newline at end of file
}
.login-content {
padding: 30px;
- font-size: 12px;
}
-.login-content h4 {
+.login-content .title {
text-align: center;
- font-size: 18px;
+ font-size: 24px;
+ margin-bottom: 20px;
}
.login-footer {
padding: 20px 85px;