Browse Source

合并

master
j1ack 3 years ago
parent
commit
d233a76195
  1. 153
      App.vue
  2. 31
      components/navigation/navigation.vue
  3. 20
      components/tabBar/tabBar.vue
  4. 7
      main.js
  5. 90
      manifest.json
  6. 253
      package-lock.json
  7. 1
      package.json
  8. 7
      pages/charity/details.vue
  9. 203
      pages/home/index.vue
  10. 21
      pages/markets/index.vue
  11. 6
      pages/me/index.vue
  12. 293
      pages/me/inviteFriends.vue
  13. 89
      pages/me/myTeam.vue
  14. 6
      pages/me/transfer.vue
  15. 1
      pages/mine/mine.vue
  16. 6
      pages/mine/mineDetails.vue
  17. 5
      pages/subscription/details.vue
  18. 11
      pages/withdrawal/withdrawal.vue
  19. 3
      utils/api.js
  20. 13
      utils/axios.js
  21. 16
      utils/language/en_US.js

153
App.vue

@ -1,85 +1,120 @@
<script> <script>
import api from '@/utils/api' import api from '@/utils/api'
export default { export default {
// computed: { // computed: {
// i18n() { // i18n() {
// return this.$t('index') // return this.$t('index')
// }, // },
// }, // },
onLaunch: function () { onLaunch: function() {
console.log('App Launch') console.log('App Launch')
api.indexInfo().then(res => { this.appVersion()
uni.setStorageSync('coinTypeInfo',res) api.indexInfo().then(res => {
}) uni.setStorageSync('coinTypeInfo', res)
}, })
onShow: function () { },
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
},
methods: {
// APP
async appVersion() {
let param = {
'appId': uni.getSystemInfoSync().platform
}
console.log('ss' + JSON.stringify(uni.getSystemInfoSync()))
const response = await this.$api.appVersion(param)
plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
console.log('当前版本号' + wgtinfo.versionCode)
console.log((wgtinfo.versionCode < response.versionCode))
console.log(wgtinfo.versionCode, response.versionCode)
if (wgtinfo.versionCode < response.versionCode) {
console.log('更新了吗')
let that = this;
uni.showModal({
title: this.$t("login").Versionupdate,
content: response.info,
showCancel: false,
success: function(res) {
if (res.confirm) {
plus.runtime.openURL(response.appUrl);
}
}
});
}
});
},
console.log('App Show')
},
onHide: function () {
console.log('App Hide')
} }
} }
</script> </script>
<style lang="scss"> <style lang="scss">
/*每个页面公共css */ /*每个页面公共css */
@import "uview-ui/index.scss"; @import "uview-ui/index.scss";
.main .body{
margin-top: 100rpx !important;
}
/deep/ .u-loadmore__content__text { /deep/ .u-loadmore__content__text {
line-height: 50rpx !important; line-height: 50rpx !important;
} }
/deep/body {
// max-width: 828rpx; //
// margin: auto !important;
background-color: #15141F; /deep/body {
height: auto; // max-width: 828rpx; //
margin: 0; // margin: auto !important;
}
/deep/ .u-empty{ background-color: #15141F;
position: absolute; height: auto;
top: 150%; margin: 0;
left: 50%; }
transform: translateX(-50%);
}
/deep/ .u-empty {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
page { page {
color: #fff; color: #fff;
} min-height: 100vh;
}
button::after { button::after {
border: none; border: none;
} }
uni-tabbar { uni-tabbar {
.uni-tabbar { .uni-tabbar {
// tab // tab
padding-top: 28rpx; padding-top: 28rpx;
padding-bottom: 30rpx !important; padding-bottom: 30rpx !important;
background-image: linear-gradient(to top, #FAF8F8, #FFFFFF) !important; // tab background-image: linear-gradient(to top, #FAF8F8, #FFFFFF) !important; // tab
.uni-tabbar-border { .uni-tabbar-border {
// tabBar // tabBar
background-color: #F7F4F4 !important; // tabBar background-color: #F7F4F4 !important; // tabBar
} }
.uni-tabbar__bd { .uni-tabbar__bd {
// tabBar // tabBar
.uni-tabbar__icon { .uni-tabbar__icon {
// //
width: 48rpx !important; width: 48rpx !important;
height: 48rpx !important; height: 48rpx !important;
} }
.uni-tabbar__label { .uni-tabbar__label {
// //
font-size: 20rpx !important; font-size: 20rpx !important;
}
} }
} }
} }
}
</style> </style>

31
components/navigation/navigation.vue

@ -1,5 +1,10 @@
<template> <template>
<view class="nav-head" :class="{ 'tp': bgTransparent }"> <!-- #ifdef H5 -->
<view class="nav-head-H5" :class="{ 'tp': bgTransparent }">
<!-- #endif -->
<!-- #ifdef APP-PLUS -->
<view class="nav-head" :class="{ 'tp': bgTransparent }">
<!-- #endif -->
<image src="../../static/public/back.png" mode="aspectFit" class="back" @tap="back()" v-if="showBack"></image> <image src="../../static/public/back.png" mode="aspectFit" class="back" @tap="back()" v-if="showBack"></image>
<slot name="left"></slot> <slot name="left"></slot>
<slot></slot> <slot></slot>
@ -65,7 +70,31 @@ export default {
width: 234rpx; width: 234rpx;
line-height: 60rpx; line-height: 60rpx;
} }
.nav-head-H5{
overflow: hidden;
position: fixed;
top: 0rpx;
height: 112rpx;
// background-color: #fafafa;
// background-color: #fff;
text-align: center;
font-weight: 700;
font-size: 36rpx;
color: #fff;
// padding: 40rpx 16rpx;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
background-color: #15141F;
z-index: 8;
border-bottom: 4rpx solid #323045;
&.tp {
background-color: transparent;
border: none;
}
}
.nav-head { .nav-head {
overflow: hidden; overflow: hidden;
position: fixed; position: fixed;

20
components/tabBar/tabBar.vue

@ -113,16 +113,16 @@ export default {
default: default:
break; break;
} }
if (this.isTarde) { // , // if (this.isTarde) { // ,
// #ifdef H5 // // #ifdef H5
history.back() // history.back()
// #endif // // #endif
// #ifdef APP-PLUS // // #ifdef APP-PLUS
uni.navigateBack() // uni.navigateBack()
// #endif // // #endif
return; // return;
} // }
uni.reLaunch({ uni.reLaunch({
url, url,
}) })

7
main.js

@ -14,6 +14,13 @@ import VI from './utils/language/vi_VN.js'
import api from './utils/api.js' import api from './utils/api.js'
import constant from './utils/constant.js' import constant from './utils/constant.js'
import websocket from './utils/websocket.js' import websocket from './utils/websocket.js'
// // #ifdef H5
// // 提交前需要注释 本地调试使用
// const vconsole = require('vconsole')
// Vue.prototype.$vconsole = new vconsole() // 使用vconsole
// // #endif
Vue.prototype.$api = api Vue.prototype.$api = api
Vue.prototype.$constant = constant Vue.prototype.$constant = constant
Vue.prototype.$websocket = websocket Vue.prototype.$websocket = websocket

90
manifest.json

@ -1,9 +1,9 @@
{ {
"name" : "samehome", "name" : "samehome",
"appid" : "__UNI__2B017B1", "appid" : "__UNI__C4028F6",
"description" : "", "description" : "",
"versionName" : "1.0.0", "versionName" : "1.0.0",
"versionCode" : "100", "versionCode" : "101",
"transformPx" : false, "transformPx" : false,
/* 5+App */ /* 5+App */
"app-plus" : { "app-plus" : {
@ -17,7 +17,9 @@
"delay" : 0 "delay" : 0
}, },
/* */ /* */
"modules" : {}, "modules" : {
"VideoPlayer" : {}
},
/* */ /* */
"distribute" : { "distribute" : {
/* android */ /* android */
@ -38,44 +40,62 @@
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>", "<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
] ],
"abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
}, },
/* ios */ /* ios */
"ios" : {}, "ios" : {},
/* SDK */ /* SDK */
"sdkConfigs" : {} "sdkConfigs" : {
"ad" : {}
}
},
"nativePlugins" : {
"HF-Step" : {
"__plugin_info__" : {
"name" : "原生计步器(Android和IOS) - [试用版,仅用于自定义调试基座]",
"description" : "计步器,原生计步器插件,安卓,IOS",
"platforms" : "Android,iOS",
"url" : "https://ext.dcloud.net.cn/plugin?id=6632",
"android_package_name" : "",
"ios_bundle_id" : "",
"isCloud" : true,
"bought" : 0,
"pid" : "6632",
"parameters" : {}
}
}
}
},
"h5" : {
"publicPath" : "/",
"devServer" : {
// "port" : 8083,
"disableHostCheck" : true,
"https" : false,
"proxy" : {
"/api" : {
"ws" : false,
"target" : "https://sapi.payairs.com",
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
"^/api" : ""
}
},
"/market" : {
"ws" : false,
"target" : "https://market.acefinex.com",
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
"^/market" : ""
}
}
},
"port" : ""
} }
}, },
"h5" : {
"publicPath" : "/",
"devServer" : {
// "port" : 8083,
"disableHostCheck" : true,
"https" : false,
"proxy" : {
"/api" : {
"ws" : false,
"target" : "https://sapi.payairs.com",
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
"^/api" : ""
}
},
"/market" : {
"ws" : false,
"target" : "https://market.acefinex.com",
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
"^/market" : ""
}
}
},
"port" : ""
}
},
/* */ /* */
"quickapp" : {}, "quickapp" : {},
/* */ /* */

