V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
bianhua

doge “你要么?” 小助手:送礼物给 TA 之前先做个“匿名”调查吧

  •  
  •   bianhua ·
    nickrio · May 12, 2017 · 3730 views
    This topic created in 3272 days ago, the information mentioned may be changed or developed.

    故事的起源: 有一天刷 V2 的时候发现 @beyoung 同学注册了一个“你要嘛”拼音域名。于是随手搜了下“你要么”,发现竟然没注册,于是秒注了下来(眼斜

    之后那个域名就在那放了很久,直到有一天楼主的银行给楼主发来一条信用卡账单。

    楼主一看账单,心里一揪:这钱不能浪费啊。另外楼主作为后端其实也很想直到前端们现在都在玩啥,于是心想不如做个网站玩好了。

    可是楼主是个 No life 的人,不知道域名怎么做最好玩,于是就写个<del>垃圾邮件发送服务</del>问卷调查服务好了,这样如果有人想和自己的 TA 互相打趣的话,可以拿去玩。

    地址 ->>>>>> https://www.niyaome.com <<<<<<-

    其实用到的技术挺简单:

    • 前端库是 Vue (首页上用了 jQuery,只是为了叫 slideUp (捂脸
    • 还有 scriptjs (这个似乎完全没有作用嘛,就是添加一个 script DOM )以及 xhr 这两个库
    • 然后拿 Webpack 打了下包
    • 没了……(楼主也就会这点前端,惭愧

    后端:

    虽然楼主是写着玩的,但是楼主可是很认真的在玩。这个系统的功能都是正常的,求别用来发垃圾邮件。

    另外:Google App Engine 每天限发 10 份邮件,所以每天我只能发 10 份问卷邮件,多出来的程序会保存下来留到第二天发送,依次类推。如果这服务真的很多人用的话,我会想办法迁移到其他云发送平台上。

    好了,祝你们玩的开心(估计要被玩坏了

    24 replies    2017-05-17 11:24:02 +08:00
    neighbads
        1
    neighbads  
       May 12, 2017
    点了一下立即开始 这呼啦啦的 吓我一跳!
    bianhua
        2
    bianhua  
    OP
       May 12, 2017
    @neighbads 哈哈,要得就是这样的视觉效果嘛(不然楼主肯定就不会引用 jQuery 那么大的库了
    kslr
        3
    kslr  
       May 12, 2017
    Google App Engine 用着 happy 吗?
    EchoUtopia
        4
    EchoUtopia  
       May 12, 2017 via iPhone
    登不上
    bianhua
        5
    bianhua  
    OP
       May 12, 2017   ❤️ 1
    @kslr

    Happy 啊,个人感觉写个 Web 或者 API 什么的完全够了。

    但是如果想要长期依赖 GAE 的话,得考虑:
    1、数据风险,因为如果数据太多的话(超过 5W 条)想要导出会比较麻烦;
    2、Datastore 是一种 Google 服务,如果程序依赖 Datastore 来完成操作的话,未来迁移会比较困难。( Datastore 确实挺好用,比如事务支持,冗余之类的);
    3、不支持 Websocket 之类有趣的新东西;
    4、不能 Socket,很多东西都会被 Google 限制;
    5、就 Golang 来说,目前程序只能运行在一个 Thread 下。

    目前我就能想起这么多。
    kmahyyg
        6
    kmahyyg  
       May 12, 2017 via Android
    如何自己 deploy 到 vps?不会用 go......
    bianhua
        7
    bianhua  
    OP
       May 12, 2017
    @EchoUtopia 有啥提示不?
    @kmahyyg 没办法……为啥要部署在自己的 VPS 上?
    zjp
        8
    zjp  
       May 12, 2017 via Android
    很有创意哎,我想拿自己的联系方式玩一下🤣
    beyoung
        9
    beyoung  
       May 12, 2017   ❤️ 1
    @bianhua 用 smooth-scroll 呀
    bianhua
        10
    bianhua  
    OP
       May 12, 2017
    @zjp 随便玩,按照现在的设计应该是怎么玩都没事的(只要不 Spam 就行) :D
    bianhua
        11
    bianhua  
    OP
       May 12, 2017
    @beyoung 那就没有爆发力了 LOL
    beyoung
        12
    beyoung  
       May 12, 2017
    @bianhua 要优雅 要啥爆发力
    bianhua
        13
    bianhua  
    OP
       May 12, 2017
    @EchoUtopia
    不确定你想说的问题具体是哪一个,但是我确实发现了一段代码会导致未预期的登录失败:程序在处理 OAuth State 的时候没有正确的 Unescape 数据,现在这个问题已经改好了。

    @beyoung
    本来想做成 Marvel 那种滚动方式的,可惜首页篇幅太小,达不到效果。

    其实那个界面主要的作用是提供一个过度,让用户在首页(介绍页面)上能直接载入程序,而不需要进行跳转(真正的 SPA LOL )。
    ichubei
        14
    ichubei  
       May 12, 2017
    UI 做的不错,登陆只有 github 和 google,你是 想筛选掉程序员之外的人吗?
    bianhua
        15
    bianhua  
    OP
       May 12, 2017
    @ichubei

    谢谢夸奖。

    用那两个 OAuth 筛人的想法是有的,但最主要的原因是因为集成简单。我曾经想过申请 QQ 和微信的登录 API,后来发现它们的注册太麻烦了,需要提交各种身份证明之类。而 Google 和 GitHub 上添加两个应用程序加起来只需要 5 分钟不到。
    kmahyyg
        16
    kmahyyg  
       May 13, 2017 via Android
    400 : Failed to verify state

    Login with Github
    EchoUtopia
        17
    EchoUtopia  
       May 13, 2017 via iPhone
    @bianhua 就是 16 楼的那个问题
    bianhua
        18
    bianhua  
    OP
       May 13, 2017
    @kmahyyg
    @EchoUtopia

    实在抱歉,今天早上就看到了这个帖子,然而在修复的过程中停电(还听停了两次,第二次是正在准备部署的时候(笑哭

    这个问题由于你们在访问的时候使用了 niyaome.com 裸域,而 OAuth 在验证之前会先在客户端安置一个 Cookie,用来签那个 State 值,然而这个 Cookie 被设定在了 www.niyaome.com 这个域名下。

    所以当 GitHub 那边 OAuth 登录完成之后跳回来,程序会读不到(或者读到错的) Cookie,导致 State 效验失败。

    现在我让程序将 Cookie 都设定在.niyaome.com 这个域下,这个问题算是解决了。
    yiqiok
        19
    yiqiok  
       May 13, 2017
    copyright 不错
    bianhua
        20
    bianhua  
    OP
       May 13, 2017
    @yiqiok 噗,说的是“保留所有权利”么?那个是一开始设计首页的时候敲的,我这就去改。
    starz
        21
    starz  
       May 16, 2017
    粉粉的页面挺可爱~
    starz
        22
    starz  
       May 16, 2017
    不过称呼干嘛非要三个字以上~
    称呼别人:西西,越越,萌萌什么的两个字或者一个字也很多呀~
    bianhua
        23
    bianhua  
    OP
       May 16, 2017   ❤️ 1
    @starz 感谢夸奖。

    3 个字因为我测试的时候发现,大部分人习惯的昵称是两个字,敲 3 个字的时候会停下来思考一下,所以决定用 3 个字。意图是这样可以让用户填写那个表格的时候看好提示再写,提高填写的质量(当然,可能并没有什么卵用)。

    如果实在想不起来的话,可以加“小”,“大”之类的,比如“小西西”,感觉更可爱一点 :D
    yao978318542
        24
    yao978318542  
       May 17, 2017
    我有一个大胆的想法!我说的是真的!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1844 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 16:22 · PVG 00:22 · LAX 09:22 · JFK 12:22
    ♥ Do have faith in what you're doing.