Browse Source

first

master
Dread 4 years ago
commit
0e210febd6
  1. 12
      .gitignore
  2. 20
      .hbuilderx/launch.json
  3. 57
      App.vue
  4. 2
      README.md
  5. 89
      components/navigation/navigation.vue
  6. 189
      components/tabBar/tabBar.vue
  7. 43
      main.js
  8. 135
      manifest.json
  9. 1118
      package-lock.json
  10. 235
      pages.json
  11. 9
      pages/menu/about/Privacy/index.css
  12. 44
      pages/menu/about/Privacy/index.vue
  13. 37
      pages/menu/about/index.css
  14. 70
      pages/menu/about/index.vue
  15. 9
      pages/menu/about/terms/index.css
  16. 39
      pages/menu/about/terms/index.vue
  17. 104
      pages/menu/address/addressMangement/index.css
  18. 98
      pages/menu/address/addressMangement/index.vue
  19. 149
      pages/menu/address/backUp/index.css
  20. 67
      pages/menu/address/backUp/index.vue
  21. 32
      pages/menu/address/improtKey/index.css
  22. 53
      pages/menu/address/improtKey/index.vue
  23. 152
      pages/menu/address/index.css
  24. 147
      pages/menu/address/index.vue
  25. 144
      pages/menu/address/showKey/index.css
  26. 92
      pages/menu/address/showKey/index.vue
  27. 43
      pages/menu/backUp/backUp2/index.css
  28. 77
      pages/menu/backUp/backUp2/index.vue
  29. 134
      pages/menu/backUp/backUp3/index.css
  30. 170
      pages/menu/backUp/backUp3/index.vue
  31. 56
      pages/menu/backUp/index.css
  32. 112
      pages/menu/backUp/index.vue
  33. 38
      pages/menu/backUp/reSuccessful.vue
  34. 156
      pages/menu/backUp/transPaw/index.css
  35. 106
      pages/menu/backUp/transPaw/index.vue
  36. 139
      pages/menu/discover/index.css
  37. 153
      pages/menu/discover/index.vue
  38. 24
      pages/menu/load/index.css
  39. 47
      pages/menu/load/index.vue
  40. 74
      pages/menu/market/index.css
  41. 169
      pages/menu/market/index.vue
  42. 40
      pages/menu/profile/index.css
  43. 104
      pages/menu/profile/index.vue
  44. 402
      pages/menu/sendToken/addAddress/index.css
  45. 145
      pages/menu/sendToken/addAddress/index.vue
  46. 130
      pages/menu/sendToken/address/index.css
  47. 125
      pages/menu/sendToken/address/index.vue
  48. 147
      pages/menu/sendToken/enPassword/index.css
  49. 73
      pages/menu/sendToken/enPassword/index.vue
  50. 79
      pages/menu/sendToken/index.css
  51. 61
      pages/menu/sendToken/index.vue
  52. 314
      pages/menu/sendToken/transfer/index.css
  53. 262
      pages/menu/sendToken/transfer/index.vue
  54. 59
      pages/menu/setting/addBtcNode/index.css
  55. 99
      pages/menu/setting/addBtcNode/index.vue
  56. 80
      pages/menu/setting/btcNodeSetting/index.css
  57. 105
      pages/menu/setting/btcNodeSetting/index.vue
  58. 39
      pages/menu/setting/currency/index.css
  59. 106
      pages/menu/setting/currency/index.vue
  60. 34
      pages/menu/setting/index.css
  61. 77
      pages/menu/setting/index.vue
  62. 39
      pages/menu/setting/lang/index.css
  63. 105
      pages/menu/setting/lang/index.vue
  64. 54
      pages/menu/setting/nodeSetting/index.css
  65. 101
      pages/menu/setting/nodeSetting/index.vue
  66. 146
      pages/menu/setting/payPassword/index.css
  67. 76
      pages/menu/setting/payPassword/index.vue
  68. 136
      pages/menu/token/btc/index.css
  69. 153
      pages/menu/token/btc/index.vue
  70. 108
      pages/menu/transction/detail/index.css
  71. 119
      pages/menu/transction/detail/index.vue
  72. 164
      pages/menu/wallet/add/index.css
  73. 120
      pages/menu/wallet/add/index.vue
  74. 162
      pages/menu/wallet/cwallet/index.css
  75. 132
      pages/menu/wallet/cwallet/index.vue
  76. 113
      pages/menu/wallet/index.css
  77. 206
      pages/menu/wallet/index.vue
  78. 157
      pages/menu/wallet/mwallet/index.css
  79. 124
      pages/menu/wallet/mwallet/index.vue
  80. 108
      pages/menu/wallet/mwallet/manage/index.css
  81. 106
      pages/menu/wallet/mwallet/manage/index.vue
  82. 103
      pages/register/index.css
  83. 189
      pages/register/index.vue
  84. BIN
      static/tabbar/dorder.png
  85. BIN
      static/tabbar/dorderS.png
  86. BIN
      static/tabbar/[email protected]
  87. BIN
      static/tabbar/[email protected]
  88. BIN
      static/tabbar/[email protected]
  89. BIN
      static/tabbar/[email protected]
  90. BIN
      static/tabbar/[email protected]
  91. BIN
      static/tabbar/[email protected]
  92. BIN
      static/tabbar/[email protected]
  93. BIN
      static/tabbar/[email protected]
  94. BIN
      static/tabbar/[email protected]
  95. BIN
      static/tabbar/[email protected]
  96. BIN
      static/tongyonh/Bodyback.png
  97. BIN
      static/tongyonh/Discover_icon.png
  98. BIN
      static/tongyonh/Discover_icona.png
  99. BIN
      static/tongyonh/ETH_icon.png
  100. BIN
      static/tongyonh/Ellipse45.png

12
.gitignore

@ -0,0 +1,12 @@
fan:
node_modules/**/*
unpackage/
unpackage/**/*
.idea
.idea/
.expo/*
npm-debug.*
*.orig.*
web-build/
# macOS
.DS_Store

20
.hbuilderx/launch.json

@ -0,0 +1,20 @@
{ // launch.json configurations app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
// launchtypelocalremote, localremote
"version": "0.0",
"configurations": [{
"app-plus" :
{
"launchtype" : "local"
},
"default" :
{
"launchtype" : "local"
},
"h5" :
{
"launchtype" : "local"
},
"type" : "uniCloud"
}
]
}

57
App.vue

@ -0,0 +1,57 @@
<style lang="scss">
@import "uview-ui/index.scss";
</style>
<script>
export default {
onLaunch: function(e) {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style lang="scss">
button::after {
border: none;
}
uni-tabbar {
.uni-tabbar { // tab
padding-top:28rpx;
padding-bottom: 30rpx !important;
background-image: linear-gradient(to top, #FAF8F8, #FFFFFF)!important; // tab
.uni-tabbar-border { // tabBar
background-color: #F7F4F4!important; // tabBar
}
.uni-tabbar__bd { // tabBar
.uni-tabbar__icon { //
width: 48rpx!important;
height: 48rpx!important;
}
.uni-tabbar__label { //
font-size: 20rpx!important;
}
}
}
}
</style>

2
README.md

@ -0,0 +1,2 @@
# first

89
components/navigation/navigation.vue

@ -0,0 +1,89 @@
<template>
<view class="nav-head" :class="bgnum?'bgf':''">
<slot></slot>
<slot name="bread"></slot>
<slot name="logo"></slot>
<image src="../../static/tongyonh/Vector.png" mode="aspectFit" class="back" @tap="back()" v-if="showBack"></image>
</view>
</template>
<script>
const COMPONENT_NAME = 'navigation'
export default {
name: COMPONENT_NAME,
props:{
showBack: {
type: Boolean,
default () {
return true
}
},
bgnum: {
type: Boolean,
default () {
return false
}
},
},
data() {
return {
}
},
computed: {
},
mounted() {
},
methods: {
back(){
// #ifdef H5
history.back()
// #endif
// #ifdef APP-PLUS
uni.navigateBack()
// #endif
}
},
}
</script>
<style scoped lang="scss">
.item{
font-size: 28rpx;
text-align: center;
width: 234rpx;
line-height: 60rpx;
}
.nav-head{
line-height: 60rpx;
background-color: #fff;
text-align: center;
font-weight: 700;
font-size: 36rpx;
color: #000;
position: relative;
padding: 0 36rpx;
margin-top: 50rpx;
display: flex;
justify-content: center;
flex-direction: row-reverse;
align-items: center;
}
.back{
width: 16rpx;
height: 24rpx;
position: absolute;
left:36rpx;
top: 50%;
transform: translateY(-50%);
}
.bgf{
background-color: #FAFAFA !important;
}
</style>

189
components/tabBar/tabBar.vue

@ -0,0 +1,189 @@
<template>
<view class="index-header ">
<view class="con">
<view class="tabbar_item" @click="goToPage(1)">
<view class="uni-tabbar_bd">
<view class="uni-tabbar_icon">
<image :src="'/static/tongyonh/'+(selectActive==1?'Uniona':'Union')+'.png'" mode="aspectFit" class="img1"></image>
</view>
<view class="uni-tabbar_label" :class="['text', selectActive==1?'active':'']">
Wallet
</view>
</view>
</view>
<view class="tabbar_item" @click="goToPage(2)">
<view class="uni-tabbar_bd">
<view class="uni-tabbar_icon">
<image :src="'/static/tongyonh/'+(selectActive==2?'nft_icon':'nft_icon')+'.png'" mode="aspectFit" class="img1"></image>
</view>
<view class="uni-tabbar_label" :class="['text', selectActive==2?'active':'']">
NFT
</view>
</view>
</view>
<view class="tabbar_item" @click="goToPage(3)">
<view class="uni-tabbar_bd">
<view class="uni-tabbar_icon">
<image :src="'/static/tongyonh/'+(selectActive==3?'market_icona':'market_icon')+'.png'" mode="aspectFit" class="img1"></image>
</view>
<view class="uni-tabbar_label" :class="['text', selectActive==3?'active':'']">
Market
</view>
</view>
</view>
<view class="tabbar_item" @click="goToPage(4)">
<view class="uni-tabbar_bd">
<view class="uni-tabbar_icon">
<image :src="'/static/tongyonh/'+(selectActive==4?'Discover_icona':'Discover_icon')+'.png'" mode="aspectFit" class="img1"></image>
</view>
<view class="uni-tabbar_label" :class="['text', selectActive==4?'active':'']">
Discover
</view>
</view>
</view>
<view class="tabbar_item" @click="goToPage(5)">
<view class="uni-tabbar_bd">
<view class="uni-tabbar_icon">
<image :src="'/static/tongyonh/'+(selectActive==5?'Profile_icona':'Profile_icon')+'.png'" mode="aspectFit" class="img1"></image>
</view>
<view class="uni-tabbar_label" :class="['text', selectActive==5?'active':'']">
Profile
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import api from '@/utils/api'
import utils from '@/utils'
import md5 from 'js-md5'
import store from '@/store'
const COMPONENT_NAME = 'tabBar'
export default {
name: COMPONENT_NAME,
props: {
selectActive: {
type: Number,
default () {
return 1
}
},
},
data() {
return {
status:''
}
},
computed: {
},
mounted() {
},
methods: {
goToPage(num) {
if(num == 1) {
uni.reLaunch({
url: '/pages/menu/wallet/index'
})
} else if (num == 2) {
uni.reLaunch({
url: '/pages/menu/profile/index'
})
} else if (num == 3) {
uni.reLaunch({
url: '/pages/menu/market/index'
})
}else if (num == 4) {
uni.reLaunch({
url: '/pages/menu/discover/index'
})
}else if (num == 5) {
uni.reLaunch({
url: '/pages/menu/profile/index'
})
}
}
},
}
</script>
<style scoped lang="scss">
.active{
color: #5B53FF !important;
}
.uni-tabbar_label {
color: rgb(153, 153, 153);
font-size: 10px;
line-height: normal;
margin-top: 3px;
position: relative;
text-align: center;
font-size: 20rpx !important;
}
.uni-tabbar_icon{
width: 24px !important;
height: 24px !important;
position: relative;
display: inline-block;
margin-top: 5px;
}
.uni-tabbar_icon image {
width: 100%;
height: 100%;
}
.uni-tabbar_bd{
height: 100rpx;
position: relative;
-webkit-flex-direction: column;
flex-direction: column;
cursor: pointer;
}
.con{
width: 100%;
background-color: rgb(247, 247, 250);
position: fixed;
bottom: 0;
left: 0;
padding-top: 28rpx;
padding-bottom: 30rpx ;
background-image: -webkit-linear-gradient(bottom, #FAF8F8, #FFFFFF) !important;
background-image: linear-gradient(to top, #FAF8F8, #FFFFFF) !important;
border-top: 2rpx solid #F7F4F4;
display: flex;
z-index: 998;
box-sizing: border-box;
}
.tabbar_item{
display: -webkit-box;
width: 150rpx;
height: 100rpx;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
webkit-flex-direction: column;
flex-direction: column;
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
font-size: 0;
text-align: center;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
</style>

43
main.js

@ -0,0 +1,43 @@
import Vue from 'vue'
import App from './App'
import ZH from './utils/locales/zh.js'
import EN from './utils/locales/en.js'
import axios from './utils/axios.js'
import store from './store'
import uView from "uview-ui";
import VueClipboards from 'vue-clipboard2'
import VueI18n from 'vue-i18n'
Vue.config.productionTip = false
// 自定义底部导航栏
import tabBar from 'components/tabBar/tabBar.vue'
Vue.use(uView);
Vue.use(VueClipboards);
Vue.use(VueI18n);
Vue.prototype.$axios = axios
Vue.prototype.$store = store
Vue.config.productionTip = false
Vue.component('tab-bar', tabBar)
// Vue.prototype.$showDialog = true
App.mpType = 'app'
const i18n = new VueI18n({
// locale: store.state.language, // 默认选择的语言
// locale:'en',
locale:'zh-CN',
messages: {
'zh-CN': ZH,
'en': EN
}
})
Vue.prototype.$_i18n = i18n
const app = new Vue({
i18n,
store,
...App
})
app.$mount()

135
manifest.json

@ -0,0 +1,135 @@
{
"name" : "BITCOOO",
"appid" : "__UNI__1ECBEE1",
"description" : "",
"versionName" : "1.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus" : {
// h5+runtime
"compatible" : {
"ignoreVersion" : true
},
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* */
"modules" : {},
/* */
"distribute" : {
/* android */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios */
"ios" : {},
/* SDK */
"sdkConfigs" : {
"ad" : {}
},
"icons" : {
"android" : {
"hdpi" : "unpackage/res/icons/72x72.png",
"xhdpi" : "unpackage/res/icons/96x96.png",
"xxhdpi" : "unpackage/res/icons/144x144.png",
"xxxhdpi" : "unpackage/res/icons/192x192.png"
},
"ios" : {
"appstore" : "unpackage/res/icons/1024x1024.png",
"ipad" : {
"app" : "unpackage/res/icons/76x76.png",
"app@2x" : "unpackage/res/icons/152x152.png",
"notification" : "unpackage/res/icons/20x20.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"proapp@2x" : "unpackage/res/icons/167x167.png",
"settings" : "unpackage/res/icons/29x29.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"spotlight" : "unpackage/res/icons/40x40.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png"
},
"iphone" : {
"app@2x" : "unpackage/res/icons/120x120.png",
"app@3x" : "unpackage/res/icons/180x180.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"notification@3x" : "unpackage/res/icons/60x60.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"settings@3x" : "unpackage/res/icons/87x87.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png",
"spotlight@3x" : "unpackage/res/icons/120x120.png"
}
}
}
}
},
/* */
"quickapp" : {},
/* */
"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics" : {
"enable" : false
},
"h5" : {
"publicPath" : "/",
"devServer" : {
// "port" : 8083,
"disableHostCheck" : true,
"https" : true,
"proxy" : {
"/start" : {
"ws" : false,
"target" : "",
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
"^/start" : ""
}
}
},
"port" : ""
},
"title" : "color",
"domain" : "https://wingold6.com"
}
}
// h5+runtime
/* */

1118
package-lock.json

File diff suppressed because it is too large

235
pages.json

@ -0,0 +1,235 @@
{
"easycom": {
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
},
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/menu/market/index"
},
{
"path": "pages/menu/backUp/transPaw/index"
},
{
"path": "pages/menu/address/backUp/index"
},
{
"path": "pages/register/index"
},
{
"path": "pages/menu/backUp/backUp2/index"
},
{
"path": "pages/menu/backUp/index"
},
{
"path": "pages/menu/backUp/backUp3/index"
},
{
"path":"pages/menu/backUp/reSuccessful"
},
{
"path": "pages/menu/wallet/add/index"
},
{
"path": "pages/menu/wallet/cwallet/index"
},
{
"path": "pages/menu/wallet/mwallet/manage/index"
},
{
"path": "pages/menu/sendToken/addAddress/index"
},
{
"path": "pages/menu/profile/index"
},
{
"path": "pages/menu/address/index"
},
{
"path": "pages/menu/sendToken/address/index"
},
{
"path": "pages/menu/sendToken/transfer/index"
},
{
"path": "pages/menu/sendToken/enPassword/index"
},
{
"path": "pages/menu/setting/index"
},
{
"path": "pages/menu/wallet/mwallet/index"
},
{
"path": "pages/menu/transction/detail/index"
},
{
"path": "pages/menu/sendToken/index"
},
{
"path": "pages/menu/address/addressMangement/index"
},
{
"path": "pages/menu/token/btc/index"
},
{
"path": "pages/menu/wallet/index"
},
{
"path": "pages/menu/load/index"
},
{
"path": "pages/menu/discover/index"
},
{
"path": "pages/menu/address/showKey/index"
},
{
"path": "pages/menu/setting/payPassword/index"
},
{
"path": "pages/menu/setting/addBtcNode/index"
},
{
"path": "pages/menu/setting/btcNodeSetting/index"
},
{
"path": "pages/menu/setting/nodeSetting/index"
},
{
"path": "pages/menu/setting/currency/index"
},
{
"path": "pages/menu/setting/lang/index"
},
{
"path": "pages/menu/about/index"
},
{
"path": "pages/menu/about/Privacy/index"
},
{
"path": "pages/menu/about/terms/index"
},
{
"path": "pages/menu/address/improtKey/index"
}
],
"globalStyle": {
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#34026B",
"style": {
"app-plus": {
"titleNView": false
}
}
}
// "tabBar": {
// "selectedColor": "#34026B",
// "list": [{
// "text": "Home",
// "pagePath": "pages/menu/goods/index",
// "iconPath": "./static/tabbar/[email protected]",
// "selectedIconPath": "./static/tabbar/[email protected]"
// },
// {
// "text": "Search",
// "pagePath": "pages/menu/search/index",
// "iconPath": "./static/tabbar/[email protected]",
// "selectedIconPath": "./static/tabbar/[email protected]"
// },
// {
// "text": "Order",
// "pagePath":"pages/menu/order/index",
// "iconPath": "./static/tabbar/dorder.png",
// "selectedIconPath": "./static/tabbar/dorderS.png"
// },
// {
// "text": "Promotion",
// "pagePath": "pages/menu/promotion/index",
// "iconPath": "./static/tabbar/[email protected]",
// "selectedIconPath": "./static/tabbar/[email protected]"
// },
// {
// "text": "My",
// "pagePath": "pages/menu/My/index",
// "iconPath": "./static/tabbar/[email protected]",
// "selectedIconPath": "./static/tabbar/[email protected]"
// }
// ]
// }
}

9
pages/menu/about/Privacy/index.css

@ -0,0 +1,9 @@
.main{
padding: 0 44rpx;
font-size: 30rpx;
line-height: 50rpx;
padding-bottom: 50rpx;
}
.con{
margin-top: 30rpx;
}

44
pages/menu/about/Privacy/index.vue

@ -0,0 +1,44 @@
<template>
<view class="">
<navigation :showBack="true">
Terms of Service
</navigation>
<view class="con">
<view class="main">
<view class="">
Lorem text
</view>
Dosuere at turpis at, fringilla efficitur quam. Suspendisse vitae lacus ac lectus facilisis ornare. Vivamus vitae pulvinar nisi, in vehicula elit. Praesent iaculis ante tellus, eu mattis lectus suscipit sit amet. Sed congue accumsan nunc in iaculis. Sed malesuada elit turpis, eu egestas eros rhoncus non. Sed pulvinar euismod libero sit amet scelerisque. Vestibulum ante felis, condimentum in vulputate id, tempor eu nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam condimentum augue vitae nulla suscipit eleifend. Phasellus consectetur volutpat nulla, cursus facilisis elit vulputate sed. Mauris in semper sem. Interdum et malesuada fames ac ante ipsum primis in faucibus.
</view>
<view class="main">
Etiam nisi lorem, posuere at turpis at, fringilla efficitur quam. Suspendisse vitae lacus ac lectus facilisis ornare. Vivamus vitae pulvinar nisi, in vehicula elit. Praesent iaculis ante tellus, eu mattis lectus suscipit sit amet. Sed congue accumsan nunc in iaculis. Sed malesuada elit turpis, eu egestas eros rhoncus non. Sed pulvinar euismod libero sit amet scelerisque. Vestibulum ante felis, condimentum in vulputate id, tempor eu nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam condimentum augue vitae nulla suscipit eleifend. Phasellus consectetur volutpat nulla, cursus facilisis elit vulputate sed. Mauris in semper sem. Interdum et malesuada fames ac ante ipsum primis in faucibus.
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
};
},
methods: {
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

37
pages/menu/about/index.css

@ -0,0 +1,37 @@
.main{
padding:0 24rpx
}
.top_con{
width: 702rpx;
border-radius: 20rpx;
background: url('../../../static/tongyonh/Bodyback.png') no-repeat;
background-size: cover;
height: 400rpx;
margin: 0 auto;
}
.bot_con{
background-color: #fff;
box-shadow: 0 20rpx 20rpx 20rpx #ECEEF1;
border-radius: 20rpx;
padding: 0 20rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.bot_con .item{
height: 122rpx;
border-bottom: 2rpx solid #E7EAF1;
}
.bot_con .item:last-child{
border-bottom: none;
}
.gray{
color: #A3AED0 !important;
}
.bot_con .item .img1{
width: 24rpx;
height: 24rpx;
}

70
pages/menu/about/index.vue

@ -0,0 +1,70 @@
<template>
<view class="">
<navigation :showBack="true">
About us
</navigation>
<view class="main">
<view class="top_con">
</view>
<view class="bot_con">
<view class="flex item">
<view class="text1">
Version update
</view>
<view class="text2 gray">
v2.2.9
</view>
</view>
<view class="flex item">
<view class="text1">
Official website
</view>
<view class="text2 gray">
https://bitcooo.com
</view>
</view>
<view class="flex item">
<view class="text1">
Terms of Service
</view>
<view class="text2 gray">
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="flex item">
<view class="text1">
Privacy Policy
</view>
<view class="text2 gray">
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
};
},
methods: {
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

9
pages/menu/about/terms/index.css

@ -0,0 +1,9 @@
.main{
padding: 0 44rpx;
font-size: 30rpx;
line-height: 50rpx;
padding-bottom: 50rpx;
}
.con{
margin-top: 30rpx;
}

39
pages/menu/about/terms/index.vue

@ -0,0 +1,39 @@
<template>
<view class="">
<navigation :showBack="true">
Terms of Service
</navigation>
<view class="con">
<view class="main">
Etiam nisi loremposuere at turpis at, fringilla efficitur quam. Suspendisse vitae lacus ac lectus facilisis ornare. Vivamus vitae pulvinar nisi, in vehicula elit. Praesent iaculis ante tellus, eu mattis lectus suscipit sit amet. Sed congue accumsan nunc in iaculis. Sed malesuada elit turpis, eu egestas eros rhoncus non. Sed pulvinar euismod libero sit amet scelerisque. Vestibulum ante felis, condimentum in vulputate id, tempor eu nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam condimentum augue vitae nulla suscipit eleifend. Phasellus consectetur volutpat nulla, cursus facilisis elit vulputate sed. Mauris in semper sem. Interdum et malesuada fames ac ante ipsum primis in faucibus.
</view>
<view class="main">
Etiam nisi lorem, posuere at turpis at, fringilla efficitur quam. Suspendisse vitae lacus ac lectus facilisis ornare. Vivamus vitae pulvinar nisi, in vehicula elit. Praesent iaculis ante tellus, eu mattis lectus suscipit sit amet. Sed congue accumsan nunc in iaculis. Sed malesuada elit turpis, eu egestas eros rhoncus non. Sed pulvinar euismod libero sit amet scelerisque. Vestibulum ante felis, condimentum in vulputate id, tempor eu nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam condimentum augue vitae nulla suscipit eleifend. Phasellus consectetur volutpat nulla, cursus facilisis elit vulputate sed. Mauris in semper sem. Interdum et malesuada fames ac ante ipsum primis in faucibus.
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
};
},
methods: {
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

104
pages/menu/address/addressMangement/index.css

@ -0,0 +1,104 @@
.main{
margin-top: 40rpx;
padding: 0 24rpx;
position: relative;
}
.main .item{
background-color: #fff;
border-radius: 30rpx;
padding: 34rpx 34rpx;
box-shadow: 0 10rpx 20rpx 10rpx #E8ECEF;
margin-bottom: 24rpx;
}
.main .item .text1{
font-size: 32rpx;
color: #000;
margin-bottom: 16rpx;
}
.main .item2{
padding: 0 34rpx;
}
.bor{
border-bottom: 2rpx solid #F4F7FE;
}
.main .item .text2{
font-size: 32rpx;
color: #68769F;
}
.flex{
display: flex;
align-items: center;
justify-content: space-between;
}
.main .item .name{
height: 138rpx;
}
.main .item .address{
color: #68769F;
font-size: 28rpx;
}
.main .item .img1{
width: 25rpx;
vertical-align: middle;
height: 25rpx;
margin-left: 35rpx;
}
.showAddress{
background-color: #fff;
padding-top: 24px;
padding-bottom: 66rpx;
padding-left: 24rpx;
padding-right: 24rpx;
border-radius: 20rpx;
position: absolute;
top: 80%;
left: 50%;
transform: translateX(-50%);
z-index: 9999;
width: 95%;
}
.showAddress .img1{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 20rpx;
top: 20rpx;
}
.showAddress .title{
text-align: center;
font-size: 36rpx;
}
/deep/ .u-input{
background-color: #FAFAFA;
margin-top: 40rpx;
border-radius: 20rpx;
}
.btnconn{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 40rpx;
}
.btnconn .btn{
width: 310rpx;
line-height: 90rpx;
border-radius: 30rpx;
border: 2rpx solid #5B53FF;
text-align: center;
display: flex;
align-items: center;
color:#5B53FF;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #fff !important;
background-color: #5B53FF;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}

98
pages/menu/address/addressMangement/index.vue

@ -0,0 +1,98 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Address Managementd
</text>
</navigation>
<view class="main">
<view class="item">
<view class="text1">
Address
</view>
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw ssdhd
</view>
</view>
<view class="item item2">
<view class="name flex bor" @click="showAddress=true">
<view class="text1">
Name
</view>
<view class="address" >
Initial address
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="name flex">
<view class="text1">
Backup private key
</view>
<view class="address">
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
</view>
<view class="showAddress" v-if="showAddress">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img1" @click="showAddress=false"></image>
<view class="title">
New address
</view>
<u-input placeholder="Please enter address information" border-color="#E9EDF7" v-model="value" :type="type" :border="border" />
<view class="btnconn">
<view class="btn" @click="showAddress=false">
Cancel
</view>
<view class="btn active">
Confirm
</view>
</view>
</view>
</view>
<u-mask z-index='100' :show="showAddress" @click="showAddress = false"></u-mask>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
value: '',
type: 'text',
border: true,
height: 90,
autoHeight: true,
showAddress:false,
}
},
methods: {
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

149
pages/menu/address/backUp/index.css

@ -0,0 +1,149 @@
.main{
padding: 0 48rpx;
margin-top: 64rpx;
}
.main .title{
line-height: 48rpx;
color: #7D87A6;
font-size: 32rpx;
text-align: center;
margin-top: 32rpx;
margin-bottom: 140rpx;
}
#payPwd{
margin-top: 160rpx;
}
#payPwd .pwd-wrap{
width: 100%;
height: 48px;
padding-bottom: 1px;
margin: 0 auto;
background: #fff;
display: flex;
display: -webkit-flex;
cursor: pointer;
justify-content: space-between;
padding: 0;
}
.pwd-wrap li{
list-style-type:none;
text-align: center;
width: 94rpx;
line-height: 44px;
height: 100%;
border:2rpx solid #ddd ;
border-radius: 10rpx;
}
.pwd-wrap li i{
height: 10px;
width: 10px;
border-radius:50% ;
background: #000;
display: inline-block;
}
.borc{
border-color: #5B53FF !important;
}
.btnconn{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 160rpx;
}
.btnconn .btn{
width: 310rpx;
line-height: 86rpx;
border-radius: 20rpx;
border: 2rpx solid #F6F8FE;
text-align: center;
display: flex;
align-items: center;
color:#A3AED0;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #6F67FF!important;
background-color: #F6F8FD;
border: none !important;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}
.big_title{
text-align: center;
font-size: 32rpx;
}
.bottom_con{
margin-top: 65rpx;
}
.bottom_con .top{
word-break: break-all;
padding: 52rpx 32rpx;
text-align: center;
line-height: 50rpx;
background-color: #FAFAFA;
border-radius: 20rpx 20rpx 0 0;
}
.bottom_con .bottom{
background-color: #F6F8FD;
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
height: 96rpx;
border-radius: 0 0 20rpx 20rpx;
}
.img1{
width: 48rpx;
height: 48rpx;
margin-right: 10rpx;
}
.code_con .img2{
display: block;
width: 486rpx;
height: 482rpx;
margin: 0 auto;
margin-top: 64rpx;
}
.code_con .text{
margin-top: 40rpx;
text-align: center;
font-size: 28rpx;
color: #7D87A6;
padding-bottom: 150rpx;
}
/deep/ .u-char-item[data-v-0e1e7f9a] {
margin: 10rpx 6rpx;
}
/* /deep/ .u-box[data-v-0e1e7f9a] {
border: 2rpx solid #E0E5F2 !important;
} */
/deep/ .u-dot span{
color: #000 !important;
}
/deep/ .u-placeholder-line{
background: #5B53FF;
}
/deep/ .u-char-box{
margin-top: 120rpx;
}

67
pages/menu/address/backUp/index.vue

@ -0,0 +1,67 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="false">
<text class="big_title">
Backup mnemonic
</text>
</navigation>
<view class="main">
<view class="big_title">
Please save the mnemonic, anyone who gets your mnemonic can control your account, including transferring all funds.
</view>
<u-message-input inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :dot-fill="true"></u-message-input>
<view class="title">
Please enter the original password for verification
</view>
</view>
<view class="main" v-if="false">
<view class="big_title">
Set new password
</view>
<view class="title">
Secure transaction passwords, please do not disclose
</view>
<u-message-input inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :dot-fill="true"></u-message-input>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
msg:'',
msgLength:0,
fes:false,
borNum:true,
}
},
methods: {
focuss(){
this.fes=true;
},
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

32
pages/menu/address/improtKey/index.css

@ -0,0 +1,32 @@
.main .title{
line-height: 48rpx;
color: #0F1828;
font-size: 32rpx;
text-align: center;
}
.main .title1{
color: #000;
font-size: 34rpx;
text-align: center;
margin-bottom: 32rpx;
}
.main{
padding: 0 48rpx;
margin-top: 64rpx;
}
.main .area{
height: 364rpx;
margin-top: 96rpx;
border: 2rpx solid #E0E5F2;
border-radius: 10rpx;
}
.conf{
width: 654rpx;
background-color: #5B53FF;
line-height: 112rpx;
text-align: center;
color: #fff;
border-radius: 20rpx;
position: absolute;
bottom: 20rpx;
}

53
pages/menu/address/improtKey/index.vue

@ -0,0 +1,53 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Import by private key
</text>
</navigation>
<view class="main">
<view class="title1">
Private key import verification
</view>
<view class="title">
Please keep your private key. Anyone who gets your private key can control your account, including transferring all funds.
</view>
<view class="area"></view>
<view class="conf">
Confirm
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
}
},
methods: {
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

152
pages/menu/address/index.css

@ -0,0 +1,152 @@
.renYou{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.flex{
display: flex;
align-items: center;
justify-content: space-between;
}
.main{
padding: 0 24rpx;
margin-top: 50rpx;
}
.main .item{
background-color: #fff;
padding: 32rpx;
box-shadow: 0 10rpx 20rpx 10rpx #EDF0F3;
border-radius: 20rpx;
margin-bottom: 30rpx;
}
.main .img1{
width: 30rpx;
height: 30rpx;
}
.main .img2{
width: 48rpx;
height: 48rpx;
}
.bigcon{
margin-left: 20rpx;
}
.bigcon .text1{
color: #0F1828;
font-size: 32rpx;
margin-bottom: 10rpx;
}
.btncon .text{
font-size: 32rpx;
}
.fixed{
}
.btnconn{
background-color: #fff;
padding: 24rpx 24rpx;
position: fixed;
width: 100%;
bottom: 30rpx;
display: flex;
justify-content: space-between;
}
.btnconn .btn{
width: 334rpx;
line-height: 96rpx;
border-radius: 30rpx;
border: 2rpx solid #5B53FF;
text-align: center;
display: flex;
align-items: center;
color:#5B53FF;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #fff !important;
background-color: #5B53FF;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}
.show_bottom{
border-radius: 20rpx 20rpx 0 0;
width: 750rpx;
background-color: #F8F8F9;
position: absolute;
bottom: -90rpx;
padding: 0 24rpx;
z-index: 99;
padding-bottom: 80rpx;
}
.show_bottom .tiao{
background-color: #C9D4EA;
margin: 0 auto;
margin-top: 20rpx;
width: 106rpx;
height: 8rpx;
border-radius: 10rpx;
}
.show_bottom .title{
text-align: center;
font-size: 36rpx;
font-weight: 700;
margin-top: 26rpx;
}
.show_bottom .bottom_con{
background-color: #fff;
padding: 32rpx 24rpx;
border-radius: 20rpx;
margin-top: 40rpx;
padding-bottom: 60rpx;
}
/deep/ .u-checkbox__label{
width: 530rpx;
margin-bottom: 48rpx;
color: #000;
margin-left: 70rpx;
}
/deep/ .u-checkbox{
position: relative;
}
/deep/ .u-checkbox__icon-wrap{
position: absolute;
left: 0;
top: 4rpx;
}
.conf{
width: 654rpx;
background-color: #5B53FF;
line-height: 112rpx;
text-align: center;
color: #fff;
border-radius: 30rpx;
}
.bottom_con .input1{
width: 90%;
padding-left: 20rpx;
line-height: 96rpx;
background-color: #FAFAFA;
border: 2rpx solid #E9EDF7;
border-radius: 20rpx;
margin-top: 20rpx;
}
/deep/ .u-checkbox-group{
width: 100%;
display: block;
}
/deep/ .u-checkbox{
display: block;
width: 100% !important;
}
/deep/ .u-checkbox__label{
width: 100%;
}

147
pages/menu/address/index.vue

@ -0,0 +1,147 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<image src="../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="renYou" slot="logo"></image>
<text class="big_title">
Address
</text>
</navigation>
<view class="main">
<view class="item flex">
<view class="textcon flex">
<image src="../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1"></image>
<view class="bigcon">
<view class="text1">
初始地址
</view>
<view class="text1" style="color: #7D87A6;">
0xjdkdgdf1...dhkdef
</view>
</view>
</view>
<view class="btncon">
<image src="../../../static/tongyonh/more_vert_24px_outlined.svg" mode="aspectFit" class="img2">
</image>
<view class="text">
0.5
</view>
</view>
</view>
<view class="item flex">
<view class="textcon flex">
<image src="../../../static/tongyonh/Shape.png" v-if="false" mode="aspectFit" class="img1"></image>
<view class="bigcon">
<view class="text1">
初始地址
</view>
<view class="text1" style="color: #7D87A6;">
0xjdkdgdf1...dhkdef
</view>
</view>
</view>
<view class="btncon">
<image src="../../../static/tongyonh/more_vert_24px_outlined.svg" mode="aspectFit" class="img2">
</image>
<view class="text">
0.5
</view>
</view>
</view>
</view>
<view class="show_bottom">
<view class="tiao"></view>
<view class="title">
New address
</view>
<view class="bottom_con">
<u-checkbox-group @change="checkboxGroupChange">
<u-checkbox
@change="checkboxChange"
v-model="item.checked"
v-for="(item, index) in list" :key="index"
:name="item.name"
shape="circle"
size="48"
:wrap="true"
active-color="#5B53FF"
>
<view class="sss">
{{item.name}}
</view>
<input type="text" value="" placeholder="Please enter address information" class="input1" placeholder-style="color:#D0D0D2;fontSize:28rpx"
v-if="item.checked"/>
</u-checkbox>
</u-checkbox-group>
<view class="conf">
Confirm
</view>
</view>
</view>
<u-mask z-index="10" :show="show" @click="show = false"></u-mask>
<view class="btnconn" v-if="false">
<view class="btn active">
Import addresses
</view>
<view class="btn">
New address
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
show: true,
list: [
{
name: 'Single address',
checked: true,
disabled: false
},
{
name: 'Batch add 10 addresses',
checked: false,
disabled: false
},
{
name: 'Batch add 50 addresses',
checked: false,
disabled: false
}
]
}
},
methods: {
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

144
pages/menu/address/showKey/index.css

@ -0,0 +1,144 @@
.main{
padding: 0 48rpx;
margin-top: 64rpx;
}
.main .title{
line-height: 48rpx;
color: #0F1828;
font-size: 32rpx;
text-align: center;
}
#payPwd{
margin-top: 160rpx;
}
#payPwd .pwd-wrap{
width: 100%;
height: 48px;
padding-bottom: 1px;
margin: 0 auto;
background: #fff;
display: flex;
display: -webkit-flex;
cursor: pointer;
justify-content: space-between;
padding: 0;
}
.pwd-wrap li{
list-style-type:none;
text-align: center;
width: 94rpx;
line-height: 44px;
height: 100%;
border:2rpx solid #ddd ;
border-radius: 10rpx;
}
.pwd-wrap li i{
height: 10px;
width: 10px;
border-radius:50% ;
background: #000;
display: inline-block;
}
.borc{
border-color: #5B53FF !important;
}
.btnconn{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 160rpx;
}
.btnconn .btn{
width: 310rpx;
line-height: 86rpx;
border-radius: 20rpx;
border: 2rpx solid #F6F8FE;
text-align: center;
display: flex;
align-items: center;
color:#A3AED0;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #6F67FF!important;
background-color: #F6F8FD;
border: none !important;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}
.bottom_con{
margin-top: 65rpx;
}
.bottom_con .top{
word-break: break-all;
padding: 52rpx 32rpx;
text-align: center;
line-height: 50rpx;
background-color: #FAFAFA;
border-radius: 20rpx 20rpx 0 0;
}
.bottom_con .bottom{
background-color: #F6F8FD;
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
height: 96rpx;
border-radius: 0 0 20rpx 20rpx;
}
.img1{
width: 48rpx;
height: 48rpx;
margin-right: 10rpx;
}
.code_con .img2{
display: block;
width: 486rpx;
height: 482rpx;
margin: 0 auto;
margin-top: 64rpx;
}
.code_con .text{
margin-top: 40rpx;
text-align: center;
font-size: 28rpx;
color: #7D87A6;
padding-bottom: 150rpx;
}
/deep/ .u-char-item[data-v-0e1e7f9a] {
margin: 10rpx 6rpx;
}
/* /deep/ .u-box[data-v-0e1e7f9a] {
border: 2rpx solid #E0E5F2 !important;
} */
/deep/ .u-dot span{
color: #000 !important;
}
/deep/ .u-placeholder-line{
background: #5B53FF;
}
/deep/ .u-char-box{
margin-top: 50rpx;
}

