最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

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

来源:博客园


(资料图片)

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;                            },                        });                    })

关键词: