<!-- 门店照片 -->
<view class="storePhoto">
<view class="title padd-24">门店照片</view>
<view class="upload padd-24">
<!-- 上传保存到数组choosePhoto中,然后,遍历到页面,如果点击右上角的关闭按钮,用wx:if判断值是否存在,如果不存在,则隐藏 -->
<view class='uploadImgBox' wx:for="{{choosePhoto}}" wx:for-item="img" wx:if="{{img}}">
<image src="{{img}}" class='uploadPhoto' mode="aspectFi" />
<image class='closeImg' src='{{closeBtn}}' bindtap='closeUploadImg' data-close="{{index}}" />
</view>
<view class='uploadImgBox' bindtap='chooseImg'>
<image class='uploadPhoto' mode="aspectFi" src='{{uploadPhoto}}' />
</view>
</view>
<view class="service padd-24">
<textarea bindblur="bindTextAreaBlur" placeholder="请输入店铺服务事项(如汽车保养,汽车维修等)"
placeholder-style="color:#656565;" />
</view>
</view>
/* 门店照片 */
.title {
width: 100%;
height: 96rpx;
line-height: 96rpx;
font-size: 28rpx;
color: #989898;
}
.upload {
width: 100%;
margin-bottom: 30rpx;
background: #f0c;
}
.uploadImgBox {
width: 212rpx;
height: 144rpx;
margin-right: 33rpx;
margin-bottom: 10rpx;
position: relative;
background: #fff;
}
.uploadImgBox:nth-child(3n) {
margin-right: 0;
}
.uploadPhoto {
width: 212rpx;
height: 144rpx;
}
.closeImg {
width: 30rpx;
height: 30rpx;
border-radius: 50%;
position: absolute;
right: 5rpx;
top: 5rpx;
}
.service {
width: 100%;
height: 208rpx;
border-top: 1rpx solid #ece9e9;
border-bottom: 1rpx solid #ece9e9;
line-height: 30rpx;
font-size: 26rpx;
padding-top: 20rpx;
}
.service textarea {
width: 100%;
height: 100%;
}
// 在app.js中定义多图片上传函数
// 多张图片上传
uploadImg: function(data){
var that = this,
i = data.i ? data.i : 0,
success = data.success ? data.success : 0,
fail = data.fail ? data.fail : 0
wx.uploadFile({
url: data.url,
filePath: data.path[i],
name: 'fileData', // 这里根据自己的实际情况修改
formData: null,
success: function (resp) {
success++
console.log(resp)
console.log(i)
/*
这里肯能有bug,失败也会执行这里,所以这里应该是后台返回过来的状态码为成功时,
这里的succes才+1
*/
},
fail: function (res) {
fail++
console.log('fail: ' + i + 'fail: ' + fail)
},
complete: function (res) {
console.log(i)
i++
if (i == data.path.length) { //当图片传完时,停止调用
console.log('执行完毕');
console.log('成功:' + success + " 失败:" + fail);
} else {//若图片还没有传完,则继续调用函数
console.log(i);
data.i = i;
data.success = success;
data.fail = fail;
that.uploadimg(data);
}
if (i == data.path.length) { // 当图片传完时,停止调用
console.log('执行完毕')
console.log('成功:' + success + '失败:' + fail)
} else { // 若图片还没有传完,则继续调用函数
console.log(i)
data.i = i
data.success = success
data.fail = fail
that.uploadimg(data)
}
}
})
},
// 在页面中获取app实例
//获取应用实例
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
// 上传关闭的按钮
closeBtn: "../../../img/my/close.png",
// 上传的按钮
uploadPhoto: "../../../img/my/upload.png",
// 上传图片的数组
choosePhoto: [],
},
// 绑定上传图片的函数
chooseImg: function(){ // 这里是选取图片的方法
var that = this,
choosePhoto = this.data.choosePhoto
wx.chooseImage({
count: 9 - choosePhoto.length, // 最多可以选择9张图片,默认9
success: function (res) {
var imgsrc = res.tempFilePaths
choosePhoto = choosePhoto.concat(imgsrc)
that.setData({
choosePhoto: choosePhoto
})
}
})
},
// 关闭当前选择的这个图片
closeUploadImg: function(res){
// console.log(res)
var that = this
var parent = res.currentTarget.dataset.close // 获取点击的是第几张图片键值
// console.log(parent)
var choosePhoto = this.data.choosePhoto
// choosePhoto = choosePhoto.splice(parent,1)
delete choosePhoto[parent]
that.setData({
choosePhoto: choosePhoto
})
},