微信小程序 扫码 加载图片
官方示例
index.wxml
<view class="page"><image style="width: 750rpx; height: 1000rpx; background-color: #ffffff;" src="{{src}}"></image>
</view>
750rpx:小程序定义的宽度
index.js
var imgPath=''
Page({data: {src: imgPath}
})
在Page()外可以定义变量,此处需要注意,若Page中有多个data,以最后一个data为准
页面
页面组成:提示信息+扫码按钮+图片
index.wxml
<view><text>扫码查看二维码内容</text><button>请扫描二维码</button>
</view><view class="page"><image style="width: 750rpx; height: 1000rpx; background-color: #ffffff;" src="{{src}}"></image>
</view>
页面展示如下
红框处是有一个image的空间,只是颜色设置为白色
src接收到Page中data的src的值”,在代码中,使用的是rpx的单位,此处自动转为px
调用扫码
index.js
var imgPath=''
Page({scanningCode:function(event){wx.scanCode({success: (res) => {console.log(res)},fail: (res) => {console.log(res)},complete: (res) => {console.log(res)}})},/*** 页面的初始数据*/data: {src: imgPath}
})
给button加上点击方法
index.wxml
<button bindtap="scanningCode">请扫描二维码</button>
至此,就能够点击button,打开扫码,然后读出扫码信息。
注意 :
1、此次要有AppId才能扫出结果,否则会提示错误
2、外链接需要先在开发者平台配置,且要使用https协议
获取扫码结果
扫码后,结果如下
console
Object {errMsg: "scanCode:ok", result: "https://xxxxxx", scanType: "QR_CODE", path: "", charSet: "UTF-8"}
真正的结果存在result中
更换图片地址
index.js
scanningCode:function(event){wx.scanCode({success: (res) => {console.log(res)this.setData({src: res.result})}})}
}
至此,当扫码得到二维码中图片地址时,就可以在image中显示图片
加入loading
由于访问的是外链接,不可避免的存在延迟,优化用户体验,在加载图片时,加入loading遮罩层
index.js
scanningCode:function(event){wx.scanCode({success: (res) => {console.log(res)this.setData({src: res.result}),wx.showLoading({title:'正在加载',mask:true})}})}
加入遮罩层后,希望在图片加载完的时候,遮罩层就隐藏掉
加入loading,效果如下
遮罩层隐藏
wx.hideLoading()
图片加载完成事件
<image bindload="hideLoading"></image>
结合
index.wxml
<view><text>扫码查看二维码内容</text><button>请扫描二维码</button>
</view><view class="page"><image style="width: 750rpx; height: 1000rpx; background-color: #ffffff;" src="{{src}}" bindload="hideLoading"></image>
</view>
index.js
Page({hideLoading:function(event){wx.hideLoading()},...
})
至此,图片加载时,有loading提示,加载完成后,loading提示消失
图片加载完成后隐藏提示信息和按钮
在view中加入hidden
<view hidden="{{scanHidden ? true : false}}"><text>扫码查看二维码内容</text><button bindtap="scanningCode">请扫描二维码</button>
</view>
初始化view是否隐藏
var imgPath=''
var hiddenView=false
Page({data: {src: imgPath,scanHidden:hiddenView},...
})
当图片加载完成,隐藏view
Page({hideLoading:function(event){wx.hideLoading()this.setData({scanHidden:true})}
})
微信小程序 扫码 加载图片相关推荐
- 微信小程序封装懒加载图片
微信小程序封装懒加载图片 js /components/LazyImage/index.js // components/LazyImage/index.js Component({/*** 组件的属 ...
- 微信小程序 首次页面加载 图片加载 加载页面时候会闪一下
微信小程序 图片加载 image标签如果不给高度 加载页面时候会闪一下 至于原因,我的理解是:小程序图片闪烁是因为图片没有高度,加载时从第最高高度变到最适合高度的过程,高度加载是需要一定时间计算的 解 ...
- 微信小程序图标不支持html,微信小程序实现自定义加载图标功能
效果图 实现思路 1.首先通过HTML+CSS实现加载动画的静态效果: 2.根据需求给每个动画设计不同的动画效果. 例如第一个加载图标的静态绘制 1.首先确定动画的盒子宽高: 2.设置盒子中每一个长方 ...
- 微信小程序之下拉加载和上拉刷新
微信小程序之下拉加载和上拉刷新 微信小程序下拉加载和上拉刷新两种实现方法 方法一:onPullDownRefresh和onReachBottom方法实现小程序下拉加载和上拉刷新 首先要在json文件里 ...
- Android 仿微信小程序开屏页加载loading
Android 仿微信小程序开屏页加载loading 废话不多说,先上效果图~ 首先就是底层有一个灰色的圆,然后按照圆形的轨迹进行绘制. 啊~说那么多也没用,还是直接上代码吧,哈哈哈哈 绘制底部圆形及 ...
- 【微信小程序】自定义加载动画3
目录 效果图 配置 版本1 版本2 结语 效果图 配置 配置方法参考上一篇文章:[微信小程序]自定义加载动画 版本1 Component({behaviors
- 【微信小程序】自定义加载动画4
目录 效果图 配置文件 结语 效果图 配置文件 配置方法参考上一篇文章:[微信小程序]自定义加载动画 组件源代码: Component({behaviors: [],properties: {
- 微信小程序扫码实现web自动登录
清明假期在家无聊,写了一个微信小程序扫码,web登录的demo 技术栈 前端:vue2+vue-socket.io+uuid,微信小程序原生+weapp.socket.io 后端: eggjs+red ...
- 微信小程序扫码报工案例分享
使用微信小程序结合PC端ERP完成工序扫码报工+扫码出入库,可以实现生产管理全流程自动化作业,使生产效率比之前手工操作有了质的飞跃. 本案例背景介绍 这是一家生产二极管的电子生产企业,车间自动化生产设 ...
最新文章
- Ubuntu 14.04 64位上配置JDK操作步骤
- metasploit 目录结构
- 【PAT乙级】1029 旧键盘 (20 分)
- 洛谷——P2018 消息传递
- java null转换jason_常见java问题及解决办法汇总(干货可收藏)
- 梯度下降法快速教程 | 第二章:冲量(momentum)的原理与Python实现
- Python使用集合运算检测密码字符串的安全强度
- 如何实现全选checkbox效果
- centos7查看设置IP地址
- Delphi Sysem.JSON 链式写法(转全能中间件)
- MyCat - 使用篇(5)
- 按键精灵_汉字转拼音
- 风云2号卫星云图_世界气象日话说54所与风云气象卫星的“不解之缘”
- dcdc芯片效率不高的原因_浅析影响DC-DC转换器效率的主要因素
- CIPS-3D 生成风格化的图像并控制人脸的姿势
- Flask框架学习:蓝图的使用
- 最新麦子学院嵌入式开发系列培训教程
- Read research papers and career advice | 怎么读论文/职场建议
- Android 系统自带图片裁剪功能(适配7.0、8.0、对了还有小米手机)
- Windows打印管理解决方案
热门文章
- 毗邻目录算法与左右值无限分支算法的结合
- chrome修改摄像头权限_如何在Chrome中更改网站的摄像头和麦克风权限
- torch-fidelity 简便计算FID,ISC,KID,PPL
- 小肚皮最新版本_小肚皮下载_小肚皮安卓版5.20 - 系统城
- 如何让淘宝店铺排名更靠前 淘宝搜索排名技巧分享
- SitePoint Podcast#30:Google感染IE
- 大学生金融职业生涯规划书
- 使用moviepy.editor剪辑视频,批量截取视频片段
- AndroidStudio制作“我”的界面,设置,修改密码,设置密保和找回密码
- 什么是哈希洪水攻击(Hash-Flooding Attack)?