web升级指南

升级你的 Web 应用

本文档将指导你将现有的 Web 应用的 js SDK 升级为新的JS-SDK_2.0_beta版本。

完成升级分为三个步骤:

1. 下载JS-SDK\_2.0\_beta版,其中包括wilddog-auth.js和wilddog-sync.js

2. 更新你的实时数据库代码

3. 更新你的身份认证代码

你可以随时升级你的项目。你的应用和现有 SDK 仍可继续工作。当你准备在自己的应用中使用某些新 Wilddog 功能时,你就可以更新自己的代码。

以下为将Wilddog Web 应用代码迁移至新 API 的步骤。

更改你的SDK引用

更新之前

<script src = "https://cdn.wilddog.com/js/client/current/wilddog.js" ></script>

更新之后

<script type="text/javascript" src="https://cdn.wilddog.com/sdk/js/2.0.0/wilddog-auth.js"></script>
<script type="text/javascript" src="https://cdn.wilddog.com/sdk/js/2.0.0/wilddog-sync.js"></script>

获取数据库引用

在新 SDK 中,不再通过 new Wilddog 实例化数据库引用。 将通过 wilddog.initializeApp() 初始化 SDK:

更新之前

var ref = new Wilddog("https://<appId>.wilddogio.com");

更新之后

var config = {
  authDomain: "<appId>.wilddog.com",
  syncURL: "https://<appId>.wilddogio.com"
};
var defApp = wilddog.initializeApp(config);
var rootRef = wilddog.sync().ref();

获取实时数据库引用后,对数据库的操作接口同老版一致。

更新你的身份认证代码

Wilddog 身份认证功能此时存在于 wilddog.auth() 服务之后,许多方法已重命名。 例如,下面是用 OAuth 提供程序对用户进行身份认证的方法:

更新之前

ref.authWithOAuthPopup("weixin", function(error, authData) {
    if (error) { 
        console.error(error); 
    } else { 
        var uid = authData.uid; 
    }
});

更新之后

微信用户:

var auth = wilddog.auth();
var provider = new wilddog.auth.WeixinAuthProvider();
auth.signInWithPopup(provider).then(function(result) {
     uid = result.user.uid;
}).catch(function(error) {
 // An error occurred
});

邮箱用户:

wilddog.auth().signInWithEmailAndPassword(email, pwd).then(function(a, b) {
    console.info("login success ->;", a, b);
    console.info("currentUser ->;", wilddog.auth().currentUser);
}).catch(function(a, b) {
    console.info('login failed ->;', a, b);
});

新的 Wilddog 身份认证 API 显示的登录用户信息与升级之前不同。

获取访问令牌

更新之前

ref.onAuth(function(authData) {
    if (authData) {
        var uid = authData.uid;
    }
})

更新之后

var auth = wilddog.auth();
var provider = new wilddog.auth.WeiboAuthProvider();
auth.signInWithPopup(provider).then(function(result) {
    var accessToken = result.credential.accessToken;
});

监控身份认证状态

用于监控身份认证状态的方法名称和回调参数略有变化:

更新之前

ref.onAuth(function(authData) {
    if (authData) {
        // User signed in!
        var uid = authData.uid;
    } else {
        // User logged out
    }
});

更新之后

var auth = wilddog.auth();
auth.onAuthStateChanged(function(user) {    
    if (user) {
        // User signed in!
        var uid = user.uid;
    } else {
        // User logged out
    }
});

更新重设密码模板

Wilddog 升级了邮件模版,请涉及到的用户自行定义

更多关于新版 Auth API,请参考 使用指南

R