uniapp保存图片到本地(APP和微信小程序端)
uniapp实现app端和微信小程序端图片保存到本地,其它平台未测过,原理类似。
微信小程序端主要是权限需要使用button的开放能力来反复调起,代码如下:
首先是条件编译两个平台的按钮组件:
<!-- #ifndef MP-WEIXIN -->
<view class="purple_btn btn_box" @click="saveImgToLocal">
保存到相册
</view>
<!-- #endif --> <!-- #ifdef MP-WEIXIN -->
<view v-if="openSettingBtnHidden" class="purple_btn btn_box" @click="saveEwm">
保存到相册
</view> <button v-else class="purple_btn btn_box" hover-class="none" open-type="openSetting" @opensetting='handleSetting'>保存到相册</button>
<!-- #endif -->
js部分如下:
var _self;
export default{
data(){
return {
openSettingBtnHidden: true,//是否授权
ewmImg:""//这是要保存的图片
}
},
onLoad(opt) {
_self = this;
},
components:{
},
methods:{
//微信小程序保存到相册
handleSetting(e){
if (!e.detail.authSetting['scope.writePhotosAlbum']) {
_self.openSettingBtnHidden = false;
} else {
_self.openSettingBtnHidden = true;
}
},
saveEwm:function(e){
//获取相册授权
uni.getSetting({
success(res) {
if (!res.authSetting['scope.writePhotosAlbum']) {
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
//这里是用户同意授权后的回调
_self.saveImgToLocal();
},
fail() {//这里是用户拒绝授权后的回调
_self.openSettingBtnHidden=false
}
})
} else {//用户已经授权过了
_self.saveImgToLocal();
}
}
})
},
saveImgToLocal:function(e){ uni.showModal({
title: '提示',
content: '确定保存到相册吗',
success: function (res) {
if (res.confirm) { uni.downloadFile({
url: _self.ewmImg,//图片地址
success: (res) =>{
if (res.statusCode === 200){
uni.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function() {
uni.showToast({
title: "保存成功",
icon: "none"
});
},
fail: function() {
uni.showToast({
title: "保存失败",
icon: "none"
});
}
});
}
}
}) } else if (res.cancel) { }
}
}); }
}
}
uniapp保存图片到本地(APP和微信小程序端)的更多相关文章
- uniapp自定义顶部搜索框兼容微信小程序
zhuanzai: uniapp自定义顶部搜索框兼容微信小程序 自定义组件 navbarvue (胶囊底部高度 - 状态栏的高度) + (胶囊顶部高度 - 状态栏内的高度) = 导航栏的高度 < ...
- 12.通过微信小程序端访问企查查(采集工商信息)
需要注意的问题: 一.1.微信端访问企查查小程序需要登录.2.访问抓包获取的url是有时效性的过一段时间就不能用了. http://xcx.qichacha.com/wxa/v1/base/getEn ...
- 如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
一夜之间,微信小程序刷爆了行业网站和朋友圈,小程序真的能如张小龙所说让用户"即用即走"吗? 其功能能和动辄几十兆安装文件的APP相比吗? 开发小程序,是不是意味着移动应用开发的一次 ...
- 手持式停车收费管理系统全套案例,支持车牌识别,包含了android版app,微信小程序查询,响应式管理后台,云端大数据存储
先展示几个app效果图片吧,使用起来非常方便,关联了机器的快捷键操作,操作速度提高了不少,摄像头车牌自动识别,车牌识别无网络情况下离线也可以使用 再来一张后台截图,停车场信息完整显示,今日数据实时 ...
- 手机APP和微信小程序能否取代域名?
有人说现在App是主流,手机上装几个App就可以了,以后域名的重要性会越来越低,直至App完全取代域名的域名无用论.真的是这样吗? 关于这个话题已经有很多先人前辈探讨过,这次誉名网从另外一个角度给各位 ...
- App唤起微信小程序和回调
在同一开放平台账号下的移动应用及小程序无需关联即可完成跳转,非同一开放平台账号下的小程序需与移动应用(APP)成功关联后才支持跳转. 可在“管理中心-移动应用-应用详情-关联小程序信息”,为通过审核的 ...
- 用Python快速实现一个垃圾分类APP|附带微信小程序
最近北京开始实行垃圾分类,导致大家对垃圾的研究热度突然涨高,垃圾们也纷纷表示从来没有获得过这么高的关注度.其实,上海市去年已经开始实行,网上已经有不少成熟的教程了,像什么<垃圾分类从入门到精通& ...
- 自家APP打开微信小程序,可行吗?
小程序的通用解决方案,今天为大家介绍一下FinClip.它的最大特点,就是能够让任何 App 运行小程序. 只需要在你的 App 里面,引入它的 SDK,就能加载运行外部小程序了.除了 SDK,它还提 ...
- uni-app开发经验分享二十: 微信小程序 授权登录 获取详细信息 获取手机号
授权页面 因为微信小程序提供的 权限弹窗 只能通用户确认授权 所以可以 写一个授权页面,让用户点击 来获取用户相关信息 然后再配合后台就可以完成登录 <button class="bt ...
随机推荐
- VM共享文件夹设置
1.打开设置 2.启动共享文件夹 3.设置共享文件夹向导 4.验证共享是否成功 出现以下情况说明共享成功,否则就是失败
- tp5 日志的用途以及简单使用
相信大家对日志这个词都很熟悉,那么日志通常是用来做什么的呢? 找错误和监控 正常来说,日志对维运的帮助是最大的,特别是服务器或者是程序出现错误的时候. 那么现在我们就来看看,tp框架的日志是怎么设置的 ...
- CG-CTF RSAEASY
最近学习rsa涨了不少新知识,这次遇到了一个比较简单但是需要想想的题目,因为发现网上没有查到wp就想写一下提供一些思路. 首先题目给了n,p-q,e,然后n很大,无法使用工具分解,呢么感觉肯定是利用p ...
- 3dmax利用静止静态对象功能,制作精准击碎效果
一般情况下,当我们在3D建模中使用RayFire破碎插件来制作一些精准击碎效果时,需要将物体的击中部分定义为休眠对象,将其他未击中的部分定义为静态对象,以实现击中部分出现碎片的效果.但这种方式必须精准 ...
- Mac系统应该用什么软件进行清理?
作为一枚资深的Windows系统使用者,小编刚刚转向Mac系统的怀抱时,各种不适应,Windows系统中普遍使用的360清理软件目前暂时没有Mac版本的,这就让小编很是头疼了,大家的Mac都是用的什么 ...
- css3系列之text的常用属性 和 Multi-column(多列)
text(文本) white-space: word-break word-wrap/overflow-wrap text-align: word-spacing letter-spacing tex ...
- jQuery 第五章 实例方法 事件
.on() .one() .off() .trigger() .click / keydown / mouseenter ... .hover() ----------------------- ...
- 1. git简介
1.1 版本控制理解 版本控制 工程设计领域中使用版本控制管理工程蓝图的设计过程,在 IT 开发过程中也可以使用版本控制思想管理代码的版本迭代 集中式版本控制工具 CVS.SVN.VSS等 分布式版本 ...
- sharding事务。
我们这么操作: 本地事务,但是会发现如果有异常两边都回滚了.看代码如下: rollback看一看: cachedConnections中缓存了2个connection. 对于每个connection调 ...
- javaAgent与pinpoint
转载:https://www.cnblogs.com/kokov/p/12120033.html 项目中pinpoint应用: