h5移动端扫码,在微信浏览器中

在这里插入图片描述
先来看一下业务场景很简单,扫条形码识别条形码上的数据,填充到input中

代码实现1:

<a  href="javascript:window.open('//996315.com/api/scan/?redirect_uri=' + encodeURIComponent(location.href), '_self');">扫码</a>

代码实现2(推荐):
encodeURIComponent里面使用项目的地址,多次重复扫描性能更好

<a  href="javascript:window.open('//996315.com/api/scan/?redirect_uri=' + encodeURIComponent('https://medical.geneth.com/#/hpvDetection'), '_self');">扫码</a>

点击扫码按钮,跳转到微信扫一扫,识别条形码数据后返回到此页面,在页面的onMounted周期里面获取数据

onMounted(() => {
  if (route.query.qrresult) {
    state.name = window.localStorage.getItem('name')
    state.sex = window.localStorage.getItem('sex')
    state.age = window.localStorage.getItem('age')
    state.phone = window.localStorage.getItem('phone')
    state.collectedDate = window.localStorage.getItem('collectedDate')
    state.sampleNo = route.query.qrresult.split(',')[1] // 条形码数据
  }
})
state.name = window.localStorage.getItem('name')
state.sex = window.localStorage.getItem('sex')
state.age = window.localStorage.getItem('age')
state.phone = window.localStorage.getItem('phone')
state.collectedDate = window.localStorage.getItem('collectedDate')

上面的这些数据是页面表单中要提交的数据,跳转到扫码页面后数据会丢失,我们可以在watch中进行监听,把数据先存在内存中,再在页面初始化的时候获取到就可以了,哈哈

watch(
  () => state,
  (val) => {
    window.localStorage.setItem('name', val.name)
    window.localStorage.setItem('sex', val.sex)
    window.localStorage.setItem('age', val.age)
    window.localStorage.setItem('phone', val.phone)
    window.localStorage.setItem('collectedDate', val.collectedDate)
  },
  { deep: true }
)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在UniApp实现在微信浏览器进行H5绑定微信的功能,你可以按照以下步骤进行操作: 1. 在微信开放平台上创建一个应用,获取到AppID。 2. 在UniApp项目的`manifest.json`文件,添加微信登录的权限配置。在`uni-app`字段下添加以下代码: ```json "wx": { "appid": "你的AppID", "scope": "snsapi_login", "state": "uniapp", "redirect_uri": "http://your-domain.com/auth" } ``` 将其的`appid`替换为你在微信开放平台上获取到的AppID。`redirect_uri`是用户登录后重定向的URL,需要替换为你自己的URL。 3. 在需要进行微信绑定的页面,引入UniApp提供的wx组件,示例代码如下: ```html <template> <view> <button @click="bindWechat">绑定微信</button> </view> </template> <script> import { uniLogin } from '@/common/utils/wx' export default { methods: { async bindWechat() { try { const res = await uniLogin() // 处理绑定微信成功后的逻辑 } catch (error) { // 处理绑定微信失败的逻辑 } } } } </script> ``` 4. 在项目创建一个`common/utils/wx.js`文件,实现微信登录的方法。可以使用`uni.login`和`uni.getUserInfo`进行登录操作,示例代码如下: ```js export function uniLogin() { return new Promise((resolve, reject) => { uni.login({ provider: 'weixin', success: (res) => { uni.getUserInfo({ provider: 'weixin', success: (infoRes) => { resolve({ code: res.code, userInfo: infoRes.userInfo }) }, fail: () => { reject(new Error('获取用户信息失败')) } }) }, fail: () => { reject(new Error('微信登录失败')) } }) }) } ``` 这里使用了`uni.login`获取登录凭证,再通过`uni.getUserInfo`获取用户信息。你可以根据需要进行适当的修改。 以上是在UniApp实现在微信浏览器进行H5绑定微信的步骤,希望能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值