This commit is contained in:
YeMingfei666 2025-01-07 09:06:33 +08:00
commit d41df28edd
54 changed files with 3795 additions and 171 deletions

128
App.vue
View File

@ -1,18 +1,122 @@
<script>
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
import { init } from '@/api/init.js'
import http from '@/http/http.js'
export default {
onLaunch: function () {
console.log('App Launch')
// const systemInfo = uni.getSystemInfoSync();
// const isA = systemInfo.platform === 'android'
// if (isA) {
// uni.setStorageSync('isAI', true)
// } else {
// uni.setStorageSync('isAI', false)
// }
},
onShow: function () {
init()
// ios
http.request({
url: '/common/type/919',
}).then(res => {
if (res.code == 0) {
uni.setStorageSync('isExamine', res.data.value)
}
})
},
onHide: function () {
console.log('App Hide')
}
}
</script>
<style lang="scss">
/*每个页面公共css */
@import "uview-plus/index.scss";
/*每个页面公共css */
@import "uview-plus/index.scss";
ul,
li {
list-style: none;
}
.show {
display: none !important;
}
.hidden {
display: block !important;
}
page,
view,
scroll-view,
swiper,
swiper-item,
match-media,
movable-area,
movable-view,
cover-view,
cover-image,
icon,
text,
rich-text,
progress,
button,
checkbox-group,
editor,
form,
input,
label,
picker,
picker-view,
radio-group,
slider,
switch,
textarea,
navigator,
audio,
camera,
image,
video,
live-player,
live-pusher,
map,
canvas,
web-view {
box-sizing: border-box;
padding: 0;
margin: 0;
text-decoration: none;
outline: none;
}
.initStyle {
padding: 20rpx;
background-color: #2a2a2a;
height: 100vh;
color: #fff;
}
.fc {
color: #f4f693;
}
.inputClass {
line-height: 80rpx;
}
.inputClass input {
background-color: #fff;
height: 80rpx;
padding: 10rpx;
color: #000;
}
.result {
position: absolute;
font-size: 100rpx;
left: 50%;
top: 800rpx;
transform: translateX(-50%);
}
</style>

35
api/index/index.js Normal file
View File

@ -0,0 +1,35 @@
import http from '@/http/http.js'
// 获取弹窗信息
export const announcement = (data) => {
return http.request({
url: '/announcement',
data
})
}
// 获取公告
export const messageselectMessage = (data) => {
return http.request({
url: '/message/selectMessage',
data: {
page: 1,
limit: 5,
state: 1
}
})
}
// 获取推荐视频
export const courseselectCourse = (data) => {
return http.request({
url: '/course/selectCourse',
data
})
}
// 搜索
export const selectCourseTitles = (data) => {
return http.request({
url: '/course/selectCourseTitles',
data
})
}

13
api/init.js Normal file
View File

@ -0,0 +1,13 @@
import http from '@/http/http.js'
export async function init() {
//热搜词
http.request({
url: 'common/type/249',
}).then(res => {
if (res.code == 0) {
uni.setStorageSync('moreSearch', res.data.value)
}
})
}

12
api/me/me.js Normal file
View File

@ -0,0 +1,12 @@
import http from '@/http/http.js'
/**
* 获取最近观看
*/
export const selectByUserId = (data) => {
return http.request({
url: '/courseCollect/selectByUserId',
data: data,
method: 'GET'
})
}

View File

@ -1,16 +1,18 @@
// 导入全局属性
import {
sm4DecryptByResData
} from '@/utils/encryptUtil.js'
import infoBox from "@/utils/infoBox.js"
import { reject } from 'lodash';
import {
reject
} from 'lodash';
import config from '@/commons/config.js'
// 测试服
let baseUrl = config.baseApiUrl
let baseUrl = config.baseApiUrl + 'app'
const loadingShowTime = 200
function getHeader(){
const headerObject={}
function getHeader() {
const headerObject = {}
headerObject["token"] = uni.getStorageSync('token')
return headerObject
}
@ -61,7 +63,7 @@ function commonsProcess(showLoading, httpReqCallback) {
// http响应码不正确
if (statusCode != 200 && statusCode != 204 && statusCode != 201) {
isShowErrorToast = true
data.message=data.message=='Bad credentials'?'用户名或密码错误':data.message
data.message = data.message == 'Bad credentials' ? '用户名或密码错误' : data.message
infoBox.showToast(data.message || '服务器异常')
return Promise.reject(bodyData) // 跳转到catch函数
}
@ -79,15 +81,16 @@ function commonsProcess(showLoading, httpReqCallback) {
return Promise.resolve(bodyData)
}).catch(res => {
if(res.status==401){
infoBox.showErrorToast(res.message||'请登录').then(() => {
uni.redirectTo({url: '/pages/login/index'})
if (res.status == 401) {
infoBox.showErrorToast(res.message || '请登录').then(() => {
uni.redirectTo({
url: '/pages/login/index'
})
reject()
})
}
if(res.status==500){
infoBox.showErrorToast(res.message||'服务器异常').then(() => {
})
if (res.status == 500) {
infoBox.showErrorToast(res.message || '服务器异常').then(() => {})
}
reqFinishFunc(); // 请求完毕的动作
@ -134,17 +137,30 @@ function request(args) {
return commonsProcess(showLoading, () => {
return uni.request(
Object.assign({
url: baseUrl + url,
data: params||data,
url: slash(baseUrl, url),
data: params || data,
method: method,
header: getHeader()
header: getHeader()
}, extParams)
)
})
}
// 处理/
function slash(baseUrl, url) {
let u = ''
if (baseUrl[baseUrl.length - 1] == '/') {
u += baseUrl
} else {
u = u + baseUrl + '/'
}
if (url[0] == '/') {
u = u + url.slice(1)
} else {
u = u + url
}
return u
}
// 上传
function upload(uri, data, file, showLoading = true, extParams = {}) {
@ -156,14 +172,14 @@ function upload(uri, data, file, showLoading = true, extParams = {}) {
url: baseUrl + uri,
formData: data,
name: "file",
filePath: file.path||file.url,
header: getHeader()
filePath: file.path || file.url,
header: getHeader()
}, extParams)
).then((httpData) => {
// uni.upload 返回bodyData 的是 string类型。 需要解析。
httpData.data = JSON.parse(httpData.data)
return Promise.resolve(httpData)
}).catch(err=>{
}).catch(err => {
uni.hideLoading()
infoBox.showErrorToast(`上传失败`)
})

324
package-lock.json generated Normal file
View File

@ -0,0 +1,324 @@
{
"name": "new_app",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"clipboard": "^2.0.11",
"dayjs": "^1.11.13",
"gm-crypto": "^0.1.8",
"jsbn": "^1.1.0",
"lodash": "^4.17.21",
"pre-commit": "^1.2.2",
"to-arraybuffer": "^1.0.1",
"uview-plus": "^3.3.61"
}
},
"node_modules/base64-js": {
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
},
"node_modules/clipboard": {
"version": "2.0.11",
"resolved": "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz",
"integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==",
"dependencies": {
"good-listener": "^1.2.2",
"select": "^1.1.2",
"tiny-emitter": "^2.0.0"
}
},
"node_modules/concat-stream": {
"version": "1.6.2",
"resolved": "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz",
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
"engines": [
"node >= 0.8"
],
"dependencies": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^2.2.2",
"typedarray": "^0.0.6"
}
},
"node_modules/core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
},
"node_modules/cross-spawn": {
"version": "5.1.0",
"resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz",
"integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==",
"dependencies": {
"lru-cache": "^4.0.1",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
"node_modules/dayjs": {
"version": "1.11.13",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz",
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
},
"node_modules/delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
},
"node_modules/gm-crypto": {
"version": "0.1.12",
"resolved": "https://registry.npmmirror.com/gm-crypto/-/gm-crypto-0.1.12.tgz",
"integrity": "sha512-ercd9ionBqxR+/FCXICr0eo+jzC8BvSK0j9L7/eB0uwbyjgeMPTdBNrcQTqIuRXOtOAKSGsTNvtLYFnIxNEoFg==",
"dependencies": {
"buffer": "^5.7.0",
"jsbn": "^1.1.0",
"to-arraybuffer": "^1.0.1"
}
},
"node_modules/good-listener": {
"version": "1.2.2",
"resolved": "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz",
"integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
"dependencies": {
"delegate": "^3.1.2"
}
},
"node_modules/ieee754": {
"version": "1.2.1",
"resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
},
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
"node_modules/jsbn": {
"version": "1.1.0",
"resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-1.1.0.tgz",
"integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A=="
},
"node_modules/lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lru-cache": {
"version": "4.1.5",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
"dependencies": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"node_modules/os-shim": {
"version": "0.1.3",
"resolved": "https://registry.npmmirror.com/os-shim/-/os-shim-0.1.3.tgz",
"integrity": "sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/pre-commit": {
"version": "1.2.2",
"resolved": "https://registry.npmmirror.com/pre-commit/-/pre-commit-1.2.2.tgz",
"integrity": "sha512-qokTiqxD6GjODy5ETAIgzsRgnBWWQHQH2ghy86PU7mIn/wuWeTwF3otyNQZxWBwVn8XNr8Tdzj/QfUXpH+gRZA==",
"hasInstallScript": true,
"dependencies": {
"cross-spawn": "^5.0.1",
"spawn-sync": "^1.0.15",
"which": "1.2.x"
}
},
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
},
"node_modules/pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ=="
},
"node_modules/readable-stream": {
"version": "2.3.8",
"resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
"dependencies": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/select": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz",
"integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
},
"node_modules/shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
"dependencies": {
"shebang-regex": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/spawn-sync": {
"version": "1.0.15",
"resolved": "https://registry.npmmirror.com/spawn-sync/-/spawn-sync-1.0.15.tgz",
"integrity": "sha512-9DWBgrgYZzNghseho0JOuh+5fg9u6QWhAWa51QC7+U5rCheZ/j1DrEZnyE0RBBRqZ9uEXGPgSSM0nky6burpVw==",
"hasInstallScript": true,
"dependencies": {
"concat-stream": "^1.4.7",
"os-shim": "^0.1.2"
}
},
"node_modules/string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dependencies": {
"safe-buffer": "~5.1.0"
}
},
"node_modules/tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
},
"node_modules/to-arraybuffer": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
"integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA=="
},
"node_modules/typedarray": {
"version": "0.0.6",
"resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz",
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
},
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
},
"node_modules/uview-plus": {
"version": "3.3.61",
"resolved": "https://registry.npmmirror.com/uview-plus/-/uview-plus-3.3.61.tgz",
"integrity": "sha512-1IdZMYd7KuByW+bfBseEuSaKcYB6F4q8bGqAru1UDKIkRVTxkPlqvsTE8Q0+I0+jk6q1ov1KbGFDuyXxVzXcCg==",
"dependencies": {
"clipboard": "^2.0.11",
"dayjs": "^1.11.3"
},
"engines": {
"HBuilderX": "^3.1.0"
}
},
"node_modules/which": {
"version": "1.2.14",
"resolved": "https://registry.npmmirror.com/which/-/which-1.2.14.tgz",
"integrity": "sha512-16uPglFkRPzgiUXYMi1Jf8Z5EzN1iB4V0ZtMXcHZnwsBtQhhHeCqoWw7tsUY42hJGNDWtUsVLTjakIa5BgAxCw==",
"dependencies": {
"isexe": "^2.0.0"
},
"bin": {
"which": "bin/which"
}
},
"node_modules/yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A=="
}
}
}

View File

@ -9,18 +9,118 @@
}
},
"pages": [ //pageshttps://uniapp.dcloud.io/collocation/pages
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "uni-app"
}
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},{
"path": "pages/video/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},{
"path": "pages/task/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},{
"path": "pages/chasingDrama/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom",
"enablePullDownRefresh": true
}
},{
"path": "pages/me/index",
"style": {
"navigationBarTitleText": "",
"navigationStyle": "custom"
}
},{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": "登录",
"navigationStyle": "custom"
}
},{
"path": "pages/login/register",
"style": {
"navigationBarTitleText": "注册",
"navigationStyle": "custom"
}
},{
"path": "pages/login/registerApp",
"style": {
"navigationBarTitleText": "注册",
"navigationStyle": "custom"
}
},{
"path": "pages/login/forgetPwd",
"style": {
"navigationBarTitleText": "忘记密码",
"navigationStyle": "custom"
}
},{
"path": "pages/me/userInfo",
"style": {
"navigationBarTitleText": "个人资料"
}
},
{
"path" : "pages/index/search/index",
"style" :
{
"navigationBarTitleText" : "搜索"
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"color": "#333333",
"selectedColor": "#FF7581",
"backgroundColor": "#FFFFFF",
"borderStyle": "black",
"list": [
{
"pagePath": "pages/index/index",
"iconPath": "static/tabbar/index.png",
"selectedIconPath": "static/tabbar/index_2.png",
"text": "小剧场"
},{
"pagePath": "pages/video/index",
"iconPath": "static/tabbar/learn.png",
"selectedIconPath": "static/tabbar/learn_2.png",
"text": "推荐"
},
{
"pagePath": "pages/task/index",
"iconPath": "static/tabbar/task.png",
"selectedIconPath": "static/tabbar/task_2.png",
"text": "任务"
},
{
"pagePath": "pages/chasingDrama/index",
"iconPath": "static/tabbar/zhuiju.png",
"selectedIconPath": "static/tabbar/zhuiju_2.png",
"text": "追剧"
},
{
"pagePath": "pages/me/index",
"iconPath": "static/tabbar/me.png",
"selectedIconPath": "static/tabbar/me_2.png",
"text": "我的"
}
]
},
"uniIdRouter": {}
}

View File

@ -0,0 +1,195 @@
<template>
<view class="container">
<view class="u-status-bar"></view>
<view class="list-wrap">
<view class="title-wrap">
<view class="title">最近观看</view>
<view class="more">更多</view>
</view>
<view class="list">
<view class="item">
<view class="cover">
<image class="img" src="https://img0.baidu.com/it/u=966333451,3199467079&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=714" mode="aspectFill"></image>
<view class="num">第三集</view>
</view>
<view class="intro-wrap">
<view class="name">我在八十年代当后妈</view>
<view class="t">言情</view>
</view>
</view>
<view class="item">
<view class="cover">
<image class="img" src="https://img0.baidu.com/it/u=966333451,3199467079&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=714" mode="aspectFill"></image>
<view class="num">第三集</view>
</view>
<view class="intro-wrap">
<view class="name">我在八十年代当后妈</view>
<view class="t">言情</view>
</view>
</view>
<view class="item">
<view class="cover">
<image class="img" src="https://img0.baidu.com/it/u=966333451,3199467079&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=714" mode="aspectFill"></image>
<view class="num">第三集</view>
</view>
<view class="intro-wrap">
<view class="name">我在八十年代当后妈</view>
<view class="t">言情</view>
</view>
</view>
<view class="item">
<view class="cover">
<image class="img" src="https://img0.baidu.com/it/u=966333451,3199467079&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=714" mode="aspectFill"></image>
<view class="num">第三集</view>
</view>
<view class="intro-wrap">
<view class="name">我在八十年代当后妈</view>
<view class="t">言情</view>
</view>
</view>
<view class="item">
<view class="cover">
<image class="img" src="https://img0.baidu.com/it/u=966333451,3199467079&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=714" mode="aspectFill"></image>
<view class="num">第三集</view>
</view>
<view class="intro-wrap">
<view class="name">我在八十年代当后妈</view>
<view class="t">言情</view>
</view>
</view>
</view>
</view>
<view class="list-wrap">
<view class="title-wrap">
<view class="title">我的追剧</view>
<view class="more">更多</view>
</view>
<view class="list">
<view class="item">
<div class="item-content">
<view class="cover">
<image class="img" src="https://img0.baidu.com/it/u=966333451,3199467079&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=714" mode="aspectFill"></image>
<view class="num">第三集</view>
</view>
<view class="intro-wrap">
<view class="name">我在八十年代当后妈</view>
<view class="t">言情</view>
</view>
</div>
</view>
</view>
</view>
</view>
</template>
<script setup>
import { reactive } from 'vue';
import { selectByUserId } from '@/api/me/me.js';
import { onLoad, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app';
async function selectByUserIdAjax() {
try {
const res1 = await selectByUserId({ page: 1, limit: 6, classify: 3 });
const res2 = await selectByUserId({ page: 1, limit: 6, classify: 6 });
console.log(res1);
console.log(res2);
} catch (error) {
console.log(error);
}
}
const data = reactive({
list1: [], //
list2: [] //
});
//
onReachBottom(() => {});
//
onPullDownRefresh(() => {
selectByUserIdAjax();
});
//
onLoad(() => {
selectByUserIdAjax();
});
</script>
<style lang="scss">
page {
background: #f5f7ff;
}
</style>
<style scoped lang="scss">
.container {
color: #333;
font-size: 28upx;
}
.list-wrap {
margin-bottom: 40upx;
.title-wrap {
display: flex;
justify-content: space-between;
align-items: center;
padding: 28upx;
.title {
font-weight: bold;
font-size: 32upx;
}
.more {
color: #999;
}
}
.list {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(auto, 1fr);
grid-column-gap: 28upx;
grid-row-gap: 28upx;
padding: 0 28upx;
.item {
width: 100%;
overflow: hidden;
background-color: #fff;
border-radius: 20upx;
.cover {
height: 200upx;
position: relative;
.img {
width: 100%;
height: 100%;
}
.num {
padding: 4upx 16upx;
border-radius: 8upx;
background: rgba(0, 0, 0, 0.3);
backdrop-filter: blur(5px);
position: absolute;
right: 8upx;
bottom: 8upx;
color: #fff;
font-size: 24upx;
}
}
.intro-wrap {
padding: 20upx;
.name {
width: 180upx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
line-height: 32upx;
font-weight: bold;
}
.t {
color: #999;
font-size: 24upx;
margin-top: 8upx;
}
}
}
}
}
</style>

View File

@ -0,0 +1,62 @@
<template>
<view class="contentlist">
<view class="liststyle" v-for="item in props.list" :key="item.courseId" @tap="seVideo(item)">
<image :src="item.titleImg" style="width: 188rpx;height: 247rpx;border-radius:21rpx 21rpx 21rpx 21rpx"
mode=""></image>
<view style="color: #333333;">
{{item.title.slice(0,6)}}
</view>
<view style="color: #999999;">
{{item.courseLabel}}
</view>
</view>
</view>
</template>
<script setup>
import {
returnIsSafari
} from '@/utils/app.js'
const props = defineProps({
list: {
type: Array,
default: []
},
})
function seVideo(item) {
// uni.navigateTo({
// url: '/me/detail/detail?id=' + item.courseId + '&courseDetailsId=' + item.courseDetailsId +
// '&tt_album_id=' + item.dyCourseId + '&tt_episode_id=' + item
// .dyEpisodeId
// })
}
</script>
<style scoped lang="scss">
.contentlist {
display: flex;
align-items: center;
justify-content: space-around;
flex-wrap: wrap;
margin-top: 10rpx;
padding: 0 26rpx;
.liststyle {
border-radius: 21rpx 21rpx 21rpx 21rpx;
width: 30%;
margin-top: 20rpx;
>view {
font-weight: 400;
font-size: 25rpx;
text-align: left;
}
}
.liststyle:last-child {
margin-right: auto;
margin-left: 6rpx;
}
}
</style>

View File

@ -1,14 +1,240 @@
<template>
<view class="indexStyle">
<image src="@/static/index/indexbh.png" mode="">
</image>
<view class="indexStyleTwo">
<image src="@/static/logo.png" mode=""></image>
<view @tap="moreVideo">
<image src="@/static/sosuo.png" style="height: 34rpx;width: 34rpx;" mode=""></image>
点击搜索更多好剧
</view>
</view>
<template v-if="datas.noticeList.length > 0">
<view class="gongao">
<view class="gongaoicon">
公告
</view>
<swiper :autoplay="true" :vertical="true" :interval="4000" :circular="true" :indicator-dots="false"
class="swiperstyle">
<swiper-item @tap='goMsg(item.url)' v-for="(item, index) in datas.noticeList" :key="index">
<view style="height: 80rpx;line-height: 80rpx;">{{ item.title }}</view>
</swiper-item>
</swiper>
</view>
</template>
</view>
<view class="navTop">
<view :style="datas.active == 1 ? 'color:#ff6b7f' : ''" @tap="getrecomVideo('', 1)">
最新
</view>
<view :style="datas.active == 2 ? 'color:#ff6b7f' : ''" @tap="getrecomVideo('1', 2)">
排行
</view>
<view :style="datas.active == 3 ? 'color:#ff6b7f' : ''" @tap="getrecomVideo('2', 3)">
最热
</view>
<view :style="datas.active == 4 ? 'color:#ff6b7f' : ''" @tap="getrecomVideo('1', 4)">
剧情
</view>
<view :style="datas.active == 5 ? 'color:#ff6b7f' : ''" @tap="getrecomVideo('2', 5)">
飙升
</view>
</view>
<contentlist :list='datas.list'></contentlist>
<!-- <u-image v-if="isShowMoneyPay" @click="goMsg('/me/VjgyqAzklr/VjgyqAzklr')" :src="`../../static/red-pack-new.gif`"
style="width: 200rpx;height: 200rpx;position: fixed;right: 10rpx;bottom: 180rpx;"></u-image> -->
<u-modal :show="datas.ruleShow" v-if="datas.isExamine == 0" confirm-text="知道了" @confirm='datas.ruleShow = false'
:title="datas.rule_title" :title-style="{ fontWeight: '700' }" confirm-color="rgb(255, 117, 129)">
<view class="" style="padding-top: 30rpx;text-align: left;">
<scroll-view scroll-y="true" style="max-height: 50vh;">
<rich-text style="color:#666" :nodes="datas.rule_content"></rich-text>
</scroll-view>
</view>
</u-modal>
</template>
<script setup>
import http from '@/http/http.js'
http.request({
url:'app/common/getAppUseKv'
}).then(res=>{
console.log(res);
import {
reactive
} from 'vue';
import { announcement, messageselectMessage,courseselectCourse } from '@/api/index/index.js'
import {
onLoad,
onReachBottom
} from '@dcloudio/uni-app'
import contentlist from './components/contentlist.vue'
import http from '@/http/http.js'
let datas = reactive({
noticeList: [], //
active: 1, //
list: [], //
page: 1, //
ruleShow: false,
rule_title: '', //
rule_content: '', //
//ios 1
isExamine: uni.getStorageSync('isExamine')
})
onLoad(() => {
getMsg()
getrecomVideo()
getPop()
})
onReachBottom(() => {
++datas.page
getrecomVideo()
})
//
async function getPop() {
let res = await announcement()
if (res.code == 0) {
if (res.data && res.data.state == 1) {
datas.ruleShow = true
datas.rule_title = res.data.title
datas.rule_content = res.data.content
}
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
}
//
function moreVideo() {
uni.navigateTo({
url: '/pages/index/search/index'
});
}
//
async function getMsg() {
let res = await messageselectMessage()
if (res.code == 0) {
datas.noticeList = res.data.list
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
}
//
async function getrecomVideo(sort, active = 1) {
datas.active = active
if (sort) {
datas.page = 1
}
let res = await courseselectCourse({
page: datas.page,
limit: 12,
sort: sort,
classifyId: ''
})
if (res.code == 0) {
if (datas.page == 1) {
datas.list = res.data.list
} else {
datas.list = [...datas.list, ...res.data.list]
}
} else {
uni.showToast({
title: res.msg,
duration: 1000,
icon: 'none'
});
}
}
</script>
<style>
</style>
<style lang="scss" scoped>
.indexStyle {
height: 555rpx;
position: relative;
>image {
width: 100%;
height: 555rpx;
position: absolute;
}
.indexStyleTwo {
display: flex;
align-items: center;
justify-content: space-between;
padding: 88rpx 25rpx;
>image {
width: 187rpx;
height: 50rpx;
}
>view {
z-index: 50;
width: 236rpx;
line-height: 43rpx;
background: rgba(255, 255, 255, 0.29);
border-radius: 7rpx 7rpx 7rpx 7rpx;
font-weight: 400;
font-size: 21rpx;
color: rgba(255, 255, 255, 0.85);
display: flex;
align-items: center;
}
}
.gongao {
position: absolute;
bottom: 75rpx;
left: 70rpx;
border-radius: 21rpx 21rpx 21rpx 21rpx;
width: 611rpx;
height: 78rpx;
background-color: rgba(255, 255, 255, .65);
display: flex;
align-items: center;
padding: 12rpx;
box-sizing: border-box;
.gongaoicon {
color: #ffffff;
width: 98rpx;
height: 50rpx;
line-height: 50rpx;
text-align: center;
font-size: 25rpx;
background-image: url('../../static/index/gonggaobg.png');
background-size: 98rpx 50rpx;
}
.swiperstyle {
height: 78rpx;
width: 80%;
}
}
}
.navTop {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20rpx;
>view {
background-color: #f0f0f0;
margin-left: 20rpx;
padding: 6rpx 20rpx
}
}
</style>

View File

@ -0,0 +1,102 @@
<template>
<view>
<u-sticky :enable="true">
<view class="search-box">
<u-search bg-color="#f2f2f2" style="width: 100%;" placeholder="搜索更多资源" :focus="true" :show-action="true"
:animation="true" action-text="取消" v-model="datas.keyword" @custom="goBack()"
@search="doSearch(false)"></u-search>
</view>
</u-sticky>
</view>
<view class="search-keyword">
<view class="keyword-block" v-if="datas.hotKeywordList.length != 0">
<view class="keyword-list-header">
<view>热搜</view>
</view>
<view class="keyword" v-if="forbid == ''">
<view v-for="(keyword, index) in datas.hotKeywordList" @tap="doSearchs(keyword)" :key="index"
v-if="keyword">
{{ keyword }}
</view>
</view>
<view class="hide-hot-tis" v-else>
<view>当前搜热已隐藏</view>
</view>
</view>
</view>
</template>
<script setup>
import { selectCourseTitles } from '@/api/index/index.js'
import {
reactive
} from 'vue';
import {
onShow
} from '@dcloudio/uni-app'
let datas = reactive({
hotKeywordList: [], //
keywordList: [],//
keyword: "",//
})
onShow(() => {
getList()
})
function getList() {
if (uni.getStorageSync('moreSearch')) {
datas.hotKeywordList = (uni.getStorageSync('moreSearch')).split(',')
} else {
datas.hotKeywordList = []
}
}
//
async function doSearch() {
let res = await selectCourseTitles({
title: datas.keyword,
limit: 20,
page: 1,
})
datas.keywordList = res.data.list
}
//
function goBack() {
uni.navigateBack()
}
</script>
<style scoped lang="scss">
.search-box {
width: 100%;
/* background-color: rgb(242, 242, 242); */
padding: 15upx 2.5%;
display: flex;
justify-content: space-between;
// position: sticky;
// top: 0;
background-color: #ffffff;
}
.search-keyword {
width: 100%;
}
.keyword-block {
padding: 10upx 0;
}
.keyword-block .keyword-list-header {
width: 94%;
padding: 10upx 3%;
font-size: 27upx;
color: #333;
display: flex;
justify-content: space-between;
}
.keyword-block .keyword-list-header image {
width: 40upx;
height: 40upx;
}
</style>

303
pages/login/appEq.vue Normal file
View File

@ -0,0 +1,303 @@
<template>
<view class="containersView">
<div style="width: 100%;height: 85%;position: absolute;background: url('../../static/images/appeq_bg.png') no-repeat center bottom / cover;"></div>
<view style="text-align: center;position: relative;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;">
<image style="width: 124rpx;height: 124rpx;margin-top: -920rpx;border-radius:20upx;" src="../../static/images/appLogo.png"></image>
<view style="font-size: 40rpx;margin-top: 22rpx;color: #FFFFFF;font-weight: bold;">斯耀短剧APP</view>
<view style="font-size: 28rpx;margin-top: 16rpx;color: #FFFFFF;font-weight: bold;">海量电子榨菜 免费又过瘾</view>
<button class="confirm-btn" @click="taobaoLogin">{{confirmBtn}}</button>
</view>
<view id="shareit" v-if="show_share" @tap="closeShare">
<image class="arrow" src="https://renwu.xiansqx.com/img/20210813/9aa484db4c60458f86deb2a8ab6fe400.png">
</image>
<view id="follow">点击右上角按钮选择浏览器打开下载</view>
</view>
<!-- #ifdef H5 -->
<div v-if="isWeixin" style="width: 100%;height: 100%;position: absolute;top: 0;background: url('../../static/images/open_guide.png') no-repeat center bottom / cover;"></div>
<!-- #endif -->
</view>
</template>
<script>
export default {
data() {
return {
mobile: '',
code: '',
message: '',
show_share: false,
openShare: false,
openShares: false,
relationId: '',
sending: false,
confirmBtn: '斯耀短剧APP',
isWeixin: false,
};
},
onLoad(e) {
let u = navigator.userAgent;
if ( u.indexOf('iPhone') > -1) {
// #ifdef H5
this.confirmBtn = "跳转网页版首页"
// #endif
}
if ( u.toLowerCase().indexOf('micromessenger') !== -1) {
this.isWeixin = true
}
},
methods: {
closeShare() {
this.show_share = false;
},
taobaoLogin() {
var u = navigator.userAgent;
if (u.indexOf('Android') > -1 || u.indexOf('Adr') > -1) {
this.$Request.get('/app/common/type/49').then(res => {
if (res.code === 0) {
if (res.data && res.data.value) {
if (this.openShare) {
let ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') === -1) {
this.show_share = false;
// #ifndef H5
plus.runtime.openURL(res.data.value, function(res) {
});
// #endif
// #ifdef H5
window.location.href = res.data.value;
// #endif
} else {
this.show_share = true;
}
} else {
// #ifndef H5
plus.runtime.openURL(res.data.value, function(res) {
});
// #endif
// #ifdef H5
uni.setClipboardData({
data: res.data.value,
success: r => {
// this.$queue.showToast('');
}
});
window.location.href = res.data.value;
// #endif
}
}
}
});
} else {
this.$Request.get('/app/common/type/50').then(res => {
if (res.code === 0) {
if (res.data && res.data.value) {
if (this.openShares) {
let ua = navigator.userAgent.toLowerCase();
if (ua.indexOf('micromessenger') === -1) {
this.show_share = false;
// #ifndef H5
plus.runtime.openURL(res.data.value, function(res) {
});
// #endif
// #ifdef H5
window.location.href = res.data.value;
// uni.switchTab({
// url: 'pages/index/index'
// })
// #endif
} else {
this.show_share = true;
}
} else {
// #ifndef H5
plus.runtime.openURL(res.data.value, function(res) {
});
// #endif
// #ifdef H5
uni.setClipboardData({
data: res.data.value,
success: r => {
// this.$queue.showToast('');
}
});
uni.switchTab({
url: '/pages/index/index'
})
// window.location.href = res.data.value;
// #endif
}
}
}
});
}
}
}
};
</script>
<style lang="scss" scoped>
uni-page-body{
width: 100%;
height: 100%;
}
.containersView {
width: 100%;
height: 100%;
}
#shareit {
-webkit-user-select: none;
position: fixed;
/*width: 100%;*/
height: 2000px;
background: rgba(0, 0, 0, 0.85);
text-align: center;
top: 0;
left: 0;
z-index: 999;
}
#shareit img {
max-width: 100%;
}
.arrow {
width: 100px;
height: 150px;
position: absolute;
right: 5%;
top: 1%;
}
#follow {
margin-right: 60px;
margin-left: 30px;
width: 90%;
height: 50px;
line-height: 50px;
text-align: left;
text-decoration: none;
font-size: 18px;
color: white;
float: left;
margin-top: 160px;
}
.footer {
padding-left: 140upx;
margin-top: 32upx;
font-size: 24upx;
color: #666666;
text-align: center;
display: flex;
}
page {
background: #fff;
}
.send-msg {
border-radius: 30px;
color: black;
background: white;
height: 30px;
font-size: 14px;
line-height: 30px;
}
.container {
top: 0;
padding-top: 50px;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #fff;
}
.wrapper {
position: relative;
z-index: 90;
background: #fff;
padding-bottom: 20px;
}
.right-top-sign {
position: absolute;
top: 40px;
right: -15px;
z-index: 95;
&:before,
&:after {
display: block;
content: '';
width: 20px;
height: 40px;
background: #e10a07;
}
&:before {
transform: rotate(50deg);
border-radius: 0 50px 0 0;
}
&:after {
position: absolute;
right: -198px;
top: 0;
transform: rotate(-50deg);
border-radius: 50px 0 0 0;
/* background: pink; */
}
}
.left-bottom-sign {
position: absolute;
left: -270px;
bottom: -320px;
/*border: 100upx solid #d0d1fd;*/
border-radius: 50%;
padding: 90px;
}
.welcome {
position: relative;
left: 30px;
top: -55px;
font-size: 28px;
color: #555;
text-shadow: 1px 0px 1px rgba(0, 0, 0, 0.3);
}
.input-content {
padding: 0 20px;
}
.confirm-btn {
width: 416rpx;
height: 90rpx;
line-height: 90rpx;
background: #FD5775;
color: #fff;
font-size: 32rpx;
font-weight: bold;
font-size: 32rpx;
color: #FFFFFF;
position: absolute;
left: 0;
right: 0;
bottom: 70rpx;
}
</style>

197
pages/login/bind.vue Normal file
View File

@ -0,0 +1,197 @@
<template>
<view class="containerView">
<view class="cu-form-group"
style="margin: 30upx;border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<view class="title">手机号</view>
<input type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
</view>
<view class="cu-form-group"
style="margin: 30upx;border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">验证码</text>
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code" @input="inputChange"
@confirm="toLogin" />
<button class="send-msg" @click="sendMsg" :disabled="sendIng">{{ sendTime }}</button>
</view>
<button class="confirm-btn" @click="toLogin" :disabled="loginIng">立即绑定</button>
</view>
</template>
<script>
import listCell from '@/components/com-input';
export default {
components: {
listCell
},
data() {
return {
mobile: '',
code: '',
loginIng: false,
sendIng: false,
sendTime: '获取验证码',
count: 60,
type: '',
}
},
onLoad(option) {
if (option.type) {
this.type = option.type
}
},
methods: {
inputChange(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sendIng = false;
this.sendTime = '获取验证码'
} else {
this.count = count - 1;
this.sendIng = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
sendMsg() {
const {
mobile
} = this;
if (!mobile) {
this.$queue.showToast("请输入手机号");
} else if (mobile.length !== 11) {
this.$queue.showToast("请输入正确的手机号");
} else {
this.$queue.showLoading("正在发送验证码...");
http.request({
url: 'app/Login/sendMsg/' + mobile + '/gzg',
}).then(res => {
if (res.code === 0) {
this.sendIng = true;
this.$queue.showToast('验证码发送成功请注意查收');
this.countDown();
} else {
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
uni.hideLoading();
})
}
},
toLogin() {
const {
mobile,
code
} = this;
let userId = this.$queue.getData("userId");
if (!mobile) {
this.$queue.showToast("请输入手机号");
} else if (mobile.length !== 11) {
this.$queue.showToast("请输入正确的手机号");
} else if (!code) {
this.$queue.showToast("请输入验证码");
} else {
this.$queue.showLoading("正在绑定中...");
let openId = this.$queue.getData('openId') ? this.$queue.getData('openId') : '';
let openidnickname = this.$queue.getData('openidnickname') ? this.$queue.getData('openidnickname') :
'';
let openidheadimgurl = this.$queue.getData('openidheadimgurl') ? this.$queue.getData(
'openidheadimgurl') : '';
let invitation = this.$queue.getData('inviterCode') ? this.$queue.getData('inviterCode') : '';
let userId = this.$queue.getData('userId') ? this.$queue.getData('userId') : '';
http.request({
url: `app/Login/registerCode`,
method: 'post',
data: {
phone: mobile,
wxId: openId,
userId: userId,
inviterCode: invitation,
avatar: openidheadimgurl,
userName: openidnickname,
msg: code
}
}).then(res => {
if (res.code === 0) {
this.$queue.setData("token", res.token);
this.$queue.setData('userId', res.user.userId);
this.$queue.setData('userName', res.user.userName);
this.$queue.setData('phone', res.user.phone);
this.$queue.setData('avatar', res.user.avatar ? res.user.avatar :
'../../static/logo.png');
this.$queue.showToast('绑定成功');
setTimeout(function() {
uni.navigateBack()
}, 1000)
} else {
uni.showModal({
showCancel: false,
title: '绑定失败',
content: res.msg,
});
}
uni.hideLoading();
});
}
},
},
}
</script>
<style lang='scss'>
page {
background: #ffffff;
}
.send-msg {
border-radius: 30px;
color: white;
height: 30px;
font-size: 14px;
line-height: 30px;
background: #557EFD;
}
.containerView {
top: 0;
padding-top: 32upx;
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
}
.confirm-btn {
width: 600upx;
height: 80upx;
line-height: 80upx;
border-radius: 60upx;
margin-top: 32upx;
background: #557EFD;
color: #ffffff;
font-size: 32upx;
&:after {
border-radius: 60px;
}
}
</style>

316
pages/login/forgetPwd.vue Normal file
View File

@ -0,0 +1,316 @@
<template>
<view class="container">
<view class="bg" >
<image src="../../static/default/i_bg.png" style="width: 100%;height:100%" mode="aspectFill"></image>
</view>
<view class="wrapper u-relative" style="padding-top: 48rpx;box-sizing: border-box;">
<view class="input-content">
<view style="font-size: 58rpx;font-weight: bold;color: #333;margin-bottom: 48rpx;">重置密码</view>
<view class="cu-form-group">
<view class="title">手机号</view>
<input class="input" type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
</view>
<view class="cu-form-group">
<text class="title">验证码</text>
<view class="input flex">
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChange" @confirm="reset" />
<button class="send-msg" @click="sendMsg" :disabled="sending">{{ sendTime }}</button>
</view>
</view>
<view class="cu-form-group">
<text class="title">设置密码</text>
<input class="input" type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChange" @confirm="reset" />
</view>
<button class="confirm-btn" @click="reset">立即重置</button>
</view>
</view>
</view>
</template>
<script>
import http from '@/http/http.js';
export default {
data() {
return {
code: '',
mobile: '',
password: '',
sending: false,
sendTime: '获取验证码',
count: 60,
};
},
onLoad() {
},
methods: {
/**
* 发送验证码
*/
sendMsg() {
if (!this.mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (this.mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
http.request({
url:'app/Login/sendMsg/' + this.mobile + '/forget',
}).then(res => {
if ( res.code == 0 ) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
} else {
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
uni.hideLoading();
})
}
},
/**
* 验证码倒计时
*/
countDown() {
const { count } = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码';
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
/**
* 获取手机号/验证码/密码
* @param {Object} e
*/
inputChange(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
/**
* 注册
*/
reset() {
const {
mobile,
password,
code
} = this;
if (!mobile) {
// this.$queue.showToast("");
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (!code) {
// this.$queue.showToast("");
uni.showToast({
title: '请输入验证码',
icon: 'none',
duration: 1000
})
} else if (!password) {
// this.$queue.showToast("");
uni.showToast({
title: '请输入密码',
icon: 'none',
duration: 1000
})
} else {
this.loginIng = true;
// this.$queue.showLoading("...");
uni.showLoading({
title: '正在修改密码中...'
})
http.request({
url: 'app/Login/forgetPwd?pwd=' + password + '&phone=' + mobile + '&msg=' + code,
method: 'post'
}).then(
res => {
// this.$Request.postJson("/appLogin/forgetPwd",{
// pwd: password,
// phone: mobile,
// msg: code
// }).then(res => {
uni.hideLoading();
if (res.code === 0) {
uni.showToast({
title: '密码找回成功',
icon: 'none'
});
setTimeout(function() {
uni.navigateTo({
url: '/pages/login/login'
});
}, 1000)
} else {
uni.showModal({
showCancel: false,
title: '密码找回失败',
content: res.msg,
});
}
});
}
}
}
};
</script>
<style lang="scss" >
page {
background: #ffffff;
}
*{
box-sizing: border-box;
}
.bg{
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
top: 0;
}
.wrapper{
position: relative;
padding-top: 48rpx;
box-sizing: border-box;
}
.flex{
display: flex;
}
.footerView {
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
font-size: 24rpx;
color: #333333;
position: absolute;
left: 0;
right: 0;
bottom: 78rpx;
}
.cuIcon::before{
width: 30rpx;
height: 30rpx;
margin-right: 12rpx;
}
.cuIcon-round::before {
content: "\e6d7";
}
.cuIcon-radiobox:before {
content: "\e75b";
color: #37A6FF;
}
.send-msg {
line-height: initial;
font-weight: 400;
font-size: 28rpx;
color: #EC6F48;
border: none;
background-color: transparent;
}
.send-msg::after{
border: none;
background-color: transparent;
}
.container {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
box-sizing: border-box;
}
.wrapper {
min-height: 100vh;
position: relative;
z-index: 90;
}
.input-content {
padding: 0 56rpx;
}
.cu-form-group{
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 48rpx;
background-color: transparent;
padding: 0;
.title{
margin-bottom: 32rpx;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.input{
width: 100%;
height: 84rpx;
line-height: 84rpx;
background-color: #fff;
align-items: center;
padding: 22rpx 32rpx 22rpx 24rpx;
}
}
.confirm-btn {
width: 100%;
height: 100rpx;
text-align: center;
line-height: 100rpx;
border-radius: 16rpx;
margin-top: 40rpx;
background: #EC6F48;
font-size: 32rpx;
color: #FFFFFF;
&:after {
border: none;
}
}
</style>

288
pages/login/login.vue Normal file
View File

@ -0,0 +1,288 @@
<template>
<view class="container">
<view class="bg" >
<image src="../../static/default/i_bg.png" style="width: 100%;height:100%" mode="aspectFill"></image>
</view>
<view class="wrapper">
<view class="input-content">
<view style="font-size: 58rpx;font-weight: bold;color: #333;margin-bottom: 48rpx;">登录</view>
<view class="cu-form-group">
<view class="title">手机号</view>
<input class="input" type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
</view>
<view class="cu-form-group">
<text class="title">密码</text>
<view class="input flex">
<input class="input" type="password" :value="password" placeholder="请输入密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChange" @confirm="toLogin" />
<text class="send-msg" @click="forget" style="flex-shrink: 0;">忘记密码</text>
</view>
</view>
<button class="confirm-btn" @click="toLogin">登录</button>
<view style="margin-top: 32px;text-align: center">
<view>
没有账号
<text style="color: #ff7581" @click="register()">立即注册</text>
</view>
</view>
</view>
<view class="footerView">
<u-checkbox-group>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChange"></u-checkbox>
</u-checkbox-group>
<view>同意</view>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate">隐私政策</navigator>
<navigator url="/me/setting/xieyi" open-type="navigate">用户服务协议</navigator>
</view>
<u-toast ref="uToast" />
</view>
</view>
</template>
<script>
import http from '@/http/http.js';
export default {
data() {
return {
mobile: '',
password: '',
checked: false
};
},
onLoad() {
if (uni.getStorageSync('isSafeView')) {
uni.showModal({
title: '提示',
content: '您正在使用无痕浏览,可能导致登录状态失效,建议切换浏览模式',
})
uni.setStorageSync("isSafeView", null)
}
},
methods: {
/**
* 注册
*/
register() {
uni.navigateTo({
url: '/pages/login/register'
});
},
/**
* 忘记密码
*/
forget() {
uni.navigateTo({
url: '/pages/login/forgetPwd'
});
},
/**
* 获取手机号/密码
* @param {Object} e
*/
inputChange(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
/**
* 同意协议
* @param {Object} e
*/
radioChange(e) {
this.checked = e
},
/**
* 登录
*/
toLogin() {
if (!this.checked) {
uni.showToast({
title: '请阅读并同意《隐私政策》和《用户服务协议》',
icon: 'none',
})
return;
}
const { mobile, password } = this;
console.log(this.mobile)
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
})
} else if (mobile.length != 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
})
} else if (!password) {
uni.showToast({
title: '请输入密码',
icon: 'none',
})
} else {
uni.showLoading({
title: '正在登录中...',
})
http.request({
url: 'app/Login/registerCode?password=' + password + '&phone=' + mobile,
method: 'post'
}).then(res => {
console.log(res)
if (res.code === 0) {
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('userName', res.user.userName)
uni.setStorageSync('avatar', res.user.avatar ? res.user.avatar : '../../static/default/avatar.png')
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
uni.setStorageSync('sex', res.user.sex)
uni.setStorageSync('userId', res.user.userId)
//
if (res.user.qdCode) {
uni.setStorageSync('qdCode', res.user.qdCode)
}
uni.showToast({
title: '登录成功',
icon: 'none'
})
uni.reLaunch({
url:'/pages/index/index'
})
} else{
uni.hideLoading();
uni.showToast({
title: res.msg,
icon: 'none'
})
}
})
}
},
}
};
</script>
<style lang="scss" scoped>
page {
background: #ffffff;
}
.container {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
box-sizing: border-box;
}
.bg{
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
top: 0;
}
.wrapper{
position: relative;
padding-top: 48rpx;
box-sizing: border-box;
}
.footerView {
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
font-size: 24rpx;
color: #333333;
position: absolute;
left: 0;
right: 0;
bottom: 78rpx;
}
.send-msg {
line-height: initial;
font-weight: 400;
font-size: 28rpx;
color: #EC6F48;
border: none;
background-color: transparent;
}
.send-msg::after{
border: none;
background-color: transparent;
}
.wrapper {
min-height: 100vh;
position: relative;
z-index: 90;
}
*{
box-sizing: border-box;
}
.input-content {
padding: 0 56rpx;
}
.cu-form-group{
width: 100%;
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 48rpx;
background-color: transparent;
padding: 0;
}
.cu-form-group .title{
width: 100%;
margin-bottom: 32rpx;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.cu-form-group .input{
width: 100%!important;
height: 84rpx;
line-height: 84rpx;
background-color: #fff;
align-items: center;
padding: 22rpx 32rpx 22rpx 24rpx;
}
.flex{
display: flex;
}
.confirm-btn {
width: 100%;
height: 100rpx;
text-align: center;
line-height: 100rpx;
border-radius: 16rpx;
margin-top: 40rpx;
background: #EC6F48;
font-size: 32rpx;
color: #FFFFFF;
&:after {
border: none;
}
}
</style>

396
pages/login/register.vue Normal file
View File

@ -0,0 +1,396 @@
<template>
<view class="container">
<view class="bg" >
<image src="../../static/default/i_bg.png" style="width: 100%;height:100%" mode="aspectFill"></image>
</view>
<view class="wrapper u-relative" style="padding-top: 48rpx;box-sizing: border-box;">
<view class="input-content">
<view style="font-size: 58rpx;font-weight: bold;color: #333;margin-bottom: 48rpx;">注册</view>
<view class="cu-form-group">
<view class="title">手机号</view>
<input class="input" type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
</view>
<view class="cu-form-group">
<text class="title">验证码</text>
<view class="input flex">
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChange" @confirm="toRegister" />
<button class="send-msg" @click="sendMsg" :disabled="sending">{{ sendTime }}</button>
</view>
</view>
<view class="cu-form-group">
<text class="title">设置密码</text>
<input class="input" type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChange" @confirm="toRegister" />
</view>
<button class="confirm-btn" @click="toRegister">注册</button>
<button class="confirm-btn" @click="toLogin">登录</button>
</view>
<view class="footerView">
<u-checkbox-group>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChange"></u-checkbox>
</u-checkbox-group>
<view>注册即同意</view>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate" style="color: #37A6FF;">隐私政策</navigator>
<navigator url="/me/setting/xieyi" open-type="navigate" style="color: #37A6FF;">用户协议</navigator>
</view>
</view>
</view>
</template>
<script>
import http from '@/http/http.js';
export default {
data() {
return {
code: '',
mobile: '',
password: '',
sending: false,
sendTime: '获取验证码',
count: 60,
relation: "",
invitation: '',
registerCode: '',
qdCodeion: '', //
checked: false,
};
},
onLoad( options ) {
if (uni.getStorageSync('qdCodeion')) { this.qdCodeion = uni.getStorageSync('qdCodeion') }
if (options.qdCode) { this.qdCodeion = options.qdCode }
if (options.invitation ) { this.invitation = options.invitation }
http.request({
url:'app/common/type/3',
}).then(res => {
if (res.code == 0) {
this.registerCode = res.data.value
}
});
},
methods: {
/**
* 发送验证码
*/
sendMsg() {
if (!this.mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (this.mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
http.request({
url:'app/Login/sendMsg/' + this.mobile + '/login',
}).then(res => {
if ( res.code == 0 ) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
} else {
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
uni.hideLoading();
})
}
},
/**
* 验证码倒计时
*/
countDown() {
const { count } = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码';
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
/**
* 获取注册值
* @param {Object} e
*/
inputChange(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
/**
* 是否同意协议
* @param {Object} e
*/
radioChange(e) {
this.checked = e
},
/**
* 登录
*/
toLogin() {
uni.reLaunch({
url: '/pages/login/login'
});
},
/**
* 注册
*/
toRegister() {
const {
mobile,
password,
code,
checked,
invitation,
registerCode,
qdCodeion
} = this;
if (!mobile) {
uni.showToast({
title: '请输入账号',
icon: 'none',
duration: 1000
})
return
}
if (!code) {
uni.showToast({
title: '请输入验证码',
icon: 'none',
duration: 1000
})
return
}
if (!password) {
uni.showToast({
title: '请设置密码',
icon: 'none',
duration: 1000
})
return
}
if (password.length < 6) {
uni.showToast({
title: '密码位数必须大于六位',
icon: 'none',
duration: 1000
})
return
}
if (invitation.length == 0 && registerCode == '是') {
uni.showToast({
title: '请输入邀请码',
icon: 'none',
duration: 1000
})
return
}
if (!checked) {
uni.showToast({
title: '请先同意《隐私政策》和《用户协议》',
icon: 'none',
duration: 1000
})
return
}
this.logining = true;
uni.showLoading({
title: '注册中...'
})
let platform = ''
// #ifdef APP
platform = 'app'
// #endif
// #ifdef H5
platform = 'h5'
// #endif
http.request({
url: 'app/Login/registerCode?password=' + password + '&phone=' + mobile + '&msg=' + code +
'&inviterCode=' + invitation + '&platform=' + platform + '&qdCode=' + qdCodeion,
method: 'post'
}).then(res => {
console.log(res)
if (res.code === 0) {
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
//
if (res.user.qdCod) {
uni.setStorageSync('qdCod', res.user.qdCod)
}
uni.showToast({
title: '注册成功',
icon: 'none'
})
setTimeout(function() {
uni.switchTab({
url: '/pages/index/index'
});
}, 1000)
} else {
uni.showModal({
showCancel: false,
title: '注册失败',
content: res.msg
});
}
uni.hideLoading();
})
}
}
};
</script>
<style lang="scss" >
page {
background: #ffffff;
}
*{
box-sizing: border-box;
}
.bg{
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
top: 0;
}
.wrapper{
position: relative;
padding-top: 48rpx;
box-sizing: border-box;
}
.flex{
display: flex;
}
.footerView {
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
font-size: 24rpx;
color: #333333;
position: absolute;
left: 0;
right: 0;
bottom: 78rpx;
}
.cuIcon::before{
width: 30rpx;
height: 30rpx;
margin-right: 12rpx;
}
.cuIcon-round::before {
content: "\e6d7";
}
.cuIcon-radiobox:before {
content: "\e75b";
color: #37A6FF;
}
.send-msg {
line-height: initial;
font-weight: 400;
font-size: 28rpx;
color: #EC6F48;
border: none;
background-color: transparent;
}
.send-msg::after{
border: none;
background-color: transparent;
}
.container {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #ffffff;
box-sizing: border-box;
}
.wrapper {
min-height: 100vh;
position: relative;
z-index: 90;
}
.input-content {
padding: 0 56rpx;
}
.cu-form-group{
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 48rpx;
background-color: transparent;
padding: 0;
.title{
margin-bottom: 32rpx;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.input{
width: 100%;
height: 84rpx;
line-height: 84rpx;
background-color: #fff;
align-items: center;
padding: 22rpx 32rpx 22rpx 24rpx;
}
}
.confirm-btn {
width: 100%;
height: 100rpx;
text-align: center;
line-height: 100rpx;
border-radius: 16rpx;
margin-top: 40rpx;
background: #EC6F48;
font-size: 32rpx;
color: #FFFFFF;
&:after {
border: none;
}
}
</style>

411
pages/login/registerApp.vue Normal file
View File

@ -0,0 +1,411 @@
<template>
<view class="container">
<view class="bg" >
<image src="../../static/default/i_bg.png" style="width: 100%;height:100%" mode="aspectFill"></image>
</view>
<view class="wrapper u-relative" style="padding-top: 48rpx;box-sizing: border-box;">
<view class="input-content">
<view style="font-size: 58rpx;font-weight: bold;color: #333;margin-bottom: 48rpx;">注册</view>
<view class="cu-form-group" >
<view class="title">手机号</view>
<input class="input" type="number" :value="mobile" placeholder="请输入手机号" maxlength="11" data-key="mobile"
@input="inputChange" />
</view>
<view class="cu-form-group" >
<text class="title">验证码</text>
<view class="input flex">
<input type="number" :value="code" placeholder="请输入验证码" maxlength="6" data-key="code"
@input="inputChange" @confirm="toLogin" />
<button class="send-msg" @click="sendMsg" :disabled="sending">{{ sendTime }}</button>
</view>
</view>
<view class="cu-form-group" >
<text class="title">设置密码</text>
<input class="input" type="password" :value="password" placeholder="请设置新密码" placeholder-class="input-empty"
maxlength="20" minlength="6" data-key="password" @input="inputChange" @confirm="toLogin" />
</view>
<!-- <view class="cu-form-group"
style="border: 2upx solid whitesmoke;margin-bottom: 20px;border-radius: 30px">
<text class="title">邀请码</text>
<input type="text" v-if="registerCode == ''" :value="invitation" placeholder="请填写邀请码"
data-key="invitation" maxlength="20" @input="inputChange" @confirm="toLogin" />
<input type="text" v-if="registerCode == ''" :value="invitation" placeholder="请填写邀请码(选填)"
data-key="invitation" maxlength="20" @input="inputChange" @confirm="toLogin" />
</view> -->
<button class="confirm-btn" @click="toRegister">注册</button>
<button class="confirm-btn" @click="toLogin">登录</button>
</view>
<view class="footerView">
<u-checkbox-group>
<u-checkbox v-model="checked" label-size='24upx' shape="circle" @change="radioChange"></u-checkbox>
</u-checkbox-group>
<view>同意</view>
<!-- 协议地址 -->
<navigator url="/me/setting/mimi" open-type="navigate" style="color: #37A6FF;">隐私政策</navigator>
<navigator url="/me/setting/xieyi" open-type="navigate" style="color: #37A6FF;">用户协议</navigator>
</view>
</view>
</view>
</template>
<script>
import http from '@/http/http.js';
export default {
data() {
return {
code: '',
mobile: '',
password: '',
sending: false,
sendTime: '获取验证码',
count: 60,
relation: "",
invitation: '',
registerCode: '',
qdCodeion: '',
checked: false,
};
},
onLoad(e) {
let relation = e.invitation
if (relation) {
this.relation = relation;
this.invitation = relation;
}
if (e.qdCode) {
this.qdCodeion = e.qdCode
}
http.request({
url:'app/common/type/3',
}).then(res => {
if (res.code == 0) {
this.registerCode = res.data.value
}
});
},
methods: {
/**
* 是否同意协议
* @param {Object} e
*/
radioChange(e) {
this.checked = e
},
showMa() {
//
this.$Request.getT('/common/type/88').then(res => {
if (res.code == 0) {
this.invitation = res.data.value;
}
});
},
sendMsg() {
const {
mobile
} = this;
if (!mobile) {
uni.showToast({
title: '请输入手机号',
icon: 'none',
duration: 1000
})
} else if (mobile.length !== 11) {
uni.showToast({
title: '请输入正确的手机号',
icon: 'none',
duration: 1000
})
} else {
uni.showLoading({
title: '正在发送验证码...'
})
http.request({
url:'app/Login/sendMsg/' + mobile + '/login',
}).then(res => {
if (res.code === 0) {
this.sending = true;
uni.showToast({
title: '验证码发送成功请注意查收',
icon: 'none',
duration: 1000
})
this.countDown();
} else {
uni.showModal({
showCancel: false,
title: '短信发送失败',
content: res.msg ? res.msg : '请一分钟后再获取验证码'
});
}
uni.hideLoading();
})
}
},
countDown() {
const {
count
} = this;
if (count === 1) {
this.count = 60;
this.sending = false;
this.sendTime = '获取验证码';
} else {
this.count = count - 1;
this.sending = true;
this.sendTime = count - 1 + '秒后重新获取';
setTimeout(this.countDown.bind(this), 1000);
}
},
inputChange(e) {
const key = e.currentTarget.dataset.key;
this[key] = e.detail.value;
},
navBack() {
uni.navigateBack();
},
navTo(url) {
uni.navigateTo({
url
});
},
toLogin() {
console.log("123");
uni.reLaunch({
url: '/pages/login/login'
});
},
toRegister() {
const {
mobile,
password,
code,
checked,
invitation,
registerCode,
qdCodeion
} = this;
if (!mobile) {
uni.showToast({
title: '请输入账号',
icon: 'none',
duration: 1000
})
return
}
if (!code) {
uni.showToast({
title: '请输入验证码',
icon: 'none',
duration: 1000
})
return
}
if (!password) {
uni.showToast({
title: '请设置密码',
icon: 'none',
duration: 1000
})
return
}
if (password.length < 6) {
uni.showToast({
title: '密码位数必须大于六位',
icon: 'none',
duration: 1000
})
return
}
if (invitation.length == 0 && registerCode == '是') {
uni.showToast({
title: '请输入邀请码',
icon: 'none',
duration: 1000
})
return
}
if (!checked) {
uni.showToast({
title: '请先同意《隐私政策》和《用户协议》',
icon: 'none',
duration: 1000
})
return
}
this.logining = true;
uni.showLoading({
title: '注册中...'
})
let platform = ''
// #ifdef APP
platform = 'app'
// #endif
// #ifdef H5
platform = 'h5'
// #endif
http.request({
url: 'app/Login/registerCode?password=' + password + '&phone=' + mobile + '&msg=' + code +
'&inviterCode=' + invitation + '&platform=' + platform + '&qdCode=' + qdCodeion,
method: 'post'
}).then(res => {
if (res.code === 0) {
// this.$queue.remove('invitation');
uni.setStorageSync('token', res.token)
uni.setStorageSync('userId', res.user.userId)
uni.setStorageSync('phone', res.user.phone)
uni.setStorageSync('invitationCode', res.user.invitationCode)
//
if (res.user.qdCode) {
uni.setStorageSync('qdCode', res.user.qdCode)
}
uni.showToast({
title: '注册成功',
icon: 'none'
})
setTimeout(function() {
uni.navigateTo({
url: '/pages/login/appEq'
})
}, 1000)
} else {
uni.hideLoading();
uni.showModal({
showCancel: false,
title: '注册失败',
content: res.msg
});
}
});
},
}
};
</script>
<style lang="scss" scoped>
page {
background: #fff;
}
*{
box-sizing: border-box;
}
.flex{
display: flex;
}
.bg{
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
top: 0;
}
.wrapper{
position: relative;
padding-top: 48rpx;
box-sizing: border-box;
}
.footerView {
display: flex;
justify-content: center;
align-items: center;
font-weight: 400;
font-size: 24rpx;
color: #333333;
position: absolute;
left: 0;
right: 0;
bottom: 178rpx;
.cuIcon::before{
width: 30rpx;
height: 30rpx;
margin-right: 12rpx;
}
.cuIcon-round::before {
content: "\e6d7";
}
.cuIcon-radiobox:before {
content: "\e75b";
color: #37A6FF;
}
}
.send-msg {
line-height: initial;
font-weight: 400;
font-size: 28rpx;
color: #EC6F48;
border: none;
background-color: transparent!important;
}
.send-msg::after{
border: none;
background-color: transparent;
}
.container {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
background: #fff;
}
.wrapper {
position: relative;
z-index: 90;
min-height: 100vh;
}
.input-content {
padding: 0 56rpx;
.cu-form-group{
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 48rpx;
background-color: transparent;
padding: 0;
.title{
margin-bottom: 32rpx;
font-weight: 400;
font-size: 28rpx;
color: #333333;
}
.input{
width: 100%;
height: 84rpx;
line-height: 84rpx;
background-color: #fff;
align-items: center;
padding: 22rpx 32rpx 22rpx 24rpx;
}
}
}
.confirm-btn {
width: 100%;
height: 100rpx;
text-align: center;
line-height: 100rpx;
border-radius: 16rpx;
margin-top: 40rpx;
background: #EC6F48;
font-size: 32rpx;
color: #FFFFFF;
&:after {
border: none;
}
}
</style>

305
pages/me/index.vue Normal file
View File

@ -0,0 +1,305 @@
<template>
<view class="container">
<view class="u-status-bar"></view>
<view class="top-bg"></view>
<view class="content">
<view class="user-info">
<view class="logo-wrap">
<view class="logo">
<image class="img" src="/static/logo.png" mode="widthFix"></image>
</view>
<view class="quick-menu">
<image class="icon" src="/static/me/logo_btn1.png" mode="aspectFit"></image>
<image class="icon" src="/static/me/logo_btn2.png" mode="aspectFit"></image>
<image class="icon" src="/static/me/logo_btn3.png" mode="aspectFit"></image>
</view>
</view>
<view class="top">
<image class="avatar" src="/static/default_avatar.png" mode="aspectFill"></image>
<view class="info-wrap">
<view class="name">159****3331</view>
</view>
</view>
<view class="btm">
<view class="item">
<view class="title">我的喜欢</view>
<view class="num">0</view>
</view>
<view class="item">
<view class="title">我的追剧</view>
<view class="num">0</view>
</view>
<view class="item">
<view class="title">我的红包</view>
<view class="num">0</view>
</view>
</view>
</view>
<view class="card-wrap">
<view class="gold-wrap">
<view class="left">
<image class="icon" src="/static/me/gold_icon.png" mode="aspectFit"></image>
<view class="num">123133.00</view>
</view>
<view class="btn">金币明细</view>
</view>
<view class="title-wrap">
<view class="t">观看历史</view>
<up-icon name="arrow-right"></up-icon>
</view>
<view class="history-list">
<view class="item">
<image class="cover" src="https://img0.baidu.com/it/u=966333451,3199467079&fm=253&fmt=auto&app=120&f=JPEG?w=500&h=714" mode="aspectFill"></image>
<view class="name">我在八零年代当后妈</view>
<view class="t">看到8集</view>
</view>
<view class="item">
<image class="cover" src="https://img2.baidu.com/it/u=3352094756,2708106394&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1422" mode="aspectFill"></image>
<view class="name">姜小姐的反击</view>
<view class="t">看到12集</view>
</view>
<view class="item">
<image class="cover" src="https://q0.itc.cn/images01/20240806/a14af4ece3354215be6294f3d2c264a4.jpeg" mode="aspectFill"></image>
<view class="name">霸道载誉归来</view>
<view class="t">看到3集</view>
</view>
</view>
</view>
<view class="card-wrap">
<view class="menu-list">
<view class="item">
<image class="icon" src="/static/me/menu_icon1.png" mode="aspectFit"></image>
<view class="name">任务中心</view>
</view>
<view class="item">
<image class="icon" src="/static/me/menu_icon2.png" mode="aspectFit"></image>
<view class="name">设置中心</view>
</view>
<view class="item">
<image class="icon" src="/static/me/menu_icon3.png" mode="aspectFit"></image>
<view class="name">意见反馈</view>
</view>
<view class="item">
<image class="icon" src="/static/me/menu_icon4.png" mode="aspectFit"></image>
<view class="name">帮助中心</view>
</view>
<view class="item">
<image class="icon" src="/static/me/menu_icon5.png" mode="aspectFit"></image>
<view class="name">检查更新</view>
</view>
<view class="item">
<image class="icon" src="/static/me/menu_icon6.png" mode="aspectFit"></image>
<view class="name">用户协议</view>
</view>
<view class="item">
<image class="icon" src="/static/me/menu_icon7.png" mode="aspectFit"></image>
<view class="name">关于我们</view>
</view>
<view class="item">
<image class="icon" src="/static/me/menu_icon8.png" mode="aspectFit"></image>
<view class="name">隐私政策</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script setup></script>
<style scoped lang="scss">
$bgColor: #f5f7ff;
page {
background: $bgColor;
}
.container {
font-size: 28upx;
color: #333;
}
.top-bg {
width: 100%;
height: 50%;
position: fixed;
top: 0;
left: 0;
background: linear-gradient(90deg, #ffe5ea 0, #e4f5fb 49%, #fff0ee);
&::after {
content: '';
height: 50%;
width: 100%;
background: linear-gradient(to bottom, transparent, $bgColor);
position: absolute;
bottom: 0;
left: 0;
}
}
.content {
padding: 28upx;
position: relative;
.user-info {
.logo-wrap {
display: flex;
align-items: center;
justify-content: space-between;
.logo {
width: 160upx;
.img {
width: 100%;
display: block;
}
}
.quick-menu {
display: flex;
gap: 20upx;
.icon {
$size: 60upx;
width: $size;
height: $size;
}
}
}
.top {
display: flex;
align-items: center;
padding-top: 40upx;
.avatar {
$size: 94upx;
width: $size;
height: $size;
border-radius: 50%;
margin-right: 12upx;
}
.info-wrap {
flex: 1;
display: flex;
flex-direction: column;
font-size: 28upx;
}
}
.btm {
display: flex;
padding: 40upx 0;
.item {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.title {
font-size: 28upx;
}
.num {
font-weight: bold;
}
}
}
}
}
.card-wrap {
background: #fff;
border-radius: 16upx;
overflow: hidden;
margin-bottom: 28upx;
.gold-wrap {
background: #f2b5b5;
display: flex;
justify-content: space-between;
padding: 20upx 28upx;
position: relative;
// &::after {
// $size: 40upx;
// content: '';
// width: $size;
// height: $size;
// border-radius: 8upx;
// transform: rotate(45deg);
// position: absolute;
// left: 50%;
// margin-left: $size * 0.5 * -1;
// bottom: $size * 0.3 * -1;
// background: inherit;
// }
.left {
display: flex;
align-items: center;
.icon {
$size: 52upx;
width: $size;
height: $size;
margin-right: 20upx;
}
.num {
color: #fff;
font-size: 32upx;
}
}
.btn {
color: #977641;
background: linear-gradient(90deg, #fee7bc 0%, #fdcc89 100%);
width: 144upx;
height: 56upx;
border-radius: 56upx;
display: flex;
align-items: center;
justify-content: center;
font-size: 24upx;
}
}
.title-wrap {
padding: 28upx;
display: flex;
align-items: center;
justify-content: space-between;
.t {
font-size: 28upx;
}
}
.history-list {
padding: 0 28upx 28upx;
display: flex;
gap: 28upx;
.item {
flex: 1;
.cover {
width: 100%;
height: 280upx;
border-radius: 20upx;
}
.name {
font-size: 28upx;
width: 160upx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.t {
color: #999;
font-size: 24upx;
}
}
}
.menu-list {
display: flex;
flex-wrap: wrap;
padding: 28upx 0 0;
.item {
flex: 0 0 25%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin-bottom: 32upx;
.icon {
$size: 56upx;
width: $size;
height: $size;
}
.name {
font-size: 24upx;
margin-top: 8upx;
color: #333;
}
}
}
}
</style>

179
pages/me/userInfo.vue Normal file
View File

@ -0,0 +1,179 @@
<template>
<view class="container">
<up-cell-group>
<up-cell title="头像">
<template #value>
<image :src="userInfo.avatar?userInfo.avatar:'../../static/default/avatar.png'" mode="" @click="uploadImg"
style="width: 111rpx;height: 111rpx;border-radius: 50%;"></image>
</template>
</up-cell>
<up-cell title="用户名">
<template #value>
<input v-model="userInfo.userName" align="right" placeholder="请输入用户名" />
</template>
</up-cell>
<up-cell title="手机">
<template #value>
<input :disabled="userInfo.phone?true:false" v-model="userInfo.phone" align="right" placeholder="请输入联系电话" />
</template>
</up-cell>
</up-cell-group>
<view class="save" @click="save">保存</view>
</view>
</template>
<script>
import config from '@/commons/config.js';
import http from '@/http/http.js';
export default {
data() {
return{
userInfo: {
avatar: '',
userName: '',
phone: '',
}
}
},
onLoad( options ) {
this.getUserInfo()
},
methods: {
/**
* 获取个人信息
*/
getUserInfo() {
http.request({
url:'app/user/selectUserById',
}).then(res => {
this.userInfo = res.data
})
},
/**
* 上次头像
*/
uploadImg() {
let that = this;
var url = null;
uni.showActionSheet({
// itemList
itemList: ["查看头像", "从相册选择图片"],
success(e) {
var index = e.tapIndex
console.log(index)
if (index === 0) {
//
//
let url = that.headImg;
let arr = []
arr.push(url)
uni.previewImage({
//
urls: arr
})
} else if (index === 1) {
uni.chooseImage({
count: 1, //9
sizeType: ['original', 'compressed'], //
sourceType: ['album'], //
success: function(res) {
uni.showLoading({
title: '上传中...'
});
uni.uploadFile({
url: config.baseApiUrl + 'alioss/upload',
filePath: res.tempFilePaths[0],
name: 'file',
success: uploadFileRes => {
url = JSON.parse(uploadFileRes.data);
console.log(url)
this.userInfo.avatar = url.data
uni.hideLoading();
}
});
}
});
}
}
})
},
/**
* 保存
*/
save() {
if (!this.userInfo.userName) {
uni.showToast({
title: "用户名不能为空",
icon: "none"
})
return
}
if (!this.userInfo.phone) {
uni.showToast({
title: "手机号不能空",
icon: "none"
})
return
}
if (this.checkPhone(this.userInfo.phone) == false) {
uni.showToast({
title: "手机号格式不正确",
icon: "none"
})
return
}
uni.showModal({
title: '温馨提示',
content: '确定保存信息',
confirmColor: '#ff7581',
success: e => {
if (e.confirm) {
http.request({
url:'app/user/updateUsers',
method: 'post',
data: {
userName: this.userInfo.userName,
avatar: this.userInfo.avatar,
phone: this.userInfo.phone,
}
}).then(res => {
uni.showToast({
title: '保存成功',
icon: "none"
})
setTimeout(function() {
uni.navigateBack()
}, 1000)
})
}
}
});
},
//
checkPhone(phone) {
return /^1[3456789]\d{9}$/.test(phone);
},
}
}
</script>
<style style="sass" scoped>
.save{
color: #FFFFFF;
background: #ff7581;
text-align: center;
width: 234px;
height: 41px;
font-size: 14px;
line-height: 41px;
margin: 0 auto;
border-radius: 20px;
margin-top: 78px;
}
</style>

11
pages/task/index.vue Normal file
View File

@ -0,0 +1,11 @@
<template>
ios
anzhuo
</template>
<script setup>
</script>
<style>
</style>

11
pages/video/index.vue Normal file
View File

@ -0,0 +1,11 @@
<template>
ios
anzhuo
</template>
<script setup>
</script>
<style>
</style>

BIN
static/default/avatar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
static/default/i_bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 KiB

BIN
static/default/none.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
static/default_avatar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
static/index/gonggaobg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

BIN
static/index/indexbh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
static/me/gold_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
static/me/logo_btn1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
static/me/logo_btn2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
static/me/logo_btn3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
static/me/menu_icon1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
static/me/menu_icon2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

BIN
static/me/menu_icon3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
static/me/menu_icon4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
static/me/menu_icon5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
static/me/menu_icon6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

BIN
static/me/menu_icon7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
static/me/menu_icon8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
static/sosuo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

BIN
static/tabbar/index.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

BIN
static/tabbar/index_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
static/tabbar/learn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

BIN
static/tabbar/learn_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
static/tabbar/me.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
static/tabbar/me_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
static/tabbar/task.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
static/tabbar/task_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
static/tabbar/zhuiju.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
static/tabbar/zhuiju_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -1,15 +1,31 @@
{
"hash": "2432d8b6",
"configHash": "25f7d80a",
"lockfileHash": "1d928b20",
"browserHash": "6ca20d4f",
"hash": "33e53a44",
"configHash": "048dba77",
"lockfileHash": "e8b32e83",
"browserHash": "98657dc5",
"optimized": {
"uview-plus": {
"src": "../../../../../node_modules/uview-plus/index.js",
"file": "uview-plus.js",
"fileHash": "0b72656a",
"fileHash": "3e411044",
"needsInterop": false
},
"lodash": {
"src": "../../../../../node_modules/lodash/lodash.js",
"file": "lodash.js",
"fileHash": "85fde04d",
"needsInterop": true
},
"gm-crypto": {
"src": "../../../../../node_modules/gm-crypto/dist/index.esm.js",
"file": "gm-crypto.js",
"fileHash": "e99227be",
"needsInterop": false
}
},
"chunks": {}
"chunks": {
"chunk-LQ2VYIYD": {
"file": "chunk-LQ2VYIYD.js"
}
}
}

View File

@ -1,9 +1,11 @@
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/vue.js
import "./chunk-LQ2VYIYD.js";
// ../../../project/new_app/node_modules/uview-plus/libs/vue.js
var defineMixin = (options) => {
return options;
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/function/test.js
// ../../../project/new_app/node_modules/uview-plus/libs/function/test.js
function email(value) {
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value);
}
@ -198,7 +200,7 @@ var test_default = {
string
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/function/digit.js
// ../../../project/new_app/node_modules/uview-plus/libs/function/digit.js
var _boundaryCheckingState = true;
function strip(num, precision = 15) {
return +parseFloat(Number(num).toPrecision(precision));
@ -262,7 +264,7 @@ function round(num, ratio) {
return result;
}
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/config/config.js
// ../../../project/new_app/node_modules/uview-plus/libs/config/config.js
var version = "3";
if (true) {
console.log(`
@ -306,7 +308,7 @@ var config_default = {
unit: "px"
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/function/index.js
// ../../../project/new_app/node_modules/uview-plus/libs/function/index.js
function range2(min = 0, max = 0, value = 0) {
return Math.max(min, Math.min(max, Number(value)));
}
@ -815,7 +817,7 @@ var function_default = {
// setConfig
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/util/route.js
// ../../../project/new_app/node_modules/uview-plus/libs/util/route.js
var Router = class {
constructor() {
this.config = {
@ -915,7 +917,7 @@ var Router = class {
};
var route_default = new Router().route;
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/mixin/mixin.js
// ../../../project/new_app/node_modules/uview-plus/libs/mixin/mixin.js
var mixin = defineMixin({
// 定义每个组件都可能需要用到的外部样式以及类名
props: {
@ -1049,10 +1051,10 @@ var mixin = defineMixin({
}
});
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/mixin/mpMixin.js
// ../../../project/new_app/node_modules/uview-plus/libs/mixin/mpMixin.js
var mpMixin = defineMixin({});
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/utils.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/utils.js
var { toString } = Object.prototype;
function isArray(val) {
return toString.call(val) === "[object Array]";
@ -1108,7 +1110,7 @@ function isUndefined(val) {
return typeof val === "undefined";
}
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/helpers/buildURL.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/helpers/buildURL.js
function encode(val) {
return encodeURIComponent(val).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
}
@ -1151,17 +1153,17 @@ function buildURL(url2, params) {
return url2;
}
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/helpers/isAbsoluteURL.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/helpers/isAbsoluteURL.js
function isAbsoluteURL(url2) {
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url2);
}
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/helpers/combineURLs.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/helpers/combineURLs.js
function combineURLs(baseURL, relativeURL) {
return relativeURL ? `${baseURL.replace(/\/+$/, "")}/${relativeURL.replace(/^\/+/, "")}` : baseURL;
}
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/core/buildFullPath.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/core/buildFullPath.js
function buildFullPath(baseURL, requestedURL) {
if (baseURL && !isAbsoluteURL(requestedURL)) {
return combineURLs(baseURL, requestedURL);
@ -1169,7 +1171,7 @@ function buildFullPath(baseURL, requestedURL) {
return requestedURL;
}
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/core/settle.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/core/settle.js
function settle(resolve, reject, response) {
const { validateStatus: validateStatus2 } = response.config;
const status = response.statusCode;
@ -1180,7 +1182,7 @@ function settle(resolve, reject, response) {
}
}
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/adapters/index.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/adapters/index.js
var mergeKeys = (keys, config2) => {
const config = {};
keys.forEach((prop) => {
@ -1243,10 +1245,10 @@ var adapters_default = (config) => new Promise((resolve, reject) => {
}
});
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/core/dispatchRequest.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/core/dispatchRequest.js
var dispatchRequest_default = (config) => adapters_default(config);
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/core/InterceptorManager.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/core/InterceptorManager.js
function InterceptorManager() {
this.handlers = [];
}
@ -1271,7 +1273,7 @@ InterceptorManager.prototype.forEach = function forEach2(fn) {
};
var InterceptorManager_default = InterceptorManager;
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/core/mergeConfig.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/core/mergeConfig.js
var mergeKeys2 = (keys, globalsConfig, config2) => {
const config = {};
keys.forEach((prop) => {
@ -1333,7 +1335,7 @@ var mergeConfig_default = (globalsConfig, config2 = {}) => {
return config;
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/core/defaults.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/core/defaults.js
var defaults_default = {
baseURL: "",
header: {},
@ -1348,7 +1350,7 @@ var defaults_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/utils/clone.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/utils/clone.js
var clone = function() {
"use strict";
function _instanceof(obj, type) {
@ -1545,7 +1547,7 @@ var clone = function() {
}();
var clone_default = clone;
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/core/Request.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/core/Request.js
var Request = class {
/**
* @param {Object} arg - 全局配置
@ -1683,10 +1685,10 @@ var Request = class {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/luch-request/index.js
// ../../../project/new_app/node_modules/uview-plus/libs/luch-request/index.js
var luch_request_default = Request;
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/function/colorGradient.js
// ../../../project/new_app/node_modules/uview-plus/libs/function/colorGradient.js
function colorGradient(startColor = "rgb(0, 0, 0)", endColor = "rgb(255, 255, 255)", step = 10) {
const startRGB = hexToRgb(startColor, false);
const startR = startRGB[0];
@ -1798,7 +1800,7 @@ var colorGradient_default = {
colorToRgba
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/function/debounce.js
// ../../../project/new_app/node_modules/uview-plus/libs/function/debounce.js
var timeout = null;
function debounce(func2, wait = 500, immediate = false) {
if (timeout !== null)
@ -1818,7 +1820,7 @@ function debounce(func2, wait = 500, immediate = false) {
}
var debounce_default = debounce;
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/function/throttle.js
// ../../../project/new_app/node_modules/uview-plus/libs/function/throttle.js
var timer;
var flag;
function throttle(func2, wait = 500, immediate = true) {
@ -1840,7 +1842,7 @@ function throttle(func2, wait = 500, immediate = true) {
}
var throttle_default = throttle;
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-action-sheet/actionSheet.js
// ../../../project/new_app/node_modules/uview-plus/components/u-action-sheet/actionSheet.js
var actionSheet_default = {
// action-sheet组件
actionSheet: {
@ -1859,7 +1861,7 @@ var actionSheet_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-album/album.js
// ../../../project/new_app/node_modules/uview-plus/components/u-album/album.js
var album_default = {
// album 组件
album: {
@ -1880,7 +1882,7 @@ var album_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-alert/alert.js
// ../../../project/new_app/node_modules/uview-plus/components/u-alert/alert.js
var alert_default = {
// alert警告组件
alert: {
@ -1895,7 +1897,7 @@ var alert_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-avatar/avatar.js
// ../../../project/new_app/node_modules/uview-plus/components/u-avatar/avatar.js
var avatar_default = {
// avatar 组件
avatar: {
@ -1916,7 +1918,7 @@ var avatar_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-avatar-group/avatarGroup.js
// ../../../project/new_app/node_modules/uview-plus/components/u-avatar-group/avatarGroup.js
var avatarGroup_default = {
// avatarGroup 组件
avatarGroup: {
@ -1932,7 +1934,7 @@ var avatarGroup_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-back-top/backtop.js
// ../../../project/new_app/node_modules/uview-plus/components/u-back-top/backtop.js
var backtop_default = {
// backtop组件
backtop: {
@ -1952,7 +1954,7 @@ var backtop_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-badge/badge.js
// ../../../project/new_app/node_modules/uview-plus/components/u-badge/badge.js
var badge_default = {
// 徽标数组件
badge: {
@ -1972,7 +1974,7 @@ var badge_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-button/button.js
// ../../../project/new_app/node_modules/uview-plus/components/u-button/button.js
var button_default = {
// button组件
button: {
@ -2008,7 +2010,7 @@ var button_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-calendar/calendar.js
// ../../../project/new_app/node_modules/uview-plus/components/u-calendar/calendar.js
var calendar_default = {
// calendar 组件
calendar: {
@ -2045,7 +2047,7 @@ var calendar_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-car-keyboard/carKeyboard.js
// ../../../project/new_app/node_modules/uview-plus/components/u-car-keyboard/carKeyboard.js
var carKeyboard_default = {
// 车牌号键盘
carKeyboard: {
@ -2053,7 +2055,7 @@ var carKeyboard_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-cell/cell.js
// ../../../project/new_app/node_modules/uview-plus/components/u-cell/cell.js
var cell_default = {
// cell组件的props
cell: {
@ -2081,7 +2083,7 @@ var cell_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-cell-group/cellGroup.js
// ../../../project/new_app/node_modules/uview-plus/components/u-cell-group/cellGroup.js
var cellGroup_default = {
// cell-group组件的props
cellGroup: {
@ -2091,7 +2093,7 @@ var cellGroup_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-checkbox/checkbox.js
// ../../../project/new_app/node_modules/uview-plus/components/u-checkbox/checkbox.js
var checkbox_default = {
// checkbox组件
checkbox: {
@ -2111,7 +2113,7 @@ var checkbox_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-checkbox-group/checkboxGroup.js
// ../../../project/new_app/node_modules/uview-plus/components/u-checkbox-group/checkboxGroup.js
var checkboxGroup_default = {
// checkbox-group组件
checkboxGroup: {
@ -2133,7 +2135,7 @@ var checkboxGroup_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-circle-progress/circleProgress.js
// ../../../project/new_app/node_modules/uview-plus/components/u-circle-progress/circleProgress.js
var circleProgress_default = {
// circleProgress 组件
circleProgress: {
@ -2141,7 +2143,7 @@ var circleProgress_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-code/code.js
// ../../../project/new_app/node_modules/uview-plus/components/u-code/code.js
var code_default = {
// code 组件
code: {
@ -2154,7 +2156,7 @@ var code_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-code-input/codeInput.js
// ../../../project/new_app/node_modules/uview-plus/components/u-code-input/codeInput.js
var codeInput_default = {
// codeInput 组件
codeInput: {
@ -2176,7 +2178,7 @@ var codeInput_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-col/col.js
// ../../../project/new_app/node_modules/uview-plus/components/u-col/col.js
var col_default = {
// col 组件
col: {
@ -2188,7 +2190,7 @@ var col_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-collapse/collapse.js
// ../../../project/new_app/node_modules/uview-plus/components/u-collapse/collapse.js
var collapse_default = {
// collapse 组件
collapse: {
@ -2198,7 +2200,7 @@ var collapse_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-collapse-item/collapseItem.js
// ../../../project/new_app/node_modules/uview-plus/components/u-collapse-item/collapseItem.js
var collapseItem_default = {
// collapseItem 组件
collapseItem: {
@ -2217,7 +2219,7 @@ var collapseItem_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-column-notice/columnNotice.js
// ../../../project/new_app/node_modules/uview-plus/components/u-column-notice/columnNotice.js
var columnNotice_default = {
// columnNotice 组件
columnNotice: {
@ -2235,7 +2237,7 @@ var columnNotice_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-count-down/countDown.js
// ../../../project/new_app/node_modules/uview-plus/components/u-count-down/countDown.js
var countDown_default = {
// u-count-down 计时器组件
countDown: {
@ -2246,7 +2248,7 @@ var countDown_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-count-to/countTo.js
// ../../../project/new_app/node_modules/uview-plus/components/u-count-to/countTo.js
var countTo_default = {
// countTo 组件
countTo: {
@ -2264,7 +2266,7 @@ var countTo_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-datetime-picker/datetimePicker.js
// ../../../project/new_app/node_modules/uview-plus/components/u-datetime-picker/datetimePicker.js
var datetimePicker_default = {
// datetimePicker 组件
datetimePicker: {
@ -2294,7 +2296,7 @@ var datetimePicker_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-divider/divider.js
// ../../../project/new_app/node_modules/uview-plus/components/u-divider/divider.js
var divider_default = {
// divider组件
divider: {
@ -2309,7 +2311,7 @@ var divider_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-empty/empty.js
// ../../../project/new_app/node_modules/uview-plus/components/u-empty/empty.js
var empty_default = {
// empty组件
empty: {
@ -2327,7 +2329,7 @@ var empty_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-form/form.js
// ../../../project/new_app/node_modules/uview-plus/components/u-form/form.js
var form_default = {
// form 组件
form: {
@ -2342,7 +2344,7 @@ var form_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-form-item/formItem.js
// ../../../project/new_app/node_modules/uview-plus/components/u-form-item/formItem.js
var formItem_default = {
// formItem 组件
formItem: {
@ -2359,7 +2361,7 @@ var formItem_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-gap/gap.js
// ../../../project/new_app/node_modules/uview-plus/components/u-gap/gap.js
var gap_default = {
// gap组件
gap: {
@ -2371,7 +2373,7 @@ var gap_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-grid/grid.js
// ../../../project/new_app/node_modules/uview-plus/components/u-grid/grid.js
var grid_default = {
// grid组件
grid: {
@ -2381,7 +2383,7 @@ var grid_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-grid-item/gridItem.js
// ../../../project/new_app/node_modules/uview-plus/components/u-grid-item/gridItem.js
var gridItem_default = {
// grid-item组件
gridItem: {
@ -2390,7 +2392,7 @@ var gridItem_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-icon/icon.js
// ../../../project/new_app/node_modules/uview-plus/components/u-icon/icon.js
var {
color
} = config_default;
@ -2417,7 +2419,7 @@ var icon_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-image/image.js
// ../../../project/new_app/node_modules/uview-plus/components/u-image/image.js
var image_default = {
// image组件
image: {
@ -2440,7 +2442,7 @@ var image_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-index-anchor/indexAnchor.js
// ../../../project/new_app/node_modules/uview-plus/components/u-index-anchor/indexAnchor.js
var indexAnchor_default = {
// indexAnchor 组件
indexAnchor: {
@ -2452,7 +2454,7 @@ var indexAnchor_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-index-list/indexList.js
// ../../../project/new_app/node_modules/uview-plus/components/u-index-list/indexList.js
var indexList_default = {
// indexList 组件
indexList: {
@ -2465,7 +2467,7 @@ var indexList_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-input/input.js
// ../../../project/new_app/node_modules/uview-plus/components/u-input/input.js
var input_default = {
// index 组件
input: {
@ -2506,7 +2508,7 @@ var input_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-keyboard/keyboard.js
// ../../../project/new_app/node_modules/uview-plus/components/u-keyboard/keyboard.js
var keyboard_default = {
// 键盘组件
keyboard: {
@ -2529,7 +2531,7 @@ var keyboard_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-line/line.js
// ../../../project/new_app/node_modules/uview-plus/components/u-line/line.js
var line_default = {
// line组件
line: {
@ -2542,7 +2544,7 @@ var line_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-line-progress/lineProgress.js
// ../../../project/new_app/node_modules/uview-plus/components/u-line-progress/lineProgress.js
var lineProgress_default = {
// lineProgress 组件
lineProgress: {
@ -2554,7 +2556,7 @@ var lineProgress_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-link/link.js
// ../../../project/new_app/node_modules/uview-plus/components/u-link/link.js
var {
color: color2
} = config_default;
@ -2571,7 +2573,7 @@ var link_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-list/list.js
// ../../../project/new_app/node_modules/uview-plus/components/u-list/list.js
var list_default = {
// list 组件
list: {
@ -2592,7 +2594,7 @@ var list_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-list-item/listItem.js
// ../../../project/new_app/node_modules/uview-plus/components/u-list-item/listItem.js
var listItem_default = {
// listItem 组件
listItem: {
@ -2600,7 +2602,7 @@ var listItem_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-loading-icon/loadingIcon.js
// ../../../project/new_app/node_modules/uview-plus/components/u-loading-icon/loadingIcon.js
var {
color: color3
} = config_default;
@ -2621,7 +2623,7 @@ var loadingIcon_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-loading-page/loadingPage.js
// ../../../project/new_app/node_modules/uview-plus/components/u-loading-page/loadingPage.js
var loadingPage_default = {
// loading-page组件
loadingPage: {
@ -2638,7 +2640,7 @@ var loadingPage_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-loadmore/loadmore.js
// ../../../project/new_app/node_modules/uview-plus/components/u-loadmore/loadmore.js
var loadmore_default = {
// loadmore 组件
loadmore: {
@ -2663,7 +2665,7 @@ var loadmore_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-modal/modal.js
// ../../../project/new_app/node_modules/uview-plus/components/u-modal/modal.js
var modal_default = {
// modal 组件
modal: {
@ -2687,7 +2689,7 @@ var modal_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/config/color.js
// ../../../project/new_app/node_modules/uview-plus/libs/config/color.js
var color4 = {
primary: "#3c9cff",
info: "#909399",
@ -2703,7 +2705,7 @@ var color4 = {
};
var color_default = color4;
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-navbar/navbar.js
// ../../../project/new_app/node_modules/uview-plus/components/u-navbar/navbar.js
var navbar_default = {
// navbar 组件
navbar: {
@ -2727,7 +2729,7 @@ var navbar_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-no-network/noNetwork.js
// ../../../project/new_app/node_modules/uview-plus/components/u-no-network/noNetwork.js
var noNetwork_default = {
// noNetwork
noNetwork: {
@ -2737,7 +2739,7 @@ var noNetwork_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-notice-bar/noticeBar.js
// ../../../project/new_app/node_modules/uview-plus/components/u-notice-bar/noticeBar.js
var noticeBar_default = {
// noticeBar
noticeBar: {
@ -2758,7 +2760,7 @@ var noticeBar_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-notify/notify.js
// ../../../project/new_app/node_modules/uview-plus/components/u-notify/notify.js
var notify_default = {
// notify组件
notify: {
@ -2773,7 +2775,7 @@ var notify_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-number-box/numberBox.js
// ../../../project/new_app/node_modules/uview-plus/components/u-number-box/numberBox.js
var numberBox_default = {
// 步进器组件
numberBox: {
@ -2801,7 +2803,7 @@ var numberBox_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-number-keyboard/numberKeyboard.js
// ../../../project/new_app/node_modules/uview-plus/components/u-number-keyboard/numberKeyboard.js
var numberKeyboard_default = {
// 数字键盘
numberKeyboard: {
@ -2811,7 +2813,7 @@ var numberKeyboard_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-overlay/overlay.js
// ../../../project/new_app/node_modules/uview-plus/components/u-overlay/overlay.js
var overlay_default = {
// overlay组件
overlay: {
@ -2822,7 +2824,7 @@ var overlay_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-parse/parse.js
// ../../../project/new_app/node_modules/uview-plus/components/u-parse/parse.js
var parse_default = {
// parse
parse: {
@ -2837,7 +2839,7 @@ var parse_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-picker/picker.js
// ../../../project/new_app/node_modules/uview-plus/components/u-picker/picker.js
var picker_default = {
// picker
picker: {
@ -2861,7 +2863,7 @@ var picker_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-popup/popup.js
// ../../../project/new_app/node_modules/uview-plus/components/u-popup/popup.js
var popup_default = {
// popup组件
popup: {
@ -2883,7 +2885,7 @@ var popup_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-radio/radio.js
// ../../../project/new_app/node_modules/uview-plus/components/u-radio/radio.js
var radio_default = {
// radio组件
radio: {
@ -2903,7 +2905,7 @@ var radio_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-radio-group/radioGroup.js
// ../../../project/new_app/node_modules/uview-plus/components/u-radio-group/radioGroup.js
var radioGroup_default = {
// radio-group组件
radioGroup: {
@ -2927,7 +2929,7 @@ var radioGroup_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-rate/rate.js
// ../../../project/new_app/node_modules/uview-plus/components/u-rate/rate.js
var rate_default = {
// rate组件
rate: {
@ -2946,7 +2948,7 @@ var rate_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-read-more/readMore.js
// ../../../project/new_app/node_modules/uview-plus/components/u-read-more/readMore.js
var readMore_default = {
// readMore
readMore: {
@ -2961,7 +2963,7 @@ var readMore_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-row/row.js
// ../../../project/new_app/node_modules/uview-plus/components/u-row/row.js
var row_default = {
// row
row: {
@ -2971,7 +2973,7 @@ var row_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-row-notice/rowNotice.js
// ../../../project/new_app/node_modules/uview-plus/components/u-row-notice/rowNotice.js
var rowNotice_default = {
// rowNotice
rowNotice: {
@ -2985,7 +2987,7 @@ var rowNotice_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-scroll-list/scrollList.js
// ../../../project/new_app/node_modules/uview-plus/components/u-scroll-list/scrollList.js
var scrollList_default = {
// scrollList
scrollList: {
@ -2998,7 +3000,7 @@ var scrollList_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-search/search.js
// ../../../project/new_app/node_modules/uview-plus/components/u-search/search.js
var search_default = {
// search
search: {
@ -3028,7 +3030,7 @@ var search_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-section/section.js
// ../../../project/new_app/node_modules/uview-plus/components/u-section/section.js
var section_default = {
// u-section组件
section: {
@ -3045,7 +3047,7 @@ var section_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-skeleton/skeleton.js
// ../../../project/new_app/node_modules/uview-plus/components/u-skeleton/skeleton.js
var skeleton_default = {
// skeleton
skeleton: {
@ -3063,7 +3065,7 @@ var skeleton_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-slider/slider.js
// ../../../project/new_app/node_modules/uview-plus/components/u-slider/slider.js
var slider_default = {
// slider组件
slider: {
@ -3083,7 +3085,7 @@ var slider_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-status-bar/statusBar.js
// ../../../project/new_app/node_modules/uview-plus/components/u-status-bar/statusBar.js
var statusBar_default = {
// statusBar
statusBar: {
@ -3091,7 +3093,7 @@ var statusBar_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-steps/steps.js
// ../../../project/new_app/node_modules/uview-plus/components/u-steps/steps.js
var steps_default = {
// steps组件
steps: {
@ -3105,7 +3107,7 @@ var steps_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-steps-item/stepsItem.js
// ../../../project/new_app/node_modules/uview-plus/components/u-steps-item/stepsItem.js
var stepsItem_default = {
// steps-item组件
stepsItem: {
@ -3116,7 +3118,7 @@ var stepsItem_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-sticky/sticky.js
// ../../../project/new_app/node_modules/uview-plus/components/u-sticky/sticky.js
var sticky_default = {
// sticky组件
sticky: {
@ -3129,7 +3131,7 @@ var sticky_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-subsection/subsection.js
// ../../../project/new_app/node_modules/uview-plus/components/u-subsection/subsection.js
var subsection_default = {
// subsection组件
subsection: {
@ -3145,7 +3147,7 @@ var subsection_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-swipe-action/swipeAction.js
// ../../../project/new_app/node_modules/uview-plus/components/u-swipe-action/swipeAction.js
var swipeAction_default = {
// swipe-action组件
swipeAction: {
@ -3153,7 +3155,7 @@ var swipeAction_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-swipe-action-item/swipeActionItem.js
// ../../../project/new_app/node_modules/uview-plus/components/u-swipe-action-item/swipeActionItem.js
var swipeActionItem_default = {
// swipeActionItem 组件
swipeActionItem: {
@ -3168,7 +3170,7 @@ var swipeActionItem_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-swiper/swiper.js
// ../../../project/new_app/node_modules/uview-plus/components/u-swiper/swiper.js
var swiper_default = {
// swiper 组件
swiper: {
@ -3199,7 +3201,7 @@ var swiper_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-swiper-indicator/swipterIndicator.js
// ../../../project/new_app/node_modules/uview-plus/components/u-swiper-indicator/swipterIndicator.js
var swipterIndicator_default = {
// swiperIndicator 组件
swiperIndicator: {
@ -3211,7 +3213,7 @@ var swipterIndicator_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-switch/switch.js
// ../../../project/new_app/node_modules/uview-plus/components/u-switch/switch.js
var switch_default = {
// switch
switch: {
@ -3228,7 +3230,7 @@ var switch_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-tabbar/tabbar.js
// ../../../project/new_app/node_modules/uview-plus/components/u-tabbar/tabbar.js
var tabbar_default = {
// tabbar
tabbar: {
@ -3243,7 +3245,7 @@ var tabbar_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-tabbar-item/tabbarItem.js
// ../../../project/new_app/node_modules/uview-plus/components/u-tabbar-item/tabbarItem.js
var tabbarItem_default = {
//
tabbarItem: {
@ -3256,7 +3258,7 @@ var tabbarItem_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-tabs/tabs.js
// ../../../project/new_app/node_modules/uview-plus/components/u-tabs/tabs.js
var tabs_default = {
//
tabs: {
@ -3281,7 +3283,7 @@ var tabs_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-tag/tag.js
// ../../../project/new_app/node_modules/uview-plus/components/u-tag/tag.js
var tag_default = {
// tag 组件
tag: {
@ -3304,7 +3306,7 @@ var tag_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-text/text.js
// ../../../project/new_app/node_modules/uview-plus/components/u-text/text.js
var text_default = {
// text 组件
text: {
@ -3335,7 +3337,7 @@ var text_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-textarea/textarea.js
// ../../../project/new_app/node_modules/uview-plus/components/u-textarea/textarea.js
var textarea_default = {
// textarea 组件
textarea: {
@ -3364,7 +3366,7 @@ var textarea_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-toast/toast.js
// ../../../project/new_app/node_modules/uview-plus/components/u-toast/toast.js
var toast_default = {
// toast组件
toast: {
@ -3386,7 +3388,7 @@ var toast_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-toolbar/toolbar.js
// ../../../project/new_app/node_modules/uview-plus/components/u-toolbar/toolbar.js
var toolbar_default = {
// toolbar 组件
toolbar: {
@ -3399,7 +3401,7 @@ var toolbar_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-tooltip/tooltip.js
// ../../../project/new_app/node_modules/uview-plus/components/u-tooltip/tooltip.js
var tooltip_default = {
// tooltip 组件
tooltip: {
@ -3417,7 +3419,7 @@ var tooltip_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-transition/transition.js
// ../../../project/new_app/node_modules/uview-plus/components/u-transition/transition.js
var transition_default = {
// transition动画组件的props
transition: {
@ -3428,7 +3430,7 @@ var transition_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/components/u-upload/upload.js
// ../../../project/new_app/node_modules/uview-plus/components/u-upload/upload.js
var upload_default = {
// upload组件
upload: {
@ -3458,7 +3460,7 @@ var upload_default = {
}
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/config/props.js
// ../../../project/new_app/node_modules/uview-plus/libs/config/props.js
var {
color: color5
} = config_default;
@ -3553,7 +3555,7 @@ var props_default = {
...upload_default
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/config/zIndex.js
// ../../../project/new_app/node_modules/uview-plus/libs/config/zIndex.js
var zIndex_default = {
toast: 10090,
noNetwork: 10080,
@ -3566,13 +3568,13 @@ var zIndex_default = {
indexListSticky: 965
};
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/libs/function/platform.js
// ../../../project/new_app/node_modules/uview-plus/libs/function/platform.js
var platform = "none";
platform = "vue3";
platform = "h5";
var platform_default = platform;
// C:/Users/Administrator/Documents/HBuilderProjects/duanju-app-v3/node_modules/uview-plus/index.js
// ../../../project/new_app/node_modules/uview-plus/index.js
var http = new luch_request_default();
var themeType = ["primary", "success", "error", "warning", "info"];
function setConfig(configs) {

File diff suppressed because one or more lines are too long