@@ -4,7 +4,8 @@ | |||
"pages/payOrder/payOrder", | |||
"pages/login/login", | |||
"pages/userProtocol/userProtocol", | |||
"pages/upload/upload" | |||
"pages/upload/upload", | |||
"pages/checkImg/checkImg" | |||
], | |||
"window": { | |||
"backgroundTextStyle": "light", | |||
@@ -0,0 +1,51 @@ | |||
// pages/checkImg/checkImg.ts | |||
Page({ | |||
/** | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad(options) { | |||
console.log(options); | |||
}, | |||
/** | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow() { | |||
}, | |||
previewImage() { | |||
wx.previewImage({ | |||
}) | |||
}, | |||
/** | |||
* 页面相关事件处理函数--监听用户下拉动作 | |||
*/ | |||
onPullDownRefresh() { | |||
}, | |||
/** | |||
* 页面上拉触底事件的处理函数 | |||
*/ | |||
onReachBottom() { | |||
}, | |||
/** | |||
* 用户点击右上角分享 | |||
*/ | |||
onShareAppMessage() { | |||
} | |||
}) |
@@ -0,0 +1,6 @@ | |||
{ | |||
"navigationBarTitleText": "我的写真", | |||
"navigationBarBackgroundColor": "#333333", | |||
"navigationBarTextStyle": "white", | |||
"usingComponents": {} | |||
} |
@@ -0,0 +1,4 @@ | |||
/* pages/checkImg/checkImg.wxss */ | |||
page { | |||
background-color: #333333; | |||
} |
@@ -0,0 +1,19 @@ | |||
<!--pages/checkImg/checkImg.wxml--> | |||
<text>pages/checkImg/checkImg.wxml</text> | |||
<swiper> | |||
<swiper-item> | |||
<image src="../../asset/image/test.png" mode="" /> | |||
</swiper-item> | |||
<swiper-item> | |||
<image src="../../asset/image/test.png" mode="" /> | |||
</swiper-item> | |||
<swiper-item> | |||
<image src="../../asset/image/test.png" mode="" /> | |||
</swiper-item> | |||
<swiper-item> | |||
<image src="../../asset/image/test.png" mode="" /> | |||
</swiper-item> | |||
<swiper-item> | |||
<image src="../../asset/image/test.png" mode="" /> | |||
</swiper-item> | |||
</swiper> |
@@ -6,8 +6,16 @@ import Dialog from '@vant/weapp/dialog/dialog'; | |||
Page({ | |||
data: { | |||
isLogin: false, | |||
itemList: [1, 1, 1, 1, 1, 1], | |||
showPrivacy: false | |||
itemList: [ | |||
{ id: 1 }, | |||
{ id: 2 }, | |||
{ id: 3 }, | |||
{ id: 4 }, | |||
{ id: 5 }, | |||
{ id: 6 }, | |||
], | |||
showPrivacy: false, | |||
avatarUrl: "../../asset/icon/logo-5.png" | |||
}, | |||
// 事件处理函数 | |||
@@ -94,16 +102,6 @@ Page({ | |||
} | |||
}, | |||
getUserProfile() { | |||
// 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认,开发者妥善保管用户快速填写的头像昵称,避免重复弹窗 | |||
wx.getUserProfile({ | |||
desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写 | |||
success: (res) => { | |||
console.log(res, 'getUserProfile') | |||
} | |||
}) | |||
}, | |||
getUserPhone(e) { | |||
const sessionKey = wx.getStorageSync('sessionKey') | |||
this.doGetUserPhone(e.detail.encryptedData, e.detail.iv, sessionKey, request.appId) | |||
@@ -150,8 +148,12 @@ Page({ | |||
}) | |||
}, | |||
goCheckImage(){ | |||
goCheckImage(e) { | |||
console.log(e, 'e'); | |||
const id = e.currentTarget.dataset.id | |||
wx.navigateTo({ | |||
url: `/pages/checkImg/checkImg?id=${id}`, | |||
}) | |||
}, | |||
onShareAppMessage() { | |||
@@ -26,6 +26,14 @@ page { | |||
padding-top: 60rpx; | |||
z-index: -8; | |||
.getUserinfo { | |||
background-color: #ffffff00; | |||
&::after { | |||
border: none; | |||
} | |||
} | |||
.avatar { | |||
width: 220rpx; | |||
height: 220rpx; | |||
@@ -5,9 +5,9 @@ | |||
</view> | |||
<view class="content"> | |||
<block bindtap="getUserProfile"> | |||
<block> | |||
<view class="avatar"> | |||
<image src="../../asset/icon/logo-5.png" mode="" /> | |||
<image src="{{ avatarUrl }}" mode="" /> | |||
</view> | |||
<view wx:if="{{ !isLogin }}" class="nickname">微信用户</view> | |||
<view wx:if="{{ isLogin }}" class="nickname">用户名</view> | |||
@@ -25,7 +25,7 @@ | |||
</view> | |||
</view> | |||
<view class="photoList" bindtap="goCheckImage"> | |||
<view class="photoList" bindtap="goCheckImage" data-id="{{ item.id }}"> | |||
<image wx:for="{{[1,1,1,1]}}" wx:key="index" src="../../asset/image/test.png" mode="widthFix" /> | |||
</view> | |||
</view> | |||
@@ -7,15 +7,24 @@ Page({ | |||
* 页面的初始数据 | |||
*/ | |||
data: { | |||
topTitle: "请添加一张正面照片", | |||
showScanLine: false, | |||
isUploaded: false, | |||
tempFilePath: "" | |||
isSuccess: false, | |||
tempFilePath: "", | |||
onlineFilePath: "", | |||
id: "" | |||
}, | |||
/** | |||
* 生命周期函数--监听页面加载 | |||
*/ | |||
onLoad() { | |||
onLoad(options) { | |||
if (options.id) { | |||
this.setData({ | |||
id: options.id | |||
}) | |||
} | |||
}, | |||
@@ -23,7 +32,6 @@ Page({ | |||
* 生命周期函数--监听页面显示 | |||
*/ | |||
onShow() { | |||
wx.hideHomeButton() | |||
app.tokenCallBack = res => { | |||
this.setData({ | |||
isLogin: res | |||
@@ -41,12 +49,139 @@ Page({ | |||
success: res => { | |||
that.setData({ | |||
tempFilePath: res.tempFiles[0].tempFilePath, | |||
isUploaded: true | |||
showScanLine: true, | |||
isUploaded: true, | |||
isSuccess: false | |||
}) | |||
that.imgCheckByFace() | |||
} | |||
}) | |||
}, | |||
// 检查图片是否符合人脸规范 | |||
imgCheckByFace() { | |||
const that = this | |||
const filePath = that.data.tempFilePath | |||
const BaseUrl = request.baseUrl | |||
wx.uploadFile({ | |||
filePath, | |||
url: BaseUrl + "/api/userDigital/checkPhoto", | |||
name: 'file', | |||
formData: { | |||
user: "test", | |||
}, | |||
success: res => { | |||
const code = JSON.parse(res.data).code | |||
if (code == 200) { | |||
that.imgCheckByBaidu() | |||
} else { | |||
that.setData({ | |||
showScanLine: false | |||
}) | |||
wx.showToast({ | |||
title: '图片不合规范,请重新上传', | |||
icon: "none" | |||
}) | |||
} | |||
}, | |||
fail: err => { | |||
wx.showToast({ | |||
title: '上传失败,请稍后再试', | |||
icon: "none" | |||
}) | |||
} | |||
}) | |||
}, | |||
// 检查图片合法性 | |||
imgCheckByBaidu() { | |||
const that = this | |||
const filePath = that.data.tempFilePath | |||
const BaseUrl = request.baseUrl | |||
wx.uploadFile({ | |||
filePath, | |||
url: BaseUrl + "/api/baidu/checkPhoto", | |||
name: 'file', | |||
formData: { | |||
user: "test", | |||
}, | |||
success: res => { | |||
const code = JSON.parse(res.data).code | |||
if (code == 200) { | |||
that.doUploadImg() | |||
} else { | |||
that.setData({ | |||
showScanLine: false | |||
}) | |||
wx.showToast({ | |||
title: '图片不合规范,请重新上传', | |||
icon: "none" | |||
}) | |||
} | |||
}, | |||
fail: err => { | |||
wx.showToast({ | |||
title: '上传失败,请稍后再试', | |||
icon: "none" | |||
}) | |||
} | |||
}) | |||
}, | |||
// 上传图片 | |||
doUploadImg() { | |||
const that = this | |||
const filePath = that.data.tempFilePath | |||
const BaseUrl = request.baseUrl | |||
wx.uploadFile({ | |||
filePath, | |||
url: BaseUrl + "/api/upload/awsImgUpload", | |||
name: 'file', | |||
formData: { | |||
user: "test", | |||
}, | |||
header: { | |||
"Content-Type": "multipart/form-data" | |||
}, | |||
success: res => { | |||
console.log(res, 'res'); | |||
const code = JSON.parse(res.data).code | |||
if (code == 200) { | |||
that.setData({ | |||
showScanLine: false, | |||
isSuccess: true | |||
}) | |||
wx.showToast({ | |||
title: '上传成功!', | |||
icon: "success" | |||
}) | |||
} else { | |||
wx.showToast({ | |||
title: '服务器繁忙,请稍后再试', | |||
icon: "none" | |||
}) | |||
that.setData({ | |||
showScanLine: false | |||
}) | |||
} | |||
}, | |||
fail: err => { | |||
wx.showToast({ | |||
title: '上传失败,请稍后再试', | |||
icon: "none" | |||
}) | |||
} | |||
}) | |||
}, | |||
// 确认照片 | |||
confirmImage() { | |||
}, | |||
/** | |||
* 页面相关事件处理函数--监听用户下拉动作 | |||
*/ | |||
@@ -15,11 +15,33 @@ page { | |||
.uploadArea { | |||
position: relative; | |||
width: 60%; | |||
height: 700rpx; | |||
height: 600rpx; | |||
background-color: #393b3d; | |||
margin: 50rpx auto; | |||
border-radius: 40rpx; | |||
@keyframes scanAnimation { | |||
0% { | |||
transform: translateY(-100%); | |||
} | |||
100% { | |||
transform: translateY(150%); | |||
} | |||
} | |||
.scanLine { | |||
position: absolute; | |||
top: 0; | |||
left: 0; | |||
width: 100%; | |||
height: 40%; | |||
background: linear-gradient(180deg, rgba(0, 255, 51, 0) 50%, #00ff33 300%); | |||
border-bottom: 2px solid #00ff33; | |||
animation: scanAnimation 2s linear infinite; | |||
z-index: 9; | |||
} | |||
.scanBorder { | |||
position: absolute; | |||
top: 50%; | |||
@@ -42,7 +64,7 @@ page { | |||
top: 50%; | |||
left: 50%; | |||
transform: translate(-50%, -50%); | |||
width: 78%; | |||
width: 70%; | |||
} | |||
} | |||
@@ -59,6 +81,22 @@ page { | |||
margin: auto; | |||
} | |||
.reUpload { | |||
width: 70%; | |||
height: 100rpx; | |||
line-height: 100rpx; | |||
font-weight: 600; | |||
background-color: #292929; | |||
color: #ff4f00; | |||
font-size: 32rpx; | |||
text-align: center; | |||
border-radius: 50rpx; | |||
margin: auto; | |||
border: 1px solid #ff4f00; | |||
box-sizing: border-box; | |||
margin-top: 30rpx; | |||
} | |||
.notice { | |||
margin-top: 50rpx; | |||
@@ -1,15 +1,21 @@ | |||
<!--pages/upload/upload.wxml--> | |||
<view class="content"> | |||
<view class="title">请添加一整正脸照片</view> | |||
<view class="title">{{ topTitle }}</view> | |||
<view class="uploadArea" bindtap="chooseImage"> | |||
<view wx:if="{{ showScanLine }}" class="scanLine"></view> | |||
<image class="scanBorder" src="../../asset/icon/scanBorder.png" mode="" /> | |||
<image wx:if="{{ !isUploaded }}" class="addBtn" src="../../asset/icon/add.png" mode="widthFix" /> | |||
<image wx:if="{{ isUploaded }}" class="chooseImage" src="{{ tempFilePath }}" mode="widthFix" /> | |||
</view> | |||
<view> | |||
<block wx:if="{{ !isSuccess }}"> | |||
<button class="uploadImgBtn" bindtap="chooseImage">上传照片</button> | |||
</view> | |||
</block> | |||
<block wx:if="{{ isSuccess }}"> | |||
<button class="uploadImgBtn" bindtap="confirmImage">就这张了</button> | |||
<button class="reUpload" bindtap="chooseImage">重新上传</button> | |||
</block> | |||
<view class="notice"> | |||
<view class="text">请参考范例上传五官清晰的照片</view> | |||
@@ -1,5 +1,3 @@ | |||
const url = 'https://zhixiangtest.malls.iformall.com/C' | |||
class request { | |||
constructor(address) { | |||
if (address) { | |||
@@ -9,10 +7,17 @@ class request { | |||
/** | |||
* 配置 | |||
*/ | |||
/** | |||
* @description 基地址 | |||
* @returns {string} https://zhixiangtest.malls.iformall.com/C | |||
*/ | |||
baseUrl = 'https://zhixiangtest.malls.iformall.com/C' | |||
/** | |||
* 请求路径前缀 | |||
*/ | |||
address = url; | |||
address = 'https://zhixiangtest.malls.iformall.com/C'; | |||
/** | |||
* 请求头 | |||
*/ | |||
@@ -19,7 +19,14 @@ | |||
{ | |||
"name": "", | |||
"pathName": "pages/upload/upload", | |||
"query": "", | |||
"query": "id=123456", | |||
"launchMode": "default", | |||
"scene": null | |||
}, | |||
{ | |||
"name": "", | |||
"pathName": "pages/checkImg/checkImg", | |||
"query": "id=1", | |||
"launchMode": "default", | |||
"scene": null | |||
} | |||
@@ -33,6 +33,7 @@ | |||
"miniprogram/pages/payOrder/payOrder.js", | |||
"miniprogram/pages/login/login.js", | |||
"miniprogram/pages/upload/upload.js", | |||
"miniprogram/pages/checkImg/checkImg.js", | |||
], | |||
"exclude": [ | |||
"node_modules" | |||