小程序-保存图片,用户授权,拒绝授权等操作

<image class=‘recode‘ data-img=‘{{dataInfo.qrcode}}‘ bindtap=‘onSavePicClick‘ src=‘{{dataInfo.qrcode}}‘></image>

1、用户点击图片弹出授权框

2、网络路径图片

3、用户点击了拒绝

4、getSetting事件需要tap触发

downloadImage: function (imageUrl) {

// 下载文件

wx.downloadFile({

url: imageUrl,

success: function (res) {

// 保存图片到系统相册

wx.saveImageToPhotosAlbum({

filePath: res.tempFilePath,

success(res) {

wx.showToast({

title: ‘保存成功‘,

});

},

fail(res) {

console.log("保存图片:fail");

}

})

},

fail: function (res) {

console.log("下载文件:fail");

}

})

},

onSavePicClick: function (e) {

var that = this;

console.log("onSavePicClick");

console.log(e);

var downloadUrl = e.currentTarget.dataset.img;

if (!wx.saveImageToPhotosAlbum) {

wx.showModal({

title: ‘提示‘,

content: ‘当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。‘

})

return;

}

// 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.writePhotosAlbum" 这个 scope

wx.getSetting({

success(res) {

console.log("getSetting: success");

if (!res.authSetting[‘scope.writePhotosAlbum‘]) {

// 接口调用询问

wx.authorize({

scope: ‘scope.writePhotosAlbum‘,

success() {

that.downloadImage(downloadUrl);

},

fail() {

// 用户拒绝了授权

wx.showModal({

title: ‘保存图片‘,

content: ‘保存图片需要您授权‘,

showCancel: true,

confirmText: ‘确定‘,

success: function (res) {

if (res.confirm) {

// 打开设置页面

wx.openSetting({

success: function (data) {

if (data.authSetting[‘scope.writePhotosAlbum‘]) {

that.downloadImage(downloadUrl);

} else {

console.log("授权失败");

}

},

fail: function (data) {

console.log("openSetting: fail");

}

});

} else if (res.cancel) {

console.log(‘用户点击取消‘)

}

}

})

}

})

} else {

that.downloadImage(downloadUrl)

}

},

fail(res) {

console.log("getSetting: fail");

console.log(res);

}

})

},

downloadImage: function (imageUrl) {

// 下载文件

wx.downloadFile({

url: imageUrl,

success: function (res) {

console.log("下载文件:success");

console.log(res);

// 保存图片到系统相册

wx.saveImageToPhotosAlbum({

filePath: res.tempFilePath,

success(res) {

console.log("保存图片:success");

wx.showToast({

title: ‘保存成功‘,

});

},

fail(res) {

console.log("保存图片:fail");

console.log(res);

}

})

},

fail: function (res) {

console.log("下载文件:fail");

console.log(res);

}

})

},

onSavePicClick: function (e) {

var that = this;

console.log("onSavePicClick");

console.log(e);

var downloadUrl = e.currentTarget.dataset.img;

if (!wx.saveImageToPhotosAlbum) {

wx.showModal({

title: ‘提示‘,

content: ‘当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。‘

})

return;

}

// 可以通过 wx.getSetting 先查询一下用户是否授权了 "scope.writePhotosAlbum" 这个 scope

wx.getSetting({

success(res) {

console.log("getSetting: success");

if (!res.authSetting[‘scope.writePhotosAlbum‘]) {

// 接口调用询问

wx.authorize({

scope: ‘scope.writePhotosAlbum‘,

success() {

that.downloadImage(downloadUrl);

},

fail() {

// 用户拒绝了授权

wx.showModal({

title: ‘保存图片‘,

content: ‘保存图片需要您授权‘,

showCancel: true,

confirmText: ‘确定‘,

success: function (res) {

if (res.confirm) {

console.log(12134);

// 打开设置页面

wx.openSetting({

success: function (data) {

if (data.authSetting[‘scope.writePhotosAlbum‘]) {

console.log("授权成功");

that.downloadImage(downloadUrl);

} else {

console.log("授权失败");

}

},

fail: function (data) {

console.log("openSetting: fail");

}

});

} else if (res.cancel) {

console.log(‘用户点击取消‘)

}

}

})

}

})

} else {

that.downloadImage(downloadUrl)

}

},

fail(res) {

console.log("getSetting: fail");

console.log(res);

}

})

},

原文地址:https://www.cnblogs.com/congfeicong/p/10254469.html

时间: 2024-08-30 06:09:18

小程序-保存图片,用户授权,拒绝授权等操作的相关文章

微信小程序开发 - 用户授权登陆

