使用uniapp开发支付宝小程序时引入卡包插件

1、官网文档

https://opendocs.alipay.com/pre-open/03k88a?pathHash=30ce86a9

2、代码开发

//manifest.json 配置文件添加卡包插件
"mp-alipay": {"usingComponents": true,"appid": "xxxxxxxxxxxxxxxxx","plugins": {"syncCardPack": {"version": "*","provider": "2021002171626459"}}},// pages.json 在要使用卡包的页面引入插件组件
{"path": "pages/healthLic/myLic","style": {"usingComponents": {"sync-card-pack": "plugin://syncCardPack/sync-card-pack"}}
}//myLic.vue,这里添加v-if是判断只有查询到了证件时才出现加入卡包的悬浮窗,具体的配置项如何填写请参考上面的官方文档
<template><packPage :customHeader="false" title="健康证"><view slot="gBody" class="content"><view v-if="JSON.stringify(licDetail) == '{}'" class="empty-box"><image class="empty-img" src="@/static/images/no-thing.png" mode="widthFix"></image><view class="empty-tips"><u--text text="您没有健康证,无法加入卡包" type="info" align="center"></u--text></view></view><view v-else class="lic-wrap"><view class="lic-box" id="licbox" ref="licbox"><view class="title">从业人员健康合格证</view><view class="lic-flex"><view style="flex: 1"><view class="item">体检类别:{{ licDetail.tjlbName || '' }}</view><view class="item"><text>姓名:{{ licDetail.xm || '' }}</text>&nbsp;&nbsp;<textstyle="min-width: 180rpx">年龄:{{ licDetail.age || '' }}</text></view><view class="item">工作单位:{{ licDetail.glqymc || '' }}</view></view><view class="lic-pic" v-if="licDetail.jkzly == '2'"><image :src="licDetail.jkzurl" mode="widthFix" /></view></view><view class="item">有效期:{{ licDetail.fzrq || '' }}--{{ licDetail.yxq || '' }}</view><view class="item">发证机构:{{ licDetail.tjjgmc || '' }}</view></view><view v-if="item.jkzly == '1'" style="margin-top: 15px"><image :src="licDetail.jkzurl" mode="widthFix" style="width: 100%" /></view></view><sync-card-pack v-if="licDetail.sfzh" certificateInstanceCode="20240511xxxxxxxxxxxxxx8_E_HEALTH_CARE_CARD":certificateId="licDetail.sfzh":summaryInfo="{ desens_show_name: licDetail.xm, desens_show_no: licDetail.sfzh }" certificateStatus="T"summaryType="DESENS" ownerType="SELF" :position="{top: 0,bottom: 88}" onSuccessCallBack="onSuccessCallBack" onFailCallBack="onFailCallBack" onCloseCallBack="onCloseCallBack"onNotShowCallBack="onNotShowCallBack" onFirstFailCallBack="onFirstFailCallBack" /></view></packPage>
</template><script>
/*** @Date 2024-03-16* @Description 健康证*/
import { mapActions } from 'vuex';
import { healthLicMy } from '@/common/api/healthLic';
import { $config } from '@/config.js';export default {data() {return {licDetail: {},isRedirect: ''  //判断是否是从卡包直接跳转进来的};},onShow() {this.queryDetail();},onLoad(option) {const { isRedirect = '' } = option;this.isRedirect = isRedirect;},methods: {...mapActions('user', ['login']),queryDetail(e) {//如果是从卡包直接跳转过来的,就先自动登录,再调用接口if (this.isRedirect !== '') {this.handleLoading('正在查询,请稍后...');my.getAuthCode({scopes: ['auth_base'],success: (res) => {if (res.authCode) {this.login({mobile: res.authCode}).then(() => {healthLicMy().then((res) => {this.licDetail = res.data || {};res.data.jkzurl && (this.licDetail.jkzurl = $config.api.baseUrl + res.data.jkzurl);}).finally(() => {uni.hideLoading();});}).catch(() => {uni.hideLoading();this.handleToast('登录失败');});}},fail: (err) => {uni.hideLoading();this.handleToast('my.getAuthCode 调用失败');}});} else {this.handleLoading('正在查询,请稍后...');healthLicMy().then((res) => {this.licDetail = res.data || {};res.data.jkzurl && (this.licDetail.jkzurl = $config.api.baseUrl + res.data.jkzurl);}).finally(() => {uni.hideLoading();});}}}
};
</script><style lang="scss" scoped>
.lic-wrap {margin: 20rpx;.lic-box {padding: 30rpx 30rpx;background: #fff;border-radius: 20rpx;line-height: 2;.title {font-size: 36rpx;letter-spacing: 1px;text-align: center;}.item {color: #999;font-size: 28rpx;border-bottom: 1px solid #cacaca;padding: 16rpx 0;display: flex;justify-content: space-between;}.lic-flex {display: flex;align-items: end;.lic-pic {width: 180rpx;flex-shrink: 0;margin-left: 20rpx;display: flex;align-items: flex-end;image {width: 100%;}}}}.lic-btn {margin-top: 40rpx;width: 100%;}
}
.empty-box {padding: 100rpx 50rpx 50rpx;background-color: #fff;display: flex;align-items: center;flex-direction: column;.empty-img {width: 60%;}.empty-tips {margin-top: -20px;}.empty-btn {margin-top: 40rpx;width: 100%;}
}
</style>

3、注意事项

  • 以上代码直接在HBuilder X中运行到支付宝模拟器后,会报错文件找不到,导致项目无法正常启动至模拟器。可以把template中引入卡包的代码先注释掉,等模拟器正常运行了项目后再把代码注释去掉,此时模拟器会自动刷新,可以正常测试(一定要用真机调试卡包功能)和上传版本。【HBuilder X报错的问题目前没找到解决办法】
  • 当卡包直接跳转查看详情及去领取卡包时,本项目是直接跳转到了同一个页面,会由于未登录导致页面自动跳转到首页。我的解决办法是在配置卡包的领取及跳转链接时多加一个参数,在页面中判断是否有那个参数,有的话就自动登录。跳转链接配置如下(appId为支付宝小程序的id,page路径为要跳转的页面路径,最后是添加的参数):console.log(alipays://platformapi/startapp?appId=XXXXXXXXXXXX&page=pages/healthLic/myLic${encodeURIComponent('?isRedirect=1')}),最后配置的链接为:
    alipays://platformapi/startapp?appId=XXXXXXXXXXXX&page=pages/healthLic/myLic%3FisRedirect%3D1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/18612.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解Seata:分布式事务的解决方案

在现代的微服务架构中&#xff0c;随着业务系统的不断拆分和模块化&#xff0c;分布式事务成为一个重要的挑战。为了解决微服务架构下的分布式事务问题&#xff0c;Seata应运而生。Seata&#xff08;Simple Extensible Autonomous Transaction Architecture&#xff09;是一款开…

Windows找出权限维持的后门

Windows权限维持主要包含活动隐藏、自启动等技术。 隐藏文件 利用文件属性 最简单的一种隐藏文件的方式&#xff0c;文件右键属性&#xff0c;勾选隐藏&#xff0c;点击确定后&#xff0c;在这个文件里看不到刚刚的文件了。 如果要让文件显示出来&#xff0c;就点击查看&…

C++:round函数用法

C&#xff1a;round函数用法 C&#xff1a;round函数用法 正常用法 对于小数而言&#xff0c;round()函数仅仅保留到整数位&#xff0c;即仅仅对小数点后一位四舍五入 round(1.5)2.000000 round(1.56)2.000000 round(-1.5)-2.000000 round(-1.56)-2.000000保留小数用法 如果…

matplotlib ---词云图

词云图是一种直观的方式来展示文本数据&#xff0c;可以体现出一个文本中词频的使用情况&#xff0c;有利于文本分析&#xff0c;通过词频可以抓住一篇文章的重点 本文通过处理一篇关于分析影响洋流流向的文章&#xff0c;分析影响洋流流向的主要因素都有哪些 文本在文末结尾 …

着色器技术在AI去衣中的魔法般的作用

引言&#xff1a; 在数字图像处理的世界中&#xff0c;AI去衣技术正逐步成为研究的前沿。它利用人工智能的强大能力&#xff0c;实现对图像中衣物的智能识别与处理。在这一过程中&#xff0c;着色器&#xff08;Shader&#xff09;技术扮演了至关重要的角色。本文将深入探讨着色…

【VTKExamples::Utilities】第十五期 ShepardMethod

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享VTK样例ShepardMethod,并解析接口vtkShepardMethod,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ…

没有可用软件包 docker-ce。 错误:无须任何处理

特么的各种百度查看&#xff0c;全是一些废话&#xff01;&#xff01;&#xff01;centos7安装不上docker&#xff0c;都是老的代码了&#xff1a; yum install docker-ce 解决方案&#xff1a; # CentOS yum install docker-io

error: ‘return’ with no value, in function returning non-void [-Werror]

解释&#xff1a;返回没有值&#xff0c;但是函数返回时非空的&#xff1b; 处理方法&#xff1a; 1&#xff1a;关闭 warning转error的编译选项&#xff0c;“-Wall -Werror”; 2&#xff1a;根据函数定义&#xff0c;给函数设置对应返回值&#xff1b; 报错代码示例 void *…

深度学习之CNN卷积神经网络

一.卷积神经网络 1. 导入资源包 import numpy as np import pandas as pd import matplotlib.pyplot as plt import sklearn import tensorflow as tf from tensorflow import keras注&#xff1a;from tensorflow import keras&#xff1a;从TensorFlow库中导入Keras模块&am…

【Unity之FGUI】白仙章Fairy GUI控件详解二

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;就业…

《征服数据结构》双向链表

摘要&#xff1a; 1&#xff0c;双链表的介绍 2&#xff0c;双链表的用途 3&#xff0c;双链表的节点插入和删除 1&#xff0c;双链表的介绍 前面我们讲过单链表&#xff0c;单链表的特点就是只能往后访问不能往前访问。单链表一般在面试中用的比较多&#xff0c;比如删除倒数第…

广东商标协会批复为世界酒中国菜的指导单位

广东商标协会批复荐酒师公司成为“世界酒中国菜”活动指导单位 一、批复背景与意义 广东商标协会正式批复荐酒师国际认证&#xff08;广州&#xff09;有限公司&#xff0c;成为备受瞩目的“世界酒中国菜”系列活动的指导单位。该活动旨在共建“一带一路”倡议、助力“乡村振兴…

Unity射击游戏开发教程:(28)敌人被摧毁时掉落的能量提升

在这篇文章中,我将介绍如何在敌人被摧毁时产生能量提升。 首先,有一个生成管理器,负责生成敌人和能量提升。我正在对其进行转换,以便当敌人被摧毁时,有可能会掉落能量。本文将仅介绍当敌人被摧毁时掉落的能量道具。我将介绍为电源添加一个平衡的生成系统。 Spawn Manager…

最简单的 UDP-RTP 协议解析程序

最简单的 UDP-RTP 协议解析程序 最简单的 UDP-RTP 协议解析程序原理源程序结果下载链接参考 最简单的 UDP-RTP 协议解析程序 本文介绍网络协议数据的处理程序。网络协议数据在视频播放器中的位置如下所示。 本文中的程序是一个 UDP/RTP 协议流媒体数据解析器。该程序可以分析 …

Sqli-labs-master靶场1-20通关教程

目录 SQL注入基本语句 Less-1&#xff08;字符型-闭合 &#xff09; Less-2&#xff08;数字型&#xff09; Less-3&#xff08;字符型-闭合 ) &#xff09; Less-4&#xff08;字符型-闭合 ") &#xff09; Less-5&#xff08;报错注入-闭合 &#xff09; Less-…

激光雷达测试板智能系统应用

在自动驾驶技术和机器人感知系统的迅猛发展中&#xff0c;激光雷达&#xff08;Lidar&#xff09;作为一种先进的测距技术&#xff0c;正逐渐成为这些系统不可或缺的组成部分。而在这一技术的实际应用前&#xff0c;对激光雷达进行精确的测试和校准是至关重要的一步。激光雷达测…

【原创】java+springboot+mysql日程管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

基于tensorflow的咖啡豆识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、前期工作 1. 设置GPU import tensorflow as tfgpus tf.config.list_physical_devices("GPU")if gpus:tf.config.experimental.set_memory_gr…

全球伦敦银收盘时间一致吗

跟伦敦金市场相似&#xff0c;伦敦银市场也是一个全球化的无形市场&#xff0c;无论来自世界上什么地方的投资者参与其中&#xff0c;都可以得到全天接近24个小时的连贯行情&#xff0c;只要精力足够&#xff0c;根本不用担心没有交易获利的机会。但由于交易平台始终有维护的需…

轻松实现PDF文件的在线浏览

福昕软件最近发布了一款名为Cloud API的产品&#xff0c;通过几行代码即可轻松实现PDF文件的在线浏览。先一睹为快吧。 简介 先看看产品官网&#xff1a;福昕 Cloud API Cloud API包括两个形态产品&#xff0c;一个是在线的PDF查看工具&#xff0c;叫PDF Embed API,另外一个…