# 2.x -> 3.x 迁移指南

由 v1.x 直接迁移至 v3.x，请先查看 [v1.x -> v2.x 迁移指南](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/migrate-from-v1)

## v3.x 与 v2.x 比较：

### 不兼容的更新：

查询和批量操作方法默认不返回 `total_count`（v3.x 之前的版本默认返回）， 这样可以显著提高接口的响应速度，如果需要 `total_count`，可以设置参数 `withCount` 为 `true`。 另外，推荐使用 `count` 方法来获取数据的总数。

**受影响的接口**：

`BaaS.TableRecord#update(options)` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/schema/update-record)

`BaaS.TableRecord#delete(options)` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/schema/delete-record)

`BaaS.TableObject#find(options)` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/schema/query)

`BaaS.User#find(options)` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/user)

`BaaS.ContentGroup#find(options)` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/content/operate)

`BaaS.FileCategory#find(options)` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/file/category)

`BaaS.File#find(options)` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/file/file)

**新增 count 接口**：

`BaaS.TableObject#count()` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/schema/query)

`BaaS.User#count()` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/user)

`BaaS.ContentGroup#count()` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/content/operate)

`BaaS.FileCategory#count()` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/file/category)

`BaaS.File#count()` [查看](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/file/file)

### 其他更新：

1. 支持自定义域名

v3.x 支持在 SDK init（clientID）的时候，指定接口的域名，例如：

```js
wx.BaaS.init('[[client_id]]', { host: 'https://***' })
```

需要先在控制台配置自定义域名

![配置自定义域名](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-ca26c4f0599afea473a7fff3b831d5fb4f7fdc9a%2Fhost-config.png?alt=media)

1. 支持 TypeScript 与自动补全

![自动补全](https://3271136903-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LVIIQcUXqNvyHRGzhur%2Fuploads%2Fgit-blob-13df12cfc65b86c7d7d40b4236ee8c8af74ae511%2Fauto-completion-vscode.gif?alt=media)

SDK v3.x 提供了 baas.d.ts 类型定义文件， 可以在微信开发者工具与 vscode（或其他支持使用 `*.d.ts` 文件做类型提示的开发工具）中更好地使用知晓云 SDK 进行开发。

具体使用方式，请查看[文档](https://ifanr.gitbook.io/baas-js-sdk/js-sdk/typescript)
