挖坑自填,给 BtcCal 增加自定义市场列表功能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zyAndroid
V2EX    分享创造

挖坑自填,给 BtcCal 增加自定义市场列表功能

  •  1
     
  •   zyAndroid 2014-06-29 10:05:59 +08:00 3416 次点击
    这是一个创建于 4123 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前两天做的一个用 iOS 手机日历监控比特币价格的小应用。

    昨天花了一晚上,做了自定义市场列表的功能,用 Bootstrap 和 FlatUI 做了个看得过去的前端。

    应用链接: http://btccal.sinaapp.com

    之前的帖子: http://www.v2ex.com/t/119443#reply17

    挖过很多坑,这是我第一个填得还算不错的,:)

    最后来张 iOS 7 上的截图:

    第 1 条附言    2014-06-30 09:53:41 +08:00
    有一个问题,由于设定的是中国时区,所以国际友人访问的时候依然输出北京时间,所以导致北京时间到第二天的时候,国外的访问会返回新一天的数据,但有些地方还没到新一天。

    貌似只能通过 GeoIP 去猜用户时区了,晚上解决掉这个问题
    5 条回复    2014-07-01 00:09:18 +08:00
    orzfly
        1
    orzfly  
       2014-06-30 10:40:40 +08:00
    应该让用户自己选时区吧 =。= 不然你怎么根据苹果的服务器 IP 猜用户所在地的时区……
    Automan
        2
    Automan  
       2014-06-30 10:50:54 +08:00
    用iPhone的时区设置不是更好?
    zyAndroid
        3
    zyAndroid  
    OP
       2014-06-30 20:52:31 +08:00 via iPhone
    @orzfly 嗯,是这样的,最好是让用户手动选择,感谢提醒。

    我刚刚做了个简单的修复:前端用 JS 自动读客户端的时区,然后把时区数据作为订阅地址的一部分。

    一会儿把自定义时区做出来。

    用 GeoIP 猜确实不靠谱。还有一点,sae 现在只对 PHP 类应用有类似 GeoIP 的服务,叫 SaeLocation,还是第三方提供的。Django 通常的 GeoIP 方案没法儿用,因为要 import ctypes 模块,这个模块在 sae 是被禁止使用的。不知道 heroku 是什么情况
    zyAndroid
        4
    zyAndroid  
    OP
       2014-06-30 20:56:20 +08:00 via iPhone
    @Automan 服务器从客户端发的请求里是拿不到时区信息的,只能用 ip 猜或者让用户输入。

    不确定 ical 文件格式支不支持直接输出 utc 时间,客户端拿到数据之后根据自己的时区自行转换。
    zyAndroid
        5
    zyAndroid  
    OP
       2014-07-01 00:09:18 +08:00
    @orzfly 已经增加了自定义时区功能
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2698 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:03 PVG 17:03 LAX 02:03 JFK 05:03
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86