92
pages/menu/address/showKey/index.vue

@ -0,0 +1,92 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="false">
<text class="big_title">
Show private key
</text>
</navigation>
<view class="main">
<view class="title">
Please keep your private key. Anyone who gets your private key can control your account, including transferring all funds.
</view>
<u-message-input inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :dot-fill="true"></u-message-input>
<view class="btnconn" >
<view class="btn active">
<image src="../../../../static/tongyonh/insert_drive_file_24px_outlined.png" mode="aspectFit" class="img1"></image>
Text
</view>
<view class="btn">
<image src="../../../../static/tongyonh/Frame300.png" mode="aspectFit" class="img1"></image>
QR Code
</view>
</view>
<view class="bottom_con" v-if="false">
<view class="top">
6628767bjd7gu328fbfhf848r8gf8fg8heuhdhdbchg837682ffgefg82
</view>
<view class="bottom">
<image src="../../../../static/tongyonh/copy_24px_outlined.svg" mode="aspectFit" class="img1"></image>
Copy
</view>
</view>
<view class="code_con">
<image class="img2" src="../../../../static/tongyonh/Group304.png" mode=""></image>
<view class="text">
Scan the QR code to ....
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
msg:'',
msgLength:0,
fes:false,
borNum:true,
}
},
watch:{
msg(curVal){
if(/[^\d]/g.test(curVal)){
this.msg = this.msg.replace(/[^\d]/g,'');
}else{
this.msgLength = curVal.length;
}
},
},
methods: {
focuss(){
this.fes=true;
},
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

43
pages/menu/backUp/backUp2/index.css

@ -0,0 +1,43 @@
.main{
padding: 0 48rpx;
}
.main .title{
text-align: center;
margin-top: 80rpx;
color: #000;
font-size: 32rpx;
line-height: 48rpx;
}
.main .title2{
text-align: center;
margin-top: 32rpx;
color: #7D87A6;
font-size: 28rpx;
line-height: 48rpx;
}
.mnemonic{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
margin-top: 114rpx;
}
.mnemonicBlock{
width: 212rpx;
display: flex;
align-items: center;
justify-content: center;
height: 80rpx;
margin-bottom: 10rpx;
background-color: #E0E5F2;
border-radius: 10rpx;
text-align: center;
position: relative;
color: #000000;
}
.mnemonicBlock .number{
position: absolute;
right: 14rpx;
font-size: 24rpx;
bottom: 10rpx;
color: #7D87A6;
}

77
pages/menu/backUp/backUp2/index.vue

@ -0,0 +1,77 @@
<template>
<view class="">
<navigation :showBack="true">
Backup mnemonics
</navigation>
<view class="main">
<view class="title">
Please copy the helper words in<br>the correct order
</view>
<view class="mnemonic">
<view class="mnemonicBlock u-rela" v-for="(item,index) in mnemonics" :key="index">
<text>{{ item }}</text>
<view class="number u-abso" v-text="index+1<10 ? ((index+1)) : index+1"></view>
</view>
</view>
<view class="title2">
The booster words will be used for wallet asset recovery, please copy the booster words in the correct order and keep them in a safe place and do not disclose them to others
</view>
<u-button class="custom-style" @click="test">I have copied it</u-button>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import token from '@/utils/TokenUtil'
export default {
data() {
return {
mnemonics:[]
};
},
methods: {
//
getWrod(){
var walletInfo = uni.getStorageSync('walletInfo');
this.mnemonics=walletInfo.mnemonic.split(' ')
console.log(walletInfo.mnemonic)
console.log(this.mnemonics)
},
test(){
uni.navigateTo({
url:'../backUp3/index',
})
},
},
onLoad() {
this.getWrod()
},
};
</script>
<style scoped>
.custom-style {
height: 112rpx;
text-align: center;
color: #fff;
background-color: #5B53FF !important;
border-radius: 40rpx;
margin-top: 200rpx;
}
.u-default-hover{
background-color: #5B53FF !important;
border-radius: 40rpx !important;
color: #fff !important;
border: none;
}
</style>
<style>
@import './index.css';
</style>

134
pages/menu/backUp/backUp3/index.css

@ -0,0 +1,134 @@
.main{
padding: 0 32rpx;
padding-bottom: 100rpx;
}
.main .title{
text-align: center;
margin-top: 80rpx;
color: #000;
font-size: 32rpx;
line-height: 48rpx;
}
.main .title2{
text-align: center;
margin-top: 32rpx;
color: #7D87A6;
font-size: 28rpx;
line-height: 48rpx;
}
.mnemonic{
margin-top: 40rpx;
overflow: hidden;
}
.mnemonicBlock{
width: 212rpx;
display: flex;
align-items: center;
justify-content: center;
height: 80rpx;
margin-bottom: 10rpx;
background-color: #E0E5F2;
border-radius: 10rpx;
text-align: center;
position: relative;
color: #000000;
float: left;
margin-left: 10rpx;
}
.mnemonicBlock .number{
position: absolute;
right: 14rpx;
font-size: 24rpx;
bottom: 10rpx;
color: #7D87A6;
}
.main .textareaa{
min-height: 364rpx;
border: 2rpx solid #E9EDF7;
border-radius: 10rpx;
margin-top: 60rpx;
padding: 10rpx 10rpx 0rpx 0;
overflow: hidden;
}
.main .textareaa .item{
float: left;
}
.main .textareaa .item{
margin-left: 10rpx;
}
.mnemonicBlock .item{
display: flex;
width: 100%;
justify-content: center;
align-items: center;
height: 100%;
}
.info_con{
background-color: #fff;
width: 95%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
border-radius: 24rpx;
z-index: 999;
padding-top: 128rpx;
padding-bottom: 64rpx;
}
.info_con .img{
display: block;
margin: 0 auto;
width: 124rpx;
height: 124rpx;
}
.info_con .info{
text-align: center;
font-size: 36rpx;
margin-top: 20rpx;
}
.info_con .text{
color: #7D87A6;
text-align: center;
font-size: 30rpx;
margin-top: 40rpx;
}
.info_con .btn{
margin: 0 auto;
background-color: #5B53FF;
width: 480rpx;
line-height: 96rpx;
border-radius: 32rpx;
color: #fff;
text-align: center;
margin-top: 104rpx;
}
.info_con .img2{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
top: 30rpx;
}
.info_con .btncon{
margin-top: 64rpx;
display: flex;
justify-content: space-between;
padding: 0 24rpx;
}
.info_con .btncon .can{
width: 314rpx;
line-height: 96rpx;
border-radius: 32rpx;
text-align: center;
color: #F16063;
border: 2rpx solid #F16063;
}
.info_con .btncon .con{
width: 314rpx;
line-height: 96rpx;
border-radius: 32rpx;
text-align: center;
color: #fff;
background-color: #5B53FF;
}

170
pages/menu/backUp/backUp3/index.vue

@ -0,0 +1,170 @@
<template>
<view class="">
<navigation :showBack="true">
Backup mnemonics
</navigation>
<view class="main">
<view class="title">
Confirm your wallet mnemonic
</view>
<view class="title2">
Please click on the booster words in order to ensure that your backup booster words
are correct
</view>
<view class="textareaa">
<view class="mnemonicBlock u-rela item" v-for="(item,index) in wordArr" :key="index">
<text @click="returnWord(item,index)">{{ item }}</text>
</view>
</view>
<view class="mnemonic">
<view class="mnemonicBlock u-rela" v-for="(item,index) in mnemonics" :key="index">
<text @click="toWrod(item,index)" class="item">{{ item }}</text>
<view class="number u-abso" v-text="index+1<10 ? ((index+1)) : index+1"></view>
</view>
</view>
<u-button class="custom-style" @click="confirm">Confirm</u-button>
<view class="info_con" v-if="show">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img2" @click="show=false"></image>
<image src="../../../../static/tongyonh/Frame60.png" mode="aspectFit" class="img"></image>
<view class="info">
Successful
</view>
<view class="text">
Backup mnemonic completed!
</view>
<view class="btn" @click="goTranPaw">
Confirm
</view>
</view>
<view class="info_con" v-if="show2">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img2" @click="show2=false"></image>
<image src="../../../../static/tongyonh/Subtract.png" mode="aspectFit" class="img"></image>
<view class="info">
Invalid Seed
</view>
<view class="text">
You entered the wrong booster words, <br>please try again.
</view>
<view class="btncon">
<view class="can" @click="show2=false">
Cancel
</view>
<view class="con" @click="restart">
Confirm
</view>
</view>
</view>
<u-mask :show="show" z-index="10"></u-mask>
<u-mask :show="show2" z-index="10"></u-mask>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
mnemonics:[],
wordArr:[],
show: false,
index:0,
showItem:null,
//
mnemonics2:[],
show2:false,
};
},
methods: {
//
goTranPaw(){
uni.navigateTo({
url:'/pages/menu/backUp/transPaw/index'
})
},
//
restart(){
uni.redirectTo({
url:'../backUp3/index'
})
},
//
confirm(){
var go=false;
for(var i=0;i<this.mnemonics2.length;i++){
if(this.mnemonics2[i]==this.wordArr[i]){
go=true;
}else{
go=false;
}
};
if(go){
this.show=true;
}else{
this.show2=true
}
},
//
getWrod(){
var walletInfo = uni.getStorageSync('walletInfo');
this.mnemonics=walletInfo.mnemonic.split(' ')
//
this.mnemonics.sort(function() {
return (0.5-Math.random());
});
this.mnemonics2=walletInfo.mnemonic.split(' ')
},
returnWord(item,index){
this.wordArr.splice(index,1);
console.log(this.wordArr)
this.mnemonics.splice(index,0,item);
},
//
toWrod(word,index){
this.showItem=index
this.mnemonics.splice(index,1);
this.wordArr[this.index]=word
console.log(this.wordArr)
this.index++
this.$forceUpdate()
}
},
onLoad() {
this.getWrod()
},
};
</script>
<style scoped>
.custom-style {
height: 112rpx;
text-align: center;
color: #fff;
background-color: #5B53FF !important;
border-radius: 40rpx;
margin-top: 50rpx;
}
.u-default-hover{
background-color: #5B53FF !important;
border-radius: 40rpx !important;
color: #fff !important;
border: none;
}
</style>
<style>
@import './index.css';
</style>

56
pages/menu/backUp/index.css

@ -0,0 +1,56 @@
.main{
padding: 0 48rpx;
padding-bottom: 100rpx;
}
.main .img1{
width: 444rpx;
height: 444rpx;
display: block;
margin: 0 auto;
margin-top: 115rpx;
}
.main .title{
font-size: 48rpx;
text-align: center;
color: #000;
font-weight: bold;
margin-top: 65rpx;
}
/deep/ .u-checkbox__icon-wrap--circle{
background-color: #D8DBEA;
}
.main .bottom{
margin-top: 66rpx;
}
.main .imgcon{
position: relative;
}
.main .imgcon .img2{
width: 100rpx;
height: 150rpx;
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%);
}
/deep/ .u-checkbox__label{
width: 530rpx;
margin-bottom: 48rpx;
color: #000;
margin-left: 70rpx;
}
/deep/ .u-checkbox{
position: relative;
}
/deep/ .u-checkbox__icon-wrap{
position: absolute;
left: 0;
top: 10rpx;
}
.sheng{
background-color: #5B53FF;
}
/deep/ .u-checkbox__icon-wrap--disabled {
background-color: #2979ff;
border-color: #2979ff;
}

112
pages/menu/backUp/index.vue

@ -0,0 +1,112 @@
<template>
<view class="">
<navigation :showBack="true">
Backup mnemonics
</navigation>
<view class="main">
<view class="imgcon">
<image src="../../../static/tongyonh/notifications_image.png" mode="aspectFill" class="img1"></image>
<image src="../../../static/tongyonh/Shield-protected.png" mode="aspectFill" class="img2"></image>
</view>
<view class="title">
Backup Tips
</view>
<view class="bottom">
<u-checkbox-group @change="checkboxGroupChange">
<u-checkbox
@change="checkboxChange(index)"
v-model="item.checked"
v-for="(item, index) in list" :key="index"
:name="item.name"
shape=""
size="48"
:wrap="true"
active-color="#5B53FF"
:disabled="item.disabled"
>{{item.name}}</u-checkbox>
</u-checkbox-group>
<u-button class="custom-style" @click="test" :class="inde?'sheng':''">Start backup</u-button>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
list: [
{
name: 'Axioms are the only way to control assets.',
checked: true,
disabled: true
},
{
name: 'You cannot retrieve a lost mnemonic, so be sure to back it up!',
checked: true,
disabled: true
},
{
name: 'Do not disclose your mnemonic to anyone.',
checked: true,
disabled: true
}
],
inde:1,
};
},
methods: {
test(){
if(true){
uni.navigateTo({
url:'./backUp2/index',
})
}
},
// checkbox
checkboxChange(i) {
if(this.inde%2==0){
this.list[i].checked=true;
}else{
this.list[i].checked=false;
}
this.inde++
},
// checkboxcheckbox-group
checkboxGroupChange(e) {
// console.log(e);
},
//
checkedAll() {
this.list.map(val => {
val.checked = true;
})
}
}
};
</script>
<style scoped>
.custom-style {
height: 112rpx;
text-align: center;
color: #fff;
background-color: #ACA8FE;
border-radius: 40rpx;
}
.u-default-hover{
background-color: #5B53FF !important;
border-radius: 40rpx !important;
color: #fff !important;
border: none;
}
</style>
<style>
@import './index.css';
</style>

38
pages/menu/backUp/reSuccessful.vue

@ -0,0 +1,38 @@
<template>
<view class="succ">
Successful registration
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import tabBar from "@/components/tabBar/tabBar.vue"
export default {
data() {
return {
}
},
methods: {
}
};
</script>
<style scoped>
page{
background: #FAFAFA;
height: 100%;
}
.succ{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
font-weight: 500;
font-size: 30rpx;
}
</style>
<style>
@import './index.css';
</style>

156
pages/menu/backUp/transPaw/index.css

@ -0,0 +1,156 @@
.main{
padding: 0 48rpx;
margin-top: 64rpx;
}
.main .title{
line-height: 48rpx;
color: #7D87A6;
font-size: 32rpx;
text-align: center;
margin-top: 32rpx;
margin-bottom: 140rpx;
}
#payPwd{
margin-top: 160rpx;
}
#payPwd .pwd-wrap{
width: 100%;
height: 48px;
padding-bottom: 1px;
margin: 0 auto;
background: #fff;
display: flex;
display: -webkit-flex;
cursor: pointer;
justify-content: space-between;
padding: 0;
}
.pwd-wrap li{
list-style-type:none;
text-align: center;
width: 94rpx;
line-height: 44px;
height: 100%;
border:2rpx solid #ddd ;
border-radius: 10rpx;
}
.pwd-wrap li i{
height: 10px;
width: 10px;
border-radius:50% ;
background: #000;
display: inline-block;
}
.borc{
border-color: #5B53FF !important;
}
.btnconn{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 160rpx;
}
.btnconn .btn{
width: 310rpx;
line-height: 86rpx;
border-radius: 20rpx;
border: 2rpx solid #F6F8FE;
text-align: center;
display: flex;
align-items: center;
color:#A3AED0;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #6F67FF!important;
background-color: #F6F8FD;
border: none !important;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}
.big_title{
text-align: center;
font-size: 36rpx;
}
.bottom_con{
margin-top: 65rpx;
}
.bottom_con .top{
word-break: break-all;
padding: 52rpx 32rpx;
text-align: center;
line-height: 50rpx;
background-color: #FAFAFA;
border-radius: 20rpx 20rpx 0 0;
}
.bottom_con .bottom{
background-color: #F6F8FD;
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
height: 96rpx;
border-radius: 0 0 20rpx 20rpx;
}
.img1{
width: 48rpx;
height: 48rpx;
margin-right: 10rpx;
}
.code_con .img2{
display: block;
width: 486rpx;
height: 482rpx;
margin: 0 auto;
margin-top: 64rpx;
}
.code_con .text{
margin-top: 40rpx;
text-align: center;
font-size: 28rpx;
color: #7D87A6;
padding-bottom: 150rpx;
}
/deep/ .u-char-item[data-v-0e1e7f9a] {
margin: 10rpx 6rpx;
}
/* /deep/ .u-box[data-v-0e1e7f9a] {
border: 2rpx solid #E0E5F2 !important;
} */
/deep/ .u-dot span{
color: #000 !important;
}
/deep/ .u-placeholder-line{
background: #5B53FF;
}
/deep/ .u-dot span {
color: #5B53FF !important;
}
.infoText{
color:#F16063;
font-size: 30rpx;
text-align: center;
margin-top: 48rpx;
}

106
pages/menu/backUp/transPaw/index.vue

@ -0,0 +1,106 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="false">
<text class="big_title">
Transaction password
</text>
</navigation>
<view class="main">
<view class="big_title" v-if="borNum">
Set transaction password
</view>
<view class="big_title" v-if="borNum2">
Please enter again
</view>
<view class="title">
Secure transaction passwords, <br>please do not disclose
</view>
<u-message-input @finish="finish" inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :focus="fes" :dot-fill="true" v-if="borNum"></u-message-input>
<u-message-input @finish="finish2" :inactive-color="info?'#F16063':'#E0E5F2'" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :focus="fes" :dot-fill="true" v-if="borNum2"></u-message-input>
<view class="infoText" v-if="info">
Password discrepansies
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
password:'',
password2:'',
msg:'',
msgLength:0,
fes:false,
borNum:true,
borNum2:false,
info:false,
}
},
watch:{
},
methods: {
//
finish2(e) {
if(this.password!=e){
this.info=true;
}else{
uni.showToast({
title: 'Password set successfully',
icon: 'success',
duration: 1500,
})
setTimeout(()=>{
// uni.navigateTo({
// url:'../reSuccessful'
// })
uni.navigateTo({
url:'../../wallet/index'
})
},1500)
this.info=false;
}
},
//
finish(e) {
this.password=e
var that=this;
uni.setStorage({
key: 'transPaw',
data: e,
success: function() {
that.borNum=false;
that.borNum2=false;
},
});
setTimeout(()=>{
that.borNum2=true;
},50)
},
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

139
pages/menu/discover/index.css

@ -0,0 +1,139 @@
.main{
padding: 0 24rpx;
}
.custom-style {
background-color: #FAFAFA;
margin-top: 60rpx;
height: 92rpx;
border-radius: 16rpx;
line-height: 92rpx;
}
/deep/ .uni-input {
height: 90rpx;
}
.bg{
width: 702rpx;
height: 302rpx;
margin-top: 24rpx;
}
/deep/ .u-scroll-view{
border-bottom: 2rpx solid #F4F7FE;
}
/deep/ .u-tab-bar {
bottom: -3px;
}
.flex{
display: flex;
justify-content: space-around;
align-items: center;
}
.item{
padding-top: 36rpx;
padding-bottom: 32rpx;
overflow: hidden;
}
.item .img{
width: 88rpx;
height: 88rpx;
float: left;
}
.item_con{
}
.text_con{
float: left;
margin-left: 10px;
border-bottom: 1px solid #F4F7FE;
width: 84%;
padding-bottom: 20px;
}
.text_con .text1{
font-size: 32rpx;
}
.text_con .text2{
font-size: 28rpx;
color: #7D87A6;
margin-top: 6rpx;
}
.view_con{
width: 750rpx;
background-color: #F8F8F9;
border-radius: 20rpx 20rpx 0 0;
position: relative;
bottom: 0;
left: 0;
z-index: 999;
padding-top: 30rpx;
padding-left: 24rpx;
padding-right: 24rpx;
}
.tiao{
width: 96rpx;
height: 8rpx;
background-color: #C9D4EA;
border-radius: 10rpx;
margin: 0 auto;
}
.view_con .title{
text-align: center;
font-size: 36rpx;
font-weight: 700;
margin-top: 30rpx;
}
.view_con .bottom{
background-color: #fff;
border-radius: 20rpx;
padding-top: 50rpx;
margin-top: 70rpx;
padding-left: 38rpx;
padding-right: 38rpx;
padding-bottom: 60rpx;
}
.view_con .bottom .title2{
text-align: center;
font-size: 28rpx;
color: #7D87A6;
}
.view_con .bottom .text{
font-size: 30rpx;
color:#0F1828;
margin-top: 40rpx;
line-height: 50rpx;
}
.select{
margin-top: 52rpx;
}
.view_con .bg{
width: 104rpx;
height: 104rpx;
background-color: #fff;
border-radius: 50%;
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 110rpx;
}
.view_con .img1{
width: 84rpx;
height: 84rpx;
position: absolute;
left: 50%;
transform: translate(-50%,-50%);
top: 50%;
}
.select .name{
margin-left: 12rpx;
font-size: 28rpx;
color: #7D87A6;
}
.btn{
text-align: center;
background-color: #6852EC;
border-radius: 25rpx;
color: #fff;
font-size: 32rpx;
line-height: 96rpx;
margin-top: 52rpx;
}

153
pages/menu/discover/index.vue

@ -0,0 +1,153 @@
<template>
<view class="">
<view class="main">
<u-input v-model="value" placeholder="Search or enter the DAPP website" :type="type" :border="border"
class="custom-style" />
<image src="../../../static/tongyonh/MaskGroup.png" mode="aspectFit" class="bg"></image>
<u-tabs font-size="26" bar-width="124" inactive-color="#7D87A6" active-color="#5B53FF" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs>
<view class="item_con">
<view class="item">
<image src="../../../static/tongyonh/Ellipse45.png" mode="aspectFit" class="img"></image>
<view class="text_con">
<view class="text1">
Beefy finance(BSC)
</view>
<view class="text2">
基于币安智能链的收益聚合器
</view>
</view>
</view>
<view class="item">
<image src="../../../static/tongyonh/Ellipse46.png" mode="aspectFit" class="img"></image>
<view class="text_con">
<view class="text1">
Bunicorn
</view>
<view class="text2">
一个性能卓越的AMM DEX通过流动性..
</view>
</view>
</view>
<view class="item">
<image src="../../../static/tongyonh/Ellipse47.png" mode="aspectFit" class="img"></image>
<view class="text_con">
<view class="text1">
ForTube(BSC)
</view>
<view class="text2">
全球领先的DeFi借贷平台BSC
</view>
</view>
</view>
</view>
</view>
<view class="view_con">
<view class="bg">
<image src="../../../static/tongyonh/Ellipse46.png" mode="aspectFit" class="img1"></image>
</view>
<view class="tiao"></view>
<view class="title">
Disclaimers
</view>
<view class="bottom">
<view class="title2">
Beefy finance (BSC)
</view>
<view class="text">
You will be redirected to a third party dApp page and your use of the third party dApp will be governed by that third party dApp's User Agreement and Privacy Policy, for which the third party dApp is directly and solely liable to you.
</view>
<view class="select">
<u-checkbox-group @change="checkboxGroupChange">
<u-checkbox
@change="checkboxChange"
v-model="item.checked"
v-for="(item, index) in list2" :key="index"
:name="item.name"
active-color="#5B53FF"
> <text class="name">{{item.name}}</text> </u-checkbox>
</u-checkbox-group>
</view>
<view class="btn">
Confirm
</view>
</view>
</view>
<u-mask :show="show" @click="show = false" z-index="10"></u-mask>
<tab-bar :selectActive="4"></tab-bar>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import tabBar from "@/components/tabBar/tabBar.vue"
export default {
data() {
return {
list2: [
{
name: 'No more tips next time',
checked: false,
disabled: false
},
],
show: true,
value: '',
type: 'text',
border: true,
list: [
{
name: 'Popular'
},
{
name: 'Lending'
},
{
name: 'Trade',
},
{
name: 'Yield',
},
{
name: 'Stake',
},
],
current: 0
}
},
methods: {
change(index) {
this.current = index;
}
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

24
pages/menu/load/index.css

@ -0,0 +1,24 @@
.logo{
width: 214rpx;
height: 214rpx;
}
.mar{
display: block;
margin: 0 auto;
}
.bit{
width: 374rpx;
height: 100rpx;
margin-top: 66rpx;
}
.cry{
width: 320rpx;
height: 68rpx;
margin-top: 24rpx;
}
.wrap{
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}

47
pages/menu/load/index.vue

@ -0,0 +1,47 @@
<template>
<view class="">
<view class="wrap">
<image src="../../../static/tongyonh/Group285.png" mode="aspectFit" class="logo mar"></image>
<image src="../../../static/tongyonh/bit.png" mode="aspectFit" class="bit mar"></image>
<image src="../../../static/tongyonh/cry.png" mode="aspectFit" class="cry mar"></image>
</view>
</view>
</template>
<script>
import api from '@/utils/api'
import utils from '@/utils'
import md5 from 'js-md5'
import store from '@/store'
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
}
},
onLoad() {
},
methods: {
},
}
</script>
<style scoped>
page {
background: linear-gradient(to bottom,#2B1763 30%,#130B30 70%);
height: 100%;
position: relative;
}
</style>
<style>
@import './index.css';
</style>

74
pages/menu/market/index.css

@ -0,0 +1,74 @@
.main_con{
padding: 0 24rpx;
}
.main_con .title{
padding-top: 36rpx;
padding-bottom: 28rpx;
font-size: 36rpx;
font-weight: 500;
color: #0F1828;
}
.main{
background-color: #fff;
border-radius: 15rpx;
padding: 0 24rpx;
box-shadow: 0 20rpx 20rpx 20rpx #ECEFF2;
}
.flex{
display: flex;
justify-content: space-between;
}
.title_item{
padding-top: 32rpx;
padding-bottom: 20rpx;
border-bottom: 2rpx solid #F4F7FE;
color: #7D87A6;
font-size: 26rpx;
}
.title_item .imgcon{
}
.green{
background-color: #6FCF97;
}
.red{
background-color: #EB5757;
}
.main .item{
border-bottom: 2rpx solid #F4F7FE;
padding-top: 40rpx;
padding-bottom: 32rpx;
}
.main .item .text2{
color: #0F1828;
font-size: 30rpx;
font-weight: 500;
}
.main .item .text2 .t1{
color: #7D87A6;
font-size: 28rpx;
}
.main .item .btn{
display: flex;
align-items: center;
justify-content: center;
border-radius: 8rpx;
color: #fff;
font-size: 30rpx;
height: 80rpx;
width: 176rpx;
}
.main .item .btn .img1{
width: 48rpx;
height: 48rpx;
}
.Colorimg{
display: block;
width: 24rpx;
height: 24rpx;
}
.title_item .imgcon{
margin-left: 14rpx;
}

169
pages/menu/market/index.vue

@ -0,0 +1,169 @@
<template>
<view class="main_con">
<view class="title">
Market
</view>
<view class="main">
<view class="title_item flex">
<view class="text1">Tranding Pairs</view>
<view class="text1">Price/Vol</view>
<view class="text1 flex">
24h Chang
<view class="imgcon">
<image src="../../../static/tongyonh/Polygon2.png" mode="aspectFit" class="Colorimg"></image>
<image src="../../../static/tongyonh/Polygon3.png" mode="aspectFit" class="Colorimg"></image>
</view>
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn green">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
<view class="item flex">
<view class="text2">
BTC/USDT
</view>
<view class="text2">
<view class="">
212,252.38
</view>
<view class="t1">
1,164,103,333
</view>
</view>
<view class="btn red">
<image src="../../../static/tongyonh/arrow-down-left.png" mode="aspectFit" class="img1"></image>
3.23%
</view>
</view>
</view>
<tab-bar :selectActive="3"></tab-bar>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
}
},
methods: {
}
};
</script>
<style scoped>
page{
background-color: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

40
pages/menu/profile/index.css

@ -0,0 +1,40 @@
.main{
padding: 0 24rpx;
padding-bottom: 350rpx;
}
.main_con{
background-color: #fff;
border-radius: 24rpx;
margin-top: 32rpx;
padding: 0 24rpx;
padding-top: 40rpx;
box-shadow: 0 20rpx 20rpx 20rpx #EAEDF0;
}
.main_con .title{
font-size: 28rpx;
padding-bottom: 10rpx;
color: #7D87A6;
}
.flex{
display: flex;
align-items: center;
justify-content: space-between;
}
.main_con .item{
padding: 32rpx 0;
border-top: 2rpx solid #F6F8FD;
border-bottom: 2rpx solid #F6F8FD;
}
.main_con .item .img1{
width: 72rpx;
height: 72rpx;
}
.main_con .item .text1{
font-size: 32rpx;
margin-left: 24rpx;
}
.main_con .item .img2{
width: 14rpx;
height: 24rpx;
margin-right: 20rpx;
}

104
pages/menu/profile/index.vue

@ -0,0 +1,104 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Profile
</text>
</navigation>
<view class="main">
<view class="main_con">
<view class="title">
App settings
</view>
<view class="item flex">
<view class="itemImg flex">
<image src="../../../static/tongyonh/profile1.png" class="img1" mode="aspectFit"></image>
<text class="text1">Manage Wallet</text>
</view>
<image src="../../../static/tongyonh/chevron_right_24px.png" class="img2" mode="aspectFit"></image>
</view>
<view class="item flex">
<view class="itemImg flex">
<image src="../../../static/tongyonh/circle.png" class="img1" mode="aspectFit"></image>
<text class="text1">Address Book</text>
</view>
<image src="../../../static/tongyonh/chevron_right_24px.png" class="img2" mode="aspectFit"></image>
</view>
<view class="item flex">
<view class="itemImg flex">
<image src="../../../static/tongyonh/Frame68p.png" class="img1" mode="aspectFit"></image>
<text class="text1">Settings</text>
</view>
<image src="../../../static/tongyonh/chevron_right_24px.png" class="img2" mode="aspectFit"></image>
</view>
<view class="item flex">
<view class="itemImg flex">
<image src="../../../static/tongyonh/Frame70.png" class="img1" mode="aspectFit"></image>
<text class="text1">Help Center</text>
</view>
<image src="../../../static/tongyonh/chevron_right_24px.png" class="img2" mode="aspectFit"></image>
</view>
<view class="item flex">
<view class="itemImg flex">
<image src="../../../static/tongyonh/Frame71.png" class="img1" mode="aspectFit"></image>
<text class="text1">About Us</text>
</view>
<image src="../../../static/tongyonh/chevron_right_24px.png" class="img2" mode="aspectFit"></image>
</view>
</view>
<view class="main_con">
<view class="title">
Hardware
</view>
<view class="item flex">
<view class="itemImg flex">
<image src="../../../static/tongyonh/Frame72.png" class="img1" mode="aspectFit"></image>
<text class="text1">Matching hardware</text>
</view>
<image src="../../../static/tongyonh/chevron_right_24px.png" class="img2" mode="aspectFit"></image>
</view>
</view>
</view>
<tab-bar :selectActive="5"></tab-bar>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import tabBar from "@/components/tabBar/tabBar.vue"
export default {
data() {
return {
}
},
methods: {
}
};
</script>
<style scoped>
page{
background-color: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

402
pages/menu/sendToken/addAddress/index.css

@ -0,0 +1,402 @@
.ac{
position: relative;
}
.renYou{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.main{
padding: 0 26rpx;
padding-bottom: 50rpx;
}
.main_con{
background-color: #fff;
border-radius: 26rpx;
padding-left: 26rpx;
padding-right: 40rpx;
margin-top: 98rpx;
box-shadow: 0 10rpx 30rpx 10rpx #EAEDF0;
position: relative;
padding-bottom: 52rpx;
}
.yuan{
width: 114rpx;
height: 114rpx;
border-radius: 50%;
position: absolute;
top:-50rpx;
left: 50%;
transform: translateX(-50%);
}
.yuan .img1{
width: 90rpx;
height: 90rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.main_con .title{
padding-top: 60rpx;
text-align: center;
font-size: 36rpx;
font-weight: 600;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main_con .item{
border-bottom: 2rpx solid #F6F8FD;
padding: 40rpx 0;
}
.main_con .item .inputcon{
background-color: #FAFAFA;
border-radius: 22rpx;
}
.main_con .item .input1{
padding-left: 20rpx;
margin-top: 24rpx;
width: 85%;
position: relative;
}
.inputcon{
position: relative;
}
.inputcon .img1{
width: 24rpx;
height: 24rpx;
position: absolute;
right: 20rpx;
top: 50%;
transform: translateY(-50%);
}
.inputcon .img2{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 20rpx;
top: 50%;
transform: translateY(-50%);
}
.main_con .item .top .text1{
color: #000;
font-size: 30rpx;
}
.main_con .item .top .text2{
color: #5B53FF;
font-size: 30rpx;
}
.main_con .item .top .text3{
color: #A3AED0;
font-size: 28rpx;
}
.bg{
text-align: center;
width: 108rpx;
line-height: 56rpx;
background-color: #F4F7FE;
}
.main_con .item .bottom{
margin-top: 16rpx;
}
.main_con .item .inputcon .rig{
position: absolute;
right: 20rpx;
top: 50%;
transform: translateY(-50%);
color: #A3AED0;
}
.main_con .item .inputcon .rig .text1{
margin-right: 8rpx;
}
.main_con .item .inputcon .rig .text2{
margin-left: 8rpx;
}
.ac{
color: #000 !important;
}
.main_con .item .input2{
width: 68% !important;
padding-left: 20rpx;
margin-top: 20rpx;
}
.inputcon2{
margin-top: 20rpx;
}
.inputcon2 .inputc{
background-color: #FAFAFA;
border-radius: 22rpx;
position: relative;
padding: 0 20rpx;
}
.inputcon2 .inputc .input3{
width: 60%;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.textt{
font-weight: 500;
font-size: 32rpx;
}
.btn_con{
position: relative;
bottom: 0;
background-color: #fff;
padding: 20rpx 48rpx;
}
.btn_con .btn{
text-align: center;
color: #fff;
background-color: #5B53FF;
border-radius: 32rpx;
line-height: 96rpx;
}
.bottom_con{
background-color: #F8F8F9;
border-radius: 24rpx 24rpx 0 0;
padding-top: 24rpx;
margin-top: 64rpx;
}
.bottom_con .tiao{
width: 96rpx;
height: 8rpx;
background-color: #C9D4EA;
border-radius: 8rpx;
margin: 0 auto;
}
.big_con .bigtitle{
text-align: center;
font-weight: 700;
font-size: 36rpx;
padding-top: 34rpx;
}
.big_con .tiao{
width: 96rpx;
height: 8rpx;
background-color: #C9D4EA;
border-radius: 8rpx;
margin: 0 auto;
}
.bottom_con {
background-color: #fff;
border-radius: 26rpx;
padding-left: 26rpx;
padding-right: 40rpx;
position: relative;
padding-bottom: 40rpx;
}
.bottom_con .title{
text-align: center;
font-size: 36rpx;
padding-top: 50rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.bottom_con .title_con{
padding-top: 60rpx;
padding-bottom: 34rpx;
border-bottom: 2rpx solid #F6F8FD;
}
.bottom_con .title_con .text1{
font-size: 40rpx;
font-size: 500;
}
.bottom_con .item{
padding: 34rpx 0;
}
.bottom_con .item .text1{
font-size: 28rpx;
color: #7D87A6;
}
.bottom_con .item .text1 .img{
width: 80rpx;
height: 80rpx;
}
.bottom_con .item .text2{
font-size: 32rpx;
margin-top: 8rpx;
}
.bottom_con .item .text2 .img{
width: 48rpx;
height: 48rpx;
margin-left: 12rpx;
vertical-align: middle;
}
.yuan{
width: 114rpx;
height: 114rpx;
border-radius: 50%;
position: absolute;
top:-50rpx;
left: 50%;
transform: translateX(-50%);
}
.yuan .img1{
width: 92rpx;
height: 92rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.big_con{
background-color: #F8F8F9;
border-radius: 26rpx 26rpx 0 0;
padding: 0 24rpx;
position: absolute;
z-index: 999;
bottom: 0;
padding-top: 24rpx;
padding-bottom: 100rpx;
}
.goto{
text-align: center;
color: #fff;
background-color: #5B53FF;
border-radius: 32rpx;
line-height: 96rpx;
margin-top: 88rpx;
}
.zhiwen_con{
background-color: #F8F8F9;
border-radius: 26rpx 26rpx 0 0;
padding: 0 24rpx;
position: absolute;
z-index: 9999;
bottom: 0;
padding-top: 24rpx;
padding-bottom: 100rpx;
width: 100%;
}
.zhiwen_con .tiao{
width: 96rpx;
height: 8rpx;
background-color: #C9D4EA;
border-radius: 8rpx;
margin: 0 auto;
}
.zhiwen_con .bigtitle{
text-align: center;
font-weight: 700;
font-size: 36rpx;
padding-top: 34rpx;
}
.zhiwen_con .bottom_con {
background-color: #fff;
border-radius: 26rpx;
padding-left: 26rpx;
padding-right: 40rpx;
position: relative;
height: 480rpx;
padding-top: 100rpx;
}
.zhiwen_con .bottom_con .img1{
display: block;
width: 96rpx;
height: 106rpx;
margin: 0 auto;
}
.zhiwen_con .bottom_con .text1{
text-align: center;
color: #7D87A6;
font-size: 28rpx;
margin-top: 45rpx;
margin-bottom: 80rpx;
}
.zhiwen_con .bottom_con .con .textt1{
color: #5B53FF;
}
.zhiwen_con .bottom_con .con .textt2{
color: #639AF2;
}
.red{
color: #F16063 !important;
}
.green{
color: #6AD6A8 !important;
}
.main .btn{
color: #fff;
text-align: center;
line-height: 96rpx;
border-radius: 32rpx;
background-color: #ADA9FF;
}
.main_con .item:last-child{
border: none;
}
.zindex{
z-index: 999;
}
.w100{
width: 100%;
}
.w100{
text-align: center;
font-weight: 700;
font-size: 36rpx;
padding-top: 40rpx !important;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.bottom_con .item{
padding: 30rpx 0;
height: 136rpx;
border-bottom: 2rpx solid #F4F7FE;
width: 100%;
}
/deep/ .u-radio-group{
width: 100% !important;
}
.select_btn{
width: 100%;
background-color: #5B53FF;
border-radius: 30rpx;
text-align: center;
color: #fff;
font-size: 32rpx;
margin-top: 40rpx;
line-height: 96rpx;
}
.big_con .title{
margin-top: 20rpx;
}
.bottom_con .item .text2{
font-size: 30rpx;
text-align: left;
color: #A3AED0;
font-weight: normal;
margin-top: 0;
}
.bottom_con .item .text1 .textcon{
margin-left: 15rpx;
}
.bottom_con .item .text1{
font-size: 32rpx;
color: #000;
font-weight: normal;
}

145
pages/menu/sendToken/addAddress/index.vue

@ -0,0 +1,145 @@
<template>
<view class="hr">
<navigation :showBack="true" :bgnum="true">
<image src="../../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="renYou" slot="logo"></image>
<text class="big_title">
Add address
</text>
</navigation>
<view class="main">
<view class="main_con">
<view class="item">
<view class="top flex">
<view class="text1">
Currency
</view>
</view>
<view class="inputcon">
<input type="text" value="" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="Please select the currency" class="input1"/>
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="item">
<view class="top flex">
<view class="text1">
Address
</view>
</view>
<view class="inputcon">
<input type="text" value="" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="Please enter the recipient address" class="input1"/>
<image src="../../../../static/tongyonh/Frame330.png" mode="aspectFit" class="img2"></image>
</view>
</view>
<view class="item">
<view class="top flex">
<view class="text1">
Name
</view>
</view>
<view class="inputcon">
<input type="text" value="" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="Please enter the name" class="input1"/>
</view>
</view>
<view class="btn">
Save
</view>
</view>
<u-mask z-index="10" :show="show" @click="show = false"></u-mask>
</view>
<view class="big_con w100">
<view class="tiao"></view>
<view class="title">
Please select currency
</view>
<view class="bottom_con zindex">
<u-radio-group v-model="value" >
<view class="item flex" v-for="(item, index) in list" :key="index" @click="handove()">
<view class="text1 flex">
<image :src="item.url" mode="aspectFit" class="img"></image>
<view class="textcon">
<view class="text1">
{{item.lang}}
</view>
<view class="text2">
{{item.name}}
</view>
</view>
</view>
<u-radio
:name="item.name"
:disabled="item.disabled"
active-color="#5B53FF"
>
</u-radio>
</view>
</u-radio-group>
<view class="select_btn">
Select
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
show: true,
checked: false,
list: [
{
url:'../../../../static/tongyonh/bye.png',
lang:'Bitcoin',
disabled: false,
name:"BTC"
},
{
url:'../../../../static/tongyonh/Frame3299.png',
lang:'Ethereum',
disabled: false,
name:"ETH"
},
{
url:'../../../../static/tongyonh/tron1.png',
lang:'Tron',
disabled: false,
name:"TRX"
},
],
// u-radio-groupv-modelradioname
value: '',
}
},
methods: {
handove(item){
},
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
height: 100%;
}
</style>
<style>
@import './index.css';
</style>

130
pages/menu/sendToken/address/index.css

@ -0,0 +1,130 @@
.hr{
height: 100%;
}
.renYou{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.flex{
display: flex;
justify-content: space-between;
}
.main{
padding: 0 24rpx;
margin-top: 50rpx;
height: 100%;
position: relative;
}
.main .item{
background-color: #fff;
padding: 24rpx;
box-shadow: 0 10rpx 20rpx 10rpx #EDF0F3;
border-radius: 20rpx;
margin-bottom: 30rpx;
position: relative;
}
.main .img1{
width: 30rpx;
height: 30rpx;
}
.main .img2{
width: 48rpx;
height: 48rpx;
}
.bigcon .text1{
font-size: 28rpx;
margin-top: 15rpx;
}
.btncon .text{
font-size: 32rpx;
}
.bigcon .textimg{
}
.bigcon .textimg .img{
width: 50rpx;
height: 50rpx;
}
.flexx{
display: flex;
align-items: center;
}
.bigcon .textt{
font-size: 32rpx;
color: #0F1828;
font-weight: 500;
margin-left: 10rpx;
}
.bigcon .textt2{
font-size: 32rpx;
color: #7D87A6;
font-weight: 500;
margin-left: 26rpx;
}
.set_con{
background-color: #fff;
width: 402rpx;
border-radius: 32rpx;
position: absolute;
top: 0;
right: 0;
z-index: 999;
padding: 0 20rpx;
padding-top: 30rpx;
}
.set_con .img1{
width: 36rpx;
height: 36rpx;
position: absolute;
right: 30rpx;
top: 30rpx;
}
.set_con .itemm .img{
width: 36rpx;
margin-right: 20rpx;
height: 36rpx;
}
.set_con .itemm{
color: #47548C;
font-size: 32rpx;
border-bottom: 2rpx solid #F6F8FD;
height: 120rpx;
}
.set_con .itemm:last-child{
border-bottom: none;
}
.flexx{
display: flex;
align-items: center;
}
.red{
color: #F16063 !important;
}
.info_con{
width: 702rpx;
height: 120rpx;
display: flex;
align-items: center;
position: absolute;
bottom: 60rpx;
border-radius: 26rpx;
justify-content: space-between;
padding: 0 48rpx;
}
.green{
background-color: #6AD6A8;
}
.info_con .text{
color: #fff;
}
.info_con .text2{
font-size: 700;
font-size: 32rpx;
}

125
pages/menu/sendToken/address/index.vue

@ -0,0 +1,125 @@
<template>
<view class="hr">
<navigation :showBack="true" :bgnum="true">
<image src="../../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="renYou" slot="logo"></image>
<text class="big_title">
Address
</text>
</navigation>
<view class="main">
<view class="item flex">
<view class="textcon flex">
<view class="bigcon">
<view class="textimg flexx">
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="img"></image>
<text class="textt">BTC</text>
<text class="textt2">Chisu</text>
</view>
<view class="text1">
TAADz1cFXLB2fWikE1sRi9znpmFFaMgaad
</view>
</view>
</view>
<view class="btncon">
<image src="../../../../static/tongyonh/more_vert_24px_outlined.svg" mode="aspectFit" class="img2" @click="show = true">
</image>
</view>
<view class="set_con" v-if="show">
<image src="../../../../static/tongyonh/xg.png" mode="aspectFit" class="img1" @click="show = false"></image>
<view class="itemm flexx">
<image src="../../../../static/tongyonh/create_24px.png" mode="aspectFit" class="img"></image>
Edit
</view>
<view class="itemm flexx red">
<image src="../../../../static/tongyonh/trash.png" mode="aspectFit" class="img"></image>
Delete
</view>
</view>
</view>
<view class="item flex">
<view class="textcon flex">
<view class="bigcon">
<view class="textimg flexx">
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="img"></image>
<text class="textt">BTC</text>
<text class="textt2">Chisu</text>
</view>
<view class="text1">
TAADz1cFXLB2fWikE1sRi9znpmFFaMgaad
</view>
</view>
</view>
<view class="btncon">
<image src="../../../../static/tongyonh/more_vert_24px_outlined.svg" mode="aspectFit" class="img2">
</image>
</view>
</view>
<view class="info_con green">
<view class="text">
BTC TAADz1c...1sFFaMgaad
</view>
<view class="text text2">
DELETE
</view>
</view>
</view>
<u-mask z-index="10" :show="show" ></u-mask>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
show: true,
list: [
{
name: 'Single address',
checked: true,
disabled: false
},
{
name: 'Batch add 10 addresses',
checked: false,
disabled: false
},
{
name: 'Batch add 50 addresses',
checked: false,
disabled: false
}
]
}
},
methods: {
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
height: 100%;
}
</style>
<style>
@import './index.css';
</style>

147
pages/menu/sendToken/enPassword/index.css

@ -0,0 +1,147 @@
.main{
padding: 0 48rpx;
position: absolute;
top: 30%;
}
.main .title{
line-height: 48rpx;
color: #000;
font-size: 32rpx;
text-align: center;
margin-bottom: 20rpx;
}
#payPwd{
margin-top: 160rpx;
}
#payPwd .pwd-wrap{
width: 100%;
height: 48px;
padding-bottom: 1px;
margin: 0 auto;
background: #fff;
display: flex;
display: -webkit-flex;
cursor: pointer;
justify-content: space-between;
padding: 0;
}
.pwd-wrap li{
list-style-type:none;
text-align: center;
width: 94rpx;
line-height: 44px;
height: 100%;
border:2rpx solid #ddd ;
border-radius: 10rpx;
}
.pwd-wrap li i{
height: 10px;
width: 10px;
border-radius:50% ;
background: #000;
display: inline-block;
}
.borc{
border-color: #5B53FF !important;
}
.btnconn{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 160rpx;
}
.btnconn .btn{
width: 310rpx;
line-height: 86rpx;
border-radius: 20rpx;
border: 2rpx solid #F6F8FE;
text-align: center;
display: flex;
align-items: center;
color:#A3AED0;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #6F67FF!important;
background-color: #F6F8FD;
border: none !important;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}
.big_title{
text-align: center;
font-size: 36rpx;
}
.bottom_con{
margin-top: 65rpx;
}
.bottom_con .top{
word-break: break-all;
padding: 52rpx 32rpx;
text-align: center;
line-height: 50rpx;
background-color: #FAFAFA;
border-radius: 20rpx 20rpx 0 0;
}
.bottom_con .bottom{
background-color: #F6F8FD;
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
height: 96rpx;
border-radius: 0 0 20rpx 20rpx;
}
.img1{
width: 48rpx;
height: 48rpx;
margin-right: 10rpx;
}
.code_con .img2{
display: block;
width: 486rpx;
height: 482rpx;
margin: 0 auto;
margin-top: 64rpx;
}
.code_con .text{
margin-top: 40rpx;
text-align: center;
font-size: 28rpx;
color: #7D87A6;
padding-bottom: 150rpx;
}
/deep/ .u-char-item[data-v-0e1e7f9a] {
margin: 10rpx 6rpx;
}
/* /deep/ .u-box[data-v-0e1e7f9a] {
border: 2rpx solid #E0E5F2 !important;
} */
/deep/ .u-dot span{
color: #000 !important;
}
/deep/ .u-placeholder-line{
background: #5B53FF;
}

73
pages/menu/sendToken/enPassword/index.vue

@ -0,0 +1,73 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="false">
<text class="big_title">
Enter Password
</text>
</navigation>
<view class="main">
<view class="title">
Enter Password
</view>
<u-message-input inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :dot-fill="true"></u-message-input>
</view>
<view class="main" v-if="false">
<view class="big_title">
Set new password
</view>
<view class="title">
Secure transaction passwords, please do not disclose
</view>
<u-message-input inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :dot-fill="true"></u-message-input>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
msg:'',
msgLength:0,
fes:false,
borNum:true,
}
},
watch:{
msg(curVal){
if(/[^\d]/g.test(curVal)){
this.msg = this.msg.replace(/[^\d]/g,'');
}else{
this.msgLength = curVal.length;
}
},
},
methods: {
focuss(){
this.fes=true;
},
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

79
pages/menu/sendToken/index.css

@ -0,0 +1,79 @@
.main{
padding: 0rpx 24rpx;
margin-top: 48rpx;
padding-bottom: 80rpx;
}
.main_con{
background-color: #fff;
border-radius: 20rpx;
width: 100%;
padding: 48rpx 0;
box-shadow: 0 0 30rpx #EBEEF1;
}
.logoimg{
width: 96rpx;
height: 96rpx;
display: block;
margin: 0 auto;
}
.title{
font-size: 36rpx;
text-align: center;
font-weight: 700;
margin-top: 15rpx;
}
.main .code{
display: block;
margin: 0 auto;
width: 390rpx;
height: 386rpx;
margin-top: 80rpx;
}
.main .text1{
text-align: center;
width: 390rpx;
color: #7D87A6;
font-size: 28rpx;
margin: 0 auto;
margin-top: 26rpx;
}
.main .text2{
color: #000;
font-size: 30rpx;
margin-top: 52rpx;
background-color: #FAFAFA;
border-radius: 10rpx;
padding: 32rpx;
border-radius: 20rpx;
}
.bottom_con{
padding: 0 24rpx;
}
.copy{
margin-top:58rpx;
color:#7D87A6 !important;
}
.main .text3{
color: #000;
font-size: 32rpx;
margin-bottom: 24rpx;
line-height: 112rpx;
text-align: center;
background-color: #F6F8FD;
border-radius: 10rpx;
text-align: center;
border-radius: 20rpx;
display: flex;
justify-content: center;
align-items: center;
}
.copyImg{
width: 48rpx;
height: 48rpx;
margin-right: 10rpx;
}
.main .text3:hover{
background-color: #fff;
border: 2rpx solid #F6F8FD;
}

61
pages/menu/sendToken/index.vue

@ -0,0 +1,61 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
Receive
</navigation>
<view class="main">
<view class="main_con">
<image src="../../../static/tongyonh/tron1.png" mode="aspectFit" class="logoimg"></image>
<view class="title">
TRX Receiving address
</view>
<image src="../../../static/tongyonh/image46.png" mode="aspectFit" class="code"></image>
<view class="text1">
Scan the QR code to transfer to the asset
</view>
<view class="bottom_con">
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw ssdhd
</view>
<view class="text3 copy">
<image src="../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="copyImg"></image>
Copy address
</view>
<view class="text3">
<image src="../../../static/tongyonh/Frame58.png" mode="aspectFit" class="copyImg"></image>
Switching address
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
}
},
methods: {
}
};
</script>
<style scoped>
page{
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

314
pages/menu/sendToken/transfer/index.css

@ -0,0 +1,314 @@
.ac{
position: relative;
}
.main{
padding: 0 26rpx;
padding-bottom: 50rpx;
}
.main_con{
background-color: #fff;
border-radius: 26rpx;
padding-left: 26rpx;
padding-right: 40rpx;
margin-top: 98rpx;
box-shadow: 0 10rpx 30rpx 10rpx #EAEDF0;
position: relative;
}
.yuan{
width: 114rpx;
height: 114rpx;
border-radius: 50%;
position: absolute;
top:-50rpx;
left: 50%;
transform: translateX(-50%);
}
.yuan .img1{
width: 90rpx;
height: 90rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.main_con .title{
padding-top: 60rpx;
text-align: center;
font-size: 36rpx;
font-weight: 600;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main_con .item{
border-bottom: 2rpx solid #F6F8FD;
padding: 40rpx 0;
}
.main_con .item .inputcon{
background-color: #FAFAFA;
border-radius: 22rpx;
}
.main_con .item .input1{
padding-left: 20rpx;
margin-top: 24rpx;
width: 85%;
position: relative;
}
.inputcon{
position: relative;
}
.inputcon .img1{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 20rpx;
top: 50%;
transform: translateY(-50%);
}
.main_con .item .top .text1{
color: #7D87A6;
font-size: 30rpx;
}
.main_con .item .top .text2{
color: #5B53FF;
font-size: 30rpx;
}
.main_con .item .top .text3{
color: #A3AED0;
font-size: 28rpx;
}
.bg{
text-align: center;
width: 108rpx;
line-height: 56rpx;
background-color: #F4F7FE;
}
.main_con .item .bottom{
margin-top: 16rpx;
}
.main_con .item .inputcon .rig{
position: absolute;
right: 20rpx;
top: 50%;
transform: translateY(-50%);
color: #A3AED0;
}
.main_con .item .inputcon .rig .text1{
margin-right: 8rpx;
}
.main_con .item .inputcon .rig .text2{
margin-left: 8rpx;
}
.ac{
color: #000 !important;
}
.main_con .item .input2{
width: 68% !important;
padding-left: 20rpx;
margin-top: 20rpx;
}
.inputcon2{
margin-top: 20rpx;
}
.inputcon2 .inputc{
background-color: #FAFAFA;
border-radius: 22rpx;
position: relative;
padding: 0 20rpx;
}
.inputcon2 .inputc .input3{
width: 60%;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.textt{
font-weight: 500;
font-size: 32rpx;
}
.btn_con{
position: relative;
bottom: 0;
background-color: #fff;
padding: 20rpx 48rpx;
}
.btn_con .btn{
text-align: center;
color: #fff;
background-color: #5B53FF;
border-radius: 32rpx;
line-height: 96rpx;
}
.bottom_con{
background-color: #F8F8F9;
border-radius: 24rpx 24rpx 0 0;
padding-top: 24rpx;
margin-top: 64rpx;
}
.bottom_con .tiao{
width: 96rpx;
height: 8rpx;
background-color: #C9D4EA;
border-radius: 8rpx;
margin: 0 auto;
}
.big_con .bigtitle{
text-align: center;
font-weight: 700;
font-size: 36rpx;
padding-top: 34rpx;
}
.big_con .tiao{
width: 96rpx;
height: 8rpx;
background-color: #C9D4EA;
border-radius: 8rpx;
margin: 0 auto;
}
.bottom_con {
background-color: #fff;
border-radius: 26rpx;
padding-left: 26rpx;
padding-right: 40rpx;
position: relative;
}
.bottom_con .title{
text-align: center;
font-size: 36rpx;
padding-top: 50rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.bottom_con .title_con{
padding-top: 60rpx;
padding-bottom: 34rpx;
border-bottom: 2rpx solid #F6F8FD;
}
.bottom_con .title_con .text1{
font-size: 40rpx;
font-size: 500;
}
.bottom_con .item{
padding: 34rpx 0;
}
.bottom_con .item .text1{
font-size: 28rpx;
color: #7D87A6;
}
.bottom_con .item .text2{
font-size: 32rpx;
margin-top: 8rpx;
}
.bottom_con .item .text2 .img{
width: 48rpx;
height: 48rpx;
margin-left: 12rpx;
vertical-align: middle;
}
.yuan{
width: 114rpx;
height: 114rpx;
border-radius: 50%;
position: absolute;
top:-50rpx;
left: 50%;
transform: translateX(-50%);
}
.yuan .img1{
width: 92rpx;
height: 92rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.big_con{
background-color: #F8F8F9;
border-radius: 26rpx 26rpx 0 0;
padding: 0 24rpx;
position: absolute;
z-index: 999;
bottom: 0;
padding-top: 24rpx;
padding-bottom: 100rpx;
}
.goto{
text-align: center;
color: #fff;
background-color: #5B53FF;
border-radius: 32rpx;
line-height: 96rpx;
margin-top: 88rpx;
}
.zhiwen_con{
background-color: #F8F8F9;
border-radius: 26rpx 26rpx 0 0;
padding: 0 24rpx;
position: absolute;
z-index: 9999;
bottom: 0;
padding-top: 24rpx;
padding-bottom: 100rpx;
width: 100%;
}
.zhiwen_con .tiao{
width: 96rpx;
height: 8rpx;
background-color: #C9D4EA;
border-radius: 8rpx;
margin: 0 auto;
}
.zhiwen_con .bigtitle{
text-align: center;
font-weight: 700;
font-size: 36rpx;
padding-top: 34rpx;
}
.zhiwen_con .bottom_con {
background-color: #fff;
border-radius: 26rpx;
padding-left: 26rpx;
padding-right: 40rpx;
position: relative;
height: 480rpx;
padding-top: 100rpx;
}
.zhiwen_con .bottom_con .img1{
display: block;
width: 96rpx;
height: 106rpx;
margin: 0 auto;
}
.zhiwen_con .bottom_con .text1{
text-align: center;
color: #7D87A6;
font-size: 28rpx;
margin-top: 45rpx;
margin-bottom: 80rpx;
}
.zhiwen_con .bottom_con .con .textt1{
color: #5B53FF;
}
.zhiwen_con .bottom_con .con .textt2{
color: #639AF2;
}
.red{
color: #F16063 !important;
}
.green{
color: #6AD6A8 !important;
}

262
pages/menu/sendToken/transfer/index.vue

@ -0,0 +1,262 @@
<template>
<view class="ac">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
TRX Transfer
</text>
</navigation>
<view class="main">
<view class="main_con">
<view class="yuan">
<image src="../../../../static/tongyonh/tron1.png" mode="aspectFit" class="img1"></image>
</view>
<view class="title">
TRX
</view>
<view class="item">
<view class="top flex">
<view class="text1">
Receiving address
</view>
<view class="text2">
Adress Book
</view>
</view>
<view class="inputcon">
<input type="text" value="" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="Please enter the recipient address" class="input1"/>
<image src="../../../../static/tongyonh/Frame330.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="item">
<view class="top flex">
<view class="text1">
Transfer amount
</view>
</view>
<view class="inputcon2 flex">
<view class="inputc flex">
<view class="textt">
TRX
</view>
<input type="text" value="" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="0.0000000" class="input3"/>
</view>
<text></text>
<view class="inputc flex">
<view class="textt">
USD
</view>
<input type="text" value="" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="0.0000000" class="input3"/>
</view>
</view>
<view class="top flex bottom">
<view class="text3">
Balance: 470.31
</view>
<view class="text1 bg">
ALL
</view>
</view>
</view>
<view class="item">
<view class="top flex">
<view class="text1">
Remark
</view>
<view class="text2">
Adress Book
</view>
</view>
<view class="inputcon">
<input type="text" value="" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="Please enter a note (off-chain)" class="input1"/>
</view>
</view>
<view class="item">
<view class="top flex">
<view class="text1">
Transaction fee
</view>
<view class="text2">
Adress Book
</view>
</view>
<view class="inputcon" >
<input type="text" v-model="value" value="" placeholder-style="font-size: 30rpx; color: #D0D0D2;" placeholder="Please enter a note (off-chain)" class="input2"/>
<view class="rig">
<text class="text1 ac">TRX</text> | <text class="text2">USDT</text>
</view>
</view>
</view>
</view>
</view>
<view class="big_con" v-if="show">
<view class="tiao" @click="show=false">
</view>
<view class="bigtitle">
Transfer confirmation
</view>
<view class="bottom_con">
<view class="yuan">
<image src="../../../../static/tongyonh/tron1.png" mode="aspectFit" class="img1"></image>
</view>
<view class="title">
TRX
</view>
<view class="title_con flex">
<view class="text1">
Amount
</view>
<view class="text1">
0.1123123 BTC
</view>
</view>
<view class="item">
<view class="text1">
Send address
</view>
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw ssdhd
</view>
</view>
<view class="item">
<view class="text1">
Receiving address
</view>
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw ssdhd
</view>
</view>
<view class="item">
<view class="text1">
Remark
</view>
<view class="text2">
1.00 TRX
</view>
</view>
<view class="item">
<view class="text1">
Transaction fee
</view>
<view class="text2">
1.00 TRX
</view>
</view>
<view class="goto">
Confirm
</view>
</view>
</view>
<u-mask z-index="10" :show="show" @click="show = false"></u-mask>
<u-mask z-index="1000" :show="show" @click="show2 = false"></u-mask>
<view class="zhiwen_con">
<view class="tiao">
</view>
<view class="bigtitle">
Fingerprint password
</view>
<view class="bottom_con">
<image src="../../../../static/tongyonh/zhiwen.png" mode="aspectFit" class="img1"></image>
<view class="text1">
Touch the fingerprint sensor
</view>
<view class="flex con">
<view class="textt1">
Use Password
</view>
<view class="textt2">
Cancel
</view>
</view>
</view>
</view>
<view class="zhiwen_con">
<view class="tiao">
</view>
<view class="bigtitle">
Fingerprint password
</view>
<view class="bottom_con">
<image src="../../../../static/tongyonh/alert-circle.png" mode="aspectFit" class="img1"></image>
<view class="text1 red">
Fingerprint not recognized. <br>Try again.
</view>
<view class="flex con">
<view class="textt1">
Use Password
</view>
<view class="textt2">
Cancel
</view>
</view>
</view>
</view>
<view class="zhiwen_con">
<view class="tiao">
</view>
<view class="bigtitle">
Fingerprint password
</view>
<view class="bottom_con">
<image src="../../../../static/tongyonh/x-circle.png" mode="aspectFit" class="img1"></image>
<view class="text1 green">
Fingerprint recognized.
</view>
<view class="flex con">
<view class="textt1">
Use Password
</view>
<view class="textt2">
Cancel
</view>
</view>
</view>
</view>
<view class="btn_con" @click="show=true">
<view class="btn">
Confirm
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
value:1000,
show: true,
show2: true
}
},
methods: {
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
height: 100%;
}
</style>
<style>
@import './index.css';
</style>

59
pages/menu/setting/addBtcNode/index.css

@ -0,0 +1,59 @@
.main{
padding: 0 24rpx;
margin-top: 40rpx;
}
.main_con{
background-color: #fff;
border-radius: 20rpx;
box-shadow: 0 0 30rpx #EDEFF2;
padding: 0 24rpx;
padding-bottom: 60rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main .item{
padding: 30rpx 0;
width: 100%;
}
/deep/ .u-radio-group{
width: 100% !important;
}
.select_btn{
width: 100%;
background-color: #ADA9FF;
border-radius: 30rpx;
text-align: center;
color: #fff;
font-size: 32rpx;
margin-top: 40rpx;
line-height: 96rpx;
}
.main .text1{
font-size: 32rpx;
}
.main .text2{
color: #A3AED0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.main .text2 .img1{
width: 24rpx;
height: 24rpx;
margin-left: 10rpx;
}
.main_con .input1{
display: block;
height: 96rpx;
background-color: #FAFAFA;
border-radius: 20rpx;
padding-left: 30rpx;
margin-top: 30rpx;
}

99
pages/menu/setting/addBtcNode/index.vue

@ -0,0 +1,99 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
Add BTC node
</navigation>
<view class="main">
<view class="main_con">
<view class="item">
<view class="text1">
Node name
</view>
<input type="text" value="" placeholder-style="color:#D0D0D2" placeholder="Please enter the node name" class="input1"/>
</view>
<view class="item">
<view class="text1">
Node address
</view>
<input type="text" value="" placeholder-style="color:#D0D0D2" placeholder="Please enter the node name" class="input1"/>
</view>
<view class="select_btn">
Confirm
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
checked: false,
list: [
{
lang:'BTC',
disabled: false,
name:"https://bitcoin.maiziqia..."
},
{
lang:'Ethereum',
disabled: false,
name:"https://bitcoin.maiziqia..."
},
{
lang:'Binance Smart Chain',
disabled: false,
name:"https://bitcoin.maiziqia..."
},
],
// u-radio-groupv-modelradioname
value: '',
};
},
methods: {
handove(item){
// if(item){
// }
this.$i18n.locale = item;
// #ifdef APP-PLUS
plus.storage.setItem('locale', item);
// #endif
// #ifdef H5
localStorage.setItem('locale', item);
// #endif
},
radioChange(e) {
// console.log(e);
},
// radioradio-group
radioGroupChange(e) {
// console.log(e);
},
change(status) {
// console.log(status);
},
},
computed: {
i18n() {
return this.$t('index')
}
},
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

80
pages/menu/setting/btcNodeSetting/index.css

@ -0,0 +1,80 @@
.renYou{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.main{
padding: 0 24rpx;
margin-top: 40rpx;
}
.main_con{
padding: 0 24rpx;
padding-bottom: 60rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.flex2{
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
}
.main .item{
padding: 30rpx 0;
height: 136rpx;
border-top: 2rpx solid #F4F7FE;
border-bottom: 2rpx solid #F4F7FE;
width: 100%;
}
/deep/ .u-radio-group{
width: 100% !important;
}
/deep/ .u-radio{
line-height: 1.5;
}
.select_btn{
width: 654rpx;
background-color: #5B53FF;
border-radius: 30rpx;
text-align: center;
color: #fff;
font-size: 32rpx;
margin-top: 40rpx;
line-height: 96rpx;
position: absolute;
bottom: 30rpx;
}
.main_con .sp1{
font-size: 32rpx;
}
.main_con .sp2{
font-size: 24rpx;
color: #A3AED0;
}
.item_con .text1{
font-size: 32rpx;
}
.item_con .text2{
font-size: 24rpx;
color: #A3AED0;
}
.item_con .color_con{
width: 16rpx;
height: 16rpx;
border-radius: 50%;
}
.red{
background-color: #EB5757;
}
.green{
background-color: #6FCF97;
}

105
pages/menu/setting/btcNodeSetting/index.vue

@ -0,0 +1,105 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="false">
<image src="../../../../static/tongyonh/IconGroup.png" mode="aspectFit" class="renYou" slot="logo"></image>
BTC node settings
</navigation>
<view class="main">
<view class="main_con">
<u-radio-group v-model="value" @change="radioGroupChange">
<view class="item flex" v-for="(item, index) in list" :key="index" @click="handove('en')">
<u-radio
@change="radioChange"
:name="item.name"
:disabled="item.disabled"
active-color="#5B53FF"
>
<view class="sp1">
{{item.name}}
</view>
<view class="sp2">
{{item.link}}
</view>
</u-radio>
<view class="item_con flex2">
<view class="text1">24924ms</view>
<view class="color_con red">
</view>
<view class="text2">
区块高度 700800
</view>
</view>
</view>
</u-radio-group>
<view class="select_btn">
Save
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
checked: false,
list: [
{
lang:'繁体中文',
disabled: false,
name:"BitcoooWallet",
link:'https://bitcoin.mainziqianbao.net/'
},
{
lang:'简体中文',
disabled: false,
name:"BitcoooWallet",
link:'https://bitcoin.mainziqianbao.net/'
},
{
lang:'English',
disabled: false,
name:"BitcoooWallet",
link:'https://bitcoin.mainziqianbao.net/'
},
],
// u-radio-groupv-modelradioname
value: '',
};
},
methods: {
radioChange(e) {
// console.log(e);
},
// radioradio-group
radioGroupChange(e) {
// console.log(e);
},
change(status) {
// console.log(status);
},
},
computed: {
i18n() {
return this.$t('index')
}
},
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

39
pages/menu/setting/currency/index.css

@ -0,0 +1,39 @@
.main{
padding: 0 24rpx;
margin-top: 40rpx;
}
.main_con{
background-color: #fff;
border-radius: 20rpx;
box-shadow: 0 0 30rpx #EDEFF2;
padding: 0 24rpx;
padding-bottom: 60rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main .item{
padding: 30rpx 0;
height: 136rpx;
border-bottom: 2rpx solid #F4F7FE;
width: 100%;
}
/deep/ .u-radio-group{
width: 100% !important;
}
.select_btn{
width: 100%;
background-color: #5B53FF;
border-radius: 30rpx;
text-align: center;
color: #fff;
font-size: 32rpx;
margin-top: 40rpx;
line-height: 96rpx;
}

106
pages/menu/setting/currency/index.vue

@ -0,0 +1,106 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
Language
</navigation>
<view class="main">
<view class="main_con">
<u-radio-group v-model="value" @change="radioGroupChange">
<view class="item flex" v-for="(item, index) in list" :key="index" @click="handove('en')">
<view class="text1">
{{item.lang}}
</view>
<u-radio
@change="radioChange"
:name="item.name"
:disabled="item.disabled"
active-color="#5B53FF"
>
</u-radio>
</view>
</u-radio-group>
<view class="select_btn">
Select
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
checked: false,
list: [
{
lang:'USD',
disabled: false,
name:"b"
},
{
lang:'JPY',
disabled: false,
name:"a"
},
{
lang:'EUR',
disabled: false,
name:"c"
},
],
// u-radio-groupv-modelradioname
value: '',
};
},
methods: {
handove(item){
// if(item){
// }
this.$i18n.locale = item;
// #ifdef APP-PLUS
plus.storage.setItem('locale', item);
// #endif
// #ifdef H5
localStorage.setItem('locale', item);
// #endif
},
radioChange(e) {
// console.log(e);
},
// radioradio-group
radioGroupChange(e) {
// console.log(e);
},
change(status) {
// console.log(status);
},
},
computed: {
i18n() {
return this.$t('index')
}
},
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

34
pages/menu/setting/index.css

@ -0,0 +1,34 @@
.main{
padding: 0 24rpx;
margin-top: 40rpx;
}
.main_con{
background-color: #fff;
border-radius: 20rpx;
box-shadow: 0 0 30rpx #EDEFF2;
padding: 0 24rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main .item{
padding: 30rpx 0;
height: 136rpx;
border-bottom: 2rpx solid #F4F7FE;
}
.main .item .text1{
font-weight: 500;
}
.img1{
width: 24rpx;
height: 24rpx;
vertical-align: middle;
}
.main .item .text2{
color: #A3AED0;
margin-right: 20rpx;
}

77
pages/menu/setting/index.vue

@ -0,0 +1,77 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
Settings
</navigation>
<view class="main">
<view class="main_con">
<view class="item flex">
<view class="text1">
Payment password
</view>
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
<view class="item flex">
<view class="text1">
Fingerprint password
</view>
<u-switch v-model="checked" active-color="#5B53FF"></u-switch>
</view>
<view class="item flex">
<view class="text1">
Payment password
</view>
<view class="">
<text class="text2">English</text>
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="item flex">
<view class="text1">
Currency
</view>
<view class="">
<text class="text2">USD</text>
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="item flex">
<view class="text1">
Node settings
</view>
<image src="../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
checked: false,
};
},
methods: {
change(status) {
// console.log(status);
},
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

39
pages/menu/setting/lang/index.css

@ -0,0 +1,39 @@
.main{
padding: 0 24rpx;
margin-top: 40rpx;
}
.main_con{
background-color: #fff;
border-radius: 20rpx;
box-shadow: 0 0 30rpx #EDEFF2;
padding: 0 24rpx;
padding-bottom: 60rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main .item{
padding: 30rpx 0;
height: 136rpx;
border-bottom: 2rpx solid #F4F7FE;
width: 100%;
}
/deep/ .u-radio-group{
width: 100% !important;
}
.select_btn{
width: 100%;
background-color: #5B53FF;
border-radius: 30rpx;
text-align: center;
color: #fff;
font-size: 32rpx;
margin-top: 40rpx;
line-height: 96rpx;
}

105
pages/menu/setting/lang/index.vue

@ -0,0 +1,105 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
Language
</navigation>
<view class="main">
<view class="main_con">
<u-radio-group v-model="value" @change="radioGroupChange">
<view class="item flex" v-for="(item, index) in list" :key="index" @click="handove('en')">
<view class="text1">
{{item.lang}}
</view>
<u-radio
@change="radioChange"
:name="item.name"
:disabled="item.disabled"
active-color="#5B53FF"
>
</u-radio>
</view>
</u-radio-group>
<view class="select_btn">
Select
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
checked: false,
list: [
{
lang:'繁体中文',
disabled: false,
name:"b"
},
{
lang:'简体中文',
disabled: false,
name:"a"
},
{
lang:'English',
disabled: false,
name:"c"
},
],
// u-radio-groupv-modelradioname
value: '',
};
},
methods: {
handove(item){
// if(item){
// }
this.$i18n.locale = item;
// #ifdef APP-PLUS
plus.storage.setItem('locale', item);
// #endif
// #ifdef H5
localStorage.setItem('locale', item);
// #endif
},
radioChange(e) {
// console.log(e);
},
// radioradio-group
radioGroupChange(e) {
// console.log(e);
},
change(status) {
// console.log(status);
},
},
computed: {
i18n() {
return this.$t('index')
}
},
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

54
pages/menu/setting/nodeSetting/index.css

@ -0,0 +1,54 @@
.main{
padding: 0 24rpx;
margin-top: 40rpx;
}
.main_con{
background-color: #fff;
border-radius: 20rpx;
box-shadow: 0 0 30rpx #EDEFF2;
padding: 0 24rpx;
padding-bottom: 60rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main .item{
padding: 30rpx 0;
height: 136rpx;
border-bottom: 2rpx solid #F4F7FE;
width: 100%;
}
/deep/ .u-radio-group{
width: 100% !important;
}
.select_btn{
width: 100%;
background-color: #5B53FF;
border-radius: 30rpx;
text-align: center;
color: #fff;
font-size: 32rpx;
margin-top: 40rpx;
line-height: 96rpx;
}
.main .text1{
font-size: 32rpx;
width: 215rpx;
}
.main .text2{
color: #A3AED0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.main .text2 .img1{
width: 24rpx;
height: 24rpx;
margin-left: 10rpx;
}

101
pages/menu/setting/nodeSetting/index.vue

@ -0,0 +1,101 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
Node settings
</navigation>
<view class="main">
<view class="main_con">
<view class="item flex" v-for="(item, index) in list" :key="index" @click="handove('en')">
<view class="text1">
{{item.lang}}
</view>
<view class="text2">
{{item.name}}
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="select_btn">
Select
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
checked: false,
list: [
{
lang:'BTC',
disabled: false,
name:"https://bitcoin.maiziqia..."
},
{
lang:'Ethereum',
disabled: false,
name:"https://bitcoin.maiziqia..."
},
{
lang:'Binance Smart Chain',
disabled: false,
name:"https://bitcoin.maiziqia..."
},
],
// u-radio-groupv-modelradioname
value: '',
};
},
methods: {
handove(item){
// if(item){
// }
this.$i18n.locale = item;
// #ifdef APP-PLUS
plus.storage.setItem('locale', item);
// #endif
// #ifdef H5
localStorage.setItem('locale', item);
// #endif
},
radioChange(e) {
// console.log(e);
},
// radioradio-group
radioGroupChange(e) {
// console.log(e);
},
change(status) {
// console.log(status);
},
},
computed: {
i18n() {
return this.$t('index')
}
},
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

