USER-20230908AJ\Administrator 6 mēneši atpakaļ
vecāks
revīzija
99187a3d29

+ 161 - 0
package-lock.json

@@ -11,6 +11,7 @@
         "axios": "^1.9.0",
         "core-js": "^3.8.3",
         "element-ui": "^2.15.14",
+        "ethers": "^6.14.1",
         "lib-flexible": "^0.3.2",
         "vue": "^2.6.14",
         "vue-router": "^3.5.1",
@@ -3438,6 +3439,11 @@
         "node": ">= 10.0.0"
       }
     },
+    "node_modules/aes-js": {
+      "version": "4.0.0-beta.5",
+      "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz",
+      "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q=="
+    },
     "node_modules/ajv": {
       "version": "6.12.6",
       "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
@@ -6143,6 +6149,98 @@
         "@scure/bip39": "1.3.0"
       }
     },
+    "node_modules/ethers": {
+      "version": "6.14.1",
+      "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.14.1.tgz",
+      "integrity": "sha512-JnFiPFi3sK2Z6y7jZ3qrafDMwiXmU+6cNZ0M+kPq+mTy9skqEzwqAdFW3nb/em2xjlIVXX6Lz8ID6i3LmS4+fQ==",
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/ethers-io/"
+        },
+        {
+          "type": "individual",
+          "url": "https://www.buymeacoffee.com/ricmoo"
+        }
+      ],
+      "dependencies": {
+        "@adraffy/ens-normalize": "1.10.1",
+        "@noble/curves": "1.2.0",
+        "@noble/hashes": "1.3.2",
+        "@types/node": "22.7.5",
+        "aes-js": "4.0.0-beta.5",
+        "tslib": "2.7.0",
+        "ws": "8.17.1"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      }
+    },
+    "node_modules/ethers/node_modules/@adraffy/ens-normalize": {
+      "version": "1.10.1",
+      "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz",
+      "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw=="
+    },
+    "node_modules/ethers/node_modules/@noble/curves": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz",
+      "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==",
+      "dependencies": {
+        "@noble/hashes": "1.3.2"
+      },
+      "funding": {
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/ethers/node_modules/@noble/hashes": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
+      "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==",
+      "engines": {
+        "node": ">= 16"
+      },
+      "funding": {
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/ethers/node_modules/@types/node": {
+      "version": "22.7.5",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz",
+      "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==",
+      "dependencies": {
+        "undici-types": "~6.19.2"
+      }
+    },
+    "node_modules/ethers/node_modules/tslib": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+      "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+    },
+    "node_modules/ethers/node_modules/undici-types": {
+      "version": "6.19.8",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+      "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="
+    },
+    "node_modules/ethers/node_modules/ws": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+      "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
+      "engines": {
+        "node": ">=10.0.0"
+      },
+      "peerDependencies": {
+        "bufferutil": "^4.0.1",
+        "utf-8-validate": ">=5.0.2"
+      },
+      "peerDependenciesMeta": {
+        "bufferutil": {
+          "optional": true
+        },
+        "utf-8-validate": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/event-pubsub": {
       "version": "4.3.0",
       "resolved": "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz",
@@ -15027,6 +15125,11 @@
       "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==",
       "dev": true
     },
+    "aes-js": {
+      "version": "4.0.0-beta.5",
+      "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz",
+      "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q=="
+    },
     "ajv": {
       "version": "6.12.6",
       "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
@@ -16965,6 +17068,64 @@
         "@scure/bip39": "1.3.0"
       }
     },
