# JSSDK 接入指南

# JSSDK 使用

# 当前版本

# npm 安装 推荐

1、使用 npm 安装

npm install yach.open.jssdk --save
or
yarn add yach.open.jssdk

2、使用示例:

// 全量引入
import yy from "yach.open.jssdk"; // yy可以自己定义

yy.biz.util.openLink({
  url: "https://yach.zhiyinlou.com", // 要打开链接的地址
  onSuccess: function (result) {
    /*成功回调*/
  },
  onFail: function (err) {
    /*失败回调*/
  },
});

// 按需加载
import { openLink } from "yach.open.jssdk";

openLink({
  url: "https://yach.zhiyinlou.com",
  onSuccess: function (result) {
    /*成功回调*/
  },
  onFail: function (err) {
    /*失败回调*/
  },
});

# 浏览器引入

在浏览器中使用 script 和 link 标签直接引入文件,并使用全局变量 yy。

<script
  src="https://yach-static.zhiyinlou.com/web_static/yach_open/yach_jssdk_4.0.3.js"
  type="text/javascript"
></script>

目前最新地址:https://yach-static.zhiyinlou.com/web_static/yach_open/yach_jssdk_.js

注意

不推荐使用浏览器引入方法,这样无法按需加载,而且难以获得底层依赖模块的 bug 快速修复支持。

# 接口约定

  1. 所有接口都为异步
  2. 接受一个 object 类型的参数
  3. 成功回调 onSuccess(某些异步接口的成功回调,将在事件触发时被调用,会在 api 文档中详细说明)
  4. 失败回调 onFail
yy.命名空间.功能.方法({
  参数1: "",
  参数2: "",
  onSuccess: function (result) {
    //成功回调
  },
  onFail: function (err) {
    //失败回调
  },
});

# JSSDK 鉴权

# 鉴权 api 参数获取

需要调取后端接口获取 例如:js_config 获取 (opens new window)
返回参数

{
  "errcode": 0,
  "errmsg": "success",
  "data": {
    "corp_id": 1,
    "time_stamp": 1582271210,
    "nonce_str": "5e4f8aeae16ce",
    "signature": "314fd222b7d838decddef79bc0a645d97965fc22",
    "appid": "{appid}",
    "url": "{url}",
    "agentId": "{agentId}"
  }
}

# 鉴权 api

设计到数据、安全方面的 api 需要进行鉴权处理
鉴权示例

yy.config({
  agentId: "1591562343", // 必填,微应用ID
  corpId: "1", //必填,企业ID,好未来为1
  timeStamp: "1583126111", // 必填,生成签名的时间戳
  nonceStr: "Yach_record_8858", // 必填,生成签名的随机串
  signature: "eb63220caf3485106ff7978", // 必填,签名
  type: 0, //选填。不填默认为0。
  jsApiList: ["biz.chat.pickConversation", "biz.util.open"], // 必填,需要使用的jsapi列表,注意:不要带yy。
  onSuccess: function (result) {
    //成功回调
    /*{
      	code:200,
        msg:鉴权成功
      }*/
  },
  onFail: function (err) {
    //失败回调
    /*{
      	code:错误吗,
        msg:错误信息
      }*/
  },
});
参数 参数类型 必须 说明
agentId String 微应用 ID
corpId String 企业 ID,好未来为 1
timeStamp String 生成签名的时间戳
nonceStr String 生成签名的随机串
signature String JS-API 签名
type number 预留字段,可不传,默认为 0
jsApiList Array 需要调用的 jsapi 列表

# 非鉴权 api

不用做特使处理,直接调用即可
示例:

import yy from "yach.open.jssdk"; //yy可以自己定义

yy.biz.util.openLink({
  url: "https://yach.zhiyinlou.com", //要打开链接的地址
  onSuccess: function (result) {
    /*成功回调*/
  },
  onFail: function (err) {
    /*失败回调*/
  },
});

# ready

# yy.ready

用来标识文档加载完毕。

# JSSDK 调试

我们在每个 API 下面都会提供调试交互,方便开发者直观查看效果:

注意

调试功能目前仅支持在知音楼端内进行,请确保 PC 上已安装知音楼,点我 在知音楼内打开文档调试

# 获取 JSSDK 版本

# 使用说明

Android iOS PC 是否需要鉴权
支持 支持 支持 不需要
yy.sdkVersion; // 返回值示例 "4.0.7"

# 调试

sdkVersion
上次更新: 11/18/2021, 1:01:51 PM
foo