This commit is contained in:
Double-_-Z 2024-12-18 14:45:53 +08:00
parent f3747f0643
commit abea9bf929
12 changed files with 490 additions and 308 deletions

277
.gitignore vendored
View File

@ -1,248 +1,29 @@
unpackage/cache/certdata # 忽略 macOs 自带的 .DS_Store 文件
unpackage/cache/apk/__UNI__0B08B09_cm.apk .DS_Store
unpackage/cache/apk/apkurl
unpackage/cache/apk/cmManifestCache.json # 忽略项目编译后的文件
unpackage/cache/wgt/__UNI__0B08B09/__uniappchooselocation.js unpackage/dist
unpackage/cache/wgt/__UNI__0B08B09/__uniapperror.png unpackage/cache
unpackage/cache/wgt/__UNI__0B08B09/__uniappes6.js
unpackage/cache/wgt/__UNI__0B08B09/__uniappopenlocation.js node_modules/
unpackage/cache/wgt/__UNI__0B08B09/__uniapppicker.js dist/
unpackage/cache/wgt/__UNI__0B08B09/__uniappquill.js npm-debug.log*
unpackage/cache/wgt/__UNI__0B08B09/__uniappquillimageresize.js yarn-debug.log*
unpackage/cache/wgt/__UNI__0B08B09/__uniappscan.js yarn-error.log*
unpackage/cache/wgt/__UNI__0B08B09/__uniappsuccess.png **/*.log
unpackage/cache/wgt/__UNI__0B08B09/__uniappview.html
unpackage/cache/wgt/__UNI__0B08B09/app-config.js tests/**/coverage/
unpackage/cache/wgt/__UNI__0B08B09/app-config-service.js tests/e2e/reports
unpackage/cache/wgt/__UNI__0B08B09/app-service.js selenium-debug.log
unpackage/cache/wgt/__UNI__0B08B09/app-view.js
unpackage/cache/wgt/__UNI__0B08B09/manifest.json # Editor directories and files
unpackage/cache/wgt/__UNI__0B08B09/view.css .idea
unpackage/cache/wgt/__UNI__0B08B09/view.umd.min.js .vscode
unpackage/cache/wgt/__UNI__0B08B09/static/favicon.ico *.suo
unpackage/cache/wgt/__UNI__0B08B09/static/header.png *.ntvs*
unpackage/cache/wgt/__UNI__0B08B09/static/logo.png *.njsproj
unpackage/dist/build/.automator/app-plus/.automator.json *.sln
unpackage/dist/build/.automator/h5/.automator.json *.local
unpackage/dist/build/.automator/mp-weixin/.automator.json
unpackage/dist/build/app-plus/__uniappchooselocation.js package-lock.json
unpackage/dist/build/app-plus/__uniapperror.png yarn.lock
unpackage/dist/build/app-plus/__uniappes6.js
unpackage/dist/build/app-plus/__uniappopenlocation.js
unpackage/dist/build/app-plus/__uniapppicker.js
unpackage/dist/build/app-plus/__uniappquill.js
unpackage/dist/build/app-plus/__uniappquillimageresize.js
unpackage/dist/build/app-plus/__uniappscan.js
unpackage/dist/build/app-plus/__uniappsuccess.png
unpackage/dist/build/app-plus/__uniappview.html
unpackage/dist/build/app-plus/app-config.js
unpackage/dist/build/app-plus/app-config-service.js
unpackage/dist/build/app-plus/app-service.js
unpackage/dist/build/app-plus/app-view.js
unpackage/dist/build/app-plus/manifest.json
unpackage/dist/build/app-plus/view.css
unpackage/dist/build/app-plus/view.umd.min.js
unpackage/dist/build/app-plus/static/favicon.ico
unpackage/dist/build/app-plus/static/header.png
unpackage/dist/build/app-plus/static/logo.png
unpackage/dist/build/mp-weixin/app.js
unpackage/dist/build/mp-weixin/app.json
unpackage/dist/build/mp-weixin/app.wxss
unpackage/dist/build/mp-weixin/project.config.json
unpackage/dist/build/mp-weixin/project.private.config.json
unpackage/dist/build/mp-weixin/common/main.js
unpackage/dist/build/mp-weixin/common/main.wxss
unpackage/dist/build/mp-weixin/common/runtime.js
unpackage/dist/build/mp-weixin/common/vendor.js
unpackage/dist/build/mp-weixin/components/loading/index.js
unpackage/dist/build/mp-weixin/components/loading/index.json
unpackage/dist/build/mp-weixin/components/loading/index.wxml
unpackage/dist/build/mp-weixin/components/loading/index.wxss
unpackage/dist/build/mp-weixin/pages/index/index.js
unpackage/dist/build/mp-weixin/pages/index/index.json
unpackage/dist/build/mp-weixin/pages/index/index.wxml
unpackage/dist/build/mp-weixin/pages/mobile_web/home/home.js
unpackage/dist/build/mp-weixin/pages/mobile_web/home/home.json
unpackage/dist/build/mp-weixin/pages/mobile_web/home/home.wxml
unpackage/dist/build/mp-weixin/pages/mobile_web/home/home.wxss
unpackage/dist/build/mp-weixin/pages/mobile_web/index/index.js
unpackage/dist/build/mp-weixin/pages/mobile_web/index/index.json
unpackage/dist/build/mp-weixin/pages/mobile_web/index/index.wxml
unpackage/dist/build/mp-weixin/pages/mobile_web/index/index.wxss
unpackage/dist/build/mp-weixin/pages/mobile_web/my/my.js
unpackage/dist/build/mp-weixin/pages/mobile_web/my/my.json
unpackage/dist/build/mp-weixin/pages/mobile_web/my/my.wxml
unpackage/dist/build/mp-weixin/pages/mobile_web/my/my.wxss
unpackage/dist/build/mp-weixin/pages/mobile_web/work/work.js
unpackage/dist/build/mp-weixin/pages/mobile_web/work/work.json
unpackage/dist/build/mp-weixin/pages/mobile_web/work/work.wxml
unpackage/dist/build/mp-weixin/pages/mobile_web/work/work.wxss
unpackage/dist/build/mp-weixin/pages/mobile_web/workshops/index.js
unpackage/dist/build/mp-weixin/pages/mobile_web/workshops/index.json
unpackage/dist/build/mp-weixin/pages/mobile_web/workshops/index.wxml
unpackage/dist/build/mp-weixin/pages/mobile_web/workshops/index.wxss
unpackage/dist/build/mp-weixin/pages/mobile_web/workshops/components/editor.js
unpackage/dist/build/mp-weixin/pages/mobile_web/workshops/components/editor.json
unpackage/dist/build/mp-weixin/pages/mobile_web/workshops/components/editor.wxml
unpackage/dist/build/mp-weixin/pages/mobile_web/workshops/components/editor.wxss
unpackage/dist/build/mp-weixin/pages/pc_web/index/index.js
unpackage/dist/build/mp-weixin/pages/pc_web/index/index.json
unpackage/dist/build/mp-weixin/pages/pc_web/index/index.wxml
unpackage/dist/build/mp-weixin/pages/pc_web/index/index.wxss
unpackage/dist/build/mp-weixin/pages/pc_web/index/components/header.js
unpackage/dist/build/mp-weixin/pages/pc_web/index/components/header.json
unpackage/dist/build/mp-weixin/pages/pc_web/index/components/header.wxml
unpackage/dist/build/mp-weixin/pages/pc_web/index/components/header.wxss
unpackage/dist/build/mp-weixin/static/favicon.ico
unpackage/dist/build/mp-weixin/static/header.png
unpackage/dist/build/mp-weixin/static/logo.png
unpackage/dist/build/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.wxss
unpackage/dist/build/mp-weixin/uview-ui/components/u-count-to/u-count-to.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-count-to/u-count-to.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-count-to/u-count-to.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-count-to/u-count-to.wxss
unpackage/dist/build/mp-weixin/uview-ui/components/u-icon/u-icon.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-icon/u-icon.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-icon/u-icon.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-icon/u-icon.wxss
unpackage/dist/build/mp-weixin/uview-ui/components/u-input/u-input.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-input/u-input.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-input/u-input.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-input/u-input.wxss
unpackage/dist/build/mp-weixin/uview-ui/components/u-mask/u-mask.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-mask/u-mask.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-mask/u-mask.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-mask/u-mask.wxss
unpackage/dist/build/mp-weixin/uview-ui/components/u-popup/u-popup.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-popup/u-popup.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-popup/u-popup.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-popup/u-popup.wxss
unpackage/dist/build/mp-weixin/uview-ui/components/u-select/u-select.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-select/u-select.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-select/u-select.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-select/u-select.wxss
unpackage/dist/build/mp-weixin/uview-ui/components/u-swiper/u-swiper.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-swiper/u-swiper.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-swiper/u-swiper.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-swiper/u-swiper.wxss
unpackage/dist/build/mp-weixin/uview-ui/components/u-toast/u-toast.js
unpackage/dist/build/mp-weixin/uview-ui/components/u-toast/u-toast.json
unpackage/dist/build/mp-weixin/uview-ui/components/u-toast/u-toast.wxml
unpackage/dist/build/mp-weixin/uview-ui/components/u-toast/u-toast.wxss
unpackage/dist/build/web/index.html
unpackage/dist/build/web/assets/element-icons.535877f5.woff
unpackage/dist/build/web/assets/element-icons.732389de.ttf
unpackage/dist/build/web/static/favicon.ico
unpackage/dist/build/web/static/header.png
unpackage/dist/build/web/static/index.css
unpackage/dist/build/web/static/logo.png
unpackage/dist/build/web/static/js/chunk-vendors.50d2fbeb.js
unpackage/dist/build/web/static/js/index.85a08705.js
unpackage/dist/build/web/static/js/pages-index-index.c0cbedfd.js
unpackage/dist/build/web/static/js/pages-mobile_web-index-index.af5c2abe.js
unpackage/dist/build/web/static/js/pages-mobile_web-index-index~pages-mobile_web-workshops-index~pages-pc_web-index-index~uview-ui-comp~4322e855.45cf24ee.js
unpackage/dist/build/web/static/js/pages-mobile_web-workshops-index.c3328c75.js
unpackage/dist/build/web/static/js/pages-pc_web-index-index.cd6b4dd4.js
unpackage/dist/build/web/static/js/uview-ui-components-u-avatar-cropper-u-avatar-cropper.784d3fd8.js
unpackage/dist/dev/.automator/app-plus/.automator.json
unpackage/dist/dev/.automator/mp-weixin/.automator.json
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/components/loading/index.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mobile_web/home/home.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mobile_web/index/index.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/pages/pc_web/index/index.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/pages/pc_web/index/components/header.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-icon/u-icon.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-mask/u-mask.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-popup/u-popup.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-select/u-select.js.map
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-swiper/u-swiper.js.map
unpackage/dist/dev/app-plus/__uniappchooselocation.js
unpackage/dist/dev/app-plus/__uniapperror.png
unpackage/dist/dev/app-plus/__uniappes6.js
unpackage/dist/dev/app-plus/__uniappopenlocation.js
unpackage/dist/dev/app-plus/__uniapppicker.js
unpackage/dist/dev/app-plus/__uniappquill.js
unpackage/dist/dev/app-plus/__uniappquillimageresize.js
unpackage/dist/dev/app-plus/__uniappscan.js
unpackage/dist/dev/app-plus/__uniappsuccess.png
unpackage/dist/dev/app-plus/__uniappview.html
unpackage/dist/dev/app-plus/app-config.js
unpackage/dist/dev/app-plus/app-config-service.js
unpackage/dist/dev/app-plus/app-service.js
unpackage/dist/dev/app-plus/app-view.js
unpackage/dist/dev/app-plus/manifest.json
unpackage/dist/dev/app-plus/view.css
unpackage/dist/dev/app-plus/view.umd.min.js
unpackage/dist/dev/app-plus/static/favicon.ico
unpackage/dist/dev/app-plus/static/header.png
unpackage/dist/dev/app-plus/static/logo.png
unpackage/dist/dev/mp-weixin/app.js
unpackage/dist/dev/mp-weixin/app.json
unpackage/dist/dev/mp-weixin/app.wxss
unpackage/dist/dev/mp-weixin/project.config.json
unpackage/dist/dev/mp-weixin/project.private.config.json
unpackage/dist/dev/mp-weixin/assets/element-icons.732389de.ttf
unpackage/dist/dev/mp-weixin/common/main.js
unpackage/dist/dev/mp-weixin/common/main.wxss
unpackage/dist/dev/mp-weixin/common/runtime.js
unpackage/dist/dev/mp-weixin/common/vendor.js
unpackage/dist/dev/mp-weixin/components/loading/index.js
unpackage/dist/dev/mp-weixin/components/loading/index.json
unpackage/dist/dev/mp-weixin/components/loading/index.wxml
unpackage/dist/dev/mp-weixin/components/loading/index.wxss
unpackage/dist/dev/mp-weixin/pages/index/index.js
unpackage/dist/dev/mp-weixin/pages/index/index.json
unpackage/dist/dev/mp-weixin/pages/index/index.wxml
unpackage/dist/dev/mp-weixin/pages/mobile_web/home/home.js
unpackage/dist/dev/mp-weixin/pages/mobile_web/home/home.json
unpackage/dist/dev/mp-weixin/pages/mobile_web/home/home.wxml
unpackage/dist/dev/mp-weixin/pages/mobile_web/home/home.wxss
unpackage/dist/dev/mp-weixin/pages/mobile_web/index/index.js
unpackage/dist/dev/mp-weixin/pages/mobile_web/index/index.json
unpackage/dist/dev/mp-weixin/pages/mobile_web/index/index.wxml
unpackage/dist/dev/mp-weixin/pages/mobile_web/index/index.wxss
unpackage/dist/dev/mp-weixin/pages/pc_web/index/index.js
unpackage/dist/dev/mp-weixin/pages/pc_web/index/index.json
unpackage/dist/dev/mp-weixin/pages/pc_web/index/index.wxml
unpackage/dist/dev/mp-weixin/pages/pc_web/index/index.wxss
unpackage/dist/dev/mp-weixin/pages/pc_web/index/components/header.js
unpackage/dist/dev/mp-weixin/pages/pc_web/index/components/header.json
unpackage/dist/dev/mp-weixin/pages/pc_web/index/components/header.wxml
unpackage/dist/dev/mp-weixin/pages/pc_web/index/components/header.wxss
unpackage/dist/dev/mp-weixin/static/favicon.ico
unpackage/dist/dev/mp-weixin/static/header.png
unpackage/dist/dev/mp-weixin/static/logo.png
unpackage/dist/dev/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.js
unpackage/dist/dev/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.json
unpackage/dist/dev/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.wxml
unpackage/dist/dev/mp-weixin/uview-ui/components/u-avatar-cropper/u-avatar-cropper.wxss
unpackage/dist/dev/mp-weixin/uview-ui/components/u-icon/u-icon.js
unpackage/dist/dev/mp-weixin/uview-ui/components/u-icon/u-icon.json
unpackage/dist/dev/mp-weixin/uview-ui/components/u-icon/u-icon.wxml
unpackage/dist/dev/mp-weixin/uview-ui/components/u-icon/u-icon.wxss
unpackage/dist/dev/mp-weixin/uview-ui/components/u-mask/u-mask.js
unpackage/dist/dev/mp-weixin/uview-ui/components/u-mask/u-mask.json
unpackage/dist/dev/mp-weixin/uview-ui/components/u-mask/u-mask.wxml
unpackage/dist/dev/mp-weixin/uview-ui/components/u-mask/u-mask.wxss
unpackage/dist/dev/mp-weixin/uview-ui/components/u-popup/u-popup.js
unpackage/dist/dev/mp-weixin/uview-ui/components/u-popup/u-popup.json
unpackage/dist/dev/mp-weixin/uview-ui/components/u-popup/u-popup.wxml
unpackage/dist/dev/mp-weixin/uview-ui/components/u-popup/u-popup.wxss
unpackage/dist/dev/mp-weixin/uview-ui/components/u-select/u-select.js
unpackage/dist/dev/mp-weixin/uview-ui/components/u-select/u-select.json
unpackage/dist/dev/mp-weixin/uview-ui/components/u-select/u-select.wxml
unpackage/dist/dev/mp-weixin/uview-ui/components/u-select/u-select.wxss
unpackage/dist/dev/mp-weixin/uview-ui/components/u-swiper/u-swiper.js
unpackage/dist/dev/mp-weixin/uview-ui/components/u-swiper/u-swiper.json
unpackage/dist/dev/mp-weixin/uview-ui/components/u-swiper/u-swiper.wxml
unpackage/dist/dev/mp-weixin/uview-ui/components/u-swiper/u-swiper.wxss
unpackage/release/apk/__UNI__0B08B09__20241123171225.apk
unpackage/release/apk/__UNI__0B08B09__20241128202014.apk

