Browse Source

图片下载逻辑完善

feature-1.0
gao1021514 4 years ago
parent
commit
29d3981acb
  1. 119
      pages/creator/imgDetail.vue
  2. 2
      unpackage/dist/dev/mp-toutiao/common/main.js
  3. 10
      unpackage/dist/dev/mp-toutiao/common/vendor.js
  4. 2
      unpackage/dist/dev/mp-toutiao/pages/creator/creator.js
  5. 119
      unpackage/dist/dev/mp-toutiao/pages/creator/imgDetail.js
  6. 2
      unpackage/dist/dev/mp-toutiao/pages/creator/imgDetail.ttml
  7. 2
      unpackage/dist/dev/mp-toutiao/pages/creator/userDetail.js
  8. 2
      unpackage/dist/dev/mp-toutiao/pages/index/choiceness.js
  9. 8
      unpackage/dist/dev/mp-toutiao/pages/index/index.js
  10. BIN
      unpackage/dist/dev/mp-toutiao/static/收藏.png
  11. BIN
      unpackage/dist/dev/mp-toutiao/static/收藏选中.png
  12. 2
      unpackage/dist/dev/mp-toutiao/uni_modules/uni-badge/components/uni-badge/uni-badge.js
  13. 2
      unpackage/dist/dev/mp-toutiao/uni_modules/uni-icons/components/uni-icons/uni-icons.js
  14. 2
      unpackage/dist/dev/mp-toutiao/uni_modules/uni-list/components/uni-list-item/uni-list-item.js
  15. 2
      unpackage/dist/dev/mp-toutiao/uni_modules/uni-list/components/uni-list/uni-list.js
  16. 2
      unpackage/dist/dev/mp-toutiao/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.js
  17. 2
      unpackage/dist/dev/mp-toutiao/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.js

119
pages/creator/imgDetail.vue

