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