View File

@ -1,6 +1,7 @@
// 接口环境 // 接口环境
let BASE_URL = '/pixelApi'; let BASE_URL = '/pixelApi';
let IP = 'http://8.138.171.103/'; let IP = 'http://8.138.171.103/';// 测试环境
// let IP = 'http://1.12.224.227/';// 正式环境
let FILE_URL = IP+'static/'; let FILE_URL = IP+'static/';
// 火山引擎ai接口地址 // 火山引擎ai接口地址
let AI_URL = 'https://visual.volcengineapi.com'; let AI_URL = 'https://visual.volcengineapi.com';

View File

@ -103,7 +103,8 @@
"disableHostCheck" : true, "disableHostCheck" : true,
"proxy" : { "proxy" : {
"/pixelApi" : { "/pixelApi" : {
"target" : "http://8.138.171.103:8082", "target" : "http://8.138.171.103/pixelApi",//
// "target" : "http://1.12.224.227/pixelApi",//
"changeOrigin" : true, "changeOrigin" : true,
"secure" : true, "secure" : true,
"ws" : false, "ws" : false,
@ -112,13 +113,15 @@
} }
}, },
"/upload" : { "/upload" : {
"target" : "http://8.138.171.103", "target" : "http://8.138.171.103",//
// "target" : "http://1.12.224.227",//
"changeOrigin" : true, "changeOrigin" : true,
"secure" : true, "secure" : true,
"ws" : false "ws" : false
}, },
"/aiupload" : { "/aiupload" : {
"target" : "http://8.138.171.103", "target" : "http://8.138.171.103",//
// "target" : "http://1.12.224.227",//
"changeOrigin" : true, "changeOrigin" : true,
"secure" : true, "secure" : true,
"ws" : false "ws" : false

View File

@ -76,19 +76,20 @@
"style": { "style": {
"navigationBarTitleText": "登录" "navigationBarTitleText": "登录"
} }
},
{
"path": "my/child_pages/contact",
"style": {
"navigationBarTitleText": "联系客服"
}
},
{
"path": "my/child_pages/setting",
"style": {
"navigationBarTitleText": "个人资料"
}
} }
] ]
},
{
"root": "pages/mobile_web/my/child_pages",
"pages": [
{
"path": "contact",
"style": {
"navigationBarTitleText": "联系客服"
}
}
]
} }
], ],
"globalStyle": { "globalStyle": {

View File

@ -16,12 +16,14 @@
<view class="content-inner"> <view class="content-inner">
<!-- 功能栏 --> <!-- 功能栏 -->
<view class="first-functions"> <view class="first-functions">
<!-- ai换衣 -->
<view class="ff-left"> <view class="ff-left">
<image :src="fileUrl+functionImg[0].picture"></image> <image :src="fileUrl+functionImg[0].picture" @click="toDeal(5)"></image>
<image :src="fileUrl+functionImg[1].picture" class="go"></image> <image :src="fileUrl+functionImg[1].picture" class="go" @click="toDeal(5)"></image>
</view> </view>
<!-- 风格重绘 -->
<view class="ff-right"> <view class="ff-right">
<image @click="toDeal()" class="redraw" :src="fileUrl+functionImg[2].picture"></image> <image @click="toDeal(6)" class="redraw" :src="fileUrl+functionImg[2].picture"></image>
<image class="tip" :src="fileUrl+functionImg[3].picture"></image> <image class="tip" :src="fileUrl+functionImg[3].picture"></image>
</view> </view>
</view> </view>
@ -33,8 +35,8 @@
<view class="category"> <view class="category">
<template v-for="(category, itemIndex) in item"> <template v-for="(category, itemIndex) in item">
<view class="category-item" @click="toDeal(category.id)"> <view class="category-item" @click="toDeal(category.id)">
<image :style="category.icon?{}:{width:'80rpx',height:'70rpx'}" <image :style="category.icon?{}:{width:'80rpx',height:'70rpx'}"
:src="fileUrl+(category.icon||'default-work.png')"></image> :src="encodeURI(staticIp+(category.icon||'static/pixel/home/default-work.png'))"></image>
<view>{{ category.name }}</view> <view>{{ category.name }}</view>
</view> </view>
</template> </template>
@ -53,7 +55,7 @@
<view class="tfc-right"> <view class="tfc-right">
筛选 筛选
<view class="tfcr-btn" @click="showSift = true"> <view class="tfcr-btn" @click="showSift = true">
<u-icon :label="siftList[siftIndex]?siftList[siftIndex].label:'暂无'" :name="fileUrl+select" color="#d4ff00" <u-icon :label="siftLabel||'暂无'" :name="fileUrl+select" color="#d4ff00"
size="17" label-pos="left" label-color="#d4ff00"></u-icon> size="17" label-pos="left" label-color="#d4ff00"></u-icon>
</view> </view>
</view> </view>
@ -62,7 +64,7 @@
<view @click="maskTouchend(item,index)" class="work-item" v-for="(item,index) in workList" :key="item.id"> <view @click="maskTouchend(item,index)" class="work-item" v-for="(item,index) in workList" :key="item.id">
<view :class="item.display?'ribbon-fadeOutUp':''" class="collect-ribbon" v-show="item.collect">收藏</view> <view :class="item.display?'ribbon-fadeOutUp':''" class="collect-ribbon" v-show="item.collect">收藏</view>
<image class="work-picture" :src="item.picture" mode="widthFix"></image> <image class="work-picture" :src="item.picture" mode="widthFix"></image>
<view class="sign-text">{{ siftList[item.type]?siftList[item.type].label:'暂无' }}</view> <view class="sign-text">{{ siftList[item.type]?siftList[item.type].name:'暂无' }}</view>
<image class="sign" :src="fileUrl+sign"></image> <image class="sign" :src="fileUrl+sign"></image>
<!-- <image class="compare-sign" mode="widthFix" :src="item.compare"></image> --> <!-- <image class="compare-sign" mode="widthFix" :src="item.compare"></image> -->
</view> </view>
@ -78,7 +80,7 @@
<u-toast ref="uToast"></u-toast> <u-toast ref="uToast"></u-toast>
<!-- 筛选项下拉栏 --> <!-- 筛选项下拉栏 -->
<u-select v-model="showSift" :list="siftList" @confirm="selectSift" <u-select v-model="showSift" :list="siftList" @confirm="selectSift"
confirm-color="#94d500"></u-select> confirm-color="#94d500" labelName="name" valueName="name"></u-select>
</view> </view>
</template> </template>
@ -91,13 +93,10 @@ export default {
type: Number, type: Number,
default: 0 default: 0
}, },
siftList:{
type: Array,
default: []
}
}, },
data(){ data(){
return{ return{
staticIp: configService.ip,
fileUrl: configService.fileUrl + 'pixel/home/', fileUrl: configService.fileUrl + 'pixel/home/',
// logo // logo
logo: 'logo.png', logo: 'logo.png',
@ -142,8 +141,10 @@ export default {
select: 'select.png', select: 'select.png',
// //
showSift: false, showSift: false,
// //
siftIndex: 0, siftList: [],
// label
siftLabel: '全部',
// //
workList:[ workList:[
{ {
@ -205,6 +206,8 @@ export default {
// 10 // 10
this.swiperFunctionList = []; this.swiperFunctionList = [];
const arr = res.data; const arr = res.data;
this.siftList = [{name:"全部"}]
this.siftList.push(...arr);
for (let i = 0; i < arr.length; i += this.group) { for (let i = 0; i < arr.length; i += this.group) {
this.swiperFunctionList.push(arr.slice(i, i + this.group)); this.swiperFunctionList.push(arr.slice(i, i + this.group));
} }
@ -218,7 +221,7 @@ export default {
}, },
// //
selectSift(e){ selectSift(e){
this.siftIndex = e[0].value; this.siftLabel = e[0].value;
}, },
// -- // --
maskTouchend(item,index){ maskTouchend(item,index){
@ -366,6 +369,7 @@ export default {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: flex-end;
padding: 0 12rpx; padding: 0 12rpx;
&:active{ &:active{
filter: opacity(0.8); filter: opacity(0.8);
@ -376,11 +380,14 @@ export default {
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
color: #fff; color: #fff;
text-align: center;
font-size: 25rpx; font-size: 25rpx;
} }
image{ image{
width: 110rpx; // width: 110rpx;
height: 60rpx; // height: 60rpx;
width: 60rpx;
height:60rpx;
margin-bottom: 14rpx; margin-bottom: 14rpx;
} }
} }
@ -462,10 +469,14 @@ export default {
position: absolute; position: absolute;
top: 0.8em; top: 0.8em;
left: 0.6em; left: 0.6em;
width: 142rpx; width: 152rpx;
height: 47rpx; height: 47rpx;
} }
.sign-text{ .sign-text{
width: 132rpx;
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
color: #ffffff; color: #ffffff;
font-size: 28rpx; font-size: 28rpx;
position: absolute; position: absolute;

View File

@ -80,7 +80,7 @@ export default {
} }
this.changeCurrent(this.current); this.changeCurrent(this.current);
// #ifndef H5 // #ifndef H5
} },
// #endif // #endif
// #ifdef H5 // #ifdef H5

View File

@ -249,8 +249,8 @@
if(res.success){ if(res.success){
that.$refs.loginForm.resetFields(); that.$refs.loginForm.resetFields();
if(!that.current){ if(!that.current){
that.$u.vuex('vuex_token', res.data.token); // that.$u.vuex('vuex_token', res.data.token);
// that.$u.vuex('vuex_token', 'fbc545a91cc94fe89296828a25a7e08e@9085553879028596738'); that.$u.vuex('vuex_token', 'fbc545a91cc94fe89296828a25a7e08e@9085553879028596738');
that.$u.vuex('user_message', JSON.stringify(res.data.user)); that.$u.vuex('user_message', JSON.stringify(res.data.user));
if(that.nextUrl===''){ if(that.nextUrl===''){
uni.navigateBack({complete() { uni.navigateBack({complete() {

View File

@ -0,0 +1,399 @@
<!-- 联系客服 -->
<template>
<!-- #ifdef APP -->
<view class="setting" :style="{ background: `linear-gradient(rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0.1)), url(${myFileUrl+background}) no-repeat 0% 20%/ cover`,paddingTop: CustomBar+'rpx' }">
<view class="app-top" :style="{ height: CustomBar+'rpx',
background: topLevel===0? '#ffffff00' : `rgba(255, 255, 255,${topLevel})` }"></view>
<!-- #endif -->
<!-- #ifndef APP -->
<view class="setting" :style="{ background: `linear-gradient(rgba(255, 255, 255, 0.8), rgba(0, 0, 0, 0.1)), url(${myFileUrl+background}) no-repeat 0% 20%/ cover` }">
<!-- #endif -->
<view class="st-top">
<view class="mobile-logo" :style="{backgroundColor: `rgba(255, 255, 255,${topLevel})`}">
<!-- #ifndef MP-WEIXIN -->
<u-icon name="arrow-left" size="40" class="back" @click="back"
:color="topLevel===0? '#60547d' : `rgba(9, 9, 9,${topLevel})`"></u-icon>
<image :src="homeFileUrl+logo"></image>
<view style="width: 75rpx;"></view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<image :src="myFileUrl+logo"></image>
<!-- #endif -->
</view>
<view class="detail-content">
<form @submit="submit">
<u-divider bgColor="#ffffff00" fontSize="35" color="#424242" borderColor="#f8f9f9">
个人资料
</u-divider>
<view class="blocks">
<view class="block_img">
<u-avatar :src="getAvatar" size="140" show-sex
:sex-icon="form.gender?'woman':'man'" show-level/>
</view>
<view class="block_input">
<view><text>*</text>昵称</view>
<input type="text" name="realname" v-model="form.realname" placeholder="请输入您的昵称"/>
<view class="tip" v-show="tip.realname">请输入您的昵称</view>
</view>
<view class="block_input">
<view><text>*</text>邮箱</view>
<input type="tel" name="mail" v-model="form.mail" placeholder="请输入您的邮箱"/>
<view class="tip" v-show="tip.mail">请输入正确的邮箱</view>
</view>
<view class="block_input">
<view><text>*</text>性别</view>
<picker @change="bindGenderChange" :value="form.genders" :range="genderList">
<view>
<input @change="bindGenderChange" disabled type="text" name="type" :value="genderList[form.gender]" placeholder="请选择性别"/>
<u-icon class="type-icon" name="arrow-down" color="#CCCCCC" size="40"></u-icon>
</view>
</picker>
</view>
<view class="block_input">
<view><text>*</text>身份证号</view>
<input type="tel" name="idcard" v-model="form.idcard" placeholder="请输入您的身份证号"/>
<view class="tip" v-show="tip.idcard">请输入正确的身份证号</view>
</view>
<u-button ripple :hairLine="false" class="messageSubmit" form-type="submit">修改</u-button>
<u-button ripple :hairLine="false" class="messageLoginOut" @click="logout">退出登录</u-button>
</view>
</form>
</view>
</view>
<u-toast ref="uToast"></u-toast>
<Loading :show="loading" />
</view>
</template>
<script>
import configService from '@/common/config.service.js';
export default {
data() {
return {
loading: true, //
//
ip: configService.ip,
homeFileUrl: configService.fileUrl + 'pixel/home/',
myFileUrl: configService.fileUrl + 'pixel/my/',
//
background: 'silver-background.png',
// logo
logo: 'logo.png',
//
topLevel: 0,
//
defaultAvatar: 'login-avatar.png',
form:{},
tip: {
realname: false,
mail: false,
message: false,
idcard: false
},
messageType: 0, //
genderList: [
"未知",
"男",
"女",
],
messageMaxlength: 300//
}
},
// #ifndef H5
onPageScroll(e) {
const level = e.scrollTop / 60;
if (level <= 1) this.topLevel = level;
else this.topLevel = 1;
},
// #endif
// #ifdef H5
mounted() {
let that = this;
window.onscroll = function() {
//
//scrollTop
var scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
const level = scrollTop / 60;
if (level <= 1) that.topLevel = level;
else that.topLevel = 1;
}
},
onHide() {
window.onscroll = null;
},
// #endif
computed:{
//
getAvatar(){
return this.form.picture ? encodeURI(this.ip+this.form.picture) :
(this.myFileUrl+this.defaultAvatar);
},
},
methods: {
//
back() {
uni.navigateBack();
},
//
async submit(e){
// try{
// this.loading = true;
// const { name, phone, type, message } = this.form;
// this.tip = {
// name: name==='',
// phone: (phone==='') || (!(/^1[345789]\d{9}$/.test(phone))),
// message:message===''
// }
// if(name===''){
// this.$refs.uToast.show({type:'warning',title: "!"});
// return;
// }else if(!(/^1[345789]\d{9}$/.test(phone))){
// this.$refs.uToast.show({type:'warning',title: "!"});
// return;
// }else if(message===''){
// this.$refs.uToast.show({type:'warning',title: "!"});
// return;
// }
// let res = await this.$api.addMessage(e.detail.value);
// if(res.success){
// this.$refs.uToast.show({type:'success',title: "!"});
// }else{
// this.$refs.uToast.show({type:'error',title: "!"});
// }
// }catch(e){
// this.$refs.uToast.show({type:'error',title: "!"});
// }finally{
// this.loading = false;
// }
},
//
bindGenderChange(e) {
this.form.gender = e.detail.value;
this.$forceUpdate();
},
//
logout(){
let that = this;
uni.showModal({
title: '注销',
content: '是否确认退出登录?',
confirmColor: '#94d500',
success: function (res) {
if (res.confirm) {
that.$api.logOut();
that.$u.vuex('vuex_token', '');
that.$u.vuex('user_message', {});
// that.$emit('userLogOut');
that.form = {};
uni.navigateBack({complete() {
setTimeout(()=>{
uni.showToast({
icon: 'none',title: '退出登录成功!'
})
},300);
}})
}
}
})
}
},
onLoad(options) {
try{
this.form = JSON.parse(this.$store.state.user_message);
console.log(this.form);
}catch(e){
this.form = {};
}finally{
this.loading = false;
}
},
}
</script>
<style scoped lang="scss">
.setting {
display: flex;
flex-direction: column;
min-height: 100vh;
background-size: cover;
opacity: 0.9;
.st-top {
// #ifdef APP
.app-top {
width: 100%;
position: fixed;
z-index: 81;
top: 0;
}
// #endif
.mobile-logo {
width: 100%;
display: flex;
justify-content: center;
// #ifndef MP-WEIXIN
justify-content: space-between;
align-items: center;
.back{
margin-left: 35rpx;
margin-top: 5rpx
}
// #endif
position: fixed;
z-index: 81;
padding: 15rpx 0;
image {
width: 200rpx;
height: 45rpx;
}
}
}
.detail-content{
margin: 80rpx 30rpx 32rpx;
// min-height: 90vh;
background: linear-gradient(rgba(160, 160, 160, 0.4), rgba(0, 0, 0, 0.1));
border-radius: 40rpx;
padding: 40rpx 25rpx 0rpx;
color: #f9f9f9;
.blocks{
display: flex;
flex-direction: column;
.block_img{
display: flex;
justify-content: center;
margin: 30rpx 0 10rpx;
.u-avatar{
border: 2rpx solid #fff;
box-shadow: 0 0 20rpx #eee;
}
}
.block_title{
font-family: PingFang SC, PingFang SC;
font-weight: 800;
font-size: 36rpx;
color: #000000;
line-height: 40rpx;
}
.block_input{
margin-bottom: 32rpx;
.tip{
color: #FE020E;
margin-top: 4rpx;
font-size: small;
margin-bottom: 0rpx !important;
}
view{
font-family: PingFang SC, PingFang SC;
font-size: 32rpx;
color: #000000;
line-height: 40rpx;
margin-bottom: 16rpx;
text{
vertical-align: middle;
color: #FE020E;
font-weight: bold;
margin-right: 8rpx;
}
}
input{
height: 92rpx;
background: #F8F9FB;
border-radius: 4rpx;
color: rgba(0,0,0,0.8);
padding:0 32rpx;
font-size: 32rpx;
border-radius: 15rpx;
}
.message-textarea{
width: 100%;
position: relative;
textarea{
padding: 32rpx;
width: 100%;
height: 400rpx;
background: #F8F9FB;
border-radius: 4rpx;
color: rgba(0,0,0,0.8);
font-size: 32rpx;
border-radius: 15rpx;
}
.mt-tip{
position: absolute;
font-size: 28rpx;
right: 32rpx;
bottom: 10rpx;
z-index: 2;
background-color: #f8f9fb;
padding: 5rpx;
border-radius: 8rpx;
}
}
}
}
}
}
.messageSubmit{
width: 100%;
background-size: 200% auto;
transition: 0.5s;
animation-duration: 1s;
animation-fill-mode: both;
border: none;
background-image: -webkit-linear-gradient( to right, #36D1DC 0%, #5B86E5 51%, #36D1DC 100%);
background-image: linear-gradient(to right, #36D1DC 0%, #5B86E5 51%, #36D1DC 100%);
box-shadow: 0 0 8rpx #eee;
height: 100rpx;
font-weight: bold;
color: #fff;
border-radius: 56rpx;
margin-top: 40rpx;
margin-bottom: 30rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 35rpx;
&::after{
display: none;
}
// &:active {
// background-position: right center;
// color: #f8f9fb;
// text-decoration: none;
// }
}
.messageLoginOut{
margin-bottom: 60rpx;
border-radius: 56rpx;
box-shadow: 0 0 10rpx #eee;
height: 100rpx;
font-weight: bold;
display: flex;
align-items: center;
justify-content: center;
font-size: 35rpx;
width: 100%;
border: none;
color: #e53636;
background-color: #F8F9FB;
}
.type-icon{
z-index:90;
position: absolute;
right: 50rpx;
margin-top: -60rpx;
}
</style>

View File

@ -161,14 +161,14 @@ export default {
}, },
// tip // tip
getTopTip(){ getTopTip(){
// return this.isLogin ? `, PIXEL.AI!` : 'pixel.ai'; return this.isLogin ? `你好, PIXEL.AI!` : '请登录pixel.ai';
return this.isLogin ? `你好, ${this.userMessage?.nickName||this.userMessage?.username}!` : '请登录pixel.ai'; // return this.isLogin ? `, ${this.userMessage?.nickName||this.userMessage?.username}!` : 'pixel.ai';
} }
}, },
methods:{ methods:{
// //
init(){ init(){
this.userMessage = this.isLogin === ''?{}:JSON.parse(this.$store.state.user_message); // this.userMessage = this.isLogin === ''?{}:JSON.parse(this.$store.state.user_message);
}, },
// //
toControl(item){ toControl(item){
@ -177,22 +177,8 @@ export default {
// //
handleClickAvatar(){ handleClickAvatar(){
if(this.isLogin){ if(this.isLogin){
let that = this; uni.navigateTo({
uni.showModal({ url: '/pages/mobile_web/my/child_pages/setting'
title: '注销',
content: '是否确认退出登录?',
confirmColor: '#94d500',
success: function (res) {
if (res.confirm) {
that.$api.logOut();
that.$u.vuex('vuex_token', '');
that.$u.vuex('user_message', {});
// that.isLogin = '';
that.$emit('userLogOut');
that.userMessage = {};
that.$refs.uToast.show({type:'success',title: "退出登录成功!"});
}
}
}) })
}else{ }else{
uni.navigateTo({ uni.navigateTo({

View File

@ -347,7 +347,7 @@ export default {
position: absolute; position: absolute;
top: 1.7em; top: 1.7em;
left: 0.6em; left: 0.6em;
width: 142rpx; width: 152rpx;
height: 47rpx; height: 47rpx;
} }
.sign-text{ .sign-text{

View File

@ -65,10 +65,10 @@ export default {
// //
list: [ list: [
[{id: 1,optionName: '男'}, {id: 2,optionName: '女'},], [{id: 1,optionName: '男'}, {id: 2,optionName: '女'},],
[{id: 1,optionName: '上衣'}, {id: 2,optionName: '下'},], [{id: 1,optionName: '上衣'}, {id: 2,optionName: '下'},],
], ],
// //
tips: ["选择性别","选择上下衣","选择服装"], tips: ["选择性别","服模块","选择服装"],
currentStep: 1,// currentStep: 1,//
form: { form: {
sex: '',// 0-1- sex: '',// 0-1-

View File

@ -31,8 +31,8 @@ const store = new Vuex.Store({
state: { state: {
// 如果上面从本地获取的lifeData对象下有对应的属性就赋值给state中对应的变量 // 如果上面从本地获取的lifeData对象下有对应的属性就赋值给state中对应的变量
// 加上vuex_前缀是防止变量名冲突也让人一目了然 // 加上vuex_前缀是防止变量名冲突也让人一目了然
// vuex_token: 'fbc545a91cc94fe89296828a25a7e08e@9085553879028596738', vuex_token: 'fbc545a91cc94fe89296828a25a7e08e@9085553879028596738',
vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '', // vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '',
user_message:lifeData.user_message ? lifeData.user_message : {}, user_message:lifeData.user_message ? lifeData.user_message : {},
current_platform: lifeData.current_platform ? lifeData.current_platform : '' current_platform: lifeData.current_platform ? lifeData.current_platform : ''
}, },