微信小程序----wx.scanCode(Object object)调起客户端扫码界面进行扫码

WXRUI体验二维码

WXRUI体验码

如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢!

效果

扫码解析

参数(Object object)

属性类型默认值是否必填说明支持版本
onlyFromCamerabooleanfalse是否只能从相机扫码,不允许从相册选择图片>= 1.2.0
scanTypeArray.[‘barCode’, ‘qrCode’]扫码类型>= 1.7.0
successfunction接口调用成功的回调函数
failfunction接口调用失败的回调函数
completefunction接口调用结束的回调函数(调用成功、失败都会执行)

JS

  1. 设置既能唤醒扫码界面,又能进行从相册选择图片解析;
  2. 设置扫码类型;
  3. 将扫码返回的结果 result 通过参数的形式传递给查询页面,并且跳转查询页面。
wx.scanCode({
    onlyFromCamera: false,
    scanType: ['barCode', 'qrCode', 'datamatrix','pdf417'],
    success: res => {
        if(res.errMsg == 'scanCode:ok'){
            wx.navigateTo({
                url: '../../pages/search/search?keyword=' + res.result
            })
        }
    },
    fail: res => {
    // 接口调用失败
    wx.showToast({
        icon: 'none',
        title: '接口调用失败!'
    })
    },
    complete: res => {
        // 接口调用结束
        console.log(res)
    }
});

注意

  1. 改接口的扫码功能没有什么技术难点,需要注意的是要将扫码返回的结果传递到查询页面;
  2. 由于扫码查询就会进入页面就进行一次查询函数的调用,所以初始化的时候,把查询数组的页码、总页数、查询数组都要初始化,防止滚动加载后,不再查询。

WXRUI体验二维码

WXRUI体验码

如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢!

其他

QQ交流群: 264303060

QQ交流群

我的博客,欢迎交流!

我的CSDN博客,欢迎交流!

微信小程序专栏

前端笔记专栏

微信小程序实现部分高德地图功能的DEMO下载

微信小程序实现MUI的部分效果的DEMO下载

微信小程序实现MUI的GIT项目地址

微信小程序实例列表

前端笔记列表

游戏列表

UniApp是一款基于Vue.js的跨平台应用开发框架,它可以用于同时构建微信小程序、H5以及原生应用。要实现在uni-app中创建自定义的扫码页面并在微信小程序中展示,你可以按照以下步骤操作: 1. **创建扫码组件**: 首先,在uni-app项目中,新建一个自定义组件,如`CustomScan.vue`,这个组件将包含扫码功能。使用uni-app提供的`wx.scan()` API,该API允许在微信环境中调用功能。 ```html <template> <view class="custom-scan"> <button @click="startScan">描二维</button> <div v-if="showResult">{{ scanResult }}</div> </view> </template> <script> export default { data() { return { showResult: false, scanResult: '' }; }, methods: { startScan() { this.$wx.cloud.callMethod({ name: 'scanCode', data: {} }).then(res => { if (res.code === 0) { this.showResult = true; this.scanResult = res.data.resultStr; // 存储描结果 } else { console.error('扫码失败', res); } }); } } }; </script> ``` 2. **云函数处理**: 创建一个云端云函数(cloud function)名为`scanCode`,它负责接收扫码结果并返回。在`.pc-env.js`配置文件中启用云端云函数: ```javascript // .pc-env.js const cloud = require('@dcloudio/uni-engine-cloud'); uniCloud.init('your-mychannel-id'); module.exports = { cloud: cloud }; ``` 3. **注册和使用组件**: 在需要扫码页面的地方,通过`<component>`标签引入并使用自定义的`CustomScan`组件: ```html <view> <!-- 其他页面内容 --> <custom-scan></custom-scan> <!-- 结束其他页面内容 --> </view> ``` 4. **权限管理**: 确保在微信小程序的manifest.json文件中添加了对“扫码”权限的请求,例如: ```json "permissions": [ "scope.scan" ] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rattenking

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值