# 交我办JsSdk

当您的页面接入到交我办APP时,有时页面前端需要和交我办进行交互,为此交我办APP封装了一些方法供调用,使用交我办JsSdk就可以很方便的调用这些封装的方法。

# 引入

有两种方式可供选择,如果您的项目使用npm管理依赖,推荐作为es模块导入方式

示例 作为es模块导入

安装

npm install jwb-app-invoker
1

引入

<script>
import { invoke, close, setTitle} from 'jwb-app-invoker';
...
invoke('close');
</script>
1
2
3
4
5
示例 使用script标签全局引入

如果使用script标签全局引入,可下载invoker.global.prod.js (opens new window)在页面中引入。

<!DOCTYPE html>
<html>
    <head>
        <!-- 将本项目dist目录中的invoker.global.prod.js放到自己网站合适的目录中并全局引入,引入后会产生全局变量JwbAppInvoker -->
        <script src="scripts/invoker.global.prod.js"></script>
    </head>
    <body>
        <div style="display: flex; flex-direction: column;">
            <!-- 调用封装在JwbAppInvoker上的方法即可 -->
            <button onclick="JwbAppInvoker.invoke('close')">close me</button>
            <button onclick="JwbAppInvoker.close()">close me</button>
        </div>
    </body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 方法列表

目前该开发包封装了以下方法,除了特殊指明返回类型的方法,其他所有方法返回值均为布尔值表示是否调用成功,如果返回false多数是由交我办版本过低造成的,可提示用户升级交我办。

# 底层调用

invoke(methodName,param1,param2,...)

调用app封装的方法,第一个参数是方法名,后面参数是app封装方法使用的参数,格式为{name,value}的键值对,参数次序必须和app封装方法的参数次序一致,使用本方法可以调用所有app封装的方法。

一般无须使用invoke方法来调用交我办封装的方法,直接使用以下JsSdk封装的方法即可,特殊情况下如果您需要调用交我办JsSdk未封装的方法可直接使用该底层调用方法。

# 注册应用

register(id)

向交我办注册当前应用,其实是调用invoke('register',{name:'certId', value:id})的快捷方式。注册后标题栏将显示网络信息中心技术支持、主管部门、联系方式等信息。请注意该注册应用方法的调用不是必须的,注册后会在交我办右上角显示相应的注册信息。如果参数id不是一个合法的认证id或者不调用该方法,交我办标题栏右上角将显示刷新按钮。

参数id是应用认证id,第三方可以联系网络信息中心获取。该方法开发者可自己调用,也可在script引用时加入注册的id参数,脚本引入后会自动注册。

示例 引用时自动注册
<!DOCTYPE html>
<html>
    <head>
        <!-- 引入脚本时加入id参数可自动注册 -->
        <script src="scripts/invoker.global.prod.js?id=xxxx"></script>
    </head>
</html>
1
2
3
4
5
6
7

# 环境判断

isApp():boolean

返回布尔值,判断是否在交我办中

# 获取版本

getVersion():string

返回交我办版本,如果不在交我办中会返回空字符串

# 关闭页面

close()

关闭本窗口,其实是调用invoke('close')的快捷方式

# 设置标题

setTitle(title)

设置窗口标题,其实是调用invoke('setTitle',{name:'title',value:'新的标题'})的快捷方式

# 打开链接

openLink(url [,back = false] [,title])

新窗口打开链接,其实是调用invoke('openLink',{name:'url',value:url},{name:'back',value:back},{name:'title',value:title})的快捷方式

参数说明:

  • url 必填,链接地址
  • back 选填,是否标题栏显示回退按钮,缺省false显示的是关闭按钮
  • title 选填,自定义标题,不传该参数时将自动获取页面标题作为标题

# 关闭后打开链接

closeAndOpenLink(url [,back = false] [,title])

新窗口打开链接,并关闭原先的窗口。

参数说明:

  • url 必填,链接地址,支持原生url
  • back 选填,是否标题栏显示回退按钮,缺省false显示的是关闭按钮
  • title 选填,自定义标题,不传该参数时将自动获取页面标题作为标题

# 打开原生应用

openNative(url)

打开交我办原生应用,其实是调用invoke('openNative',{name:'url',value:url})的快捷方式

目前支持的原生url列表如下:

  • 思源码 'taskcenter://edu.sjtu.push/unicode'
  • 扫一扫 'taskcenter://edu.sjtu.push/scan'
  • 校园卡 'taskcenter://edu.sjtu.push/campusCard'
  • 日程 'taskcenter://edu.sjtu.push/schedule'
  • 消息中心 'taskcenter://edu.sjtu.push/messageCenter'
  • 应用分类 'taskcenter://edu.sjtu.push/app_list?type=分类名'

# 关闭后打开原生应用

closeAndOpenNative(url)

新窗口打开交我办原生应用,并关闭原先的窗口

# 项目地址

download 交我办JsSdk