146
pages/menu/setting/payPassword/index.css

@ -0,0 +1,146 @@
.main{
padding: 0 48rpx;
margin-top: 64rpx;
}
.main .title{
line-height: 48rpx;
color: #7D87A6;
font-size: 32rpx;
text-align: center;
margin-top: 32rpx;
margin-bottom: 140rpx;
}
#payPwd{
margin-top: 160rpx;
}
#payPwd .pwd-wrap{
width: 100%;
height: 48px;
padding-bottom: 1px;
margin: 0 auto;
background: #fff;
display: flex;
display: -webkit-flex;
cursor: pointer;
justify-content: space-between;
padding: 0;
}
.pwd-wrap li{
list-style-type:none;
text-align: center;
width: 94rpx;
line-height: 44px;
height: 100%;
border:2rpx solid #ddd ;
border-radius: 10rpx;
}
.pwd-wrap li i{
height: 10px;
width: 10px;
border-radius:50% ;
background: #000;
display: inline-block;
}
.borc{
border-color: #5B53FF !important;
}
.btnconn{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 160rpx;
}
.btnconn .btn{
width: 310rpx;
line-height: 86rpx;
border-radius: 20rpx;
border: 2rpx solid #F6F8FE;
text-align: center;
display: flex;
align-items: center;
color:#A3AED0;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #6F67FF!important;
background-color: #F6F8FD;
border: none !important;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}
.big_title{
text-align: center;
font-size: 36rpx;
}
.bottom_con{
margin-top: 65rpx;
}
.bottom_con .top{
word-break: break-all;
padding: 52rpx 32rpx;
text-align: center;
line-height: 50rpx;
background-color: #FAFAFA;
border-radius: 20rpx 20rpx 0 0;
}
.bottom_con .bottom{
background-color: #F6F8FD;
display: flex;
justify-content: center;
align-items: center;
font-size: 32rpx;
height: 96rpx;
border-radius: 0 0 20rpx 20rpx;
}
.img1{
width: 48rpx;
height: 48rpx;
margin-right: 10rpx;
}
.code_con .img2{
display: block;
width: 486rpx;
height: 482rpx;
margin: 0 auto;
margin-top: 64rpx;
}
.code_con .text{
margin-top: 40rpx;
text-align: center;
font-size: 28rpx;
color: #7D87A6;
padding-bottom: 150rpx;
}
/deep/ .u-char-item[data-v-0e1e7f9a] {
margin: 10rpx 6rpx;
}
/* /deep/ .u-box[data-v-0e1e7f9a] {
border: 2rpx solid #E0E5F2 !important;
} */
/deep/ .u-dot span{
color: #000 !important;
}
/deep/ .u-placeholder-line{
background: #5B53FF;
}

76
pages/menu/setting/payPassword/index.vue

@ -0,0 +1,76 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="false">
<text class="big_title">
Payment password
</text>
</navigation>
<view class="main">
<view class="big_title">
Verify the original password
</view>
<view class="title">
Please enter the original password for verification
</view>
<u-message-input inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :dot-fill="true"></u-message-input>
</view>
<view class="main" v-if="false">
<view class="big_title">
Set new password
</view>
<view class="title">
Secure transaction passwords, please do not disclose
</view>
<u-message-input inactive-color="#E0E5F2" active-color="#5B53FF" :width="94" :maxlength="6" mode="box" :dot-fill="true"></u-message-input>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
msg:'',
msgLength:0,
fes:false,
borNum:true,
}
},
watch:{
msg(curVal){
if(/[^\d]/g.test(curVal)){
this.msg = this.msg.replace(/[^\d]/g,'');
}else{
this.msgLength = curVal.length;
}
},
},
methods: {
focuss(){
this.fes=true;
},
}
};
</script>
<style scoped>
</style>
<style>
@import './index.css';
</style>

136
pages/menu/token/btc/index.css

@ -0,0 +1,136 @@
.renYou{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.big_title{
font-size: 48rpx;
}
.main .money_con{
width:100%;
height: 530rpx;
background: url('../../../../static/tongyonh/Group8.png') no-repeat;
background-size: contain;
padding: 100rpx 76rpx;
}
.textcon1{
display: flex;
align-items: center;
justify-content: space-between;
line-height: 56rpx;
}
.textcon1 .text1{
color: #fff;
font-size: 56rpx ;
}
.textcon1 .text1 .text2{
color: #fff;
font-size: 32rpx ;
}
.textcon1 .img1{
width: 84rpx;
height: 154rpx;
}
.textcon1 .v1{
}
.textcon1 .v1 .t1{
color: #fff;
font-size: 32rpx;
}
.textcon1 .v1 .t2{
color: #fff;
font-size: 24rpx;
}
.textcon1 .v2{
margin-right: 100rpx;
}
.select_con{
width: 100%;
}
.select_con .select{
margin: 0 12px;
border-radius: 30rpx;
background-color: #fff;
box-shadow: 0 0 30px #EBEEF1;
}
/deep/ .u-tabs{
border-bottom: 2rpx solid #F6F8FD;
border-radius: 30rpx 30rpx 0 0;
}
.select_con .item1{
display: flex;
justify-content: space-between;
padding-top: 60rpx;
padding-bottom: 50rpx;
border-bottom: 2rpx solid #F6F8FD;
padding-left: 40rpx;
padding-right: 24rpx;
}
.select_con .item1 .lef_con{
display: flex;
align-items: center;
}
.select_con .item1 .lef_con .img1{
width: 48rpx;
height: 48rpx;
}
.select_con .item1 .lef_con .textcon{
margin-left: 24rpx;
}
.select_con .item1 .lef_con .textcon .text1{
font-size: 32rpx;
}
.select_con .item1 .lef_con .textcon .text2{
font-size: 24rpx;
color: #999;
}
.select_con .item1 .rig_con .text1{
font-size: 32rpx;
}
.select_con .item1 .rig_con .img1{
width: 28rpx;
height: 20rpx;
float: right;
margin-top: 20rpx;
}
.select_con .item1 .rig_con .img2{
width: 28rpx;
height: 40rpx;
float: right;
margin-top: 20rpx;
}
.btnconn{
background-color: #fff;
padding: 24rpx 24rpx;
position: fixed;
width: 100%;
bottom: 30rpx;
display: flex;
justify-content: space-between;
}
.btnconn .btn{
width: 334rpx;
line-height: 96rpx;
border-radius: 30rpx;
border: 2rpx solid #5B53FF;
text-align: center;
display: flex;
align-items: center;
color:#5B53FF;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #fff !important;
background-color: #5B53FF;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}

153
pages/menu/token/btc/index.vue

@ -0,0 +1,153 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<image src="../../../../static/tongyonh/account_circle_24px.png" mode="aspectFit" class="renYou" slot="logo"></image>
<text class="big_title">
BTC
</text>
</navigation>
<view class="main">
<view class="money_con">
<view class="textcon1">
<text class="text1">
0.521 BTC <br>
<text class="text2"> $25.521.00</text>
</text>
<image src="../../../../static/tongyonh/Frame28.png" mode="aspectFill" class="img1"></image>
</view>
<view class="textcon1">
<view class="v1">
<view class="t1">
0.4
</view>
<view class="t2">
Existing balance
</view>
</view>
<view class="v1 v2">
<view class="t1">
0.121
</view>
<view class="t2">
Freeze balance
</view>
</view>
</view>
</view>
<view class="select_con">
<view class="select">
<u-tabs height="120" bar-width="172" active-color="#6F69FF" inactive-color="#A3AED0" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs>
<view class="item1">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TDJK ... gaad
</view>
<view class="text2">
09.01/ 10:32
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
+0.1 BTC
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="item1">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TDJK ... gaad
</view>
<view class="text2">
09.01/ 10:32
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
+0.1 BTC
</view>
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="item1">
<view class="lef_con">
<image src="../../../../static/tongyonh/arrow-up-left.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TDJK ... gaad
</view>
<view class="text2">
09.01/ 10:32
</view>
</view>
</view>
<view class="rig_con">
<view class="text1">
+0.1 BTC
</view>
<image src="../../../../static/tongyonh/x.png" mode="aspectFit" class="img2"></image>
</view>
</view>
</view>
</view>
<view class="btnconn">
<view class="btn active">
Import addresses
</view>
<view class="btn">
New address
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
list: [{
name: 'All'
}, {
name: 'Send'
}, {
name: 'Receive',
}],
current: 0
}
},
methods: {
change(index) {
this.current = index;
}
}
};
</script>
<style scoped>
page{
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

108
pages/menu/transction/detail/index.css

@ -0,0 +1,108 @@
.main{
padding: 0 26rpx;
padding-bottom: 100rpx;
}
.main_con{
background-color: #fff;
border-radius: 26rpx;
padding-left: 26rpx;
padding-right: 40rpx;
margin-top: 98rpx;
box-shadow: 0 10rpx 30rpx 10rpx #EAEDF0;
position: relative;
}
.main_con .title{
text-align: center;
color: #6AD6A8;
font-size: 36rpx;
padding-top: 100rpx;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.main_con .title_con{
padding-top: 60rpx;
padding-bottom: 34rpx;
border-bottom: 2rpx solid #F6F8FD;
}
.main_con .title_con .text1{
font-size: 40rpx;
font-size: 500;
}
.main_con .item{
padding: 34rpx 0;
border-bottom: 2rpx solid #F6F8FD;
}
.main_con .item .text1{
font-size: 28rpx;
color: #7D87A6;
}
.main_con .item .text2{
font-size: 32rpx;
margin-top: 8rpx;
}
.main_con .item .text2 .img{
width: 48rpx;
height: 48rpx;
margin-left: 12rpx;
vertical-align: middle;
}
.goto{
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: #2F80ED;
padding: 60rpx 0 !important;
}
.yuan{
width: 114rpx;
height: 114rpx;
border-radius: 50%;
background-color: #fff;
position: absolute;
top:-50rpx;
left: 50%;
transform: translateX(-50%);
}
.yuan .img1{
width: 82rpx;
height: 82rpx;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.sett{
width: 95%;
position: absolute;
bottom: -270rpx;
left: 50%;
transform: translateX(-50%);
z-index: 999;
}
.sett .top{
background-color: #fff;
border-radius: 26rpx;
}
.sett .top .item{
line-height: 120rpx;
text-align: center;
font-size: 34rpx;
color: #47548C;
border-bottom: 2rpx solid #A3AED0;
}
.sett .top .item:last-child{
border-bottom: none;
}
.sett .cancel{
line-height: 120rpx;
text-align: center;
border-radius: 26rpx;
background-color: #fff;
font-size: 34rpx;
color: #5B53FF;
margin-top: 30rpx;
}

119
pages/menu/transction/detail/index.vue

@ -0,0 +1,119 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Transaction details
</text>
</navigation>
<view class="main">
<view class="main_con">
<view class="yuan">
<image src="../../../../static/tongyonh/check-circle.png" mode="aspectFit" class="img1"></image>
</view>
<view class="title">
Confirmed
</view>
<view class="title_con flex">
<view class="text1">
Amount
</view>
<view class="text1">
0.1123123 BTC
</view>
</view>
<view class="item">
<view class="text1">
Time
</view>
<view class="text2">
2021.09.01 10:23:22
</view>
</view>
<view class="item">
<view class="text1">
Tx Fee
</view>
<view class="text2">
0.001 ETH
</view>
</view>
<view class="item">
<view class="text1">
Transaction ID
</view>
<view class="text2">
23583727538293753857923878
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img" @click="show = true"></image>
</view>
</view>
<view class="item">
<view class="text1">
Send address (me)
</view>
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw sdahd
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img"></image>
</view>
</view>
<view class="item">
<view class="text1">
Receiving address (others)
</view>
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw ssdhd
<image src="../../../../static/tongyonh/copy_24px.png" mode="aspectFit" class="img"></image>
</view>
</view>
<view class="item goto">
Go to your browser for more information
</view>
</view>
<view class="sett" v-if="show">
<view class="top">
<view class="item">
Copy address
</view>
<view class="item">
Add to Address Book
</view>
</view>
<view class="cancel" @click="show = false">
Cancel
</view>
</view>
<u-mask :show="show" z-index="10"></u-mask>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
show: true
}
},
methods: {
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

164
pages/menu/wallet/add/index.css

@ -0,0 +1,164 @@
.renYou{
width: 36rpx;
height: 20rpx;
position: absolute;
left: 30rpx;
}
.renYou2{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.big_title{
font-size: 36rpx;
}
.main{
padding: 0 26rpx;
padding-bottom: 254rpx;
}
.flex{
display: flex;
align-items: center;
}
.textcon1{
}
.textcon1 .text{
color: #fff;
font-size: 32rpx;
}
.textcon1 .img1{
width: 38rpx;
height: 38rpx;
margin-left: 16rpx;
}
.textcon2{
color: #fff;
font-size: 52rpx;
margin-top:40rpx;
}
.textcon3{
color: #D6CAF7;
font-size: 28rpx;
margin-top:40rpx;
}
.main .money_con .img{
width: 84rpx;
height: 84rpx;
position: absolute;
right: 50rpx;
top: 40rpx;
opacity: .5;
}
.bot_con{
background-color: #fff;
border-radius: 24rpx;
margin-top: 40rpx;
padding-left: 24rpx;
padding-right: 24rpx;
box-shadow: 0 24rpx 24rpx 24rpx #EBEEF1;
}
.bot_con .title{
color: #A3AED0;
font-size: 32rpx;
padding-bottom: 24rpx;
}
.bot_con .item{
height: 164rpx;
border-top: 2rpx solid #F6F8FD;
}
.flexx{
display: flex;
justify-content: space-between;
align-items: center;
}
.bot_con .item .left .img1{
width: 84rpx;
height: 84rpx;
margin-right: 20rpx;
}
.bot_con .item .left .textcon .text1{
font-size: 32rpx;
}
.bot_con .item .left .textcon .text2{
font-size: 28rpx;
color: #B0BBD5;
}
.bot_con .item .rig{
text-align: right;
}
.bot_con .item .rig .text1{
font-size: 36rpx;
}
.bot_con .item .rig .text2{
font-size: 28rpx;
color: #B0BBD5;
}
.opc{
opacity: .4;
}
.rimg{
width: 28rpx;
height: 28rpx;
}
.bot_con .item:first-child{
border-top: none;
}
.bottom_con{
position: relative;
bottom: 0;
background-color: #F8F8F9;
z-index: 999;
border-radius: 26rpx 26rpx 0 0;
padding: 0 26rpx;
padding-top: 26rpx;
padding-bottom: 120rpx;
}
.bottom_con .tiao{
width: 110rpx;
height: 9rpx;
background-color: #C9D4EA;
margin: 0 auto;
border-radius: 10rpx;
}
.bottom_con .title{
font-size: 38rpx;
font-weight: 700;
margin-top: 26rpx;
text-align: center;
}
.bottom_con .white{
background-color: #fff;
border-radius: 26rpx;
padding: 0 26rpx;
margin-top: 50rpx;
box-shadow: 0 20rpx 30rpx 20rpx #E9ECF0;
}
.bottom_con .white .item{
height: 160rpx;
border-bottom: 2rpx solid #F4F7FE;
}
.flexx{
display: flex;
align-items: center;
justify-content: space-between;
}
.bottom_con .white .item .rig .img{
width: 74rpx;
height: 74rpx;
}
.bottom_con .white .item .rig .text{
font-size: 34rpx;
margin-left: 20rpx;
}
.bottom_con .white .item .lef{
width: 26rpx;
height: 26rpx;
}

120
pages/menu/wallet/add/index.vue

@ -0,0 +1,120 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Add to
</text>
</navigation>
<view class="main">
<view class="bot_con">
<view class="item flexx">
<view class="left flex">
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
Bitcoin
</view>
<view class="text2">
Bitcoin
</view>
</view>
</view>
<view class="rig">
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="rimg"></image>
</view>
</view>
<view class="item flexx">
<view class="left flex">
<image src="../../../../static/tongyonh/Frame3299.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
Ethereum
</view>
<view class="text2">
ETH
</view>
</view>
</view>
<view class="rig">
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="rimg"></image>
</view>
</view>
<view class="item flexx">
<view class="left flex">
<image src="../../../../static/tongyonh/tron1.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
Tron
</view>
<view class="text2">
TRX
</view>
</view>
</view>
<view class="rig">
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="rimg"></image>
</view>
</view>
</view>
</view>
<u-mask :show="show" @click="show = false" z-index="10"></u-mask>
<view class="bottom_con">
<view class="tiao"></view>
<view class="title">
ETH
</view>
<view class="white">
<view class="item flexx">
<view class="rig flex">
<image src="../../../../static/tongyonh/profile1.png" mode="aspectFit" class="img"></image>
<text class="text">Create a wallet</text>
</view>
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="lef"></image>
</view>
<view class="item flexx">
<view class="rig flex">
<image src="../../../../static/tongyonh/Frame669.png" mode="aspectFit" class="img"></image>
<text class="text">Mnemonic import</text>
</view>
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="lef"></image>
</view>
<view class="item flexx">
<view class="rig flex">
<image src="../../../../static/tongyonh/Frame69.png" mode="aspectFit" class="img"></image>
<text class="text">Private key import</text>
</view>
<image src="../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="lef"></image>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import tabBar from "@/components/tabBar/tabBar.vue"
export default {
data() {
return {
show: true
}
},
methods: {
}
};
</script>
<style scoped>
page{
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

162
pages/menu/wallet/cwallet/index.css

@ -0,0 +1,162 @@
.renYou{
position: absolute;
right:35rpx;
top: 50%;
transform: translateY(-50%);
font-size: 30rpx;
color: #2F80ED;
}
.renYou2{
width: 48rpx;
height: 48rpx;
position: absolute;
}
.big_title{
font-size: 36rpx;
}
.main{
padding: 0 26rpx;
padding-bottom: 254rpx;
margin-top: 54rpx;
}
.flex{
display: flex;
align-items: center;
}
.textcon1{
}
.textcon1 .text{
color: #fff;
font-size: 32rpx;
}
.textcon1 .img1{
width: 38rpx;
height: 38rpx;
margin-left: 16rpx;
}
.textcon2{
color: #fff;
font-size: 52rpx;
margin-top:40rpx;
}
.textcon3{
color: #D6CAF7;
font-size: 28rpx;
margin-top:40rpx;
}
.main .money_con .img{
width: 84rpx;
height: 84rpx;
position: absolute;
right: 50rpx;
top: 40rpx;
opacity: .5;
}
.bot_con{
border-left: 1px solid #E9EBF0;
padding-left: 10px;
position: relative;
}
.bot_con .tiao{
width: 2rpx;
height: 82rpx;
background-color: #5B53FF;
position: absolute;
left: 0;
top: 0;
}
.bot_con .title{
color: #A3AED0;
font-size: 32rpx;
padding-bottom: 24rpx;
}
.bot_con .item{
width: 575rpx;
height: 164rpx;
background-image: linear-gradient(to right, #FF9913, #FFB60C);
padding: 44rpx 0;
padding-left: 25rpx;
padding-right: 32rpx;
border-radius: 24rpx;
margin-bottom: 28rpx;
position: relative;
box-shadow: 0 8rpx 8rpx 8rpx #EFF1F3;
}
.flexx{
display: flex;
justify-content: space-between;
}
.bot_con .item .left .img1{
width: 84rpx;
height: 84rpx;
margin-right: 20rpx;
}
.bot_con .item .left .textcon .text1{
font-size: 36rpx;
color: #fff;
}
.bot_con .item .left .textcon .text2{
font-size: 28rpx;
color: rgba(255,255,255,.5);
}
.bot_con .item .rig{
text-align: right;
color: #fff;
font-size: 34rpx;
}
.bot_con .item .rig .text1{
font-size: 36rpx;
}
.bot_con .item .rig .text2{
font-size: 28rpx;
color: #B0BBD5;
}
.opc{
opacity: .4;
}
.rimg{
width: 28rpx;
height: 28rpx;
}
.letConimg{
display: block;
width: 84rpx;
height: 84rpx;
margin-bottom: 68rpx;
}
.pur{
background-image: linear-gradient(to right, #6846D2, #887BFE) !important;
}
.red{
background-image: linear-gradient(to right, #B4142C, #F04850) !important;
}
.green{
background-image: linear-gradient(to right, #13BB9C, #23D7AF) !important;
}
.gou{
width: 80rpx;
height: 74rpx;
background-image:url('../../../../static/tongyonh/Rectangle550.png') ;
background-size: cover;
position: absolute;
bottom: 0;
right: 0;
}
.gou .img{
position: absolute;
left: 75%;
top: 65%;
transform: translate(-50%,-50%);
width: 28rpx;
height: 28rpx;
}

132
pages/menu/wallet/cwallet/index.vue

@ -0,0 +1,132 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Choose a wallet
</text>
<text class="renYou">Manage</text>
</navigation>
<view class="main flexx">
<view class="imgcon">
<image src="../../../../static/tongyonh/filter-left.png" mode="aspectFit" class="letConimg"></image>
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="letConimg"></image>
<image @click="getHeight()" id="eth" src="../../../../static/tongyonh/Frame3299.png" mode="aspectFit" class="letConimg"></image>
<image src="../../../../static/tongyonh/tron1.png" mode="aspectFit" class="letConimg"></image>
<image src="../../../../static/tongyonh/tron.png" mode="aspectFit" class="letConimg"></image>
</view>
<view class="bot_con">
<view class="tiao" id="tiao">
</view>
<view class="item flexx">
<view class="left flex">
<image src="../../../../static/tongyonh/btc_icon.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
BTC
</view>
<view class="text2">
skghienhdgge...jeiikeek
</view>
</view>
</view>
<view class="rig">
1.36
</view>
</view>
<view class="item flexx pur">
<view class="left flex">
<image src="../../../../static/tongyonh/ETH_icon.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
ETH
</view>
<view class="text2">
skghienhdgge...jeiikeek
</view>
</view>
</view>
<view class="rig">
1.36
</view>
</view>
<view class="item flexx red">
<view class="left flex">
<image src="../../../../static/tongyonh/tron_icon.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TRX
</view>
<view class="text2">
skghienhdgge...jeiikeek
</view>
</view>
</view>
<view class="rig">
1.36
</view>
</view>
<view class="item flexx green">
<view class="left flex">
<image src="../../../../static/tongyonh/usdt_icon.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TRX
</view>
<view class="text2">
skghienhdgge...jeiikeek
</view>
</view>
</view>
<view class="rig">
1.36
</view>
<view class="gou">
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img"></image>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import tabBar from "@/components/tabBar/tabBar.vue"
export default {
data() {
return {
}
},
methods: {
getHeight(){
var a=document.getElementById('eth').offsetTop;
var b=a-57;
document.getElementById('tiao').style.top=b+"px";
console.log(a)
},
}
};
</script>
<style scoped>
page{
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

113
pages/menu/wallet/index.css

@ -0,0 +1,113 @@
.renYou{
width: 36rpx;
height: 20rpx;
position: absolute;
left: 30rpx;
}
.renYou2{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 30rpx;
}
.big_title{
font-size: 48rpx;
}
.main{
padding: 0 26rpx;
padding-bottom: 254rpx;
}
.main .money_con{
margin-top: 32rpx;
background: url("../../../static/tongyonh/Group80.png") no-repeat;
background-size: contain;
height: 320rpx;
padding: 40rpx 36rpx;
position: relative;
}
.flex{
display: flex;
align-items: center;
}
.textcon1{
}
.textcon1 .text{
color: #fff;
font-size: 32rpx;
}
.textcon1 .img1{
width: 38rpx;
height: 38rpx;
margin-left: 16rpx;
}
.textcon2{
color: #fff;
font-size: 52rpx;
margin-top:40rpx;
}
.textcon3{
color: #D6CAF7;
font-size: 28rpx;
margin-top:40rpx;
}
.main .money_con .img{
width: 84rpx;
height: 84rpx;
position: absolute;
right: 50rpx;
top: 40rpx;
opacity: .5;
}
.bot_con{
background-color: #fff;
border-radius: 24rpx;
margin-top: 40rpx;
padding-top: 40rpx;
padding-left: 24rpx;
padding-right: 24rpx;
box-shadow: 0 24rpx 24rpx 24rpx #EBEEF1;
}
.bot_con .title{
color: #A3AED0;
font-size: 32rpx;
padding-bottom: 24rpx;
}
.bot_con .item{
height: 164rpx;
border-top: 2rpx solid #F6F8FD;
}
.flexx{
display: flex;
justify-content: space-between;
align-items: center;
}
.bot_con .item .left .img1{
width: 84rpx;
height: 84rpx;
margin-right: 20rpx;
}
.bot_con .item .left .textcon .text1{
font-size: 36rpx;
}
.bot_con .item .left .textcon .text2{
font-size: 28rpx;
color: #B0BBD5;
}
.bot_con .item .rig{
text-align: right;
}
.bot_con .item .rig .text1{
font-size: 36rpx;
}
.bot_con .item .rig .text2{
font-size: 28rpx;
color: #B0BBD5;
}
.opc{
opacity: .4;
}

206
pages/menu/wallet/index.vue

@ -0,0 +1,206 @@
<template>
<view class="">
<navigation :showBack="false" :bgnum="true">
<image src="../../../static/tongyonh/san.png" mode="aspectFit" class="renYou" slot="logo" @click="goCwallet()"></image>
<image src="../../../static/tongyonh/erwei.png" mode="aspectFit" class="renYou2" slot="logo" @click="chooseImage()"></image>
<text class="big_title">
Wallet
</text>
</navigation>
<view class="main">
<view class="money_con">
<image src="../../../static/tongyonh/ethereum.png" mode="aspectFit" class="img"></image>
<view class="textcon1 flex">
<text class="text">ETH</text>
<image src="../../../static/tongyonh/visibility_24px.png" mode="aspectFit" class="img1"></image>
</view>
<view class="textcon2">
$15,123.20
</view>
<view class="textcon3">
skghienhdgge...jeiikeek
</view>
</view>
<view class="bot_con">
<view class="title">
Assets
</view>
<view class="item flexx" @click="goTrans()">
<view class="left flex">
<image src="../../../static/tongyonh/bye.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
BTC
</view>
<view class="text2">
Bitcoin
</view>
</view>
</view>
<view class="rig">
<view class="text1">
0.521
</view>
<view class="text2">
=$25.521.00
</view>
</view>
</view>
<view class="item flexx">
<view class="left flex">
<image src="../../../static/tongyonh/Frame3299.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
BTC
</view>
<view class="text2">
Bitcoin
</view>
</view>
</view>
<view class="rig">
<view class="text1">
0.521
</view>
<view class="text2">
=$25.521.00
</view>
</view>
</view>
<view class="item flexx">
<view class="left flex">
<image src="../../../static/tongyonh/tron1.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
BTC
</view>
<view class="text2">
Bitcoin
</view>
</view>
</view>
<view class="rig">
<view class="text1">
0.521
</view>
<view class="text2">
=$25.521.00
</view>
</view>
</view>
<view class="item flexx">
<view class="left flex">
<image src="../../../static/tongyonh/tron.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
BTC
</view>
<view class="text2">
Bitcoin
</view>
</view>
</view>
<view class="rig">
<view class="text1">
0.521
</view>
<view class="text2">
=$25.521.00
</view>
</view>
</view>
<view class="item flexx opc">
<view class="left flex">
<image src="../../../static/tongyonh/coin.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
BTC
</view>
<view class="text2">
Bitcoin
</view>
</view>
</view>
<view class="rig">
<view class="text1">
0.00
</view>
<view class="text2">
=$25.521.00
</view>
</view>
</view>
</view>
</view>
<tab-bar :selectActive="1"></tab-bar>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import token from "@/utils/TokenUtil"
export default {
data() {
return {
}
},
onLoad() {
var walletInfo=uni.getStorageSync('walletInfo');
var key=walletInfo.eth.privateKey
var a=token.importEthPrivateKey(key);
console.log(a)
},
methods: {
goTrans(){
uni.navigateTo({
url:'/pages/menu/token/btc/index'
})
},
//
chooseImage() {
var _this = this
uni.chooseImage({
count: 1, //9
sizeType: ['original', 'compressed'], //
sourceType: ['album', 'camera'], //
success: function(res) {
_this.imgShow = res.tempFilePaths[0]
}
});
// ass()
},
goCwallet(){
uni.navigateTo({
url:'./cwallet/index'
})
}
},
};
</script>
<style scoped>
page{
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

157
pages/menu/wallet/mwallet/index.css

@ -0,0 +1,157 @@
.renYou{
position: absolute;
right:35rpx;
top: 50%;
transform: translateY(-50%);
font-size: 30rpx;
color: #2F80ED;
}
.renYou2{
width: 48rpx;
height: 48rpx;
position: absolute;
}
.big_title{
font-size: 36rpx;
}
.main{
padding: 0 26rpx;
padding-bottom: 254rpx;
margin-top: 54rpx;
}
.flex{
display: flex;
align-items: center;
}
.textcon1{
}
.textcon1 .text{
color: #fff;
font-size: 32rpx;
}
.textcon1 .img1{
width: 38rpx;
height: 38rpx;
margin-left: 16rpx;
}
.textcon2{
color: #fff;
font-size: 52rpx;
margin-top:40rpx;
}
.textcon3{
color: #D6CAF7;
font-size: 28rpx;
margin-top:40rpx;
}
.main .money_con .img{
width: 84rpx;
height: 84rpx;
position: absolute;
right: 50rpx;
top: 40rpx;
opacity: .5;
}
.bot_con{
}
.bot_con .title{
color: #A3AED0;
font-size: 32rpx;
padding-bottom: 24rpx;
}
.bot_con .item{
width: 575rpx;
height: 164rpx;
background-image: linear-gradient(to right, #FF9913, #FFB60C);
padding: 44rpx 0;
padding-left: 25rpx;
padding-right: 32rpx;
border-radius: 24rpx;
margin-bottom: 28rpx;
position: relative;
box-shadow: 0 8rpx 8rpx 8rpx #EFF1F3;
}
.flexx{
display: flex;
justify-content: space-between;
}
.bot_con .item .left .img1{
width: 84rpx;
height: 84rpx;
margin-right: 20rpx;
}
.bot_con .item .left .textcon .text1{
font-size: 36rpx;
color: #fff;
}
.bot_con .item .left .textcon .text2{
font-size: 28rpx;
color: rgba(255,255,255,.5);
}
.bot_con .item .rig{
color: #fff;
font-size: 34rpx;
}
.bot_con .item .rig .text1{
font-size: 36rpx;
}
.bot_con .item .rig .text2{
font-size: 28rpx;
color: #B0BBD5;
}
.opc{
opacity: .4;
}
.rimg{
width: 28rpx;
height: 28rpx;
}
.letConimg{
display: block;
width: 84rpx;
height: 84rpx;
margin-bottom: 68rpx;
}
.pur{
background-image: linear-gradient(to right, #6846D2, #887BFE) !important;
}
.red{
background-image: linear-gradient(to right, #B4142C, #F04850) !important;
}
.green{
background-image: linear-gradient(to right, #13BB9C, #23D7AF) !important;
}
.gou{
width: 80rpx;
height: 74rpx;
background-image:url('../../../../static/tongyonh/Rectangle550.png') ;
background-size: cover;
position: absolute;
bottom: 0;
right: 0;
}
.gou .img{
position: absolute;
left: 75%;
top: 65%;
transform: translate(-50%,-50%);
width: 28rpx;
height: 28rpx;
}
.bot_con .item .rig .img1{
display: block;
width: 32rpx;
height: 10rpx;
margin-left: 32rpx;
margin-bottom: 26rpx;
}

124
pages/menu/wallet/mwallet/index.vue

@ -0,0 +1,124 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Manage wallet
</text>
<text class="renYou">Add to</text>
</navigation>
<view class="main flexx">
<view class="imgcon">
<image src="../../../../static/tongyonh/filter-left.png" mode="aspectFit" class="letConimg"></image>
<image src="../../../../static/tongyonh/bye.png" mode="aspectFit" class="letConimg"></image>
<image src="../../../../static/tongyonh/Frame3299.png" mode="aspectFit" class="letConimg"></image>
<image src="../../../../static/tongyonh/tron1.png" mode="aspectFit" class="letConimg"></image>
<image src="../../../../static/tongyonh/tron.png" mode="aspectFit" class="letConimg"></image>
</view>
<view class="bot_con">
<view class="item flexx">
<view class="left flex">
<image src="../../../../static/tongyonh/btc_icon.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
BTC
</view>
<view class="text2">
skghienhdgge...jeiikeek
</view>
</view>
</view>
<view class="rig">
<image src="../../../../static/tongyonh/ellipsis.png" mode="aspectFit" class="img1"></image>
1.36
</view>
</view>
<view class="item flexx pur">
<view class="left flex">
<image src="../../../../static/tongyonh/ETH_icon.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
ETH
</view>
<view class="text2">
skghienhdgge...jeiikeek
</view>
</view>
</view>
<view class="rig">
1.36
</view>
</view>
<view class="item flexx red">
<view class="left flex">
<image src="../../../../static/tongyonh/tron_icon.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TRX
</view>
<view class="text2">
skghienhdgge...jeiikeek
</view>
</view>
</view>
<view class="rig">
1.36
</view>
</view>
<view class="item flexx green">
<view class="left flex">
<image src="../../../../static/tongyonh/usdt_icon.png" mode="aspectFit" class="img1"></image>
<view class="textcon">
<view class="text1">
TRX
</view>
<view class="text2">
skghienhdgge...jeiikeek
</view>
</view>
</view>
<view class="rig">
1.36
</view>
<!-- <view class="gou">
<image src="../../../../static/tongyonh/Shape.png" mode="aspectFit" class="img"></image>
</view> -->
</view>
</view>
</view>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
import tabBar from "@/components/tabBar/tabBar.vue"
export default {
data() {
return {
}
},
methods: {
}
};
</script>
<style scoped>
page{
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

108
pages/menu/wallet/mwallet/manage/index.css

@ -0,0 +1,108 @@
.main{
margin-top: 40rpx;
padding: 0 24rpx;
position: relative;
}
.main .item{
background-color: #fff;
border-radius: 30rpx;
padding: 34rpx 34rpx;
box-shadow: 0 10rpx 20rpx 10rpx #E8ECEF;
margin-bottom: 24rpx;
}
.main .item .text1{
font-size: 32rpx;
color: #000;
margin-bottom: 16rpx;
}
.main .item2{
padding: 0 34rpx;
}
.bor{
border-bottom: 2rpx solid #F4F7FE;
}
.main .item .text2{
font-size: 32rpx;
color: #68769F;
}
.flex{
display: flex;
align-items: center;
justify-content: space-between;
}
.main .item .name{
height: 138rpx;
border-bottom: 2rpx solid #F4F7FE;
}
.main .item .name:last-child{
border-bottom: none;
}
.main .item .address{
color: #68769F;
font-size: 28rpx;
}
.main .item .img1{
width: 25rpx;
vertical-align: middle;
height: 25rpx;
margin-left: 35rpx;
}
.showAddress{
background-color: #fff;
padding-top: 24px;
padding-bottom: 66rpx;
padding-left: 24rpx;
padding-right: 24rpx;
border-radius: 20rpx;
position: absolute;
top: 80%;
left: 50%;
transform: translateX(-50%);
z-index: 9999;
width: 95%;
}
.showAddress .img1{
width: 48rpx;
height: 48rpx;
position: absolute;
right: 20rpx;
top: 20rpx;
}
.showAddress .title{
text-align: center;
font-size: 36rpx;
}
/deep/ .u-input{
background-color: #FAFAFA;
margin-top: 40rpx;
border-radius: 20rpx;
}
.btnconn{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 40rpx;
}
.btnconn .btn{
width: 310rpx;
line-height: 90rpx;
border-radius: 30rpx;
border: 2rpx solid #5B53FF;
text-align: center;
display: flex;
align-items: center;
color:#5B53FF;
justify-content: center;
font-size: 34rpx;
}
.active{
color: #fff !important;
background-color: #5B53FF;
}
.btnconn .btn .img1{
width: 48rpx;
height: 48rpx;
}

106
pages/menu/wallet/mwallet/manage/index.vue

@ -0,0 +1,106 @@
<template>
<view class="">
<navigation :showBack="true" :bgnum="true">
<text class="big_title">
Manage
</text>
</navigation>
<view class="main">
<view class="item">
<view class="text1">
Address
</view>
<view class="text2">
TASD djhe u3y3 khkd khhg kie3 jhhs uehw ssdhd
</view>
</view>
<view class="item item2">
<view class="name flex bor" @click="showAddress=true">
<view class="text1">
Name
</view>
<view class="address" >
Initial address
<image src="../../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="name flex">
<view class="text1">
Backup mnemonic
</view>
<view class="address">
<image src="../../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
<view class="name flex">
<view class="text1">
Backup private key
</view>
<view class="address">
<image src="../../../../../static/tongyonh/chevron_right_24px.png" mode="aspectFit" class="img1"></image>
</view>
</view>
</view>
<view class="showAddress" v-if="showAddress">
<image src="../../../../../static/tongyonh/xg.png" mode="aspectFit" class="img1" @click="showAddress=false"></image>
<view class="title">
New address
</view>
<u-input placeholder="Please enter address information" border-color="#E9EDF7" v-model="value" :type="type" :border="border" />
<view class="btnconn">
<view class="btn" @click="showAddress=false">
Cancel
</view>
<view class="btn active">
Confirm
</view>
</view>
</view>
</view>
<u-mask z-index='100' :show="showAddress" @click="showAddress = false"></u-mask>
</view>
</template>
<script>
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
value: '',
type: 'text',
border: true,
height: 90,
autoHeight: true,
showAddress:false,
}
},
methods: {
}
};
</script>
<style scoped>
page {
background: #FAFAFA;
}
</style>
<style>
@import './index.css';
</style>

103
pages/register/index.css

@ -0,0 +1,103 @@
.swiper-item .img1{
display: block;
margin: 0 auto;
width: 410rpx;
height: 460rpx;
}
.wrap{
margin-top: 52rpx;
}
/deep/ uni-swiper .uni-swiper-wrapper{
overflow: visible !important;
}
/deep/ uni-swiper-item {
overflow: visible !important;
}
.swiper-item .text_con{
margin: 0 auto;
text-align: center;
width: 520rpx;
margin-top: 54rpx;
}
.swiper-item .text_con .text1{
font-size: 48rpx;
font-weight: 500;
}
.swiper-item .text_con .text2{
font-size: 32rpx;
color: #7D87A6;
margin-top: 32rpx;
}
/deep/ uni-swiper {
height: 780rpx;
}
/deep/ uni-swiper .uni-swiper-dots-horizontal {
left: 50%;
bottom: -5px;
}
/deep/ .uni-swiper-dot{
width: 20rpx !important;
height: 20rpx !important;
background-color: #E0E5F2 !important;
}
/deep/ .uni-swiper-dot-active{
width: 48rpx !important;
height: 20rpx !important;
border-radius: 20px !important;
background-color: #5B53FF!important;
}
.reg_con{
margin-top: 60rpx;
padding: 0 40rpx;
}
.reg{
border: 2rpx solid #E3E9F9;
border-radius: 24rpx;
}
.reg .item{
padding: 50rpx 0;
padding-left: 26rpx;
padding-right: 48rpx;
}
.border{
border-bottom: 2rpx solid #E3E9F9;
}
.flex{
display: flex;
justify-content: space-between;
align-items: center;
}
.reg_con .rigimg{
width: 24rpx;
height: 24rpx;
}
.reg_con .letimg{
width: 64rpx;
height: 64rpx;
}
.reg .item .textcon{
margin-left: 13rpx;
}
.reg .item .textcon .text1{
font-size: 36rpx;
font-weight: 500;
}
.reg .item .textcon .text2{
font-size: 24rpx;
color: #7D87A6;
}
.select{
margin-top: 30rpx;
padding-bottom: 50rpx;
display: flex;
justify-content: center;
}
.select .name{
font-size: 26rpx;
}
.active{
color: #2F80ED;
margin-left: 8rpx;
}

189
pages/register/index.vue

@ -0,0 +1,189 @@
<template>
<view class="">
<view class="wrap">
<swiper class="swiper" :indicator-dots="indicatorDots" :autoplay="autoplay" :interval="interval" >
<swiper-item>
<view class="swiper-item">
<image src="../../static/tongyonh/phone_image.png" class="img1" mode="aspectFit"></image>
<view class="text_con">
<view class="text1">
Decentralised wallets,
self-directed assets
</view>
<view class="text2">
Local storage of private keys, safe and secure
</view>
</view>
</view>
</swiper-item>
<swiper-item>
<view class="swiper-item">
<image src="../../static/tongyonh/phone_image.png" class="img1" mode="aspectFit"></image>
<view class="text_con">
<view class="text1">
Decentralised wallets,
self-directed assets
</view>
<view class="text2">
Local storage of private keys, safe and secure
</view>
</view>
</view>
</swiper-item>
</swiper>
</view>
<view class="reg_con">
<view class="reg">
<view class="border">
<view class="item flex">
<view class="left flex">
<image src="../../static/tongyonh/create_wallet.png" mode="aspectFit" class="letimg"></image>
<view class="textcon">
<view class="text1" @click="createWallet">
Create a wallet
</view>
<view class="text2">
One identity management
</view>
</view>
</view>
<image src="../../static/tongyonh/chevron_right_24px.png" class="rigimg" mode="aspectFit"></image>
</view>
</view>
<view class="item flex">
<view class="left flex">
<image src="../../static/tongyonh/login_wallet.png" mode="aspectFit" class="letimg"></image>
<view class="textcon">
<view class="text1" @click="loginWallet">
Login to wallet
</view>
<view class="text2">
Restore existing wallets
</view>
</view>
</view>
<image src="../../static/tongyonh/chevron_right_24px.png" class="rigimg" mode="aspectFit"></image>
</view>
</view>
<view class="select">
<u-checkbox-group @change="checkboxGroupChange">
<u-checkbox
@change="checkboxChange"
v-model="item.checked"
v-for="(item, index) in list2" :key="index"
:name="item.name"
active-color="#5B53FF"
> <text class="name">I have read and agree to the
<text class="active" @click.stop="Terms">Terms of Service</text>
</text> </u-checkbox>
</u-checkbox-group>
</view>
</view>
</view>
</template>
<script>
import api from '@/utils/api'
import utils from '@/utils'
import md5 from 'js-md5'
import store from '@/store'
import token from '@/utils/TokenUtil'
import cont from "@/components/navigation/navigation.vue"
export default {
data() {
return {
list2: [
{
name: '',
checked: false,
disabled: false,
},
],
list: ['','../../../static/tongyonh/phone_image.png'],
indicatorDots:true,
autoplay:true,
interval:3000,
inde:1,
}
},
onLoad() {
this.list2.checked=false;
},
methods: {
checkboxGroupChange(){
},
checkboxChange(){
if(this.inde%2==0){
this.list2.checked=false;
}else{
this.list2.checked=true;
}
this.inde++
},
createWallet(){
if(this.list2.checked!=true){
uni.showToast({
title: 'Please check the terms of service',
icon: 'none',
duration: 1500
})
return;
}
var walletInfo=token.creatingWallets()
// ,
uni.setStorage({
key: 'walletInfo',
data: walletInfo,
success: function() {
console.log('success',walletInfo)
}
});
uni.navigateTo({
url:'../menu/backUp/index',
})
},
loginWallet(){
if(this.list2.checked!=true){
uni.showToast({
title: 'Please check the terms of service',
icon: 'none',
duration: 1500
})
return;
}
uni.navigateTo({
url:'../menu/backUp/backUp3/index',
})
},
Terms(){
uni.navigateTo({
url:'../menu/about/terms/index',
})
}
},
}
</script>
<style>
@import './index.css';
</style>

BIN
static/tabbar/dorder.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 847 B

BIN
static/tabbar/dorderS.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1011 B

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
static/tabbar/[email protected]

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
static/tongyonh/Bodyback.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

BIN
static/tongyonh/Discover_icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

BIN
static/tongyonh/Discover_icona.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 640 B

BIN
static/tongyonh/ETH_icon.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
static/tongyonh/Ellipse45.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save