+    "ethers": {
+      "version": "6.14.1",
+      "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.14.1.tgz",
+      "integrity": "sha512-JnFiPFi3sK2Z6y7jZ3qrafDMwiXmU+6cNZ0M+kPq+mTy9skqEzwqAdFW3nb/em2xjlIVXX6Lz8ID6i3LmS4+fQ==",
+      "requires": {
+        "@adraffy/ens-normalize": "1.10.1",
+        "@noble/curves": "1.2.0",
+        "@noble/hashes": "1.3.2",
+        "@types/node": "22.7.5",
+        "aes-js": "4.0.0-beta.5",
+        "tslib": "2.7.0",
+        "ws": "8.17.1"
+      },
+      "dependencies": {
+        "@adraffy/ens-normalize": {
+          "version": "1.10.1",
+          "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz",
+          "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw=="
+        },
+        "@noble/curves": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz",
+          "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==",
+          "requires": {
+            "@noble/hashes": "1.3.2"
+          }
+        },
+        "@noble/hashes": {
+          "version": "1.3.2",
+          "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
+          "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ=="
+        },
+        "@types/node": {
+          "version": "22.7.5",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz",
+          "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==",
+          "requires": {
+            "undici-types": "~6.19.2"
+          }
+        },
+        "tslib": {
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
+          "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA=="
+        },
+        "undici-types": {
+          "version": "6.19.8",
+          "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
+          "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw=="
+        },
+        "ws": {
+          "version": "8.17.1",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+          "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
+          "requires": {}
+        }
+      }
+    },
     "event-pubsub": {
       "version": "4.3.0",
       "resolved": "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz",

+ 1 - 0
package.json

@@ -11,6 +11,7 @@
     "axios": "^1.9.0",
     "core-js": "^3.8.3",
     "element-ui": "^2.15.14",
+    "ethers": "^6.14.1",
     "lib-flexible": "^0.3.2",
     "vue": "^2.6.14",
     "vue-router": "^3.5.1",

+ 6 - 1
src/api/member.js

@@ -2,4 +2,9 @@ import request from '@/utils/request'
 
 const newsUrl = '/api/member/'
 // 登陆
-export const userLogin = (data) => request(newsUrl + 'login', 'post', data, true)
+export const login = (data) => request(newsUrl + 'login', 'post', { ...data },false)
+export const register = (data) => request(newsUrl + 'register', 'post', { ...data },false)
+export const getIconList = (data) => request(newsUrl + 'coin-list', 'post', { ...data },false)
+export const getMemberInfo = (data) => request(newsUrl + 'info', 'post', { ...data },false)
+export const getTeamInfo = (data) => request(newsUrl + 'team_info', 'post', { ...data },false)
+export const getTeamList = (data) => request(newsUrl + 'team_list', 'post', { ...data },false)

+ 8 - 1
src/common/wallet/tokenpocket-wallet/tokenpocket-bnb.js

@@ -28,6 +28,11 @@ tokenpocketBnb.getProvider= function (){
     if(!chainId){
         provider.request({method:'eth_chainId'}).then((ethChainId)=>{
             console.log(ethChainId)
+            // if(ethChainId!=='0x38'){
+            //     // uni.$emit('noBan',false)
+            // }else {
+            //     chainId=ethChainId
+            // }
             if(ethChainId!=='0x38'){
                 // uni.$emit('noBan',false)
             }else {
@@ -56,7 +61,7 @@ tokenpocketBnb.getAccounts=async function (){
             tokenpocketBnb.getProvider().request({ method: 'eth_requestAccounts'})
             .then((address)=>{
                 if(address.length>0){
-                    uni.setStorageSync('babAddress',address[0])
+                    // uni.setStorageSync('babAddress',address[0])
                     resolve(address[0])
                 }else {
                     resolve(false)
@@ -89,6 +94,7 @@ tokenpocketBnb.getBalance=async function (selectedAddress) {
                     resolve(balance)
                 })
                 .catch((e)=>{
+                    console.log(e)
                     resolve(0)
                 })
         }catch (e) {
@@ -157,6 +163,7 @@ tokenpocketBnb.getTransactionData=async function (to,money){
  * @returns {Promise<unknown>}
  */
 tokenpocketBnb.sendTransaction=function (data){
+    // eslint-disable-next-line no-async-promise-executor
     return new Promise(async (resolve, reject) => {
         console.log(data)
         try {

+ 5 - 0
src/router/index.js

@@ -5,6 +5,11 @@ Vue.use(VueRouter)
 const routes = [
   {
     path: '/',
+    name: 'index',
+    component: () => import('@/views/index/cc-index.vue') //首页
+  },
+  {
+    path: '/login',
     name: 'login',
     component: () => import('@/views/login/login_index.vue') //登录
   },

+ 5 - 3
src/utils/routerEach.js

@@ -6,6 +6,7 @@ import router from '../router/index.js'
 const whiteList = ['/','/invite']
 router.beforeEach((to, from, next) => {
   let userToken = window.localStorage.getItem('token')
+  console.log('--------------------------------aaaaaaaaaaaaaaaaaa',userToken)
   if (userToken) {
     // 已登录用户禁止访问登录页,直接跳转到目标页
     if (to.path === '/') {
@@ -18,10 +19,11 @@ router.beforeEach((to, from, next) => {
     if (whiteList.includes(to.path)) {
       next()
     } else {
-      if(from.path === '/') {
-        return
+      console.log(to.path)
+      if(to.path === '/login') {
+        next()
       }else {
-        next('/')
+        next('/login')
       }
     }
   }

+ 24 - 1
src/views/index/cc-index.vue

@@ -2,6 +2,7 @@
 import homeIndex from "@/views/home/home-index.vue";
 import myIndex from "@/views/my/my-index.vue";
 import convertIndex from "@/views/convert/convert-index.vue";
+// import tokenpocketBnb from "@/common/wallet/tokenpocket-wallet/tokenpocket-bnb";
 export default {
   components: { homeIndex, myIndex, convertIndex },
   data() {
@@ -9,8 +10,30 @@ export default {
       tab_index: 1
     };
   },
-  mounted() {},
+  mounted() {
+    this.getMyData()
+    // this.handlerDateDurationCurrent()
+  },
   methods: {
+    getMyData() {
+      // let token = uni.getStorageSync('token')
+      // if (token) {
+      //   getMemberInfo().then((res) => {
+      //     if (res.code === 1) {
+      //       this.memberData = res.data
+      //       tokenpocketBnb.getAccounts().then((babAddress)=>{
+      //         if(babAddress && this.memberData.address.toLocaleLowerCase()!==babAddress.toLocaleLowerCase()){
+      //           // uni.clearStorageSync()
+      //           // uni.reLaunch({
+      //           //   'url': 'pages/login/index'
+      //           // })
+      //         }
+      //       })
+      //     }
+      //   })
+      // }
+
+    },
     tabClick(num) {
       if(num) {
         this.tab_index = num

+ 23 - 6
src/views/login/login_index.vue

@@ -1,23 +1,40 @@
 <script>
-import {userLogin} from "@/api/member";
+import {register} from "@/api/member";
+import tokenpocketBnb from "@/common/wallet/tokenpocket-wallet/tokenpocket-bnb";
 
 export default {
   components:{},
   data() {
     return {
       formData: {
-        phone: '',
-        password: ''
+        address: '',
+        inviteCode: ''
       }
     };
   },
-  mounted(){},
+  mounted(){
+    this.getAccount()
+  },
   methods: {
+    async getAccount(){
+      console.log('---------------------------------')
+      tokenpocketBnb.getAccounts().then(async (Address) => {
+        console.log(Address)
+        if (Address) {
+          this.formData.address=Address
+          this.login()
+        } else {
+          // tools.goToError(2)
+        }
+      }).catch((e)=>{
+        console.log(e)
+        // tools.goToError(2)
+      })
+    },
     login(){
-      userLogin(this.formData).then((res) => {
+      register(this.formData).then((res) => {
         if(res.code === 1) {
           localStorage.setItem('token',res.data.token)
-          localStorage.setItem('m_id',res.data.m_id)
           this.$router.push('/cc_list')
         }else {
           this.$message.error(res.msg)

+ 0 - 35
vue.config.js

@@ -1,35 +0,0 @@
-const { defineConfig } = require('@vue/cli-service')
-module.exports = defineConfig({
-  transpileDependencies: true,
-  devServer: {
-    open: true,  // 自动打开
-    host: 'localhost',
-    proxy: { // 配置代理
-      '/api': {
-        target: 'https://adopted.jhcs888.com/',
-        changeOrigin: true, //允许跨域
-        pathRewrite: {
-          '^/api': 'api'
-        }
-      }
-    }
-  },
-  css: {
-    loaderOptions: {
-      postcss: {
-        postcssOptions: {
-          plugins: [
-            // 自动添加浏览器前缀
-            require('autoprefixer'),
-            // 单位转换插件
-            require('postcss-pxtorem')({
-              rootValue: 37.5, // 根据设计稿调整(设计稿宽度/10)
-              propList: ['*'], // 转换所有属性
-              exclude: /node_modules/ // 排除 node_modules 目录
-            })
-          ]
-        }
-      }
-    }
-  }
-})