Browse Source

feature-hub-1.0:完善注册登陆页面逻辑

feature-1.0
penny 4 years ago
parent
commit
1c65758a91
  1. 9
      api/common.js
  2. 2
      api/index.js
  3. 28
      api/userInfo.js
  4. 537
      package-lock.json
  5. 1
      package.json
  6. 18
      pages.json
  7. 94
      pages/index/index.vue
  8. 2
      pages/index/material/material.vue
  9. 140
      pages/login/login.vue
  10. 7
      pages/profit/profit.vue
  11. 328
      pages/register/register.vue
  12. 10
      pages/userInfo/userInfo.vue

9
api/common.js

@ -31,3 +31,12 @@ export function uploadBatchCompImg(data) {
})
}
// 图片上传到minio
export function uploadBanner(data) {
return request({
url: `${serviceTitle}/uploadBanner`,
method: 'post',
data
})
}

2
api/index.js

@ -5,7 +5,7 @@ const prefix = '/img/mini/creator'
//POST 传参需要用 data
// 艺术家授权登录
// 艺术家登录
export function login(data) {
return request({
url: `${serviceTitle}${prefix}/login`,

28
api/userInfo.js

@ -89,7 +89,7 @@ export function queryVerifyStatus(creatorId) {
})
}
// 成为艺术家
// 注册艺术家
export function insertCreator(data) {
return request({
url: `${serviceTitle}${prefix}/insertCreator`,
@ -98,4 +98,30 @@ export function insertCreator(data) {
})
}
// 检查手机号是否重复
export function checkPhone(data) {
return request({
url: `${serviceTitle}${prefix}/checkPhone`,
method: 'post',
data
})
}
// 检查搜索码是否重复
export function checkScanCode(data) {
return request({
url: `${serviceTitle}${prefix}/checkScanCode`,
method: 'post',
data
})
}
// 检查邀请码是否存在
export function checkInviteCode(data) {
return request({
url: `${serviceTitle}${prefix}/checkInviteCode`,
method: 'post',
data
})
}

537
package-lock.json

@ -1,469 +1,12 @@
{
"name": "bnyer-cloud-hub",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"dependencies": {
"axios": "^0.26.1",
"qs": "^6.10.3",
"vue-router": "^4.0.14",
"vuex": "^4.0.2"
}
},
"node_modules/@babel/parser": {
"version": "7.18.6",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.6.tgz",
"integrity": "sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==",
"peer": true,
"bin": {
"parser": "bin/babel-parser.js"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@vue/compiler-core": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
"integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.37",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
"integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
"peer": true,
"dependencies": {
"@vue/compiler-core": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
"integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.37",
"@vue/compiler-dom": "3.2.37",
"@vue/compiler-ssr": "3.2.37",
"@vue/reactivity-transform": "3.2.37",
"@vue/shared": "3.2.37",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
"integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
"peer": true,
"dependencies": {
"@vue/compiler-dom": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.2.0",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.0.tgz",
"integrity": "sha512-pF1G4wky+hkifDiZSWn8xfuLOJI1ZXtuambpBEYaf7Xaf6zC/pM29rvAGpd3qaGXnr4BAXU1Pxz/VfvBGwexGA=="
},
"node_modules/@vue/reactivity": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz",
"integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
"peer": true,
"dependencies": {
"@vue/shared": "3.2.37"
}
},
"node_modules/@vue/reactivity-transform": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
"integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
"peer": true,
"dependencies": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.37",
"@vue/shared": "3.2.37",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
"integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
"peer": true,
"dependencies": {
"@vue/reactivity": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
"integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
"peer": true,
"dependencies": {
"@vue/runtime-core": "3.2.37",
"@vue/shared": "3.2.37",
"csstype": "^2.6.8"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
"integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
"peer": true,
"dependencies": {
"@vue/compiler-ssr": "3.2.37",
"@vue/shared": "3.2.37"
},
"peerDependencies": {
"vue": "3.2.37"
}
},
"node_modules/@vue/shared": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz",
"integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==",
"peer": true
},
"node_modules/axios": {
"version": "0.26.1",
"resolved": "https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz",
"integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
"dependencies": {
"follow-redirects": "^1.14.8"
}
},
"node_modules/call-bind": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"dependencies": {
"function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2"
}
},
"node_modules/csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
"peer": true
},
"node_modules/estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"peer": true
},
"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/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
"node_modules/get-intrinsic": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
"integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
"has-symbols": "^1.0.3"
}
},
"node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dependencies": {
"function-bind": "^1.1.1"
},
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/has-symbols": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"peer": true,
"dependencies": {
"sourcemap-codec": "^1.4.8"
}
},
"node_modules/nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"peer": true,
"bin": {
"nanoid": "bin/nanoid.cjs"
},
"engines": {
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
"node_modules/object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz",
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
},
"node_modules/picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"peer": true
},
"node_modules/postcss": {
"version": "8.4.14",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.14.tgz",
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
"peer": true,
"dependencies": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
"engines": {
"node": "^10 || ^12 || >=14"
}
},
"node_modules/qs": {
"version": "6.11.0",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
}
},
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"dependencies": {
"call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0"
}
},
"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==",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"peer": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"peer": true
},
"node_modules/vue": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz",
"integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
"peer": true,
"dependencies": {
"@vue/compiler-dom": "3.2.37",
"@vue/compiler-sfc": "3.2.37",
"@vue/runtime-dom": "3.2.37",
"@vue/server-renderer": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"node_modules/vue-router": {
"version": "4.0.16",
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.0.16.tgz",
"integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==",
"dependencies": {
"@vue/devtools-api": "^6.0.0"
},
"peerDependencies": {
"vue": "^3.2.0"
}
},
"node_modules/vuex": {
"version": "4.0.2",
"resolved": "https://registry.npmmirror.com/vuex/-/vuex-4.0.2.tgz",
"integrity": "sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==",
"dependencies": {
"@vue/devtools-api": "^6.0.0-beta.11"
},
"peerDependencies": {
"vue": "^3.0.2"
}
}
},
"lockfileVersion": 1,
"dependencies": {
"@babel/parser": {
"version": "7.18.6",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.18.6.tgz",
"integrity": "sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw==",
"peer": true
},
"@vue/compiler-core": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
"integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/shared": "3.2.37",
"estree-walker": "^2.0.2",
"source-map": "^0.6.1"
}
},
"@vue/compiler-dom": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
"integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
"peer": true,
"requires": {
"@vue/compiler-core": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"@vue/compiler-sfc": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
"integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.37",
"@vue/compiler-dom": "3.2.37",
"@vue/compiler-ssr": "3.2.37",
"@vue/reactivity-transform": "3.2.37",
"@vue/shared": "3.2.37",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7",
"postcss": "^8.1.10",
"source-map": "^0.6.1"
}
},
"@vue/compiler-ssr": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
"integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
"peer": true,
"requires": {
"@vue/compiler-dom": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"@vue/devtools-api": {
"version": "6.2.0",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.2.0.tgz",
"integrity": "sha512-pF1G4wky+hkifDiZSWn8xfuLOJI1ZXtuambpBEYaf7Xaf6zC/pM29rvAGpd3qaGXnr4BAXU1Pxz/VfvBGwexGA=="
},
"@vue/reactivity": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.37.tgz",
"integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
"peer": true,
"requires": {
"@vue/shared": "3.2.37"
}
},
"@vue/reactivity-transform": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
"integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
"peer": true,
"requires": {
"@babel/parser": "^7.16.4",
"@vue/compiler-core": "3.2.37",
"@vue/shared": "3.2.37",
"estree-walker": "^2.0.2",
"magic-string": "^0.25.7"
}
},
"@vue/runtime-core": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
"integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
"peer": true,
"requires": {
"@vue/reactivity": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"@vue/runtime-dom": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
"integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
"peer": true,
"requires": {
"@vue/runtime-core": "3.2.37",
"@vue/shared": "3.2.37",
"csstype": "^2.6.8"
}
},
"@vue/server-renderer": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
"integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
"peer": true,
"requires": {
"@vue/compiler-ssr": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"@vue/shared": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.37.tgz",
"integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==",
"peer": true
},
"axios": {
"version": "0.26.1",
"resolved": "https://registry.npmmirror.com/axios/-/axios-0.26.1.tgz",
@ -481,18 +24,6 @@
"get-intrinsic": "^1.0.2"
}
},
"csstype": {
"version": "2.6.20",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.20.tgz",
"integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==",
"peer": true
},
"estree-walker": {
"version": "2.0.2",
"resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
"peer": true
},
"follow-redirects": {
"version": "1.15.1",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.1.tgz",
@ -526,43 +57,16 @@
"resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
"magic-string": {
"version": "0.25.9",
"resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
"integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
"peer": true,
"requires": {
"sourcemap-codec": "^1.4.8"
}
},
"nanoid": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz",
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
"peer": true
"js-md5": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/js-md5/-/js-md5-0.7.3.tgz",
"integrity": "sha512-ZC41vPSTLKGwIRjqDh8DfXoCrdQIyBgspJVPXHBGu4nZlAEvG3nf+jO9avM9RmLiGakg7vz974ms99nEV0tmTQ=="
},
"object-inspect": {
"version": "1.12.2",
"resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.2.tgz",
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
},
"picocolors": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
"peer": true
},
"postcss": {
"version": "8.4.14",
"resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.14.tgz",
"integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
"peer": true,
"requires": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
}
},
"qs": {
"version": "6.11.0",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
@ -581,37 +85,6 @@
"object-inspect": "^1.9.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"peer": true
},
"source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"peer": true
},
"sourcemap-codec": {
"version": "1.4.8",
"resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"peer": true
},
"vue": {
"version": "3.2.37",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.37.tgz",
"integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
"peer": true,
"requires": {
"@vue/compiler-dom": "3.2.37",
"@vue/compiler-sfc": "3.2.37",
"@vue/runtime-dom": "3.2.37",
"@vue/server-renderer": "3.2.37",
"@vue/shared": "3.2.37"
}
},
"vue-router": {
"version": "4.0.16",
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.0.16.tgz",

1
package.json

@ -1,6 +1,7 @@
{
"dependencies": {
"axios": "^0.26.1",
"js-md5": "^0.7.3",
"qs": "^6.10.3",
"vue-router": "^4.0.14",
"vuex": "^4.0.2"

18
pages.json

@ -80,6 +80,24 @@
}
}
,{
"path" : "pages/login/login",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/register/register",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",

94
pages/index/index.vue

@ -3,7 +3,7 @@
<view class="top">
<uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="current" :mode="mode"
field="content">
<swiper class="swiper-box" @change="change" :current="swiperDotIndex" :autoplay="autoplay"
<swiper class="swiper-box" @change="changeSwiper" :current="swiperDotIndex" :autoplay="autoplay"
:interval="interval" :duration="duration">
<swiper-item v-for="(item, index) in 3" :key="index">
<view class="swiper-item" :class="'swiper-item' + index">
@ -13,37 +13,39 @@
</swiper>
</uni-swiper-dot>
</view>
<view class="middle">
<uni-group mode="card">
<uni-grid :column="2" :square="true" :highlight="false" @change="change" :showBorder="false">
<uni-grid-item v-for="(item, index) in funcList" :index="index" :key="index">
<uni-grid :column="2" :square="true" :highlight="false" @change="change" :showBorder="true">
<uni-grid-item v-for="(val, i) in funcList" :index="i" :key="i">
<view class="grid-item-box">
<!-- <image :src="item.url" class="image" mode="aspectFill" /> -->
<uni-icons type="image" :size="30" color="#777" />
<text class="text">{{ item.title }}</text>
<text class="text">{{ val.title }}</text>
</view>
</uni-grid-item>
</uni-grid>
</uni-group>
</view>
<view class="foot">
<uni-group mode="card" title="素材数据" style="text-align:center;">
<uni-grid :column="3" :square="true" :highlight="false" @change="change">
<uni-grid-item v-for="(item, index) in list" :index="index" :key="index">
<uni-grid :column="3" :square="true" :highlight="false">
<uni-grid-item v-for="(params, v) in list" :index="v" :key="v">
<view class="grid-item-box">
<!-- <image :src="item.url" class="image" mode="aspectFill" /> -->
<uni-icons type="image" :size="30" color="#777" />
<text class="text">{{ item.text }}</text>
<text class="text">{{ item.num }}</text>
<text class="text">{{ params.text }}</text>
<text class="text">{{ params.num }}</text>
</view>
</uni-grid-item>
</uni-grid>
</uni-group>
</view>
</view>
</template>
<script>
export default {
data() {
return {
@ -101,63 +103,30 @@
]
};
},
created(){
const userInfo = uni.getStorageSync('userInfo')
if (!userInfo) {
console.log('havent userInfo')
//this.getUserInfo()
} else {
console.log('have userInfo')
}
},
methods: {
changeSwiper(e){
this.current = e.detail.current;
},
change(e) {
let {
index
} = e.detail
this.funcList[index].badge && this.funcList[index].badge++
this.pageUrl = this.funcList[index].url
this.pageUrl = this.funcList[e.detail.index].url
console.log('this.pageUrl',this.pageUrl)
/** 跳转指定页面*/
uni.navigateTo({
url: this.pageUrl
});
uni.navigateTo({
url: this.pageUrl
});
},
clickItem(e) {
this.swiperDotIndex = e
console.log('this.swiperDotIndex', this.swiperDotIndex)
},
//
getUserInfo() {
wx.login({
force: true,
success: res => {
wx.getUserInfo({
withCredentials: true,
success: userInfo => {
const params = {
code: res.code,
encryptedData: userInfo.encryptedData,
iv: userInfo.iv
}
//
console.log('params', params);
loginWx(params).then(res => {
if (res.data.code === 200) {
uni.setStorage({
key: 'userInfo',
data: res.data.data.userInfo,
})
} else {
uni.showToast({
title: res.data.msg,
icon: 'none'
})
}
}).catch(res => {})
console.log(`getUserInfo 调用成功`, userInfo);
},
fail(userInfo) {
console.log(`getUserInfo 调用失败`);
},
});
},
fail(res) {
console.log(`login 调用失败`);
},
});
console.log('this.swiperDotIndex', this.swiperDotIndex)
},
}
}
@ -249,9 +218,4 @@
background-color: #007aff;
}
.active {
border-style: solid;
border-color: #007aff;
border-width: 1px;
}
</style>

