首页 > 编程语言 >小程序对接三方插件契约锁

小程序对接三方插件契约锁

时间:2023-04-06 14:24:35浏览次数:52  
标签:三方 插件 res 对接 跳转 ticket openedEventChannel 页面

1.申请插件

在开始开发前,需要先申请契约锁小程序插件的使用权限,开发者需要登录自身小程序管理后台,在”设置-第三方服务-插件管理“中添加小程序插件,通过如下

appId:wxaf8f505686ddf66a

匹配到插件后添加即可提交申请。

 

2.引入插件,也可在分包目录下引入,在主包内引入可能会超两兆,version,版本号,注意要使用最新的,否则有些新功能无法使用。

{
  ...
  "plugins": {
    "qyssdk-plugin": {
      "version": "1.0.30",
      "provider": "wxaf8f505686ddf66a"
    }
  }
  ...
}

 

3.插件调用

契约锁小程序插件以插件页面的形式为对接方小程序提供服务,可通过如下方式进入插件页面,用户在插件页面完成对应操作后,会自动跳回到跳转前的小程序页面,也支持指定跳转页面。

以下为一次签署成功方案 ,如果是认证后,重新签署需要自己和后端判断下          

          // page 插件页面入口:doc(合同签署入口),enterprise-auth(企业认证入口),personal-auth(实名认证入口)
                // env 环境参数:com(生产环境),cn(测试环境),默认为生产环境
                // ticket 由开放平台接口获取的插件页面令牌,请注意获取的令牌需与插件页面入口对应使用
                
                let page = 'doc';
                let page2 = 'doc';
                let env = 'cn';
                let ticket = '';
                let ticket2 = '';
                
                // 调用接口 拿到认证令牌
                this.$api
                    .post(global.apiUrls.post6413da25043e6, {
                        order_sn:this.model.order_sn
                    }).then(res => {
                        res = res.data;
                        ticket = res.data.href;
                        let eventChannel = null;
                        // 跳转签署页面
                        uni.navigateTo({
                            url: `plugin://qyssdk-plugin/doc?ticket=${ticket}&env=${env}&hasCb=true`,
                            events: {
                                signSuccessCb: () => { // 签署成功回调
                                    const url = ''; // 需要跳转的小程序页面地址,必须是绝对路径,可不传
                                    eventChannel.emit('jumpTo'); // 触发跳转逻辑,回调存在时必需调用,url不传默认返回
                                },
                                authSuccessCb: (e) => {
                                    console.log(e, '实名认证成功');
                                    // 实名认证成功 重新再获取签署令牌
                                    this.$api
                                        .post(global.apiUrls.post6413da25043e6, {
                                            order_sn:this.model.order_sn
                                        }).then(restow => {
                                            restow = restow.data;
                                            ticket2 = restow.data.href;
                                            // 跳转签约页面 签约完会自己返回
                                            eventChannel.emit('jumpTo',
                                                `plugin://qyssdk-plugin/${page2}?ticket=${ticket2}&env=${env}&hasCb=true`, {
                                                    signSuccessCb: (openedEventChannel) => {
                                                        openedEventChannel.emit('jumpTo');
                                                    },
                                                    authSuccessCb: (openedEventChannel) => {
                                                        openedEventChannel.emit('jumpTo',
                                                            '/tabbar/mine/mine');
                                                    },
                                                    authFailCb: (openedEventChannel) => {
                                                        openedEventChannel.emit('jumpTo',
                                                            '/subpackages/mine/settings');
                                                    },
                                                });
                                        })
                                },
                                authFailCb() { // 认证失败回调
                                    console.log('authFail');
                                    const url =
                                    '/pages/order/orderdetail/order-detail/index'; // 需要跳转的小程序页面地址,必须是绝对路径,可不传
                                    eventChannel.emit('jumpTo');
                                },
                            },
                            success(res) {
                                console.log(res)
                                eventChannel = res.eventChannel;
                            },
                        });
                    })

 

标签:三方,插件,res,对接,跳转,ticket,openedEventChannel,页面
From: https://www.cnblogs.com/qdjj/p/17292569.html

