|
@@ -2,15 +2,20 @@
|
|
<view class="sunui-uploader-bd">
|
|
<view class="sunui-uploader-bd">
|
|
<view class="sunui-uploader-files">
|
|
<view class="sunui-uploader-files">
|
|
<block v-for="(item, index) in upload_before_list" :key="index">
|
|
<block v-for="(item, index) in upload_before_list" :key="index">
|
|
- <view class="sunui-uploader-file" :class="[item.upload_percent < 100 ? 'sunui-uploader-file-status' : '']" @click="previewImage(index)">
|
|
|
|
|
|
+ <view class="sunui-uploader-file"
|
|
|
|
+ :class="[item.upload_percent < 100 ? 'sunui-uploader-file-status' : '']"
|
|
|
|
+ @click="previewImage(index)">
|
|
<!-- step1.这里修改服务器返回字段 !!! -->
|
|
<!-- step1.这里修改服务器返回字段 !!! -->
|
|
<image class="sunui-uploader-img" :style="upload_img_wh" :src="item.path" mode="aspectFill" />
|
|
<image class="sunui-uploader-img" :style="upload_img_wh" :src="item.path" mode="aspectFill" />
|
|
- <view class="sunui-img-removeicon right" @click.stop="removeImage(index)" v-show="upimg_move">×</view>
|
|
|
|
- <view class="sunui-loader-filecontent" v-if="item.upload_percent < 100">{{ item.upload_percent }}%</view>
|
|
|
|
|
|
+ <view class="sunui-img-removeicon right" @click.stop="removeImage(index)" v-show="upimg_move">×
|
|
|
|
+ </view>
|
|
|
|
+ <view class="sunui-loader-filecontent" v-if="item.upload_percent < 100">{{ item.upload_percent }}%
|
|
|
|
+ </view>
|
|
</view>
|
|
</view>
|
|
</block>
|
|
</block>
|
|
- <view v-show="upload_len < upload_count" hover-class="sunui-uploader-hover" class="sunui-uploader-inputbox" @click="chooseImage" :style="upload_img_wh">
|
|
|
|
- <view><text class="iconfont icon-mn_shangchuantupian" style="color: #b9b9b9;"></text></view>
|
|
|
|
|
|
+ <view v-show="upload_len < upload_count" hover-class="sunui-uploader-hover" class="sunui-uploader-inputbox"
|
|
|
|
+ @click="chooseImage" :style="upload_img_wh">
|
|
|
|
+ <view><text class="iconfont icon-mn_shangchuantupian" style="color: #b9b9b9;"></text></view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
@@ -31,7 +36,7 @@ export default {
|
|
// 服务器url
|
|
// 服务器url
|
|
url: {
|
|
url: {
|
|
type: String,
|
|
type: String,
|
|
- default: 'https://a3.dns06.net.cn/app/index.php?i=2&c=entry&a=wxapp&do=Upload_qiniu_b&m=jzwx_a'
|
|
|
|
|
|
+ default: 'http://192.168.0.11:8080/jeecg-boot/sys/common/upload'
|
|
},
|
|
},
|
|
// 上传样式宽高
|
|
// 上传样式宽高
|
|
upload_img_wh: {
|
|
upload_img_wh: {
|
|
@@ -79,6 +84,7 @@ export default {
|
|
this.upload_before_list = this.upload_before_list.concat(this.upimg_preview);
|
|
this.upload_before_list = this.upload_before_list.concat(this.upimg_preview);
|
|
this.upload_len = this.upload_before_list.length;
|
|
this.upload_len = this.upload_before_list.length;
|
|
this.upimg_preview.map(item => {
|
|
this.upimg_preview.map(item => {
|
|
|
|
+ console.log(item,'step2');
|
|
// step2.这里修改服务器返回字段 !!!
|
|
// step2.这里修改服务器返回字段 !!!
|
|
this.upload_cache_list.push(item.path);
|
|
this.upload_cache_list.push(item.path);
|
|
});
|
|
});
|
|
@@ -86,9 +92,9 @@ export default {
|
|
}, this.upimg_delaytime);
|
|
}, this.upimg_delaytime);
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- upImage(paths,header) {
|
|
|
|
|
|
+ upImage(paths, header) {
|
|
let _self = this;
|
|
let _self = this;
|
|
- const promises = paths.map(function(path) {
|
|
|
|
|
|
+ const promises = paths.map(function (path) {
|
|
return promisify(upload)({
|
|
return promisify(upload)({
|
|
url: _self.url,
|
|
url: _self.url,
|
|
path: path,
|
|
path: path,
|
|
@@ -103,12 +109,12 @@ export default {
|
|
});
|
|
});
|
|
|
|
|
|
Promise.all(promises)
|
|
Promise.all(promises)
|
|
- .then(function(data) {
|
|
|
|
|
|
+ .then(function (data) {
|
|
uni.hideLoading();
|
|
uni.hideLoading();
|
|
_self.upload_cache_list.push(...data);
|
|
_self.upload_cache_list.push(...data);
|
|
_self.emit();
|
|
_self.emit();
|
|
})
|
|
})
|
|
- .catch(function(res) {
|
|
|
|
|
|
+ .catch(function (res) {
|
|
uni.hideLoading();
|
|
uni.hideLoading();
|
|
});
|
|
});
|
|
},
|
|
},
|
|
@@ -118,7 +124,7 @@ export default {
|
|
count: _self.upload_count - _self.upload_before_list.length,
|
|
count: _self.upload_count - _self.upload_before_list.length,
|
|
sizeType: ['compressed', 'original'],
|
|
sizeType: ['compressed', 'original'],
|
|
sourceType: ['album', 'camera'],
|
|
sourceType: ['album', 'camera'],
|
|
- success: function(res) {
|
|
|
|
|
|
+ success: function (res) {
|
|
for (let i = 0, len = res.tempFiles.length; i < len; i++) {
|
|
for (let i = 0, len = res.tempFiles.length; i < len; i++) {
|
|
res.tempFiles[i]['upload_percent'] = 0;
|
|
res.tempFiles[i]['upload_percent'] = 0;
|
|
_self.upload_before_list.push(res.tempFiles[i]);
|
|
_self.upload_before_list.push(res.tempFiles[i]);
|
|
@@ -126,14 +132,14 @@ export default {
|
|
_self.upload_cache = res.tempFilePaths;
|
|
_self.upload_cache = res.tempFilePaths;
|
|
_self.upload(_self.upload_auto);
|
|
_self.upload(_self.upload_auto);
|
|
},
|
|
},
|
|
- fail: function(err) {
|
|
|
|
|
|
+ fail: function (err) {
|
|
console.log(err);
|
|
console.log(err);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
},
|
|
},
|
|
async upload(upload_auto) {
|
|
async upload(upload_auto) {
|
|
let _self = this;
|
|
let _self = this;
|
|
- upload_auto ? await _self.upImage(_self.upload_cache,_self.header) : console.warn(`传输参数:this.$refs.xx.upload(true)才可上传,默认false`);
|
|
|
|
|
|
+ upload_auto ? await _self.upImage(_self.upload_cache, _self.header) : console.warn(`传输参数:this.$refs.xx.upload(true)才可上传,默认false`);
|
|
},
|
|
},
|
|
previewImage(idx) {
|
|
previewImage(idx) {
|
|
let _self = this;
|
|
let _self = this;
|
|
@@ -162,8 +168,8 @@ export default {
|
|
};
|
|
};
|
|
|
|
|
|
const promisify = api => {
|
|
const promisify = api => {
|
|
- return function(options, ...params) {
|
|
|
|
- return new Promise(function(resolve, reject) {
|
|
|
|
|
|
+ return function (options, ...params) {
|
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
api(
|
|
api(
|
|
Object.assign({}, options, {
|
|
Object.assign({}, options, {
|
|
success: resolve,
|
|
success: resolve,
|
|
@@ -175,7 +181,7 @@ const promisify = api => {
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
-const upload = function(options) {
|
|
|
|
|
|
+const upload = function (options) {
|
|
let url = options.url,
|
|
let url = options.url,
|
|
_self = options._self,
|
|
_self = options._self,
|
|
path = options.path,
|
|
path = options.path,
|
|
@@ -183,20 +189,22 @@ const upload = function(options) {
|
|
// data = options.data,
|
|
// data = options.data,
|
|
extra = options.extra,
|
|
extra = options.extra,
|
|
success = options.success,
|
|
success = options.success,
|
|
- progress = options.progress,
|
|
|
|
|
|
+ progress = options.message,
|
|
fail = options.fail;
|
|
fail = options.fail;
|
|
|
|
|
|
const uploadTask = uni.uploadFile({
|
|
const uploadTask = uni.uploadFile({
|
|
url: url,
|
|
url: url,
|
|
filePath: path,
|
|
filePath: path,
|
|
name: name,
|
|
name: name,
|
|
- formData: extra,
|
|
|
|
- success: function(res) {
|
|
|
|
|
|
+ formData: {},
|
|
|
|
+ header: extra,
|
|
|
|
+ success: function (res) {
|
|
var data = res.data;
|
|
var data = res.data;
|
|
console.warn('sunui-upimg - 如发现没有获取到返回值请到源码191行修改后端返回图片路径以便正常使用插件', JSON.parse(data));
|
|
console.warn('sunui-upimg - 如发现没有获取到返回值请到源码191行修改后端返回图片路径以便正常使用插件', JSON.parse(data));
|
|
try {
|
|
try {
|
|
//Tip : 切记->主要修改这里图片的返回值为真实返回路径!!! 详情见示例
|
|
//Tip : 切记->主要修改这里图片的返回值为真实返回路径!!! 详情见示例
|
|
- data = JSON.parse(res.data).info;
|
|
|
|
|
|
+ data = JSON.parse(res.data).message;
|
|
|
|
+ console.log('上传成功1', data);
|
|
} catch (e) {
|
|
} catch (e) {
|
|
throw (e, data);
|
|
throw (e, data);
|
|
}
|
|
}
|
|
@@ -211,14 +219,14 @@ const upload = function(options) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- fail: function(res) {
|
|
|
|
|
|
+ fail: function (res) {
|
|
console.log(res);
|
|
console.log(res);
|
|
if (fail) {
|
|
if (fail) {
|
|
fail(res);
|
|
fail(res);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
- uploadTask.onProgressUpdate(async function(res) {
|
|
|
|
|
|
+ uploadTask.onProgressUpdate(async function (res) {
|
|
for (let i = 0, len = _self.upload_before_list.length; i < len; i++) {
|
|
for (let i = 0, len = _self.upload_before_list.length; i < len; i++) {
|
|
_self.upload_before_list[i]['upload_percent'] = await res.progress;
|
|
_self.upload_before_list[i]['upload_percent'] = await res.progress;
|
|
}
|
|
}
|
|
@@ -235,10 +243,10 @@ const upload = function(options) {
|
|
/* IE9 */
|
|
/* IE9 */
|
|
src: url('//at.alicdn.com/iconfont.eot?t=1574391686418#iefix') format('embedded-opentype'),
|
|
src: url('//at.alicdn.com/iconfont.eot?t=1574391686418#iefix') format('embedded-opentype'),
|
|
/* IE6-IE8 */
|
|
/* IE6-IE8 */
|
|
- url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMkAAsAAAAAB2QAAALYAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAqCYIJEATYCJAMICwYABCAFhG0HPRt3BhEVlCNkH4dxmzUXNsJHc1SNfR9KTkCtiXv/l+QDBQSFRBJdKoEsg60HUgCsOpWVnWxNx3BvVITqkj3fepbtzM/OfDo4D86iFEIiJAeX02+Bh/O84TLmsrEnYBxQoHtgm6xACoxTkN0zFsgEdQynCShpq7cwbsK0eTKROSkgbNu8cbUspRFrkoNMkC9ZGYWjcrJkX/IIR/zPhz/6hIxELmWmzdowfp1RvxdbYWm1VrUMCO54JvDrSNEbkTCv1DJDGvp6S5VUX9SRdSUHfi+u1cBZ7R+PQMgzEyugNcU5J67DO9VfJiCigD042iuNQqXSunGRfvrWV6/mvX49/+3bhW/eLHr4puOFtxMfvO5w9tX8yv7rIbf3Rrl84Mbe66XSzWet46nn/etMuALua5LqNZUqpKdfDKjsv2qef+yambJsTWM2zDtKIQ0pS7msvSTUpn1tNyts2xZmWUyw3LI4bPisSZNyOUc2y4/scfZs3QZ1UcgqUWtkVednsvnVs7NOHzmqglXIBnqU7+/M9Hp3y3L2RLWYA9uhlat61/LGGwVqt9Nvafv/8R2fmg/pu7LesH9ZOYL3/6e3P6Z2O0rbIztra+Dtc1u2RY1vapOocEtDiT0Kd1VUUkIN42joS19Fk1s1BVmKy0OioA2kMp1REdcbcsr6QV5mJJT0MnF9mbQRchZiET29CAT1fSBR1y1I1fdFRdwPcpr6Q179cIaSBaHRjmVdgxFjCSvGFuonmGYcpK1nESRfUC1dRUm+T3ggeeOEOIiywRwHpDHm+FUlzBIkjT1k5DzsuhEmGi02HGjmKQ1DWfaioBn7gzAWQRWGWqD2BIzGaCDRm4nc+y+QsuhUqKaqyviAiGcGB7FA1AKVS4ZWVddyibdSEoxJQCKjHsjIMNTpjMBUPsxCDRbQPTyTVGh1k20lwfyy/un2QYmpTII1I9Vo+1B4XQ2q0QvwvExGfTgA')
|
|
|
|
- format('woff2'),
|
|
|
|
|
|
+ url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMkAAsAAAAAB2QAAALYAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCCcAqCYIJEATYCJAMICwYABCAFhG0HPRt3BhEVlCNkH4dxmzUXNsJHc1SNfR9KTkCtiXv/l+QDBQSFRBJdKoEsg60HUgCsOpWVnWxNx3BvVITqkj3fepbtzM/OfDo4D86iFEIiJAeX02+Bh/O84TLmsrEnYBxQoHtgm6xACoxTkN0zFsgEdQynCShpq7cwbsK0eTKROSkgbNu8cbUspRFrkoNMkC9ZGYWjcrJkX/IIR/zPhz/6hIxELmWmzdowfp1RvxdbYWm1VrUMCO54JvDrSNEbkTCv1DJDGvp6S5VUX9SRdSUHfi+u1cBZ7R+PQMgzEyugNcU5J67DO9VfJiCigD042iuNQqXSunGRfvrWV6/mvX49/+3bhW/eLHr4puOFtxMfvO5w9tX8yv7rIbf3Rrl84Mbe66XSzWet46nn/etMuALua5LqNZUqpKdfDKjsv2qef+yambJsTWM2zDtKIQ0pS7msvSTUpn1tNyts2xZmWUyw3LI4bPisSZNyOUc2y4/scfZs3QZ1UcgqUWtkVednsvnVs7NOHzmqglXIBnqU7+/M9Hp3y3L2RLWYA9uhlat61/LGGwVqt9Nvafv/8R2fmg/pu7LesH9ZOYL3/6e3P6Z2O0rbIztra+Dtc1u2RY1vapOocEtDiT0Kd1VUUkIN42joS19Fk1s1BVmKy0OioA2kMp1REdcbcsr6QV5mJJT0MnF9mbQRchZiET29CAT1fSBR1y1I1fdFRdwPcpr6Q179cIaSBaHRjmVdgxFjCSvGFuonmGYcpK1nESRfUC1dRUm+T3ggeeOEOIiywRwHpDHm+FUlzBIkjT1k5DzsuhEmGi02HGjmKQ1DWfaioBn7gzAWQRWGWqD2BIzGaCDRm4nc+y+QsuhUqKaqyviAiGcGB7FA1AKVS4ZWVddyibdSEoxJQCKjHsjIMNTpjMBUPsxCDRbQPTyTVGh1k20lwfyy/un2QYmpTII1I9Vo+1B4XQ2q0QvwvExGfTgA') format('woff2'),
|
|
url('//at.alicdn.com/iconfont.woff?t=1574391686418') format('woff'), url('//at.alicdn.com/iconfont.ttf?t=1574391686418') format('truetype'),
|
|
url('//at.alicdn.com/iconfont.woff?t=1574391686418') format('woff'), url('//at.alicdn.com/iconfont.ttf?t=1574391686418') format('truetype'),
|
|
- /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ url('//at.alicdn.com/iconfont.svg?t=1574391686418#iconfont') format('svg');
|
|
|
|
|
|
+ /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
|
|
|
|
+ url('//at.alicdn.com/iconfont.svg?t=1574391686418#iconfont') format('svg');
|
|
/* iOS 4.1- */
|
|
/* iOS 4.1- */
|
|
}
|
|
}
|
|
|
|
|
|
@@ -256,6 +264,7 @@ const upload = function(options) {
|
|
&:before {
|
|
&:before {
|
|
content: '\e559';
|
|
content: '\e559';
|
|
}
|
|
}
|
|
|
|
+
|
|
font-size: 3em;
|
|
font-size: 3em;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -294,7 +303,7 @@ const upload = function(options) {
|
|
line-height: 40upx;
|
|
line-height: 40upx;
|
|
z-index: 2;
|
|
z-index: 2;
|
|
text-align: center;
|
|
text-align: center;
|
|
- background-color:#222222;
|
|
|
|
|
|
+ background-color: #222222;
|
|
|
|
|
|
&.right {
|
|
&.right {
|
|
top: 0;
|
|
top: 0;
|
|
@@ -341,7 +350,7 @@ const upload = function(options) {
|
|
margin-right: 0;
|
|
margin-right: 0;
|
|
}
|
|
}
|
|
|
|
|
|
-.sunui-uploader-inputbox > view {
|
|
|
|
|
|
+.sunui-uploader-inputbox>view {
|
|
text-align: center;
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
|