@ -6,7 +6,7 @@
<image v-if="detailMsg.isHot ==='0'" src="../../static/hot-not.png" mode=""></image> <image v-if="detailMsg.isHot ==='0'" src="../../static/hot-not.png" mode=""></image>
<image v-else src="../../static/hot-yes.png" mode=""></image> <image v-else src="../../static/hot-yes.png" mode=""></image>
</view> </view>
<view class="toolbar-box" @click="download"> <view class="toolbar-box" @click="download(detailMsg.imgUrl)">
<image v-if="isDownload" src="../../static/download-select.png" mode=""></image> <image v-if="isDownload" src="../../static/download-select.png" mode=""></image>
<image v-else src="../../static/download.png" mode=""></image> <image v-else src="../../static/download.png" mode=""></image>
<text>下载{{detailMsg.downloadNum}}</text> <text>下载{{detailMsg.downloadNum}}</text>
@ -178,13 +178,126 @@
}, },
// //
download() { download(url) {
this.isDownload = true this.isDownload = true
this.detailMsg.downloadNum += 1 this.detailMsg.downloadNum += 1
uni.showLoading({
title: '正在保存图片...'
});
//
uni.getSetting({
success: (res) => {
//
if (!res.authSetting["scope.writePhotosAlbum"]) {
//
tt.authorize({
scope: "scope.album",
success: () => {
//
uni.downloadFile({
url,
success: (res) => {
console.log('下载路径', res)
if (res.statusCode === 200) {
uni.saveImageToPhotosAlbum({
//
filePath: res.tempFilePath,
success: (res) => {
console.log(
'success',
res)
},
fail: (res) => {
console.log('fail',
res)
return uni
.showToast({
title: res
.errMsg,
});
},
complete: (res) => {
uni.hideLoading();
if (res.errMsg !==
"saveImageToPhotosAlbum:ok"
) {
return uni
.showToast({
title: "下载失败!",
});
} else {
return uni
.showToast({
title: "下载成功!",
});
}
},
});
} else {
uni.showToast({ uni.showToast({
title: '下载', title: "下载失败!",
});
}
}
}) })
}, },
//
fail: () => {
uni.hideLoading();
uni.showModal({
title: "您已拒绝获取相册权限",
content: "是否进入权限管理,调整授权?",
success: (res) => {
if (res.confirm) {
//
uni.openSetting({
success: (
res) => {
console
.log(
res
.authSetting
);
},
});
} else if (res.cancel) {
return uni.showToast({
title: "已取消!",
});
}
},
});
},
});
} else {
//
uni.saveImageToPhotosAlbum({
filePath: url,
success: (res) => {
uni.hideLoading();
return uni.showToast({
title: "保存成功!",
});
},
fail: (res) => {
uni.hideLoading();
console.log(res.errMsg);
return uni.showToast({
title: res.errMsg,
});
},
//
complete: (res) => {
uni.hideLoading();
},
});
}
},
fail: (res) => {},
});
},
// //
share() { share() {
uni.showToast({ uni.showToast({

2
unpackage/dist/dev/mp-toutiao/common/main.js

File diff suppressed because one or more lines are too long

10
unpackage/dist/dev/mp-toutiao/common/vendor.js

@ -1312,7 +1312,7 @@ function initData(vueOptions, context) {
try { try {
data = data.call(context); // 支持 Vue.prototype 上挂的数据 data = data.call(context); // 支持 Vue.prototype 上挂的数据
} catch (e) { } catch (e) {
if (Object({"NODE_ENV":"development","VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","BASE_URL":"/"}).VUE_APP_DEBUG) { if (Object({"VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data); console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);
} }
} }
@ -8135,7 +8135,7 @@ function type(obj) {
function flushCallbacks$1(vm) { function flushCallbacks$1(vm) {
if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) { if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {
if (Object({"NODE_ENV":"development","VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","BASE_URL":"/"}).VUE_APP_DEBUG) { if (Object({"VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
var mpInstance = vm.$scope; var mpInstance = vm.$scope;
console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid + console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']'); ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');
@ -8156,14 +8156,14 @@ function nextTick$1(vm, cb) {
//1.nextTick 之前 已 setData 且 setData 还未回调完成 //1.nextTick 之前 已 setData 且 setData 还未回调完成
//2.nextTick 之前存在 render watcher //2.nextTick 之前存在 render watcher
if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) { if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {
if(Object({"NODE_ENV":"development","VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","BASE_URL":"/"}).VUE_APP_DEBUG){ if(Object({"VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){
var mpInstance = vm.$scope; var mpInstance = vm.$scope;
console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid + console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +
']:nextVueTick'); ']:nextVueTick');
} }
return nextTick(cb, vm) return nextTick(cb, vm)
}else{ }else{
if(Object({"NODE_ENV":"development","VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","BASE_URL":"/"}).VUE_APP_DEBUG){ if(Object({"VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG){
var mpInstance$1 = vm.$scope; var mpInstance$1 = vm.$scope;
console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid + console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +
']:nextMPTick'); ']:nextMPTick');
@ -8249,7 +8249,7 @@ var patch = function(oldVnode, vnode) {
}); });
var diffData = this.$shouldDiffData === false ? data : diff(data, mpData); var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);
if (Object.keys(diffData).length) { if (Object.keys(diffData).length) {
if (Object({"NODE_ENV":"development","VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","BASE_URL":"/"}).VUE_APP_DEBUG) { if (Object({"VUE_APP_NAME":"app","VUE_APP_PLATFORM":"mp-toutiao","NODE_ENV":"development","BASE_URL":"/"}).VUE_APP_DEBUG) {
console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid + console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +
']差量更新', ']差量更新',
JSON.stringify(diffData)); JSON.stringify(diffData));

2
unpackage/dist/dev/mp-toutiao/pages/creator/creator.js

File diff suppressed because one or more lines are too long

119
unpackage/dist/dev/mp-toutiao/pages/creator/imgDetail.js

File diff suppressed because one or more lines are too long

2
unpackage/dist/dev/mp-toutiao/pages/creator/imgDetail.ttml

@ -1 +1 @@
<view class="imgDetail"><image class="main-img" src="{{detailMsg.imgUrl}}" mode></image><view class="toolbar"><view class="toolbar-box"><block tt:if="{{detailMsg.isHot==='0'}}"><image src="../../static/hot-not.png" mode></image></block><block tt:else><image src="../../static/hot-yes.png" mode></image></block></view><view data-event-opts="{{[['tap',[['download',['$event']]]]]}}" class="toolbar-box" bindtap="__e"><block tt:if="{{isDownload}}"><image src="../../static/download-select.png" mode></image></block><block tt:else><image src="../../static/download.png" mode></image></block><text>{{"下载"+detailMsg.downloadNum}}</text></view><view data-event-opts="{{[['tap',[['likeCollect',['isLike']]]]]}}" class="toolbar-box" bindtap="__e"><block tt:if="{{isLike}}"><image src="../../static/like-select.png" mode></image></block><block tt:else><image src="../../static/like.png" mode></image></block><text>{{"喜欢"+detailMsg.greatNum}}</text></view><view data-event-opts="{{[['tap',[['likeCollect',['isCollect']]]]]}}" class="toolbar-box" bindtap="__e"><block tt:if="{{isCollect}}"><image src="../../static/collect-select.png" mode></image></block><block tt:else><image src="../../static/collect.png" mode></image></block><text>{{"收藏"+detailMsg.collectionNum}}</text></view><view data-event-opts="{{[['tap',[['share',['$event']]]]]}}" class="toolbar-box" bindtap="__e"><image src="../../static/share.png" mode></image></view></view></view> <view class="imgDetail"><image class="main-img" src="{{detailMsg.imgUrl}}" mode></image><view class="toolbar"><view class="toolbar-box"><block tt:if="{{detailMsg.isHot==='0'}}"><image src="../../static/hot-not.png" mode></image></block><block tt:else><image src="../../static/hot-yes.png" mode></image></block></view><view data-event-opts="{{[['tap',[['download',['$0'],['detailMsg.imgUrl']]]]]}}" class="toolbar-box" bindtap="__e"><block tt:if="{{isDownload}}"><image src="../../static/download-select.png" mode></image></block><block tt:else><image src="../../static/download.png" mode></image></block><text>{{"下载"+detailMsg.downloadNum}}</text></view><view data-event-opts="{{[['tap',[['likeCollect',['isLike']]]]]}}" class="toolbar-box" bindtap="__e"><block tt:if="{{isLike}}"><image src="../../static/like-select.png" mode></image></block><block tt:else><image src="../../static/like.png" mode></image></block><text>{{"喜欢"+detailMsg.greatNum}}</text></view><view data-event-opts="{{[['tap',[['likeCollect',['isCollect']]]]]}}" class="toolbar-box" bindtap="__e"><block tt:if="{{isCollect}}"><image src="../../static/collect-select.png" mode></image></block><block tt:else><image src="../../static/collect.png" mode></image></block><text>{{"收藏"+detailMsg.collectionNum}}</text></view><view data-event-opts="{{[['tap',[['share',['$event']]]]]}}" class="toolbar-box" bindtap="__e"><image src="../../static/share.png" mode></image></view></view></view>

2
unpackage/dist/dev/mp-toutiao/pages/creator/userDetail.js

File diff suppressed because one or more lines are too long

2
unpackage/dist/dev/mp-toutiao/pages/index/choiceness.js

File diff suppressed because one or more lines are too long

8
unpackage/dist/dev/mp-toutiao/pages/index/index.js

File diff suppressed because one or more lines are too long

BIN
unpackage/dist/dev/mp-toutiao/static/收藏.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

BIN
unpackage/dist/dev/mp-toutiao/static/收藏选中.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

2
unpackage/dist/dev/mp-toutiao/uni_modules/uni-badge/components/uni-badge/uni-badge.js

File diff suppressed because one or more lines are too long

2
unpackage/dist/dev/mp-toutiao/uni_modules/uni-icons/components/uni-icons/uni-icons.js

File diff suppressed because one or more lines are too long

2
unpackage/dist/dev/mp-toutiao/uni_modules/uni-list/components/uni-list-item/uni-list-item.js

File diff suppressed because one or more lines are too long

2
unpackage/dist/dev/mp-toutiao/uni_modules/uni-list/components/uni-list/uni-list.js

File diff suppressed because one or more lines are too long

2
unpackage/dist/dev/mp-toutiao/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.js

File diff suppressed because one or more lines are too long

2
unpackage/dist/dev/mp-toutiao/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.js

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save