在Alfred中制作一个查询股票行情的workflow
Alfred的强大,谁用谁知道~,尤其是那个workflow功能,简直就是人间神器啊!
今天正好有时间,研究了一下,因为平时也炒炒天朝的股票,所以自己弄一个查询股票行情的workflow.
使用的是新浪的开放API.
1.新建一个Blank workflow
4.编辑Script filter
Keyword:就是alfred输入框的快捷键,这里使用sk
Placeholder Title:标题
Placeholder Subtext:副标题
Script:这里是使用PHP编写的一个从sina获取股票数据,然后解析的脚本, workflows.php是alfred提供的一个辅助类,用于获取数据,解析和格式化数据.这个文件默认是木有的,可以从其他的workflow(~/Library/Application Support/Alfred 2/Alfred.alfredpreferences/workflows)下边copy一个过来,包括icon和plist等文件都是存放在这个下边的.
[php]
require_once(‘workflows.php’);
$w = new Workflows();
$query = “{query}” ;
$market = ‘sz’;
if (substr($query,0,1)==6) {
$market = ‘sh’;
}
$code = $market.$query;
$url = “http://hq.sinajs.cn/list=$code“;
$result = $w->request($url);
$result_len = strlen($result);
$result = substr($result,21,$result_len-1);
$result = explode(“,”, $result);
$name = $result[0];//股票名称
$open = $result[1];//开盘价
$close = $result[2];//昨日收盘价
$now = $result[3];//现价
$high = $result[4];//今日最高价
$low = $result[5];//今日最低价
$grow = number_format(($now-$close)/$close*100,2);
$result_to_show = ‘今开:’.$open.’ 昨收:’.$close.’ 现价:’
.$now.’ 最高:’.$high.’ 最低:’.$low.’ 涨幅’.$grow.’%’;
$detail_url = ‘http://finance.sina.com.cn/realstock/company/‘
.$code.’/nc.shtml’;
$w->result($detail_url,$detail_url,
iconv(“GB2312”, “UTF-8”,$name),$result_to_show,’icon.png’);
echo $w->toxml();
[/php]
5.保存后. 调出alfred,输入 sk 000752, 就可以查询到股票信息了.
6.跳转到股票行情网页.
[php]
$w->result($detail_url…
[/php]
detail_url定义为就是跳转用的url,然后我们点击右上角的+,选择Actions-Open Urls.
也就是添加一个action,让Alfred知道点击这个url后,跳转到哪个程序,程序接受的输入是什么.
7.现在再输入sk 000752,按下回车,就自动打开了000752的行情页面.
workflow文件可以直接从https://github.com/xujingbao/Alfred-Workflow下载.