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

Posted 我有头盔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小程序对接三方插件契约锁相关的知识,希望对你有一定的参考价值。

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

 

小程序怎么添加第三方插件

我们在开发微信小程序的时候,有些功能比较复杂,这时我们借助第三方插件引入到我们的项目,这是一个非常方便的事情

那么如何使用插件呢?

第一步:

  登录小程序后台管理>设置>第三方服务>添加插件

  找到你需要的插件后添加

  这时候点击插件的详情,我们可以看到AppID

  拷贝AppID,我们等等会用到它

第二步:

  微信小程序开发工具打开你的项目的app.json

  加上以下代码:

"plugins": {
    "WechatSI": {
      "version": "0.0.7",
      "provider": "wx069ba97219f66d99"
    }
  }

 

  注意:它跟 “window” 同级

     version为插件版本

     provider为刚才拷贝的AppID

  然后就可以通过相应的api文档对功能进行开发啦

 

  

以上是关于小程序对接三方插件契约锁的主要内容,如果未能解决你的问题,请参考以下文章

微信小程序一般去哪里对接一些商品接口

微信小程序 第三方插件的使用

小程序怎么添加第三方插件

支付模块-第三方APP如何拉取微信小程序支付(思路篇)

微信公众号对接第三方平台开发

微擎对接小程序消息推送不成功