253
package-lock.json

@ -1,223 +1,17 @@
{ {
"name": "samehome", "name": "samehome",
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 2, "lockfileVersion": 1,
"requires": true, "requires": true,
"packages": { "dependencies": {
"": { "@babel/runtime": {
"name": "samehome", "version": "7.18.9",
"version": "1.0.0", "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.18.9.tgz",
"license": "ISC", "integrity": "sha512-lkqXDcvlFT5rvEjiu6+QYO+1GXrEHRo2LOtS7E4GtX5ESIZOgepqsZBVIj6Pv+a6zqsya9VCgiK1KAK4BvJDAw==",
"dependencies": { "requires": {
"axios": "^0.27.2", "regenerator-runtime": "^0.13.4"
"echarts": "^5.3.3",
"js-md5": "^0.7.3",
"uview-ui": "^2.0.33",
"vue-i18n": "^9.2.2"
}
},
"node_modules/@intlify/core-base": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz",
"integrity": "sha512-JjUpQtNfn+joMbrXvpR4hTF8iJQ2sEFzzK3KIESOx+f+uwIjgw20igOyaIdhfsVVBCds8ZM64MoeNSx+PHQMkA==",
"dependencies": {
"@intlify/devtools-if": "9.2.2",
"@intlify/message-compiler": "9.2.2",
"@intlify/shared": "9.2.2",
"@intlify/vue-devtools": "9.2.2"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@intlify/devtools-if": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.2.2.tgz",
"integrity": "sha512-4ttr/FNO29w+kBbU7HZ/U0Lzuh2cRDhP8UlWOtV9ERcjHzuyXVZmjyleESK6eVP60tGC9QtQW9yZE+JeRhDHkg==",
"dependencies": {
"@intlify/shared": "9.2.2"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@intlify/message-compiler": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.2.2.tgz",
"integrity": "sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==",
"dependencies": {
"@intlify/shared": "9.2.2",
"source-map": "0.6.1"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@intlify/shared": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.2.2.tgz",
"integrity": "sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==",
"engines": {
"node": ">= 14"
}
},
"node_modules/@intlify/vue-devtools": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.2.2.tgz",
"integrity": "sha512-+dUyqyCHWHb/UcvY1MlIpO87munedm3Gn6E9WWYdWrMuYLcoIoOEVDWSS8xSwtlPU+kA+MEQTP6Q1iI/ocusJg==",
"dependencies": {
"@intlify/core-base": "9.2.2",
"@intlify/shared": "9.2.2"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.2.1",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz",
"integrity": "sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ=="
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "0.27.2",
"resolved": "https://registry.npmmirror.com/axios/-/axios-0.27.2.tgz",
"integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==",
"dependencies": {
"follow-redirects": "^1.14.9",
"form-data": "^4.0.0"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/echarts": {
"version": "5.3.3",
"resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.3.3.tgz",
"integrity": "sha512-BRw2serInRwO5SIwRviZ6Xgm5Lb7irgz+sLiFMmy/HOaf4SQ+7oYqxKzRHAKp4xHQ05AuHw1xvoQWJjDQq/FGw==",
"dependencies": {
"tslib": "2.3.0",
"zrender": "5.3.2"
}
},
"node_modules/follow-redirects": {
"version": "1.15.1",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz",
"integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==",
"engines": {
"node": ">=4.0"
},
"peerDependenciesMeta": {
"debug": {
"optional": true
}
}
},
"node_modules/form-data": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz",
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/js-md5": {
"version": "0.7.3",
"resolved": "https://registry.npmmirror.com/js-md5/-/js-md5-0.7.3.tgz",
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/uview-ui": {
"version": "2.0.33",
"resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.33.tgz",
"integrity": "sha512-M3NsLFAY0z95NGMnTCDUR/TvJb6a/UYZzi1km5Gi6TkBCaoHdbmtQymkc1C4eszeoQOrpEIhit/2V47UglzHRw==",
"engines": {
"HBuilderX": "^3.1.0"
}
},
"node_modules/vue-i18n": {
"version": "9.2.2",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz",
"integrity": "sha512-yswpwtj89rTBhegUAv9Mu37LNznyu3NpyLQmozF3i1hYOhwpG8RjcjIFIIfnu+2MDZJGSZPXaKWvnQA71Yv9TQ==",
"dependencies": {
"@intlify/core-base": "9.2.2",
"@intlify/shared": "9.2.2",
"@intlify/vue-devtools": "9.2.2",
"@vue/devtools-api": "^6.2.1"
},
"engines": {
"node": ">= 14"
},
"peerDependencies": {
"vue": "^3.0.0"
} }
}, },
"node_modules/zrender": {
"version": "5.3.2",
"resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.3.2.tgz",
"integrity": "sha512-8IiYdfwHj2rx0UeIGZGGU4WEVSDEdeVCaIg/fomejg1Xu6OifAL1GVzIPHg2D+MyUkbNgPWji90t0a8IDk+39w==",
"dependencies": {
"tslib": "2.3.0"
}
}
},
"dependencies": {
"@intlify/core-base": { "@intlify/core-base": {
"version": "9.2.2", "version": "9.2.2",
"resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz", "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.2.2.tgz",
@ -287,6 +81,16 @@
"delayed-stream": "~1.0.0" "delayed-stream": "~1.0.0"
} }
}, },
"copy-text-to-clipboard": {
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz",
"integrity": "sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q=="
},
"core-js": {
"version": "3.25.0",
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.25.0.tgz",
"integrity": "sha512-CVU1xvJEfJGhyCpBrzzzU1kjCfgsGUxhEvwUV2e/cOedYWHdmluamx+knDnmhqALddMG16fZvIqvs9aijsHHaA=="
},
"delayed-stream": { "delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
@ -334,6 +138,16 @@
"mime-db": "1.52.0" "mime-db": "1.52.0"
} }
}, },
"mutation-observer": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz",
"integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
},
"regenerator-runtime": {
"version": "0.13.9",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
"integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
},
"source-map": { "source-map": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz", "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
@ -349,6 +163,17 @@
"resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.33.tgz", "resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-2.0.33.tgz",
"integrity": "sha512-M3NsLFAY0z95NGMnTCDUR/TvJb6a/UYZzi1km5Gi6TkBCaoHdbmtQymkc1C4eszeoQOrpEIhit/2V47UglzHRw==" "integrity": "sha512-M3NsLFAY0z95NGMnTCDUR/TvJb6a/UYZzi1km5Gi6TkBCaoHdbmtQymkc1C4eszeoQOrpEIhit/2V47UglzHRw=="
}, },
"vconsole": {
"version": "3.14.6",
"resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.14.6.tgz",
"integrity": "sha512-8Ffk2SfNe6EzKqZ0aNnNjpAVBVT7zgJo81lYEJdKySYLVYBeSawdSkWi9fSjDg3WsQhgS1vNPmRqJDTuwdVbnQ==",
"requires": {
"@babel/runtime": "^7.17.2",
"copy-text-to-clipboard": "^3.0.1",
"core-js": "^3.11.0",
"mutation-observer": "^1.0.3"
}
},
"vue-i18n": { "vue-i18n": {
"version": "9.2.2", "version": "9.2.2",
"resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz", "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.2.2.tgz",

1
package.json

@ -14,6 +14,7 @@
"echarts": "^5.3.3", "echarts": "^5.3.3",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"uview-ui": "^2.0.33", "uview-ui": "^2.0.33",
"vconsole": "^3.14.6",
"vue-i18n": "^9.2.2" "vue-i18n": "^9.2.2"
} }
} }

7
pages/charity/details.vue

@ -130,7 +130,10 @@
}, },
radioValue: '', radioValue: '',
detail:{}, detail:{
charityDetails:{},
coins:[{}],
},
}; };
}, },
computed: { computed: {
@ -147,7 +150,7 @@
}, },
onLoad(res) { onLoad(res) {
this.baseURL = constant.BASE_URL this.baseURL = constant.BASE_URL
this.id=res.id this.id=res.id
this.getDetail(this.id) this.getDetail(this.id)
// console.log(this.$t('login.emailInputMessage')); // console.log(this.$t('login.emailInputMessage'));
}, },

203
pages/home/index.vue

@ -1,7 +1,12 @@
<template> <template>
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<!-- #ifdef APP-PLUS -->
<view class="nav-head"> <view class="nav-head">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="nav-head-H5">
<!-- #endif -->
<u-button class="serviceButton" color="#323045" @click="getContact">{{ i18n.customerService }}</u-button> <u-button class="serviceButton" color="#323045" @click="getContact">{{ i18n.customerService }}</u-button>
<view class="languageBtn" @click.stop="languageShow = true"> <view class="languageBtn" @click.stop="languageShow = true">
{{ langTrue }} {{ langTrue }}
@ -45,37 +50,44 @@
<view class="steps"> <view class="steps">
<view class="content"> <view class="content">
<view class="title">{{ i18n.TodaySteps }}</view> <view class="title">{{ i18n.TodaySteps }}</view>
<view id="chart" :stepsNum="stepsNum" :stepTarget="stepTarget" :change:stepTarget="echarts.receive" <view id="chart" :stepsNum="stepCount" :stepTarget="stepTarget" :change:stepTarget="echarts.receive"
:change:stepsNum="echarts.receive" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></view> :change:stepsNum="echarts.receive" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></view>
<!-- <canvas id="chart" ref="chart" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></canvas> --> <!-- <canvas id="chart" ref="chart" style="width: 280rpx;height:280rpx; font-size: 40rpx;"></canvas> -->
<u-button class="button" color="#00E8A2">{{ i18n.ReceiveEarnings }}</u-button> <u-button class="button" color="#00E8A2">{{ i18n.ReceiveEarnings }}</u-button>
</view> </view>
</view> </view>
<!-- 播放器 --> <!-- 播放器 -->
<view class="videoList" v-for="(item, index) in videoList" :key="index" @click="playVideo(item)"> <view class="videoList" v-for="(item, index) in videoList" :key="index" @click="playVideo(item.adText)">
<view class="videoImage" :style="`background-image: url(${item.poster});background-repeat: no-repeat; <view class="videoImage" :style="`background-image: url(${baseURL+item.adImgPath});background-repeat: no-repeat;
background-size: cover;`"> background-size: cover;`">
<view class="VideoBg"> <view class="VideoBg">
<view class="VideoLogo"></view> <view class="VideoLogo"></view>
<view class="VideoTitle">{{ item.title }}</view> <view class="VideoTitle">{{ item.adTitle }}</view>
</view> </view>
</view> </view>
</view> </view>
<video class="video" v-show="videoShow" id="video" :enable-progress-gesture="false" autoplay="true" <video class="video" v-show="videoShow" id="video" :enable-progress-gesture="false" autoplay="true"
:src="videoUrl" controls x5-video-player-type="h5-page" @fullscreenchange="ifStopVideo"></video> :src="videoUrl" controls x5-video-player-type="h5-page" @fullscreenchange="ifStopVideo"></video>
<!-- 通知弹出层 --> <!-- 通知弹出层 -->
<u-popup class="popup" v-if="popupShow" round="32rpx" mode="center" @close="popupShow = false" <u-popup class="popup" v-if="popupShow" round="32rpx" mode="center" @close="popupShow = false"
@open="popupShow = true" bgColor="#211F32" :customStyle="{ @open="popupShow = true" bgColor="#211F32" :customStyle="{
margin: 'auto 102rpx auto 118rpx', margin: 'auto 102rpx auto 118rpx',
}"> }">
<view class="content"> <view class="content">
<scroll-view scroll-y="true" style="max-height: 288rpx;" scroll-with-animation="true" <scroll-view scroll-y="true" style="max-height: 288rpx;" scroll-with-animation="true"
@touchmove.stop.prevent=""> @touchmove.stop.prevent="">
<view class="" v-html="contentFirst"></view> <view class="" v-html="contentFirst"></view>
</scroll-view> </scroll-view>
<u-button class="button" color="#00E8A2" @click="toRead" :throttleTime="500">OK</u-button> <u-button class="button" color="#00E8A2" @click="toRead" :throttleTime="500">OK</u-button>
</view> </view>
</u-popup> </u-popup>
<view class="" @click="startStep">
开始记步
</view>
<view class="" @click="startStep">
步数{{stepCount}}是否开启步数{{stepResult}}
</view>
<!-- tabBar --> <!-- tabBar -->
<tab-bar :selectActive="1"></tab-bar> <tab-bar :selectActive="1"></tab-bar>
</view> </view>
@ -91,6 +103,7 @@
// let videoPlayerObj = {}; // let videoPlayerObj = {};
let videoPlayer; let videoPlayer;
let myChart; let myChart;
let StepCounter = uni.requireNativePlugin('HF-Step-module');
export default { export default {
name: 'home', name: 'home',
components: { components: {
@ -98,10 +111,12 @@
}, },
data() { data() {
return { return {
stepCount:'',
stepResult:'',
// //
contentFirst:'', contentFirst: '',
// //
noticeId:null, noticeId: null,
// //
notice: [], notice: [],
// //
@ -117,27 +132,7 @@
], ],
videoShow: false, videoShow: false,
videoUrl: '', videoUrl: '',
videoList: [{ videoList: [],
url: 'https://cdn.uviewui.com/uview/resources/video.mp4',
title: 'Video name 1',
poster: 'https://cdn.uviewui.com/uview/swiper/swiper1.png'
},
{
url: 'https://media.w3.org/2010/05/sintel/trailer.mp4',
title: 'Video name 2',
poster: 'https://cdn.uviewui.com/uview/swiper/swiper2.png'
},
{
url: 'http://vjs.zencdn.net/v/oceans.mp4',
title: 'Video name 3',
poster: 'https://cdn.uviewui.com/uview/swiper/swiper3.png'
},
{
url: 'http://mirror.aarnet.edu.au/pub/TED-talks/911Mothers_2010W-480p.mp4',
title: 'Video name 4',
poster: 'https://cdn.uviewui.com/uview/swiper/swiper2.png'
},
],
option: null, option: null,
stepsNum: 5000, // stepsNum: 5000, //
stepTarget: 10000, // stepTarget: 10000, //
@ -150,6 +145,7 @@
this.noticeList(); this.noticeList();
}, },
onShow() { onShow() {
this.getSept()
// //
// this.videoList.forEach((item, index) => { // this.videoList.forEach((item, index) => {
// const VideoPlayer = uni.createVideoContext(`video-${index}`, this) // const VideoPlayer = uni.createVideoContext(`video-${index}`, this)
@ -175,47 +171,96 @@
} }
}, },
methods: { methods: {
//
getSept() {
//
StepCounter.startStep((res) => {
console.log(123123)
console.log(res,'步数res');
this.stepCount=res.stepCount
//res.stepCount
}, (res) => {
console.log(res)
let callback = res.callback
if (callback == "stepStatus") {
let status = res.status;
if (1 == status) {
//gps
console.log('安卓gps定位服务未开')
} else if (2 == status || 5 == status) {
//
//this.gotoSettings()
console.log('权限被禁止')
} else if (3 == status) {
//
//this.startStep()
console.log('允许运动权限(处理安卓权限问题)')
}
}
});
},
startStep(){
//
StepCounter.getRecordStep((res) => {
//res.result == true
//res.stepCount
console.log(res.result)
this.stepResult=res.result
console.log(res.stepCount)
this.stepResult=res.stepCount
});
},
resStartStep(){
//
StepCounter.startRecordStep((res) => {
//res.result == true
console.log(res.result)
});
},
// //
getContact(){ getContact() {
api.customerService({}).then(res => { api.customerService({}).then(res => {
if(res.errCode=='SYS.0012'){ if (res.errCode == 'SYS.0012') {
uni.$u.toast(res.errMsg); uni.$u.toast(res.errMsg);
}else{ } else {
// #ifdef APP-PLUS // #ifdef APP-PLUS
plus.runtime.openURL(res.url); plus.runtime.openURL(res.url);
// #endif // #endif
// #ifdef H5 // #ifdef H5
window.location.href=res.url window.location.href = res.url
// #endif // #endif
} }
}) })
}, },
// //
getNoReadNotice(){ getNoReadNotice() {
for (var i = 0; i < this.notice.length; i++) { for (var i = 0; i < this.notice.length; i++) {
if(this.notice[i].isRead=='no'){ if (this.notice[i].isRead == 'no') {
this.contentFirst=this.notice[i].content this.contentFirst = this.notice[i].content
this.noticeId=this.notice[i].id this.noticeId = this.notice[i].id
} }
} }
if(!this.noticeId){ if (!this.noticeId) {
this.popupShow=false this.popupShow = false
} }
}, },
go(url){ go(url) {
uni.navigateTo({ uni.navigateTo({
url:url url: url
}) })
}, },
toRead() { toRead() {
api.noticeRead({ api.noticeRead({
noticeId: this.noticeId noticeId: this.noticeId
}).then(res => { }).then(res => {
this.noticeId=null; this.noticeId = null;
this.popupShow = false this.popupShow = false
this.getNoReadNotice() this.getNoReadNotice()
console.log(res,'已经读了吗') console.log(res, '已经读了吗')
}) })
}, },
@ -235,6 +280,7 @@
api.indexBanner({ api.indexBanner({
'mark': 'APP_INDEX' 'mark': 'APP_INDEX'
}).then(res => { }).then(res => {
this.videoList = res
for (var i = 0; i < res.length; i++) { for (var i = 0; i < res.length; i++) {
this.swiperList.push(this.baseURL + res[i].adImgPath) this.swiperList.push(this.baseURL + res[i].adImgPath)
} }
@ -521,6 +567,73 @@
.main { .main {
padding-bottom: 198rpx; // TabBar padding-bottom: 198rpx; // TabBar
.nav-head-H5{
position: fixed;
top: 0rpx;
height: 112rpx;
font-size: 36rpx;
color: #fff;
width: 100%;
background-color: #15141F;
z-index: 8;
border-bottom: 4rpx solid #323045;
.serviceButton {
display: inline-block;
width: 286rpx;
height: 70rpx;
line-height: 70rpx;
border-radius: 90rpx;
font-size: 28rpx;
color: #F2FE8D !important;
padding: 0;
margin: 20rpx 180rpx 0 48rpx;
vertical-align: top;
}
.languageBtn {
display: inline-block;
box-sizing: border-box;
width: 180rpx;
position: relative;
margin: 38rpx 48rpx 0 0;
font-size: 24rpx;
height: 36rpx;
line-height: 36rpx;
text-align: center;
padding-left: 12rpx;
&::before {
display: block;
position: absolute;
content: '';
background-image: url(../../static/home/map.png);
background-repeat: no-repeat;
background-size: 36rpx;
width: 36rpx;
height: 36rpx;
top: 0rpx;
left: 0rpx;
}
&::after {
display: block;
position: absolute;
content: '';
background-image: url(../../static/home/pull-down.png);
background-repeat: no-repeat;
background-size: 24rpx;
width: 24rpx;
height: 24rpx;
top: 12rpx;
right: 0rpx;
}
}
}
.nav-head { .nav-head {
position: fixed; position: fixed;
top: 0rpx; top: 0rpx;

21
pages/markets/index.vue

@ -1,7 +1,12 @@
<template> <template>
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<!-- #ifdef APP-PLUS -->
<view class="nav-head"> <view class="nav-head">
<!-- #endif -->
<!-- #ifdef H5 -->
<view class="nav-head-H5">
<!-- #endif -->
<view class="left">{{ i18n.TrandingPair }}</view> <view class="left">{{ i18n.TrandingPair }}</view>
<view class="middle">{{ i18n.LatestPrice }}</view> <view class="middle">{{ i18n.LatestPrice }}</view>
<view class="right">{{ i18n.RiseAndfall }}</view> <view class="right">{{ i18n.RiseAndfall }}</view>
@ -105,7 +110,21 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.main { .main {
padding-bottom: 198rpx; // TabBar padding-bottom: 198rpx; // TabBar
.nav-head-H5{
overflow: hidden;
position: fixed;
top: 0rpx;
height: 112rpx;
font-size: 24rpx;
color: #fff;
display: flex;
justify-content: space-around;
align-items: center;
width: 750rpx;
z-index: 8;
background-color: #15141F;
border-bottom: 4rpx solid #323045;
}
.nav-head { .nav-head {
overflow: hidden; overflow: hidden;
position: fixed; position: fixed;

6
pages/me/index.vue

@ -32,17 +32,17 @@
<view class="balanceRow"> <view class="balanceRow">
<!-- 可用余额 --> <!-- 可用余额 -->
<view class="item"> <view class="item">
<view class="number">{{userInfoBalance.balance || 0 }} <text style="font-size: 10rpx;">{{coinTypeInfo.system_cropto_code}}</text> </view> <view class="number">{{userInfoBalance.balance || 0 }} <text style="font-size: 24rpx;">{{coinTypeInfo.system_cropto_code}}</text> </view>
<view class="title">{{ i18n.Balance }}</view> <view class="title">{{ i18n.Balance }}</view>
</view> </view>
<!-- 质押余额 --> <!-- 质押余额 -->
<view class="item"> <view class="item">
<view class="number">{{userInfoBalance.pledge || 0 }} <text style="font-size: 10rpx;">{{coinTypeInfo.system_cropto_code}}</text></view> <view class="number">{{userInfoBalance.pledge || 0 }} <text style="font-size: 24rpx;">{{coinTypeInfo.system_cropto_code}}</text></view>
<view class="title">{{ i18n.Pledge }}</view> <view class="title">{{ i18n.Pledge }}</view>
</view> </view>
<!-- 合约余额 --> <!-- 合约余额 -->
<view class="item"> <view class="item">
<view class="number">{{userInfoBalance.contract || 0 }} <text style="font-size: 10rpx;">{{coinTypeInfo.system_cropto_code}}</text></view> <view class="number">{{userInfoBalance.contract || 0 }} <text style="font-size: 24rpx;">{{coinTypeInfo.system_cropto_code}}</text></view>
<view class="title">{{ i18n.Contarct }}</view> <view class="title">{{ i18n.Contarct }}</view>
</view> </view>
</view> </view>

293
pages/me/inviteFriends.vue

@ -1,121 +1,196 @@
<template> <template>
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.InviteFriends }}</navigation> <navigation>{{ i18n.InviteFriends }}</navigation>
<view class="body"> <view class="body">
<view class="shareText">{{ i18n.ShareWithFriends }}</view> <view class="shareText">{{ i18n.ShareWithFriends }}</view>
<view class="scanText">{{ i18n.ScanTheCode }}</view> <!-- <view class="scanText">{{ i18n.ScanTheCode }}</view> -->
<!-- 二维码 -->
<view class="QRCode"> <!-- 二维码 -->
<u-image class="QRCodeImg" src="../../static/me/QR-code.png" width="400rpx" height="400rpx"></u-image> <view class="QRCode">
</view> <u-image class="QRCodeImg" :src="qr" width="400rpx" height="400rpx">
<view class="myIdText">{{ i18n.MyReferralID }}{{referralID}}</view> </u-image>
<!-- 按钮 --> </view>
<u-button class="button" color="#00E8A2" throttleTime="500" @click="copyId(referralID)">{{ <!-- <view class="myIdText">{{ i18n.MyReferralID }}{{inviteRules.invitationCode}}</view> -->
<!-- 按钮 -->
<!-- <u-button class="button" color="#00E8A2" throttleTime="500" @click="copyId(referralID)">{{
i18n.CopyID i18n.CopyID
}} }}
</u-button> </u-button> -->
<view class="copy">
<view class="item">
{{link}}
</view>
<view class="btn" @click="copyId(link)">
{{ i18n.CopyLink}}
</view>
</view>
<view class="copy">
<view class="item2">
{{ i18n.MyReferralID }}{{this.inviteRules.invitationCode}}
</view>
<view class="btn" @click="copyId(inviteRules.invitationCode)">
{{ i18n.CopyID}}
</view>
</view>
</view> <view class="title" style="color: #94939B;">
</view> {{ i18n.TIPS}}
</view>
<view class="scanText" v-html="inviteRules.invitationRules"></view>
</view>
</view>
</template> </template>
<script> <script>
import uniCopy from '@/utils/uni-copy' import uniCopy from '@/utils/uni-copy'
export default { import api from '@/utils/api'
name: "inviteFriends", import constant from '@/utils/constant.js';
data() { import QR from '@/utils/qrCode/wxqrcode.js'
return { export default {
referralID: 857222, name: "inviteFriends",
}; data() {
}, return {
computed: { //
i18n() { link:'',
return this.$t("me"); qr: null,
}, referralID: 857222,
}, inviteRules: {},
onLoad() { };
}, },
onShow() { }, computed: {
methods: { i18n() {
copyId(value = "") { return this.$t("me");
// console.log(value) },
uniCopy({ },
content: value, onLoad() {
success: (res) => { this.invitation()
uni.showToast({ },
title: "复制成功", onShow() {},
duration: 3000, methods: {
}) //
}, invitation() {
error: (e) => { api.invitation().then(res => {
uni.showToast({ this.inviteRules = res
title: e, this.link = this.inviteRules.generateQRCodeUrl + this.inviteRules.invitLink
icon: 'none', // let baseURL = constant.BASE_URL
duration: 2000, // e=e.replace('h5Path',baseURL)
}) this.qr = QR.createQrCodeImg(this.link)
} })
}) },
}, copyId(e) {
}, // console.log(value)
} uniCopy({
content: e,
success: (res) => {
uni.showToast({
title: this.$t("login").copySuccess,
duration: 3000,
})
},
error: (e) => {
uni.showToast({
title: e,
icon: 'none',
duration: 2000,
})
}
})
},
},
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.main { .copy {
margin-bottom: 60rpx;
.body { background: #323045;
overflow: hidden; border-radius: 32rpx;
margin-top: 200rpx; line-height: 60rpx;
padding: 0 48rpx; padding: 32rpx;
position: relative;
.shareText {
margin-top: 104rpx; .item {
font-size: 60rpx; overflow: hidden;
font-weight: 800; white-space: nowrap;
text-align: center; text-overflow: ellipsis;
} width: 450rpx;
}
.scanText {
font-size: 32rpx; .btn {
text-align: center; position: absolute;
color: #A2A0A8; right: 0;
} top: 0;
line-height: 60rpx;
.QRCode { height: 100%;
box-sizing: border-box; background: #00E8A2;
margin: 66rpx auto; border-radius: 0px 32rpx 32rpx 0px;
width: 520rpx; width: 162rpx;
height: 520rpx; font-weight: 600;
background-image: url(../../static/me/bg_QR_code.png); font-size: 28rpx;
background-repeat: no-repeat; display: flex;
background-size: 520rpx; align-items: center;
padding: 52rpx; color: #15141F;
justify-content: center;
.QRCodeImg { }
margin-left: 8rpx; }
}
} .main {
.myIdText { .body {
font-size: 48rpx; overflow: hidden;
font-weight: 800; margin-top: 200rpx;
text-align: center; padding: 0 48rpx;
} padding-bottom: 45rpx;
.button { .shareText {
height: 112rpx; margin-top: 104rpx;
margin: 72rpx 0; font-size: 60rpx;
border-radius: 32rpx; font-weight: 800;
color: #15141F !important; text-align: center;
font-weight: 700; }
font-size: 32rpx;
} .scanText {
font-size: 32rpx;
text-align: center;
color: #A2A0A8;
} word-break: break-all;
}
}
.QRCode {
box-sizing: border-box;
margin: 66rpx auto;
width: 520rpx;
height: 520rpx;
background-image: url(../../static/me/bg_QR_code.png);
background-repeat: no-repeat;
background-size: 520rpx;
padding: 52rpx;
.QRCodeImg {
margin-left: 8rpx;
}
}
.myIdText {
font-size: 48rpx;
font-weight: 800;
text-align: center;
}
.button {
height: 112rpx;
margin: 72rpx 0;
border-radius: 32rpx;
color: #15141F !important;
font-weight: 700;
font-size: 32rpx;
}
}
}
</style> </style>

89
pages/me/myTeam.vue

@ -6,26 +6,26 @@
<view class="top flex"> <view class="top flex">
<view class="item"> <view class="item">
<view class="t1"> <view class="t1">
394 {{inviteData.totalPeople}}
</view> </view>
<view class="t2"> <view class="t2">
Number of clionts {{i18n.Numberofclionts}}
</view> </view>
</view> </view>
<view class="item"> <view class="item">
<view class="t1"> <view class="t1">
0 {{inviteData.yestodayRevenue}}
</view> </view>
<view class="t2"> <view class="t2">
Earnlings yesterday {{i18n.Earnlingsyesterday}}
</view> </view>
</view> </view>
<view class="item"> <view class="item">
<view class="t1"> <view class="t1">
9343492 {{inviteData.totalRevenue}}
</view> </view>
<view class="t2"> <view class="t2">
Total income {{i18n.Totalincome}}
</view> </view>
</view> </view>
</view> </view>
@ -35,9 +35,9 @@
<table class="table"> <table class="table">
<thead class="thead"> <thead class="thead">
<tr> <tr>
<td>User</td> <td>{{i18n.User}}</td>
<td>Financial funds</td> <td>{{i18n.Financialfunds}}</td>
<td>Time</td> <td>{{i18n.Time}}</td>
</tr> </tr>
</thead> </thead>
<tbody class="tbody"> <tbody class="tbody">
@ -64,11 +64,25 @@
</template> </template>
<script> <script>
import api from '@/utils/api'
import constant from '@/utils/constant.js';
export default { export default {
name: "myTeam", name: "myTeam",
data() { data() {
return { return {
list: ['My client', 'Income record'], form: {
pageNumber: 1,
pageSize: 20,
},
isLoadMore: false, //
loadStatus: 'loadmore',
loadingText: this.$t("login").toload,
loadmoreText: this.$t("login").pullup,
nomoreText: this.$t("login").Nomore,
userInfoObj: [],
inviteData:{},
list: [ this.$t("me").Myclient, this.$t("me").Incomerecord],
// keyName // keyName
// list: [{name: ''}, {name: ''}, {name: ''}], // list: [{name: ''}, {name: ''}, {name: ''}],
curNow: 0, curNow: 0,
@ -80,9 +94,62 @@
return this.$t("me"); return this.$t("me");
}, },
}, },
onLoad() {}, onReachBottom() {
if (!this.isLoadMore) {
this.form.pageNumber += 1
this.getList();
}
},
onLoad() {
this.invitation()
this.getList()
},
onShow() {}, onShow() {},
methods: { methods: {
//
getList() {
this.isLoadMore = true
api.promotionRecords(this.form).then(res => {
if (res.content.length) {
if (this.form.pageNumber > 1) {
this.userInfoObj = this.userInfoObj.concat(res.content)
for (var i = 0; i < this.userInfoObj.length; i++) {
if (this.userInfoObj[i].addTime) {
this.userInfoObj[i].timestr = this.$index.formatyymmddhhmmss(this.userInfoObj[
i].addTime)
}
}
} else {
this.userInfoObj = res.content
for (var i = 0; i < this.userInfoObj.length; i++) {
if (this.userInfoObj[i].addTime) {
this.userInfoObj[i].timestr = this.$index.formatyymmddhhmmss(this.userInfoObj[
i].addTime)
}
}
}
if (this.userInfoObj.length >= Number(res.totalElements)) { //
this.isLoadMore = true
this.loadStatus = 'nomore'
} else {
this.isLoadMore = false
}
} else {
this.isLoadMore = true
this.loadStatus = 'nomore'
this.userInfoObj = []
}
this.$forceUpdate()
})
},
//
invitation() {
api.invitData().then(res => {
this.inviteData=res
})
},
sectionChange(index) { sectionChange(index) {
this.curNow = index; this.curNow = index;
} }

6
pages/me/transfer.vue

@ -7,10 +7,10 @@
<!-- coin选择框 --> <!-- coin选择框 -->
<view class="text">{{ i18n.SelectCurrency }}</view> <view class="text">{{ i18n.SelectCurrency }}</view>
<view class="input-item"> <view class="input-item">
<u-input class="input" v-model="coinInfo.coinCode" color="#fff" fontSize="32rpx" border="none" <u-input @focus="USDTPopupShow = true" class="input" v-model="coinInfo.coinCode" color="#fff" fontSize="32rpx" border="none"
:placeholder="i18n.PleaseChooseCoin"> :placeholder="i18n.PleaseChooseCoin" >
</u-input> </u-input>
<view class="downSelect" @click="USDTPopupShow = true"></view> <view class="downSelect" ></view>
</view> </view>
<!-- form地址选择框 --> <!-- form地址选择框 -->
<view class="text">{{ i18n.From }}</view> <view class="text">{{ i18n.From }}</view>

1
pages/mine/mine.vue

@ -51,6 +51,7 @@
}, },
}, },
onLoad() { onLoad() {
this.mineCon.mineList=[]
this.getMine() this.getMine()
}, },
onShow() {}, onShow() {},

6
pages/mine/mineDetails.vue

@ -64,7 +64,11 @@
coinValue: 1000.001, coinValue: 1000.001,
codeValue: '', codeValue: '',
coinQuantity: '', coinQuantity: '',
detail: {}, detail: {
mineDetails:{
}
},
imgAddress: '', imgAddress: '',
}; };
}, },

5
pages/subscription/details.vue

@ -77,7 +77,10 @@
rules: {}, rules: {},
radioValue: '', radioValue: '',
baseURL: '', baseURL: '',
deinfo: {}, deinfo: {
sysCoinInfo:{},
coins:[{}]
},
day: '', day: '',
hr: '', hr: '',
min: '', min: '',

11
pages/withdrawal/withdrawal.vue

@ -184,7 +184,10 @@
payPassword: null, payPassword: null,
}, },
// //
withdrawInfo: {}, withdrawInfo: {
bankCard:{},
coins:[{}]
},
baseURL: '', baseURL: '',
pageState: 'crypto', pageState: 'crypto',
coinAddress: '', coinAddress: '',
@ -288,6 +291,12 @@
}, },
// //
getWithConfig() { getWithConfig() {
//
//
this.withdrawInfo={
bankCard:{},
coins:[{}]
}
api.withdrawConfig({ api.withdrawConfig({
type: this.pageState type: this.pageState
}).then(res => { }).then(res => {

3
utils/api.js

@ -48,7 +48,8 @@ const api = {
//--------------------------------- invitation --------------------------------- //--------------------------------- invitation ---------------------------------
invitation: (params) => Vue.prototype.$axios.post('/api/invitation/invitRules',params),//获取邀请规则文案 invitation: (params) => Vue.prototype.$axios.post('/api/invitation/invitRules',params),//获取邀请规则文案
invitData: (params) => Vue.prototype.$axios.post('/api/invitation/invitData',params),//获取用户邀请数据 invitData: (params) => Vue.prototype.$axios.post('/api/invitation/invitData',params),//获取用户邀请数据
invitationRecord: (params) => Vue.prototype.$axios.post('/api/invitation/invitationRecord',params),//获取用户邀请记录 promotionRecords: (params) => Vue.prototype.$axios.post('/api/invitation/promotionRecords',params),//获取用户下级列表
bonusRecords: (params) => Vue.prototype.$axios.post('/api/invitation/bonusRecords',params),//获取用户返佣记录
//--------------------------------- 申购 --------------------------------- //--------------------------------- 申购 ---------------------------------
subscriptionList: (params) => Vue.prototype.$axios.post('/api/exchange/subscriptionList',params),//申购币列表 subscriptionList: (params) => Vue.prototype.$axios.post('/api/exchange/subscriptionList',params),//申购币列表
subscription: (params) => Vue.prototype.$axios.post('/api/exchange/subscription',params),//申购币详情 subscription: (params) => Vue.prototype.$axios.post('/api/exchange/subscription',params),//申购币详情

13
utils/axios.js

@ -150,15 +150,10 @@ service.interceptors.response.use(res => {
}) })
if (res.errCode === 'SYS.0006') { if (res.errCode === 'SYS.0006') {
uni.setStorageSync('ticket',null); uni.setStorageSync('ticket',null);
uni.removeStorage({ uni.setStorageSync('logInfo',null);
key: 'logInfo', uni.reLaunch({
success: function(res) { url: '/pages/login/index'
uni.reLaunch({ })
url: '/pages/login/index'
})
},
fail: (err) => {}
});
// #ifdef H5 // #ifdef H5
var url = location.href; var url = location.href;
if (url.indexOf('pages') > -1) { if (url.indexOf('pages') > -1) {

16
utils/language/en_US.js

@ -10,6 +10,8 @@ export default {
}, },
// 登陆相关页面 // 登陆相关页面
login: { login: {
Versionupdate:'Version update',
copySuccess:'Copied',
Purchasesucceeded:'Purchase succeeded', Purchasesucceeded:'Purchase succeeded',
Successfulsubscription:'Successful subscription', Successfulsubscription:'Successful subscription',
Withdrawalsucceeded:'Withdrawal succeeded', Withdrawalsucceeded:'Withdrawal succeeded',
@ -42,7 +44,7 @@ export default {
// register // register
passwordConfirm:"The login passwords entered repeatedly are inconsistent", passwordConfirm:"The login passwords entered repeatedly are inconsistent",
loginSuccess:"Login successful", loginSuccess:"Logged in",
resSuccess:"Registration success", resSuccess:"Registration success",
Emailempty:"E-mail can not be empty", Emailempty:"E-mail can not be empty",
Emailincorrect:"Email is incorrect", Emailincorrect:"Email is incorrect",
@ -344,6 +346,15 @@ export default {
//me //me
me: { me: {
Incomerecord:'Income record',
Myclient:'My client',
Time:'Time',
Financialfunds:'Financial funds',
User:'User',
Totalincome:'Total income',
Earnlingsyesterday:'Earnlings yesterday',
Numberofclionts:'Number of clionts',
Dataisempty:'Data is empty', Dataisempty:'Data is empty',
isLogOut:'Are you sure you want to log out?', isLogOut:'Are you sure you want to log out?',
account: 'account', account: 'account',
@ -371,7 +382,8 @@ export default {
ScanTheCode: 'Scan the code to download', ScanTheCode: 'Scan the code to download',
MyReferralID: 'My Referral ID:', MyReferralID: 'My Referral ID:',
CopyID: 'Copy ID', CopyID: 'Copy ID',
CopyLink: 'Copy Link',
TIPS: 'TIPS:',
ChangeLoginPassword: 'Change Login Password', ChangeLoginPassword: 'Change Login Password',
ChangeWithdrawalPassword: 'Change Withdrawal Password', ChangeWithdrawalPassword: 'Change Withdrawal Password',
BankCard: 'Bank Card', BankCard: 'Bank Card',

Loading…
Cancel
Save