我尝试在Android上模拟我的Ionic应用程序.一旦我的应用程序在模拟设备中启动,它就会出现以下错误:
应用程序错误
net :: ERR_CONNECTION_REFUSED(http:// localhost:8100)
并且
Webpage not available
The webpage at http://localhost:8100 could not be loaded because: net::ERR_CONNECTION_REFUSED
Run Code Online (Sandbox Code Playgroud)
调试相同的项目就像浏览器和iOS调试器中的魅力一样.
cordova-plugin-whitelist已经安装,我的config.xml中有以下规则
<allow-navigation href="http://localhost*"/>
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
我正在尝试将Http
请求迁移到HttpClient
请求.我能够迁移我的post
查询但我在迁移get
查询时遇到问题.当我这样做时,我的后端没有分别收到任何参数,它告诉我没有提供参数并且为空.
我做错什么了吗?
import {HttpClient, HttpHeaders, HttpParams} from '@angular/common/http';
constructor(private httpClient: HttpClient) {}
findItems() {
let params: HttpParams = new HttpParams();
params.set('something', 'hello');
this.httpClient.get<any[]>('http://localhost:3000/apath/', {params})
.subscribe((results: any[]) => {
console.log(results);
}, (errorResponse: any) => {
console.error(errorResponse);
});
}
Run Code Online (Sandbox Code Playgroud)
任何的想法?
我正在使用AngularFire并在我的中启用了离线支持的持久性app.module.ts
:
imports: [
AngularFireModule.initializeApp(environment.firebase),
AngularFirestoreModule.enablePersistence()
]
Run Code Online (Sandbox Code Playgroud)
valueChanges()
当我的应用程序启动时,我使用如下方式检索用户:
const doc: AngularFirestoreDocument<User> = this.myCollection.doc<User>(userId);
doc.valueChanges().pipe(take(1)).subscribe((user: User) => {
console.log(user);
}, (err) => {
console.err(err);
});
Run Code Online (Sandbox Code Playgroud)
对我来说奇怪的是,如果我将来自其他来源的修改作为应用程序应用于数据库,例如,如果我将自己登录到 Google Firestore 控制台并手动修改用户数据中的值,则不会获取这些数据。
如果我重新启动应用程序,它将始终获取本地保留的数据,并且永远不会注意到这些值已更改。
如果我分别删除持久性,则enablePersistence()
可以正确获取数据。
你知道问题的原因是什么吗?
在这种情况下我不应该使用吗valueChanges()
?
或者发生这种情况是因为我只获取该值一次(请参阅take(1)
),因此永远不会获取更新的值?
提前感谢您的帮助
我为我们的 Firebase 存储设置了规则,只允许经过身份验证的用户与之交互。
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /something/{allPaths=**} {
allow read, write: if request.auth.uid != null;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我在 Firebase 控制台中浏览存储中保存的资产的详细信息时,我确实为每个资产找到了一个公开打开这些资产的链接(当我打开文件的详细信息时),例如:
https://firebasestorage.googleapis.com/v0/b/${my-project}.appspot.com/o/${my-file}?alt=media&token=49385ae5-4df6-44ef-a313-8d1f07b59111
Run Code Online (Sandbox Code Playgroud)
我的猜测是这个链接是 ,downloadURL
并且公共访问是通过token
.
因此我明白存储内容实际上并不是完全私有的,因为即使我设置了严格的规则,即使我个人和我的应用程序没有生成下载 URL,Firebase 仍然会为每个文件自动生成这样的 url,因此,即使令牌是很难找到,无论如何都可以在网上公开访问这些内容。
我的理解正确吗?
或者我在 Firebase 控制台中找到的链接不是下载 url,而是一个临时链接,分别是控制台提供的令牌作为有效期?
或者是否可以将 Firebase 存储桶设置为不生成任何下载链接?
google-cloud-storage firebase firebase-security firebase-authentication firebase-storage
有谁知道如何分别以Java 8方式实现以下片段代码,是否有任何流方法可检测forEach中的第一个元素?
List<String> myList = new ArrayList<String>();
myList.add("A");
myList.add("B");
int i = 0;
for (final String value : myList) {
if (i == 0) {
System.out.println("Hey that's the first element");
}
System.out.println(value);
i++;
}
Run Code Online (Sandbox Code Playgroud)
Java8:
myList.stream().forEach(value -> {
// TODO: How to do something special for first element?
System.out.println(value);
});
Run Code Online (Sandbox Code Playgroud)
此外,假设目标是以下(控制台输出):
A Something special
B
C
D
E
F
Run Code Online (Sandbox Code Playgroud) 我尝试将现有组件从d3-transition
v1.3.2迁移到v2.0.0,但在运行时出现以下错误:Error: transition 1 not found
我的代码如下:
const t = transition();
const section = this.svg.selectAll('.area').data([data], (d) => {
return this.y(d.value);
});
section
.enter()
.append('path')
.merge(section)
.transition(t)
.duration(this.animationDuration)
.ease(easeLinear)
.attr('class', 'area')
.attr('d', line);
Run Code Online (Sandbox Code Playgroud)
如果我删除过渡,图表将正确呈现。我知道我可能应该在某个地方插入,selectAll('....')
但我不确定在链条的哪个阶段以及选择什么。
任何帮助,将不胜感激 。
当我从firebase
v7.14.3升级到 v7.15.1 时,我收到以下构建错误/打字稿错误:
TS2339:“FirebaseNamespace”类型上不存在属性“firestore”。
我按如下方式导入和使用 Firestore:
import {firebase} from '@firebase/app';
import '@firebase/firestore';
const firestore: firebase.firestore.Firestore = firebase.firestore();
Run Code Online (Sandbox Code Playgroud)
=>firebase.firestore()
是我的问题。
我可能错过了 CHANGELOG,任何有关如何迁移的帮助表示赞赏!
任何人都知道如何在 Firestore 中保留 UTC 时间戳?
在我的Angular
应用程序中,如果我将今天的日期转换为如下所示的时间戳,并且最终UTC+2
在 Firestore 数据库中得到一个(现在是瑞士的夏令时)日期
import {firebase} from '@firebase/app';
import '@firebase/firestore';
const myTimestamp = firebase.firestore.Timestamp.fromDate(new Date());
Run Code Online (Sandbox Code Playgroud)
例如,如果我尝试从冬季时间转换日期,我最终会UTC+1
在数据库中使用Timestamp
const myTimestamp = firebase.firestore.Timestamp.fromDate(new Date(2019, 0, 1));
Run Code Online (Sandbox Code Playgroud)
如果我使用,我也会now()
得到UTC+2
日期
const now: firebase.firestore.Timestamp = firebase.firestore.Timestamp.now();
Run Code Online (Sandbox Code Playgroud)
当我保留数据时,我没有做任何特别的事情:
const now: firebase.firestore.Timestamp = firebase.firestore.Timestamp.now();
const myTimestamp = firebase.firestore.Timestamp.fromDate(new Date());
const myData = {
created_at: now,
another_value: myTimestamp
};
await this.collection.add(myData);
Run Code Online (Sandbox Code Playgroud)
知道如何UTC
为 Firestore创建有效的时间戳吗?
angular ×3
firebase ×2
javascript ×2
android ×1
angular-http ×1
angularfire ×1
angularfire2 ×1
cordova ×1
d3.js ×1
datetime ×1
for-loop ×1
foreach ×1
java ×1
java-8 ×1
typescript ×1