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 | 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 | ... | ... |