小编Raf*_*nez的帖子

注销后权限丢失或不足错误

我在一个项目中使用 Firebase + Ionic。我的问题是登出时出现的。我订阅了onSnapshot一些集合中的几个事件。我希望每当用户注销时所有订阅都会被取消,但事实并非如此,因此每当我注销时,我都会收到来自 Firebase 的几个错误:

onSnapshot 中未捕获的错误:错误:权限缺失或不足。

这是我的代码:

我的控制器

/**
 * Logout button 'click' event handler
 */
onLogoutPressed(){
  this.fbAuthServ.logout().then(() => {
    this.navCtrl.setRoot(LoginPage);
  });
} 
Run Code Online (Sandbox Code Playgroud)

我的服务商

// Firebase Modules
import { AngularFireAuth } from 'angularfire2/auth';

constructor(private afAuth: AngularFireAuth, private utils: UtilsProvider){}

...

  /**
    * Firebase Logout the current user
   */
  async logout(){
    this.afAuth.auth.signOut();
  }
Run Code Online (Sandbox Code Playgroud)

你能告诉我我该怎么做才能避免这些Missing or insufficient permissions错误?

先感谢您!

编辑:我如何订阅 onSnapshot 事件

控制器

ionViewDidEnter(){

    this.fbDataServ.getPlacesByUserAllowed().onSnapshot(placeReceived=> {
      this.placesByUserAllowed = placeReceived.docs.map(placeSnapshot => {
        return this.utils.mapPlaceSnapshot(placeSnapshot )
      });
      this._concatPlaces(); …
Run Code Online (Sandbox Code Playgroud)

javascript firebase ionic-framework firebase-authentication angularfire2

8
推荐指数
1
解决办法
4739
查看次数

Firestore 的复杂数据模型

我正在使用 Firestore + angularfire 构建我的第一个应用程序,由于缺乏 Firestore 经验,定义数据模型非常困难。我需要你的帮助。

我有以下实体和依赖项

  1. 餐厅:它们是独立的,可以由应用程序的用户注册。
  2. 创建餐厅的用户成为“所有者”。他/她可以邀请其他用户成为餐厅的“服务员”。
  3. 用户可以从一个或多个餐厅(可能来自不同的所有者)收到“成为我的服务员”邀请。
  4. 我们还有另一个实体“客户”。该实体的条目包含有关订购的菜肴和饮料、价格、小费等的数据...

然后是以下规则

  1. 每个业主可以看到他/她的餐厅内的任何“客户”数据,但看不到其他餐厅的数据。
  2. 每个“服务员”都可以看到他/她服务的顾客(在任何餐厅)的数据,但看不到其他顾客的数据。

正如您所看到的,存在多个依赖项,包括多个 OR 条件,Firestore 中的“where”过滤器不支持这些依赖项。因此,我不确定是否应该将客户集合嵌套到每个餐厅文档中,或者是否应该将所有客户放在根集合中然后过滤它们。

您能否帮我解决这个问题,并提供一些关于您认为如何使用 Firestore 规则进行管理的最佳方法的想法?

data-modeling firebase google-cloud-firestore

5
推荐指数
1
解决办法
1861
查看次数

使用 Ionic DateTime 分两步选择日期和时间

使用 Ionic DateTime 分两步选择日期和时间:我想使用Ionic DateTime选择日期和时间。问题是pickerFormat="DD MMMM YYYY HH:mm"的选择器变得复杂且太窄,所以我想先选择日期,然后选择时间。关于如何这样做的任何想法?

javascript ionic-framework ionic2 ionic3 angular

5
推荐指数
1
解决办法
5688
查看次数

Flexbox div 不占用整个宽度

我试图了解它是如何display:flex工作的,但是每当我设置它时,孩子们都不会占据整个宽度。我期待三个 div 获得屏幕宽度的 33%。我究竟做错了什么?

.flexbox {
  display: flex;
}

.flexbox div {
  border: 1px solid black;
  padding: 10px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="flexbox">
  <div>One</div>
  <div>Two</div>
  <div>Three</div>
</div>
Run Code Online (Sandbox Code Playgroud)

html css flexbox

2
推荐指数
1
解决办法
2358
查看次数