准备:微信开发者工具下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html 微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/dev/index.html 开发:在开发之初,我们需要先明确微信方已经制定好的授权登陆流程,参看 官方API - 登陆接口. 你会看到微信方为开发者制定好的登陆授权流程: 如图,即为一个顺向的用户登陆授权的流程.

TODO:小程序的用户身份

小程序的用户身份有三种,一个管理员,二十个开发者,四十个体验者 1.管理员,可设置风险操作保护.风险操作提醒等操作. a)修改管理员,需要用到原管理员,新管理员的身份证号码,并且绑定了管理员本人银行卡的微信进行操作,扫描二维码,绑定不会被扣除任何费用.新管理员需要手机短信验证码验证. b)操作很简单,扫描验证身份,可能需要新旧微信号,进行多次扫描才能验证成功,提交的时候也可能出现"系统错误,请稍后常识.",但是管理员意见修改成功了. 2.绑定开发者,项目大了,需要多人同时开发就需要绑定

微信小程序活跃用户破4亿 小程序靠什么能成为实体店引流神器?

2017年12月,以"跳一跳"为代表的微信小游戏让人们认识到了小程序的流量潜力.在微信的流量红利下,小程序生态发展迅速,成为开发者们中炙手可热的新风口.2018年初,小程序做到了日活1.7亿.月活4.3亿,参与开发者100多万. 近日,TalkingData发布2018微信小程序洞察报告--<场景+链接,数据视角下的小程序浪潮>.报告预测,2018年小程序数量将突破250万,数量超越AppStore应用总和. 小程序一季度活跃用户破4亿 游戏类别最"受宠"

微信小程序-获取用户信息和openid,session_key,

1:微信小程序获取用户信息:比如常用的 avatarUrl (用户头像),nickName (用户名称) 等等, (1):获取用户信息调用 wx.getUserInfo 代码如下: 直接请求接口就可以了,随后把数据存放到storage中,下次直接取 就不用再请求接口,, 2:获取 openid (1):请求wx.login 接口,代码如下: url:是微信提供的 appid:是小程序的appid secret:是小程序开发设置的 AppSecret 只要获取到这两项,用户信息可以用于页面,ope

【微信小程序】用户首次进入小程序拒绝授权,如何再次调用授权页面,获取用户信息userInfo

前言:微信小程序的app.js里面,最少有2个接口,一个wx.login:一个是wx.getUserInfo: 前者得到腾讯给我们的微信用户唯一的code,通过code获取openid,这个不需要用户授权,我们肯定能得到: 但是,后者是需要用户授权,我们才能通过腾讯得到用户的其他信息,比如nickname.avatarUrl.encryptedData.iv等,如果你只需要openid,下面的代码你可以不用看了,下面重点讲解如何 多次调用wx.getUserInfo或者app.getUserIn

微信小程序开发之简单的授权登录

<view class="container"> <view class='content'> <view>申请获取以下权限</view> <text>获得你的公开信息(昵称,头像等)</text> </view> <button class='bottom' wx:if="{{canIUse}}" open-type="getUserInfo" bindg

微信小程序(二)登录授权实现

相对于上一节,这一节主要是动态获取数据,主要是对登陆信息的接收,以及页面获取授权按钮的相对相应(未授权时,显示,授权后不显示) 关键在于状态值的判断,以及对页面的不同响应(m-->v) wxml代码如下: <!--pages/index2/index2.wxml--> <view class="index2Container"> <image class="avatar" src="{{userInfo.avatarUr

微信小程序(一),授权页面搭建

wxml代码如下: <!--pages/index2/index2.wxml--> <view class="index2Container"> <image class="avatar" src="/static/images/y.jpg"></image> <text class="username">hello 微信小程序</text> <vi

小程序获取用户信息失败

最近在写小程序的时候遇到了一个问题:在修改了AppID信息之后,在页面中调用wx.getUserInfo会直接失败,换了一种<button open-type="getUserInfo">授权用户信息</button>手动授权的方法,这个方法虽然成功获取到了用户信息,但是:在页面第一次加载的时候,却出现了解密失败的情况,必须刷新一下程序. 解决方法:在wx.getUserInfo中加入属性withCredentials,并设置为true,表示带上登录状态信息 原

微信小程序获取用户手机号 记录 (PHP)

1. 用户登录时需要获取 openid ,同时可以获取 session_key, 二者同时返回, 此时我们要将二者存储在服务端. 2. 小程序端 button 按钮拉起授权, 向api 传递 iv 和 encryptedData . 3. api 接口 引入 下载的 类文件后, 通过以下两行代码(其中 $sessionKey 是 之前我们在用户登录时存储在服务端的 session_key) $pc = new \WXBizDataCrypt($APPID, $sessionKey); $errC