相关文章

  • Kubernetes 如何安装 NFS-Subdir-External-Provisioner存储插件?
    一、搭建NFS服务器1、背景介绍Kubernetes对Pod进行调度时,以当时集群中各节点的可用资源作为主要依据,自动选择某一个可用的节点,并将Pod分配到该节点上。在这种情况下,Pod中容器数据的持久化如果存储在所在节点的磁盘上,就会产生不可预知的问题,例如,当Pod出现故障,Kubernetes......
  • vscode配置docker插件
    参考:https://zhuanlan.zhihu.com/p/530413695  ================================================  本文不对vscode、docker的安装及docker插件的安装进行讲解,本文只讲在vscode上如何配置以使docker插件正常使用。 VSCODE上安装好docker插件后会发现并不能正常使用......
  • VSCode更改插件安装位置
    1、使用–extensions-dir命令使用命令行打开VSCode,增加参数–extensions-dir插件路径这种方式存在弊端,就是命令行窗口不能关闭。当然也可以增加一个.bat文件打开编辑器。2、使用–extensions-dir命令如果不在安装目录里面创建data目录,那么vscode默认是在C:\Users\dell.vscode......
  • Blender网格建模插件MESHmachine倒角和圆角:扁平 化
    推荐:将NSDT场景编辑器加入你的3D工具链编辑模式ye使用拼合工具,您可以拼合单个或多个多边形,并且可以在2种模式下展平:沿边或沿法线。选择展平可以采取2种选择。您可以选择 3个折点或多个多边形,其中一个处于活动状态。如果选择3个顶点,则连接多边形的所有顶点都将根据3个顶点......
  • 推荐一个很好用的 Android Studio 插件
    事情是这样的,今天一位小伙伴发布了一条微博,然后@了我,内容是发布了一款AS的插件,我看了下,确实很好用,于是果断微博帮忙转发了,但是我觉得还不够,这个小插件非常实用,就想着公众号也扩散下,让更多的小伙伴可以受益。这个AS插件叫做 Android-Resource-Usage-Count,顾名思义,这是一个可......
  • 插件式的自恢复保险丝优恩有哪几种系列型号?
    PPTC自恢复保险丝,大家熟知的可能就是贴片式的PPTC,但实际上,自恢复保险丝还有另一种——插件系列。插件式的自恢复保险丝同样也是在过流防护中使用较为频繁,以优恩为例,它的规格系列主要有七种。从网站统计到有:UN6系列(6V)、UN16系列(16V)、UN30系列(30V)、UN60系列(60V)、UN135系列(1......
  • VS2012、VS2013、VS2015、VS2019 代码自动注释插件【2】
    Git代码自动注释工具源码地址 VS2010、VS2012、VS2013的代码自动注释插件。安装该插件后,可以在VS的菜单中显示“注释”主菜单,可以给类、函数、成员添加标准的注释,与Doxygen配合使用,可以直接生成项目的注释文档。【插件下载】高版本的VS,可以下载源码后,自行编译使用。【插件安装】......
  • HTML5视频播放插件Video.js使用详解
    一、Video.js简介Video.js是一个开源的Html5jquery视频插件,这个插件可以用来处理Flash视频,它还是一个多平台支持的产品。Moreover,YouTube,Vimeo等等的视频都可以很好地通过这个插件来播放。这个插件还支持桌面应用程序和其它的手持设备。Video.js自动检测浏览器对HTML5的......
  • 美团闪购对接---授权
       .net难道真的不行了吗?真无奈呀,上次做支付对接,官方示例没有C#语言案例,这次做美团和饿了吗对接也没有C#示例的影子,大多都是java和php示例。做支付的时候,可以在网上搜一些案例,也有开源的人家封装好的案例,做起来有样板容易很多。这次做美团接口对接。哎,让我无语了,C#案例的我......
  • pytest生成简单测试报告命令,不用安装插件
    --junit-xml=./repot/result.xml生成JunitXML文件可在命令终端输入:pytest./case/test_DS_004.py--junit-xml=./repot/result.xml    --pastebin=all生成在线测试报告可在命令终端输入:pytest./case/test_DS_004.py--pastebin=all ......