我正在Phonegap/Cordova中构建一个应用程序.App目前相当简单,但确实需要网络状态和地理位置插件才能工作.
到目前为止,我已经在Android上开发了应用程序(它只由几个基本的HTML页面和一些JS构成),它一直运行良好.
今天早上我决定确保一切顺利.绝对没有任何意外,事实并非如此.
所以...它似乎是插件的问题.XCode吐出以下内容:
CDVPlugin class CDVLocation (pluginName: Geolocation) does not exist.
2013-10-18 11:24:29.437 Eye Cab[589:907] ERROR: Plugin 'Geolocation' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
2013-10-18 11:24:29.438 Eye Cab[589:907] -[CDVCommandQueue executePending] [Line 117] FAILED pluginJSON = [
"Geolocation1841912763",
"Geolocation",
"getLocation",
[
false,
0
]
]
Run Code Online (Sandbox Code Playgroud)
我想这意味着它无法加载Geolocation插件.我为网络连接插件得到了类似的东西.
下面是我在Phonegap项目中截断的config.xml:
<feature name="http://api.phonegap.com/1.0/device" />
<feature name="Geolocation">
<param name="ios-package" value="CDVLocation" />
</feature>
<feature name="NetworkStatus">
<param name="ios-package" value="CDVConnection" />
</feature>
Run Code Online (Sandbox Code Playgroud)
我也尝试使用ID作为功能名称(例如org.apache.cordova.geolocation),但是遇到了同样的问题.实际上完全相同的错误.
一切都在Android中完美运行; 在模拟器中,在我的Mac上的Chrome和设备上.
我使用以下版本:
我正在尝试拨打iOS中的电话号码,但我只有模拟器和iPod Touch进行测试.
该代码使用了以下内容:
window.location.href = 'tel:01234567890';
Run Code Online (Sandbox Code Playgroud)
适用于Android,但在iOS中它会死于:
无法加载包含错误的网页:无法显示该网址
现在,我确实意识到这已经被问过了,但是从一段时间以来的普遍共识是"它不起作用,你需要使用插件".一段时间以来,关于这一点的问题并不多,而且有什么问题似乎表明它在以编程方式进行时是有效的(如上所述window.location.href).我已经尝试了iOS PhoneDialer和相同插件的较新版本,但两者都有错误在XCode(ARC forbids explicit message send of 'release') - 有点faffing我可以运行,但然后PhoneGap找不到插件 - 它真的感觉像我用这种方法打砖墙,我简直不敢相信,这需要一些东西.
我知道你不能出于安全原因自动拨打/自动呼叫号码,但我需要做的就是打开预先填充号码的拨号器,这对于mailto:info@example.com打开你的电子邮件客户端和发送者预设的链接肯定没有什么不同.填充?
所以,我的问题是:
在Laravel 5.4中引入了Mix来编译资产并维护资产管道.将默认值混合到名为的公共目录public.在许多情况下,包括我的,我的公共目录被称为其他东西.在我的情况下,它是public_html.
如何更改编译资产的公共目录?
我试过改变其中的路径webpack.min.js:
mix.js('resources/assets/js/app.js', 'public_html/assets/js')
.sass('resources/assets/sass/app.scss', 'public_html/assets/css');
Run Code Online (Sandbox Code Playgroud)
不幸的是,这编译为:
- public
|- _html
|-- assets
|--- css
|--- js
|- fonts
Run Code Online (Sandbox Code Playgroud)
在Laravel 5.3和Elixir中,这很简单:
elixir.config.publicPath = 'public_html/assets';
Run Code Online (Sandbox Code Playgroud)
我已经检查了Mix的配置文件,但是在这里看不到任何明显的东西.
请注意:这是Laravel Mix,npm包,所以它与index.php文件中的修改无关.
我使用InfusionSoft的API来保存在网站上填写的表单的内容.API使用OAuth,据我所知,没有办法实现终身会话.
OAuth的工作方式是,它设计为用户在会话过期时登录,就像登录网站一样.这显然不适合API,但我确信这不是一个不寻常的要求.
我有一个初始令牌,但在那之后到期,那么呢?我唯一能想到的是拥有一个每小时运行一次的cron作业来刷新访问令牌(有一个'refreshAccessToken'方法).
我正在开发一个小型网络应用程序.没有任何高级功能,只是来自数据库的基本查询.
该网站本身允许通过常规方式和Facebook Connect登录,然后它具有一些CRUD功能.
我将为它创建一个"原生"Facebook应用程序,以及一个iPhone应用程序和一个Android应用程序.
我的问题是,维护代码库的最佳方法是什么?
我之前已经创建了一个基本API,允许我添加,编辑和删除数据库记录,然后我在所有平台上使用HTTP POST到API.这使得维护代码库,修复错误,进行更新等非常容易,因为我只需要更新一个地方.各个应用程序本身只有一些皮肤,然后是一些cURL请求.虽然这对于移动应用程序(iPhone和Android)非常有用,但它确实在网站和Facebook应用程序上发出了不必要的http请求.
处理这种情况的最佳方法是什么?我应该创建2个网站(Facebook和普通网站)和API吗?这将使维护更加困难,但更加稳定和快速.只是一个API,这将使其易于维护?
代码库是CodeIgniter中的PHP,MySQL是数据库.
HTML输入(<input type="text">)的默认最大长度是524288字符.这似乎是一个非常特殊的数字,为什么选择它?
之前已经问过这个问题,我相信我的代码是正确的,但我的行为很奇怪.
我需要在登录后将用户重定向到不同的路由,具体取决于某些数据库值.我认为为了做到这一点,我只需将我的逻辑放在handle方法中app/Http/Middleware/RedirectIfAuthenticated.php.我的方法目前看起来像这样:
public function handle($request, Closure $next)
{
if ($this->auth->check()) {
if($this->auth->user()->sign_up_complete == 1){
return redirect('/');
} else {
if($this->auth->user()->step_one_complete == 0){
return redirect('/register/step-1');
} elseif($this->auth->user()->step_two_complete == 0){
return redirect('/register/step-2');
} else {
return redirect('/');
}
}
}
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,登录后用户被重定向到/home.我试图把dd($this->auth->user())里面$this->auth->check()的条件,但它永远不会被运行.如果我将它放在该检查之外,那么它就会在每次请求时运行.它看起来$this->auth->check()永远不会运行.
我的问题:如果不在这里,这个逻辑应该去哪里?
我也protected $redirectTo = '/account';从AuthController.php控制器中删除了.
我正在构建一个API,我正在使用Laravel Passport进行身份验证.
API正用于我们的移动应用程序,因此我们使用密码授予客户端.
一切都很好,用户可以登录以获取访问令牌.我们创建了一个允许用户注册的注册端点.我们现在还需要API来返回访问令牌.
浏览文档无法以编程方式创建访问令牌.
如何在控制器中为密码授予客户端创建访问令牌?我显然不想对我自己的API执行HTTP请求来获取它.
我知道我可以使用个人访问授权客户端并调用createToken用户模型,但这意味着访问令牌与不同的客户端相关联.这对我来说似乎不对.
我想用来Storage::put写一个文件.该文件可能非常大(> 100MB),所以我想利用一个流,所以我不会盲目地将所有内容放入内存中.
我将要发出多个API请求,然后循环遍历他们的结果,因此我将要回来的数据不是问题,它将限于合理的数量.
根据文档,我需要使用:
Storage::put('file.xml', $resource);
Run Code Online (Sandbox Code Playgroud)
但是这会$resource是什么?
传统上,当使用PHP编写文件时,我已经用它的组合来完成它fopen,fwrite并且fclose为了逐行编写.我正在创建的文件了通过各种集合循环和utlising各种API,因为我去,所以$resource是不是一个文件指针或文件引用作为在文档中关于其他地方交谈.
那么,我如何使用流和Laravel进行逐行编写Storage?
我有一个包含10个按钮的按钮组.在某些屏幕宽度(响应)下,我用媒体查询隐藏了一些这些按钮.
问题是如果我隐藏最后一个按钮,新的最后一个按钮的边缘不会变圆.
这是一个难以描述的问题,但很容易在小提琴中展示.
我的问题:如何将圆角添加到按钮组中的最后一个可见按钮,而不是简单地将最后一个按钮添加到当前.
根据SO的规则,下面的Fiddle代码:
<div class="btn-group" id="sortBtns" role="group">
<button type="button" class="btn btn-default">First</button>
<button type="button" class="btn btn-default">Second</button>
<button type="button" class="btn btn-default">Third</button>
<button type="button" class="btn btn-default">Fourth</button>
<button type="button" class="btn btn-default">Fifth</button>
<button type="button" class="btn btn-default">Sixth</button>
</div>
<div class="btn-group" id="sortBtns" role="group">
<button type="button" class="btn btn-default">First</button>
<button type="button" class="btn btn-default">Second</button>
<button type="button" class="btn btn-default">Third</button>
<button type="button" class="btn btn-default">Fourth</button>
<button type="button" class="btn btn-default">Fifth</button>
<button type="button" class="btn btn-default" style="display:none;">Sixth</button>
</div>
Run Code Online (Sandbox Code Playgroud)
请注意第二个按钮组中"第五个"缺少圆角.
我可以通过在最后一个可见元素中添加一个新类来使用JavaScript来实现这一点,但我宁愿不这样做.是否有更简洁的CSS解决方案?
php ×6
laravel ×4
cordova ×2
ios ×2
oauth ×2
xcode ×2
api ×1
codeigniter ×1
css ×1
facebook ×1
flysystem ×1
html ×1
html-input ×1
infusionsoft ×1
laravel-5.1 ×1
laravel-5.3 ×1
laravel-5.4 ×1
laravel-mix ×1
mysql ×1
objective-c ×1
session ×1
w3c ×1