小编Mik*_*ike的帖子

PhoneGap - 无法通过npm安装,phonegap不存在

我正在尝试下载并运行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)

node.js npm cordova

6
推荐指数
1
解决办法
5195
查看次数

如何在Laravel中使用MD5哈希密码?

我正在将一个遗留应用程序移植到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)

php hash md5 laravel-5 laravel-5.1

6
推荐指数
1
解决办法
1万
查看次数

如何在Ionic 2中将数据传回我的根页?

我有一个Ionic 2应用程序.该应用程序的前提是上课.打开一个类后,用户将被标记为在远程API中使用此类.

数据流是:

  1. 用户打开"类"选项卡.
  2. 应用程序从API请求"类"数据.每个班级都为该用户保留"状态".
  3. 用户选择一个班级.这将在应用程序中打开一个新视图NavController.push(Page, { 'classes': classObjFromApi });.
  4. 堆栈中添加了几个页面,每个页面都classes传递了对象.
  5. 在最后一页上,API被告知已经获取当前类,并且用户可以使用导航回root NavController.popToRoot()

在根页面上显示每个类的状态('未启动','正在进行','已完成').在上面的流程中的第5点,用户被带回到根,但是它具有来自最初构建时的数据,这表示该类为"未启动",即使它现在已经"完成".

如何从堆栈中的其他页面更新根页面上的数据?我原以为popToRoot()会接受navParams所以我可以检查根页中是否存在该数据,如果存在则使用它,如果不存在则请求API.

我可以通过从ionViewDidEnter方法上的API重新请求数据来解决这个问题,但这意味着每次用户查看此页面时都会发出API/HTTP请求,即使应用程序具有数据.看起来很乱.

如果我能帮助它,我宁愿不使用内部存储,因为它在加载页面时会产生延迟,因为我必须等待数据在显示之前从存储中提取.

所以我的问题是:最好的方法是什么?如果要将数据传递给视图,如果popToRoot()不支持nav params ,我该怎么做?

typescript ionic-framework ionic2 ionic3 angular

6
推荐指数
1
解决办法
988
查看次数

如何在遇到故障后允许我的HTTP请求继续通过我的应用程序传播?

我正在使用位于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)

scope typescript ionic-framework ionic2 angular

6
推荐指数
1
解决办法
76
查看次数

WhereIn 和关系

我有3张桌子:

  • 文章
  • 标签
  • article_tag

它们都是具有枢轴的多对多关系。

我需要查询它以获取所有具有标签数组的文章:

Article::with('tags')->whereIn('id', $tagIdArray)->get();
Run Code Online (Sandbox Code Playgroud)

上面的问题在于它返回了 ID 为 $tagIdArray 的文章。如何约束结果以便我在标签关系上使用 whereIn?

php laravel eloquent

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

如何处理Electron中的blob数据?

我正在使用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或任何无法以纯文本格式读取的二进制数据.

如何读取,存储这些数据并将其放回剪贴板?

javascript clipboard electron

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

如何在Ionic 2/Angular 2项目中实现Videogular?

我正在寻找一个在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.tsimports区域下的文件中.

我的完全控制器:

import { Component } from '@angular/core';
import { NavController, NavParams, ToastController, LoadingController } …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs videogular ionic-framework ionic2

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

如何在不保留选项卡的选项卡之外设置根页?

我的应用程序流程意味着在用户登录之前没有任何选项卡.第一页是全屏登录屏幕.登录后,用户将被带到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为(不是任何标签页的一部分)会删除标签.不幸的是,并且标签仍然存在.出于显而易见的原因,这确实存在问题.

如何从此处删除标签?我觉得我需要抓住标签实例并销毁它,但这是一个猜测,我很难在文档中找到任何东西.

typescript ionic-framework ionic2 ionic2-tabs angular

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

如何使用 Laravel Mix 将版本号添加到路径中?

我正在使用 Laravel Mix 编译我的 JS 和 CSS 资产。我目前正在使用.version()来实现这一点。

问题是这会产生一个类似于以下内容的文件:

/css/app.css?id=03def6a69840076e8f29

这在本地提供服务时工作正常,但如果我使用 CDN 通过原始拉取提供此内容,则查询字符串不会强制重新拉取文件。理想情况下,我想要以下内容:

/css/03def6a69840076e8f29/app.css

或者:

/css/03def6a69840076e8f29.css

这两个是不同的文件,因此它强制拉动 CDN。

Laravel Mix 如何实现这一点?

css cdn laravel laravel-mix

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

当我也有一次性费用时,如何处理订阅的 Stripe Webhook 付款意图?

我在一个具有订阅和一次性费用的应用程序中使用 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)

php stripe-payments

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