Commit 32e1d3b825c57dc0e7e417edde55ed4c467ee188
1 parent
57141c19
保存图片需要的功能
Showing
1 changed file
with
103 additions
and
1 deletions
pages/team/team_success/team_success.js
@@ -866,6 +866,108 @@ Page({ | @@ -866,6 +866,108 @@ Page({ | ||
866 | }); | 866 | }); |
867 | }, | 867 | }, |
868 | 868 | ||
869 | - | 869 | + |
870 | + // 保存图片到手机 | ||
871 | + savePic() { | ||
872 | + console.log('保存图片'); | ||
873 | + var self = this; | ||
874 | + // 获取用户的当前设置,返回值中有小程序已经向用户请求过的权限 | ||
875 | + this.getSetting().then((res) => { | ||
876 | + // 判断用户是否授权了保存到相册的权限,如果没有发起授权 | ||
877 | + if (!res.authSetting['scope.writePhotosAlbum']) { | ||
878 | + this.authorize().then(() => { | ||
879 | + // 同意授权后保存下载文件 | ||
880 | + this.saveImage(self.data.shareImgPath) | ||
881 | + .then(() => { | ||
882 | + self.setData({ | ||
883 | + showPoster: false | ||
884 | + }); | ||
885 | + }); | ||
886 | + }) | ||
887 | + } else { | ||
888 | + // 如果已经授权,保存下载文件 | ||
889 | + this.saveImage(self.data.shareImgPath) | ||
890 | + .then(() => { | ||
891 | + self.setData({ | ||
892 | + showPoster: false | ||
893 | + }); | ||
894 | + }); | ||
895 | + } | ||
896 | + | ||
897 | + }) | ||
898 | + }, | ||
899 | + | ||
900 | + | ||
901 | + // 保存图片到系统相册 | ||
902 | + saveImage(saveUrl) { | ||
903 | + var self = this; | ||
904 | + return new Promise((resolve, reject) => { | ||
905 | + wx.saveImageToPhotosAlbum({ | ||
906 | + filePath: saveUrl, | ||
907 | + success: (res) => { | ||
908 | + wx.showToast({ | ||
909 | + title: '保存成功', | ||
910 | + duration: 1000, | ||
911 | + }); | ||
912 | + self.setData({ | ||
913 | + showPlaybill: 'true' | ||
914 | + }); | ||
915 | + resolve(); | ||
916 | + }, | ||
917 | + fail: () => { | ||
918 | + wx.showToast({ | ||
919 | + title: '保存失败', | ||
920 | + duration: 1000, | ||
921 | + }); | ||
922 | + } | ||
923 | + }) | ||
924 | + }) | ||
925 | + }, | ||
926 | + | ||
927 | + // 获取用户已经授予了哪些权限 | ||
928 | + getSetting() { | ||
929 | + return new Promise((resolve, reject) => { | ||
930 | + wx.getSetting({ | ||
931 | + success: res => { | ||
932 | + resolve(res) | ||
933 | + } | ||
934 | + }) | ||
935 | + }) | ||
936 | + }, | ||
937 | + | ||
938 | + // 发起首次授权请求 | ||
939 | + authorize() { | ||
940 | + // isFirst 用来记录是否为首次发起授权, | ||
941 | + // 如果首次授权拒绝后,isFirst赋值为1 | ||
942 | + let isFirst = wx.getStorageSync('isFirst') || 0; | ||
943 | + return new Promise((resolve, reject) => { | ||
944 | + wx.authorize({ | ||
945 | + scope: 'scope.writePhotosAlbum', | ||
946 | + // 同意授权 | ||
947 | + success: () => { | ||
948 | + resolve(); | ||
949 | + }, | ||
950 | + // 拒绝授权,这里是用户拒绝授权后的回调 | ||
951 | + fail: res => { | ||
952 | + if(isFirst === 0) { | ||
953 | + wx.setStorageSync('isFirst', 1); | ||
954 | + wx.showToast({ | ||
955 | + title: '保存失败', | ||
956 | + icon: 'none', | ||
957 | + duration: 1000 | ||
958 | + }) | ||
959 | + } else { | ||
960 | + this.showModal(); | ||
961 | + } | ||
962 | + console.log('拒绝授权'); | ||
963 | + reject(); | ||
964 | + } | ||
965 | + }) | ||
966 | + }) | ||
967 | + }, | ||
968 | + | ||
969 | + | ||
970 | + | ||
971 | + | ||
870 | }) | 972 | }) |
871 | 973 |