我正在使用react-native构建我的第一个Android应用程序.我想要做的是显示我当前的位置.但它似乎不适用于我的模拟器.相反,我在控制台中收到" 位置请求超时 "错误.以下是我的idex.android.js文件中的代码示例:
initGeoloc() {
navigator.geolocation.getCurrentPosition(
(position) => {
console.log(JSON.stringify(position));
}
);
}
render() {
this.initGeoloc();
... some more code and the view
Run Code Online (Sandbox Code Playgroud)
代码非常简单,所以我不认为错误来自这里.我在AndroidManifest.xml文件中添加了这些权限(ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application
android:allowBackup="true"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
<uses-library android:name="com.google.android.maps" />
<meta-data android:name="com.google.android.geo.API_KEY" android:value="mykey"/>
</application>
Run Code Online (Sandbox Code Playgroud)
我也没有看到任何错误,所以我认为问题来自Android模拟器.我使用Android虚拟设备管理器创建了Nexus 5,Google API(Google Inc.) - API Level 23虚拟设备.地理定位在设备上激活,但我没有在开发工具或配置中看到任何地理定位工具.所以可能错误来自这里.虚拟设备不会返回任何位置.
我怎样才能解决这个问题 ?
我正在尝试学习vue.js所以我做了一个小应用程序,显示来自API的新闻文章,在另一个视图中,允许用户登录到另一个服务器.
为此,我正在使用Axios.我知道我在某些时候能够很好地工作,但今天在开始我的项目时,两个api同时工作是不可能的.
这是我的登录服务:
import axiosTrainingAPI from 'axios'
axiosTrainingAPI.defaults.baseURL = 'https://api.**********.com'
const trainingAPI = {
login (credentials) {
return new Promise((resolve, reject) => {
axiosTrainingAPI.post('/services/auth.php', credentials)
.then(response => {
resolve(response.data)
}).catch(response => {
reject(response.status)
})
})
}
}
export default trainingAPI
Run Code Online (Sandbox Code Playgroud)
这是我的新闻服务:
import axiosGoogleNewsAPI from 'axios'
axiosGoogleNewsAPI.defaults.baseURL = 'https://newsapi.org'
const googleNewsAPI = {
getPosts (newsId) {
return new Promise((resolve, reject) => {
axiosGoogleNewsAPI.get(`/v2/everything?q=${newsId}&sortBy=publishedAt&apiKey=***********`)
.then(response => {
resolve(response.data)
}).catch(response => {
reject(response.status)
})
})
}
}
export default googleNewsAPI
Run Code Online (Sandbox Code Playgroud)
这两个服务都在不同的JS文件中,并且导入到不同的vue文件中,但现在似乎它们不能共存,并且总是有一个覆盖另一个的baseURL(并不总是相同),就像Axios实例在两种情况.所以有时候第一个服务使用第二个服务的baseURL,有时它是使用第一个服务的baseURL的第二个服务...
我不确切知道'import'的范围,因为它对我来说很新,但是两个实例都在不同的文件中,有不同的名字,所以我真的不明白它们是如何混淆的.除非'import'始终调用模块的相同实例,但是如何使用2 apis?为什么它昨天有用......我很困惑.
我在生产服务器上遇到身份验证问题,该问题很可能与代码无关,而是 IT 配置问题...
为了证明这一点,我想检查 API 平台在尝试获取数据时是否收到授权标头。我在 API 平台文档中没有找到任何关于日志的信息。使用 Symfony 日志系统记录 API 请求及其标头的正确方法是什么,知道我无权访问实际的控制器代码,因为它纯粹是使用实体上的 APIRessource 注释配置的?
需要明确的是,在本地一切正常,我不是在这里寻找解决我的问题的方法,只是一种使用 API 平台更改日志格式或将日志添加到传入请求的干净方法。
我已经做了差不多一年的vuejs了,但是我从来没有真正地使用过动画和过渡效果,这对我来说似乎还很不清楚,但是今天我决定尝试并最终理解它们,但是我又一次卡住了,过渡根本就行不通,而且我不明白自己在做什么错。这是我的代码:
HTML
<div id="app">
<div class="row">
<div class="container-fluid">
<transition-group name="flip-list" tag="div" class="row horizontal-scroll">
<div class="col-xs-12 col-md-2 col-lg-2 col-card"
v-for="(someCard, index) in someCards" v-bind:key="index">
<div class="some-card" @click="changeOrder(someCard)">
{{ someCard.someTitle }}
</div>
</div>
</transition-group>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
new Vue({
el: "#app",
data: {
someCards: [
{
order: 2,
someTitle: 'Title 1'
},
{
order: 2,
someTitle: 'Title 2'
},
{
order: 2,
someTitle: 'Title 3'
},
{
order: 3,
someTitle: 'Title 4'
},
{
order: 3,
someTitle: 'Title 5'
},
{ …
Run Code Online (Sandbox Code Playgroud) vue.js ×2
android ×1
axios ×1
ecmascript-6 ×1
geolocation ×1
javascript ×1
logging ×1
react-native ×1
symfony ×1
symfony4 ×1
vuejs2 ×1