从角度调用Javascript函数
我正在尝试为我的Angular项目配置推送通知。我试过使用从角度调用Javascript函数,javascript,angular,typescript,Javascript,Angular,Typescript,我正在尝试为我的Angular项目配置推送通知。我试过使用AngularFire模块,但我遇到了一些问题-。所以我想到了使用普通的Javascript代码。因此,我创建了Javascript函数,它将显示通知权限请求对话框,并将令牌写入控制台。我可以从角度调用函数。但是,我不需要将令牌写入控制台,而是需要将令牌保存在数据库中,以便将令牌与应用程序的用户关联,并向特定用户发送通知。我找不到任何方法来做这件事。下面是我的Javascript函数,它显示浏览器通知提示并将令牌写入控制台 var req
AngularFire
模块,但我遇到了一些问题-。所以我想到了使用普通的Javascript代码。因此,我创建了Javascript函数,它将显示通知权限请求对话框,并将令牌写入控制台。我可以从角度调用函数。但是,我不需要将令牌写入控制台,而是需要将令牌保存在数据库中,以便将令牌与应用程序的用户关联,并向特定用户发送通知。我找不到任何方法来做这件事。下面是我的Javascript函数,它显示浏览器通知提示并将令牌写入控制台
var requestForPermission = function () {
messaging.requestPermission().then(m => {
messaging.getToken().then(t => {
console.log(t);
});
});
}
在typescript中,我创建了这样一个函数
declare function requestForPermission(): any;
最后从typescript函数调用这个函数
toggleBrowserNotification() {
requestForPermission();
}
我试图返回令牌、消息对象等,但我不知道如何使用Typescript中的这些对象。如果我理解您的问题,您可以尝试此方法 JS
var requestForPermission = async function () {
let m = await messaging.requestPermission();
return await messaging.getToken();
}
toggleBrowserNotification() {
requestForPermission()
.then(t => this.myTokenSaverService.savetoken(t)) //All succesful
.catch(e=> console.log(e)); //Error getting permission or token
}
TS
var requestForPermission = async function () {
let m = await messaging.requestPermission();
return await messaging.getToken();
}
toggleBrowserNotification() {
requestForPermission()
.then(t => this.myTokenSaverService.savetoken(t)) //All succesful
.catch(e=> console.log(e)); //Error getting permission or token
}
关于,您的数据库是什么意思?你在哪里需要代币?不清楚。是的,我需要将通知令牌(注册id)存储到我的应用程序数据库中,以便我可以将其与用户关联,并向特定用户发送通知。前面是否有保存该令牌的代码?该代码是否与“toggleBrowserNotification”在同一个类中?问题是我将令牌保存到数据库的代码是Angular typescript。我需要将令牌从Javascript获取到Typescript/Angular,以便将令牌保存到数据库中。