德阳市民通

技术文档


4.第三方介入后H5与APP交互

<p>[toc]</p> <h3>4.1. 引入远程脚本文件 cstoon-jssdk.js</h3> <ul> <li><code>&lt;script src="https://s-test.dysmt.cn/h5Static/common/js/cstoon-jssdk.js"&gt;&lt;/script&gt;</code></li> </ul> <h6>参数方法</h6> <table> <thead> <tr> <th style="text-align: left;">功能</th> <th style="text-align: left;">方法</th> <th style="text-align: left;">说明</th> <th>返回结果</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">后退</td> <td style="text-align: left;">cst.back()</td> <td style="text-align: left;">此方法用于调用 APP 后退方法。</td> <td></td> </tr> <tr> <td style="text-align: left;">关闭</td> <td style="text-align: left;">cst.close()</td> <td style="text-align: left;">此方法用于调用 APP 关闭 webview 窗口的方法</td> <td></td> </tr> <tr> <td style="text-align: left;">隐藏头部</td> <td style="text-align: left;">cst.hideHeader()</td> <td style="text-align: left;">此方法用于隐藏 APP 头部(标题栏)</td> <td></td> </tr> <tr> <td style="text-align: left;">设置app头部标题</td> <td style="text-align: left;">cst.hideHeader()</td> <td style="text-align: left;">此方法用于隐藏 APP 头部(标题栏)</td> <td></td> </tr> <tr> <td style="text-align: left;">调用 APP 地址选择</td> <td style="text-align: left;">cst.getAddress(callback)</td> <td style="text-align: left;">此方法用于调用 APP 地址选择控件,获取地址</td> <td></td> </tr> <tr> <td style="text-align: left;">复制文本</td> <td style="text-align: left;">cst.copyToClipboard(str)</td> <td style="text-align: left;">此方法用于复制文本</td> <td></td> </tr> <tr> <td style="text-align: left;">获取 app 基础参数</td> <td style="text-align: left;">cst.getBaseParams()</td> <td style="text-align: left;">此方法用于获取 APP 基础参数</td> <td>{appId :“”,siteId:“”,siteAreaCode:“”}</td> </tr> <tr> <td style="text-align: left;">打开登录页</td> <td style="text-align: left;">cst.openLogin()</td> <td style="text-align: left;">此方法用于跳转到 APP 注册页面</td> <td></td> </tr> <tr> <td style="text-align: left;">打开 APP 页面</td> <td style="text-align: left;">cst.openWindow(path)</td> <td style="text-align: left;">此方法用于跳转到 APP 内部页面</td> <td></td> </tr> <tr> <td style="text-align: left;">调用导航</td> <td style="text-align: left;">cst.navigation(obj)</td> <td style="text-align: left;">此方法用于调用 app 导航</td> <td>传递 json 字符串, 例如 var obj = {&quot;startLng&quot; : &quot;起点经度&quot;,&quot;startLat&quot; : &quot;起点纬度&quot;, &quot;endLng&quot; : &quot;终点经度&quot;, &quot;endLat&quot; : &quot;终点纬度&quot;};</td> </tr> <tr> <td style="text-align: left;">拨打电话</td> <td style="text-align: left;">cst.openDial(phoneNumber)</td> <td style="text-align: left;">通过调用原生方法传入电话,实现拨打电话</td> <td></td> </tr> <tr> <td style="text-align: left;">预览 PDF 文档</td> <td style="text-align: left;">cst.previewPDF(fileName, fileUrl)</td> <td style="text-align: left;">此方法用于预览 PDF 文档</td> <td>传入文档名称,文档的路径</td> </tr> <tr> <td style="text-align: left;">获取当前位置坐标</td> <td style="text-align: left;">cst.getLocationCoordinate(function(){})</td> <td style="text-align: left;">此方法用于获取当前位置坐标</td> <td></td> </tr> <tr> <td style="text-align: left;">分 享</td> <td style="text-align: left;">cst.shareHandle(shareInfo)</td> <td style="text-align: left;">此方法用于调用 app 原生分享,触发弹框</td> <td>var shareInfo = { title : &quot;&quot;, link : &quot;&quot;, imgUrl : &quot;&quot;, desc : &quot;&quot; }</td> </tr> <tr> <td style="text-align: left;">跳转个人认证</td> <td style="text-align: left;">cst.appPersonalInfo(function(){})</td> <td style="text-align: left;">跳转到 app 个人认证</td> <td></td> </tr> <tr> <td style="text-align: left;">跳转企业认证</td> <td style="text-align: left;">cst.appEnterpeiseAuth(function(){})</td> <td style="text-align: left;">跳转 app 企业认证</td> <td></td> </tr> <tr> <td style="text-align: left;">选择通讯录人员</td> <td style="text-align: left;">cst.appSelectPhoneBook(callback, renderDataStr)</td> <td style="text-align: left;">此方法用于调用原生页面,进行人员的选择,并返回已选数据。已选择的数据重新进入不能编辑,通过 renderDataStr 字段进行控制</td> <td>callback 选择成功回调,返回当前已选数据 renderDataStr 回填用户 id,格如“id1,id2,id3” 输出结果数据格式: { &quot;content&quot;: [{ &quot;id&quot;: &quot;B5688927C3197950D3BE08FAB9XXXXXX&quot;, &quot;name&quot;: &quot;赖 XX&quot;, &quot;position&quot;: &quot;新媒体运营专员&quot;, &quot;phone&quot;: &quot;15711112222&quot;, &quot;mail&quot;: &quot;laiXX@linewell.com&quot;, &quot;deptName&quot;: &quot;互联网运营中心活动策划部&quot;, &quot;gender&quot;: 1, &quot;appUserId&quot;: &quot;B5688927C3197950D3BE08FAB9XXXXXX&quot;, &quot;userPostRank&quot;: 6, &quot;userCode&quot;: &quot;LWTJ03XXXX&quot;, &quot;userIdCard&quot;: &quot;350526XXXXXXXXXXXX&quot;, &quot;userPersonphoto&quot;: &quot;<a href="http://mss.linewell.com/lbspuploadPhoto/userphoto/XXXXXXX.jpg">http://mss.linewell.com/lbspuploadPhoto/userphoto/XXXXXXX.jpg</a>&quot; }], &quot;isSuccess&quot;: true }</td> </tr> <tr> <td style="text-align: left;">重写 APP 后退方法监听后退事件</td> <td style="text-align: left;"></td> <td style="text-align: left;">此方法用于监听 APP 后退方法</td> <td>export const initNativeBack = () =&gt; { let sysType = cst.getDeviceType(); window.mui = {}; if(sysType == &quot;H5&quot;){ return; } sysType == &quot;ANDROID&quot; &amp;&amp; android.useJsBack(&quot;true&quot;); mui.nativeBack = function() { // 处理业务逻辑,比如关闭 webview cst.close(); }</td> </tr> <tr> <td style="text-align: left;">获取 token</td> <td style="text-align: left;">cst.getToken()</td> <td style="text-align: left;">获取 APP 的 token</td> <td>返回String 类型 token</td> </tr> <tr> <td style="text-align: left;">获取设备类型</td> <td style="text-align: left;">cst.getOsType()</td> <td style="text-align: left;">获取当前设备为安卓还是 ios</td> <td>返回ANDROID 或 IOS</td> </tr> <tr> <td style="text-align: left;">是否城市通 APP 打开</td> <td style="text-align: left;">cst.isCstoon()</td> <td style="text-align: left;">判断是否是在城市通 APP 内打开</td> <td>返回true 或 false</td> </tr> <tr> <td style="text-align: left;">获取userId</td> <td style="text-align: left;">cst.getUserId()</td> <td style="text-align: left;">此方法用于获取 APP 的用户 id</td> <td></td> </tr> <tr> <td style="text-align: left;">获取环境类型</td> <td style="text-align: left;">cst.getDeviceType()</td> <td style="text-align: left;">此方法用于获取设备类型</td> <td>ANDROID 或 IOS 或 H5</td> </tr> <tr> <td style="text-align: left;">获取名称</td> <td style="text-align: left;">cst.getAppName()</td> <td style="text-align: left;">此方法用于获取 APP 的名称</td> <td>APP 名称</td> </tr> <tr> <td style="text-align: left;">获取 deviceId</td> <td style="text-align: left;">cst.getDeviceId()getBaseParams</td> <td style="text-align: left;">此方法用于获取 APP 的 deviceId</td> <td>deviceId</td> </tr> <tr> <td style="text-align: left;">获取 baseParams打开</td> <td style="text-align: left;">cst.getBaseParams()</td> <td style="text-align: left;">此方法用于获取 APP 的基础参数</td> <td>APP 的基础参数</td> </tr> </tbody> </table>

页面列表

ITEM_HTML