我正在尝试将 Google 的 Firebase Cloud Messaging (FCM) 实施到我的 Nuxt.js APP 中。
到目前为止,我已经安装了 firebase,在 ./plugins 文件夹中创建了一个 firebase.js 插件,导入并初始化了 firebase 和消息传递服务,一切似乎都运行良好。
现在我不知道如何或从这里去哪里..
这个想法是在通知模块中处理 vuex 中的所有内容。
我想同时处理后台和前台通知。后台由 service-worker 处理,对于前台,我制作了一个简单的通知组件,我想在每次收到来自 FCM 的推送通知时显示该组件。
问题:
我将如何注册 Service Worker、请求许可和处理前台/后台通知?我的意思是特定于 Nuxt.js 的确切位置/文件/方式?我应该为此制作另一个插件,使用中间件文件夹还是只处理默认布局文件中的所有内容?
最干净的方法是什么?
提前致谢!
javascript vue.js service-worker firebase-cloud-messaging nuxt.js
我正在创建一个非常基本的功能看板。
到目前为止,我的板子有 4 个型号:
用户模型
var userSchema = new Schema({
name: {
type: String,
required: true
}
})
module.exports = mongoose.model('User', userSchema)
Run Code Online (Sandbox Code Playgroud)
板型
var boardSchema = new Schema({
title: {
type: String,
required: true
},
lists: [ listSchema ]
members: [
{
type: Schema.Types.ObjectId,
ref: 'user'
}
]
});
module.exports = mongoose.model('Board', boardSchema)
Run Code Online (Sandbox Code Playgroud)
列表模式
let listSchema = new Schema({
title: {
type: String,
required: true
},
userCreated: {
type: Schema.Types.ObjectId,
required: true,
ref: 'user'
},
boardId: {
type: Schema.Types.ObjectId,
required: …Run Code Online (Sandbox Code Playgroud) 我有以下存储代码来处理登录,注销,获取用户以及将令牌设置为所有axios请求作为auth标头。
它适用于客户端渲染,比如说我进入登录页面,登录,获取令牌,将其存储在cookie中。。但是当我刷新页面时,似乎不再设置令牌了。在NuxtServerInit上执行操作,仍然没有运气。任何有关我的代码失败的想法?
这是我的store / index.js文件:
https://jsfiddle.net/3dc07yv4/
import Cookie from 'cookie'
import Cookies from 'js-cookie'
export const state = () => ({
sidebar: true,
token: null,
user: null
})
export const mutations = {
// SET SIDEBAR
toggleSidebar (state) {
state.sidebar = !state.sidebar
},
// SET USER
setUser (state, user) {
state.user = user
},
// SET TOKEN
setToken (state, token) {
state.token = token
}
}
export const getters = {
loggedIn (state) {
return Boolean(state.user && state.token)
}
} …Run Code Online (Sandbox Code Playgroud)