我正在尝试下载并运行PhoneGap.我试过3台机器(2个mac,1个窗口),我不禁感觉好像我做错了什么.
我使用自制程序将nodeJS(v0.10.13)和NPM(1.3.2)安装到最新版本.
要安装PhoneGap,请通过命令行执行以下操作:
sudo npm install -g phonegap
NPM继续下载大量的软件包并安装所有软件包,没有任何警告或错误.
安装后我得到以下内容,我认为是正确的:
npm http 200 https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz
/usr/local/share/npm/bin/phonegap -> /usr/local/share/npm/lib/node_modules/phonegap/bin/phonegap.js
phonegap@3.0.0-0.14.0 /usr/local/share/npm/lib/node_modules/phonegap
??? pluralize@0.0.4
??? colors@0.6.0-1
??? semver@1.1.0
??? qrcode-terminal@0.9.4
??? shelljs@0.1.4
??? optimist@0.6.0 (wordwrap@0.0.2, minimist@0.0.1)
??? node-static@0.7.0 (colors@0.6.0, mime@1.2.9)
??? phonegap-build@0.8.3 (qrcode-terminal@0.8.0, optimist@0.3.7, shelljs@0.0.9, phonegap-build-api@0.3.3)
??? prompt@0.2.11 (revalidator@0.1.5, pkginfo@0.3.0, read@1.0.5, winston@0.6.2, utile@0.2.0)
??? cordova@3.0.0 (ncallbacks@1.0.0, colors@0.6.0, open@0.0.3, shelljs@0.1.2, follow-redirects@0.0.3, elementtree@0.1.3, glob@3.2.3, plist@0.4.3, prompt@0.2.7, xcode@0.5.1, tar@0.1.17, express@3.0.0, ripple-emulator@0.9.18, plugman@0.9.10, request@2.22.0)
MikeBook-Pro:apps Mike$
Run Code Online (Sandbox Code Playgroud)
然后我重新启动终端(完全退出它,cmd + q)然后运行phonegap,迎接:
MikeBook-Pro:~ Mike$ phonegap
-bash: phonegap: command …Run Code Online (Sandbox Code Playgroud) 我正在将一个遗留应用程序移植到Laravel中.旧应用程序使用MD5在没有盐的情况下散列密码,因此我需要在Laravel中复制它.为了记录,我们正在使用salt将密码更改为bcrypt,但这不是一个简单的过程,需要用户登录才能这样做 - 同时我只需要登录使用遗留哈希.
我已按照本指南转换Auth::hash为MD5:如何在Laravel 4中使用SHA1加密而不是BCrypt?
当我make在注册帐户时以纯文本打印密码并在我的方法中生成的哈希:
public function make($value, array $options = array()) {
echo $value.'<br>'.hash('md5', $value);
exit;
return hash('md5', $value);
}
Run Code Online (Sandbox Code Playgroud)
我得到以下内容:
123456
e10adc3949ba59abbe56e057f20f883e
Run Code Online (Sandbox Code Playgroud)
太好了,这就是我需要的.但是,当它保存到数据库时,我完全得到一个不同的哈希.我的猜测是Laravel正在其他地方输入密码,但我找不到在哪里以及如何覆盖它.
我的MD5Hasher.php文件里面app/libraries:
<?php
class MD5Hasher implements Illuminate\Contracts\Hashing\Hasher {
/**
* Hash the given value.
*
* @param string $value
* @return array $options
* @return string
*/
public function make($value, array $options = array()) {
return hash('md5', $value);
}
/**
* Check the given plain value …Run Code Online (Sandbox Code Playgroud) 我有一个Ionic 2应用程序.该应用程序的前提是上课.打开一个类后,用户将被标记为在远程API中使用此类.
数据流是:
NavController.push(Page, { 'classes': classObjFromApi });.classes传递了对象.NavController.popToRoot()在根页面上显示每个类的状态('未启动','正在进行','已完成').在上面的流程中的第5点,用户被带回到根,但是它具有来自最初构建时的数据,这表示该类为"未启动",即使它现在已经"完成".
如何从堆栈中的其他页面更新根页面上的数据?我原以为popToRoot()会接受navParams所以我可以检查根页中是否存在该数据,如果存在则使用它,如果不存在则请求API.
我可以通过从ionViewDidEnter方法上的API重新请求数据来解决这个问题,但这意味着每次用户查看此页面时都会发出API/HTTP请求,即使应用程序具有数据.看起来很乱.
如果我能帮助它,我宁愿不使用内部存储,因为它在加载页面时会产生延迟,因为我必须等待数据在显示之前从存储中提取.
所以我的问题是:最好的方法是什么?如果要将数据传递给视图,如果popToRoot()不支持nav params ,我该怎么做?
我正在使用位于Angular 2顶部的Ionic 2.
我在我的应用程序中使用服务来处理所有API请求.其中一些请求带有Authorization标头.如果auth失败,我的API可以返回401,我正在通过向用户显示错误并将其导航到登录屏幕来处理它.这一切都很好,我发布了这些错误的事件,我订阅了其他地方处理逻辑(因为我不能在服务中使用导航控制器).
api.js服务代码:
@Injectable()
export class Api {
base_url: string = 'https://***.com';
url: string = this.base_url + '/api/v1';
authurl: string = this.base_url + '/oauth/token';
grant_type: string = 'password';
client_id: string = '1';
client_secret: string = '***';
access_token: string;
constructor(
public http: Http,
private storage: Storage,
public events: Events) {
// Grab access token and store it
storage.get('access_token').then((val) => {
this.access_token = val;
});
}
// Performs a GET request with auth headers
get(endpoint: string, params?: any) { …Run Code Online (Sandbox Code Playgroud) 我有3张桌子:
它们都是具有枢轴的多对多关系。
我需要查询它以获取所有具有标签数组的文章:
Article::with('tags')->whereIn('id', $tagIdArray)->get();
Run Code Online (Sandbox Code Playgroud)
上面的问题在于它返回了 ID 为 $tagIdArray 的文章。如何约束结果以便我在标签关系上使用 whereIn?
我正在使用Github的Electron,它以HTML/JS构建本机桌面应用程序.我需要处理来自剪贴板的一些blob数据,但是只有读取文本,HTML,图像(JPG和PNG)和RTF数据的方法.(http://electron.atom.io/docs/v0.37.3/api/clipboard/)
我不介意不能以任何特定的方式处理blob数据,我只需要能够将它存储在本地数据库中,然后将其重新加载到剪贴板中.我以为我可以用这个来做readText,writeText但我不确定这是可能的.复制PSD文件并使用时打印出来writeText,例如,我得到0个字节.
我认为blob数据不是上面列出的格式.所以类似:.psd,.doc,.img,.bin或任何无法以纯文本格式读取的二进制数据.
如何读取,存储这些数据并将其放回剪贴板?
我正在寻找一个在Ionic 2环境中工作的Videogular 2的工作示例,甚至是一个平坦的Angular 2环境.
我尝试了很多不同的在线示例,感觉文档已经过时或完全不准确.
例如,文档明确指出可以使用以下方式生成基本播放器:
<videogular vg-theme="config.theme">
<vg-media vg-src="config.sources"
vg-tracks="config.tracks">
</vg-media>
<vg-overlay-play></vg-overlay-play>
</videogular>
Run Code Online (Sandbox Code Playgroud)
我在Typescript中加载:
import { VgAPI } from 'videogular2/core';
import { VgCoreModule } from 'videogular2/core';
import { VgControlsModule } from 'videogular2/controls';
import { VgOverlayPlayModule } from 'videogular2/overlay-play';
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
Error: Uncaught (in promise): Error: Template parse errors:
'vg-media' is not a known element
Run Code Online (Sandbox Code Playgroud)
我使用vg-player元素代替videogular然后使用video标记取得了一些成功.这有效,但只是给了我本地玩家.任何在其中使用视频标签的尝试都会给我一个类似的错误.
所有组件也出现在app.module.ts该imports区域下的文件中.
我的完全控制器:
import { Component } from '@angular/core';
import { NavController, NavParams, ToastController, LoadingController } …Run Code Online (Sandbox Code Playgroud) 我的应用程序流程意味着在用户登录之前没有任何选项卡.第一页是全屏登录屏幕.登录后,用户将被带到tabs.ts我的标签代码中.
其中一个选项卡中有一个按钮,用于记录用户:
user.ts:
// Logout
logout() {
// Log the user out
this.user.logout();
// Take user to login screen
this.navCtrl.setRoot(LoginPage);
}
Run Code Online (Sandbox Code Playgroud)
我认为将根设置LoginPage为(不是任何标签页的一部分)会删除标签.不幸的是,并且标签仍然存在.出于显而易见的原因,这确实存在问题.
如何从此处删除标签?我觉得我需要抓住标签实例并销毁它,但这是一个猜测,我很难在文档中找到任何东西.
我正在使用 Laravel Mix 编译我的 JS 和 CSS 资产。我目前正在使用.version()来实现这一点。
问题是这会产生一个类似于以下内容的文件:
/css/app.css?id=03def6a69840076e8f29
这在本地提供服务时工作正常,但如果我使用 CDN 通过原始拉取提供此内容,则查询字符串不会强制重新拉取文件。理想情况下,我想要以下内容:
/css/03def6a69840076e8f29/app.css
或者:
/css/03def6a69840076e8f29.css
这两个是不同的文件,因此它强制拉动 CDN。
Laravel Mix 如何实现这一点?
我在一个具有订阅和一次性费用的应用程序中使用 Stripes PHP SDK。
我通过网络钩子跟踪以下事件:
// Handle the event
switch ($event->type) {
// Fired for every payment, including subscriptions and one-offs
case 'payment_intent.succeeded':
$payment = $event->data->object;
$this->handleOneOffPaymentSuccess($payment);
break;
// When a one-off payment fails
case 'charge.failed':
$payment = $event->data->object;
$this->handleOneOffPaymentFailed($payment);
break;
case 'payment_intent.payment_failed':
$payment = $event->data->object;
$this->handleOneOffPaymentFailed($payment, 'The payment was not authorized (#Virtuoso-3)');
break;
// Subscription handling
case 'invoice.payment_succeeded':
$payment = $event->data->object;
$this->handleSubscriptionPaymentSuccess($payment);
break;
// Subscription failure
case 'invoice.payment_failed':
$payment = $event->data->object;
$this->handleSubscriptionPaymentFailed($payment);
break;
// ... handle other event types …Run Code Online (Sandbox Code Playgroud) ionic2 ×4
angular ×3
php ×3
typescript ×3
javascript ×2
laravel ×2
angularjs ×1
cdn ×1
clipboard ×1
cordova ×1
css ×1
electron ×1
eloquent ×1
hash ×1
ionic2-tabs ×1
ionic3 ×1
laravel-5 ×1
laravel-5.1 ×1
laravel-mix ×1
md5 ×1
node.js ×1
npm ×1
scope ×1
videogular ×1