2
pages/index/material/material.vue

@ -9,7 +9,7 @@
data() {
return {
}
}
},
methods: {

140
pages/login/login.vue

@ -0,0 +1,140 @@
<template>
<view>
<uni-forms validate-trigger='blur' :modelValue="formData" ref="form">
<uni-forms-item label="手机号" required name="phone">
<uni-easyinput v-model="formData.phone" placeholder="请输入手机号" />
</uni-forms-item>
<uni-forms-item label="密码" required name="password">
<uni-easyinput type="password" v-model="formData.password" placeholder="请输入密码" />
</uni-forms-item>
</uni-forms>
<button type="primary" @click="login(formData)">登录</button>
</view>
</template>
<script>
import {
login
} from '@/api/index.js'
import md5 from "js-md5"
export default {
data() {
return {
phoneFlag: false,
passwordFlag: false,
formData: {
phone: '',
password: ''
},
rules: {
password: {
rules: [{
required: true,
errorMessage: '请输入密码'
}, {
minLength: 8,
errorMessage: '密码长度最短 {minLength} 个字符'
}, {
validateFunction: (value, data) => {
if (value.length < 6) {
this.passwordFlag = false
callback('密码长度最短8个字符')
}else{
this.passwordFlag = true
return true
}
}
}]
},
phone: {
rules: [{
required: true,
errorMessage: '请输入手机号'
},
{
pattern: '^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$',
errorMessage: '请输入正确的手机号'
},
{
validateFunction: (data) => {
// Promise
return new Promise((resolve, reject) => {
if (data.length = 11) {
this.phoneFlag = true
resolve()
} else {
this.phoneFlag = false
reject(new Error('手机号长度应为11个字符'))
}
})
}
}
]
}
}
}
},
mounted() {
//
this.$refs.form.setRules(this.rules);
},
methods: {
login(e) {
console.log(e)
let that = this
console.log('that.phoneFlag', that.phoneFlag)
console.log('that.passwordFlag', that.passwordFlag)
if (that.phoneFlag === true && that.passwordFlag === true) {
console.log('全部达成')
uni.showLoading({
title: '艺术家登录中!',
duration: 3000,
success() {
let pwd = md5(that.formData.password)
const param = {
phone: that.formData.phone,
password: pwd
}
console.log('form', param)
login(param).then(response => {
if (response.data.code === 200) {
//
uni.redirectTo({
url: '../index/index',
success() {
uni.showToast({
title: '艺术家登录成功!',
icon: 'success',
duration: 1500
})
}
});
} else {
uni.showToast({
title: response.data.msg,
icon: 'none'
})
}
})
},
fail: () => {
uni.hideLoading();
uni.showToast("登录失败")
},
complete: function() {
uni.hideLoading();
}
})
} else {
console.log('尚未全部达成')
}
}
}
}
</script>
<style>
</style>

7
pages/profit/profit.vue

@ -18,6 +18,9 @@
</template>
<script>
import {
queryFrontProfitInfo
} from '@/api/profit.js'
export default {
data() {
return {
@ -40,7 +43,7 @@
</script>
<style lang="scss">
.container{
font-family:Franklin Gothic Medium, Arial Narrow, Arial, sans-serif;
.container {
font-family: Franklin Gothic Medium, Arial Narrow, Arial, sans-serif;
}
</style>

328
pages/register/register.vue

@ -0,0 +1,328 @@
<template>
<view>
<uni-forms :modelValue="formData" validate-trigger='blur' ref="form">
<uni-forms-item label="昵称" required name="name">
<uni-easyinput v-model="formData.name" placeholder="请输入昵称" />
</uni-forms-item>
<uni-forms-item label="手机号" required name="phone">
<uni-easyinput v-model="formData.phone" placeholder="请输入手机号" />
</uni-forms-item>
<uni-forms-item label="密码" required name="password">
<uni-easyinput type="password" v-model="formData.password" placeholder="请输入密码" />
</uni-forms-item>
<uni-forms-item label="搜索码" required name="scanCode">
<uni-easyinput v-model="formData.scanCode" placeholder="请输入搜索码" />
</uni-forms-item>
<uni-forms-item label="邀请码" required name="inviteCode">
<uni-easyinput v-model="formData.inviteCode" placeholder="请输入邀请码" />
</uni-forms-item>
<uni-forms-item label="简介" name="intro">
<uni-easyinput v-model="formData.intro" placeholder="请输入简介" />
</uni-forms-item>
<uni-forms-item label="第三方平台账号详情地址" required name="url">
<uni-easyinput v-model="formData.url" placeholder="请输入第三方平台账号详情地址" />
</uni-forms-item>
<uni-forms-item label="头像" required name="img">
<uni-file-picker limit="1" file-mediatype="image" title="选择一张头像图片上传吧!" file-extname="png,jpg,jpeg"
@success="imgUploadSuccess" @fail="imgUploadFail" @select="uploadImg" @delete="deleteImg">
</uni-file-picker>
</uni-forms-item>
</uni-forms>
<button type="primary" @click="register(formData)">注册</button>
</view>
</template>
<script>
import {
insertCreator,
checkPhone,
checkScanCode,
checkInviteCode
} from '@/api/userInfo.js'
import {
uploadBatch,
uploadBanner
} from '@/api/common.js'
import md5 from "js-md5"
export default {
data() {
return {
phoneFlag: false,
scanCodeFlag: false,
inviteCodeFlag: false,
formData: {
name: '',
phone: '',
password: '',
scanCode: '',
inviteCode: '',
intro: '',
url: '',
img: ''
},
rules: {
name: {
rules: [{
required: true,
errorMessage: '请输入昵称'
},
{
minLength: 1,
maxLength: 8,
errorMessage: '昵称长度应在 {minLength} 到 {maxLength} 个字符'
}
],
},
password: {
rules: [{
required: true,
errorMessage: '请输入密码'
}, {
minLength: 8,
errorMessage: '密码长度最短 {minLength} 个字符'
}]
},
phone: {
rules: [{
required: true,
errorMessage: '请输入手机号'
},
{
pattern: '^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$',
errorMessage: '请输入正确的手机号'
},
{
validateFunction: () => {
return new Promise((resolve, reject) => {
const params = {
phone: this.formData.phone
}
checkPhone(params).then(res => {
if (res.data.code === 105001) {
// callback()new Error('')
this.phoneFlag = false;
reject(new Error(res.data.msg))
} else {
// callback()
this.phoneFlag = true;
resolve()
}
})
})
},
}
],
},
scanCode: {
rules: [{
required: true,
errorMessage: '请输入搜索码'
},
{
minLength: 1,
maxLength: 6,
errorMessage: '搜索码长度应在 {minLength} 到 {maxLength} 个字符'
},
{
validateFunction: () => {
return new Promise((resolve, reject) => {
const params = {
scanCode: this.formData.scanCode
}
checkScanCode(params).then(res => {
console.log('请求scanCode')
if (res.data.code === 105003) {
// callback()new Error('')
this.scanCodeFlag = false;
reject(new Error(res.data.msg))
} else {
// callback()
this.scanCodeFlag = true;
resolve()
}
})
})
},
}
],
},
inviteCode: {
rules: [{
required: true,
errorMessage: '请输入邀请码'
}, {
minLength: 6,
errorMessage: '邀请码长度最短 {minLength} 个字符'
}, {
validateFunction: () => {
return new Promise((resolve, reject) => {
const params = {
inviteCode: this.formData.inviteCode
}
checkInviteCode(params).then(res => {
console.log('请求inviteCode')
if (res.data.code === 105002) {
// callback()new Error('')
this.inviteCodeFlag = false;
reject(new Error(res.data.msg))
} else {
// callback()
this.inviteCodeFlag = true;
resolve()
}
})
})
},
}]
},
url: {
rules: [{
required: true,
errorMessage: '请输入第三方平台账号详情地址'
}, {
format: 'url',
errorMessage: '请输入以"https://"格式开头格式第三方平台账号详情地址'
}]
},
img: {
rules: [{
required: true,
errorMessage: '请选择一张头像图片上传'
}]
}
}
}
},
mounted(){
//
this.$refs.form.setRules(this.rules);
},
methods: {
//
uploadImg(e) {
console.log('选择了文件', e)
let that = this
uni.showLoading({
title: "上传中",
success() {
const tempFilePaths = e.tempFilePaths;
for (var i = 0; i < tempFilePaths.length; i++) {
const tempFile = e.tempFiles[i];
uni.uploadFile({
url: 'http://bnyer.vaiwan.com/file/uploadBatch',
filePath: tempFilePaths[i],
name: 'files',
success: (uploadFileRes) => {
uni.hideLoading();
const result = JSON.parse(uploadFileRes.data);
console.log('result', result)
if (result.code === 200) {
that.$set(result.data, "url", tempFile.url)
that.formData.img = result.data[0]
console.log('that.formDataInner',that.formData)
uni.showToast({
title: '上传成功',
icon: 'success',
duration: 1500
})
}
},
fail: () => {
uni.hideLoading();
uni.showToast("上传失败")
},
complete: function() {
uni.hideLoading();
}
});
}
}
});
},
//
deleteImg(e) {
console.log('图片删除成功')
},
//
imgUploadSuccess(e) {
console.log('上传成功')
},
//
imgUploadFail(e) {
console.log('上传失败:', e)
},
//
register(e) {
console.log(e)
let that = this
console.log('that.phoneFlag',that.phoneFlag)
console.log('that.scanCodeFlag',that.scanCodeFlag)
console.log('that.inviteCodeFlag',that.inviteCodeFlag)
if(that.phoneFlag === true && that.scanCodeFlag === true && that.inviteCodeFlag === true){
console.log('全部达成')
uni.showLoading({
title: '艺术家注册中!',
duration: 3000,
success() {
let pwd = md5(that.formData.password)
const param = {
name: that.formData.name,
scanCode: that.formData.scanCode,
phone: that.formData.phone,
password: pwd,
img: that.formData.img,
intro: that.formData.intro,
inviteCode: that.formData.inviteCode,
url: that.formData.url
}
console.log('form', param)
insertCreator(param).then(response => {
if (response.data.code === 200) {
//
uni.redirectTo({
url: '../login/login',
success() {
uni.showToast({
title: '艺术家注册成功!请耐心等待审核或联系客服',
icon: 'none',
duration: 4000
})
}
});
} else {
uni.showToast({
title: response.data.msg,
icon: 'none'
})
}
})
},
fail: () => {
uni.hideLoading();
uni.showToast("注册失败")
},
complete: function() {
uni.hideLoading();
}
})
}else{
console.log('尚未全部达成')
uni.showToast({
title: '注册验证尚未全部通过,请更正后提交!',
icon: 'none',
duration: 3000
})
}
}
}
}
</script>
<style>
</style>

10
pages/userInfo/userInfo.vue

@ -9,7 +9,7 @@
<image :src="userInfo.img" mode=""></image>
</view>
<view class="right">
{{userInfo.username}}
{{userInfo.name}}
</view>
</view>
<view class="middle">
@ -65,15 +65,19 @@
title: '提现记录',
img: ''
}],
pageUrl: ''
pageUrl: '',
userInfo: {}
}
},
created() {
this.userInfo = uni.getStorageSync('userInfo')
console.log('this.userInfo',this.userInfo)
},
methods: {
change(e) {
let {
index
} = e.detail
this.list[index].badge && this.list[index].badge++
this.pageUrl = this.list[index].url
console.log('this.pageUrl',this.pageUrl)
/** 跳转指定页面*/

Loading…
Cancel
Save