Js SDK

js-client是基于javascript语言UMD风格的Fireboom API 封装,可以在浏览器环境中使用。

引用SDK

配置基本请求头

在index.html文件中增加baseURL配置,自定义访问域名。

index.html
<script src="./index.umd.min.js"></script>

自定义请求域名

FBClient.setBaseURL('https://xxx.cc.com')

自定义请求头

FBClient.setExtraHeaders({ 'X-CUSTOM-HEADER': 'VALUE' })

查询和变更

查询

FBClient.query.GetT({input:{id:1}}).then(console.log)

变更

FBClient.mutation.CreateT({input:{name:"sss",des:"des"}}).then(console.log)

实时

实时查询

FBClient.subscription.GetT({input:{id:1},liveQuery: true}).then(async res => {
  for await (const v of res) {
    console.log(v)
  }
})

订阅

FBClient.subscription.GetT({input:{id:1}}).then(async res => {
  for await (const v of res) {
    console.log(v)
  }
})

订阅一次

使用subscribeOnce运行订阅,这将直接返回订阅响应,而不会推流。适用于SSR场景。

FBClient.subscription.GetT({input:{id:1},subscribeOnce: true}, ({ data, error }) => {
  console.log(data)
})

文件上传

<input type="file" id="fileInput" name="fileInput" >
<script>
    const fileInput = document.getElementById('fileInput');
    fileInput.addEventListener('change', (event) => {
        const files = event.target.files
        if (files == null) return
        // 调用上传函数
        FBClient.uploadFiles({
            provider: 'tengxunyun',
            files: files,
            profile: 'avatar', // (可选)高级配置
            directory:"sss",     // (可选)上传目录
            meta:{              // (可选)meta信息
                postId:"sss"
            }
        })
    });
</script>

身份验证

身份认证包含两种模式:授权码模式(基于cookie)和隐式模式(基于token)。

授权码模式

登录

FBClient.login('auth0');

获取用户

FBClient.fetchUser();

退出登录

FBClient.logout({
  logoutOpenidConnectProvider: true,
});

隐式模式

获取Token

详情见 隐式模式 ->获取Token

使用Token

index.js
FBClient.setAuthorizationToken('<access_token>')

最后更新于