一、常见问题

序号 问题描述 地址
1.1 免登的流程 点击查看
1.2 如何设置navbar的title 点击查看
1.3 如何绑定navbar的回退事件 点击查看
1.4 如何自定义navbar的右上角的功能区域 点击查看
1.5 附件上传下载 点击查看

1.1 如何通过jsbridge实现app免登并获取当前登录的用户

1.1.1 免登的流程

通过免登服务,在微应用的H5中,无需用户再次输入用户名和密码,可以通过身份认证获取当前使用政企通的用户身份及相关信息。

通过CODE获取用户身份会有一定的时间开销。对于频繁获取用户身份的场景,建议采用如下方案:

1.用户跳转微应用页面时,微应用校验是否有代表用户身份的cookie,此cookie由企业生成。

2.如果没有获取到cookie,调用免登服务,获取用户身份后,由企业生成代表用户身份的cookie。

3.根据cookie获取用户身份,进入相应的页面。

1.1.2 具体的操作步骤

1.1.2.1 企业端
  • Step1. 在客户端微应用里面,通过jsbridge获取code;
  • Step2. 在客户端服务端,根据分配的clientID和clientSecret获取政府端或企业端token;
  • Step3. 在客户端服务端,根据code和clientId和token来获取当前登录的用户userid;
  • Step4. 在客户端微应用里面,通过jsbridge获取baseid;
  • Step5. 根据userid和baseid和token获取当前登录用户的身份信息;
1.1.2.2 政府端
  • Step1. 在微客户端微应用里面,通过jsbridge获取code;
  • Step2. 在客户端服务端,根据分配的clientID和clientSecret获取政府端或企业端token;
  • Step3. 在客户端服务端,根据code和clientId和token来获取当前登录的用户userid;
  • Step4. 根据userid和token获取当前登录用户的身份信息;

1.2 如何设置navbar的title

 let zqtbridge = require("zqtbridge")

 //修改标题
  componentDidMount() {
       zqtbridge.call("device.navigation.setTitle", {"title": "首页"}, function (v) {});
    }

1.3 如何绑定navbar的回退事件

 let zqtbridge = require("zqtbridge")

 //解除绑定
  componentDidMount() {
     //去除绑定事件
     zqtbridge.call("device.navigation.unbindBackBtn", function (v) {
     });
   }


 //绑定后退方法
 componentDidMount() {
      zqtbridge.register('bindBackBtn', this.goback)
      zqtbridge.call("device.navigation.bindBackBtn", {"callback":"bindBackBtn"}, function (v) { });
   }

1.4 如何自定义navbar的右上角的功能区域

 let zqtbridge = require("zqtbridge")

 share = () => {
     zqtbridge.call("service.share.share", {
       "title": this.props.article.data.title,
       "detail": this.props.article.data.title,
       "url": "http://web-h5.app.zqtong.com/article/" + this.props.article.data.id
     }, function (v) {
     });
   }

 //绑定分享的方法
 zqtbridge.register('callbackShare', this.share)  

 //设置右上角的分销
     zqtbridge.call("device.navigation.setMenu", {
       "menus": [
         {"icon": "https://58.215.198.210:9997/test/icon.png", "title": "分享", "callback": "callbackShare"},
       ]
     }, function (v) {
     });

1.5 附件上传和下载

Android上传和下载

  Step1 获取本地文件的路径

  let  localUrl = '';
  let  url = '';  
  <Button onClick={() => {
                zqtbridge.call("service.media.openLib", {"type": 0, "maxNum": 5}, function (v) {
                  //字符串
                  let pathStr = JSON.parse(v).list;
                  let pathArr = JSON.parse(pathStr);
                  localUrl = pathArr[0];
                  //获取最后一个/的位置
                  let site = localUrl.lastIndexOf("\/");
                  //截取最后一个/后的值
                  url  = localUrl.substring(site + 1,localUrl.length);
                  alert(url)
                });
              }}>service.media.openLib</Button>



  Step2 上传文件到efs文件系统

  <Button onClick={() => {
                alert(url)
                zqtbridge.call("service.file.upload", {
                  "fileUrl": localUrl,
                  "destUrl": "https://gateway.eazytec-cloud.com/EFS_investsmart/card/" + url,
                  "isLib": false,
                  "mineType": "image/jpeg",
                  "api-key": "0cf8d5ab024e42b1ad53f73a5bbc4a64"
                }, function (v) {
                  alert(v)
                });

  Step3 下载文件检验是否上传成功

  <Button onClick={() => {
                zqtbridge.call("service.file.download", {
                  "url": "https://gateway.eazytec-cloud.com/EFS_investsmart/card/" + url,
                  "api-key": "0cf8d5ab024e42b1ad53f73a5bbc4a64",
                  "autoOpen": true
                }, function (v) {
                });
              }}>service.file.download</Button>

二、更多详细的API

点击查看

江苏卓易信息科技股份有限公司-TNG基础平台组 all right reserved,powered by Gitbook该文件最后修改时间: 2021-01-27 06:23:28

results matching ""

    No results matching ""