Merger.html 发行日记:走心的开源二维码合并程序 “实际上大有不同” - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
imhx233
V2EX    分享创造

Merger.html 发行日记:走心的开源二维码合并程序 “实际上大有不同”

  •  
  •   imhx233
    hifocus 2018-12-22 23:08:14 +08:00 4269 次点击
    这是一个创建于 2490 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Merger Render Poster

    好经常见到各种游戏厂商在发布新游戏的时候发一篇 发行日记。那么,今天冬至,我也来为我的新开源项目 hifocus/Merger 发一篇发行日记吧。

    Demo 站点:https://demo.qrcdn.com

    GitHub 地址:https://github.com/hifocus/Merger/

    最新 Stable Release:https://github.com/hifocus/Merger/releases/latest

    正式英文文档:https://github.com/hifocus/Merger/blob/master/README.md

    正式中文文档:https://github.com/hifocus/Merger/blob/master/README_CN.md


    这是什么

    Merger 是一个 HTML 响应式模板,本质上是一个能够把三个收款二维码(微信,支付宝,QQ 钱包)合并成一个的小东西,实际上大有不同。

    名字取自英语单词 “ Merge 合并”,Merger 就是合并者的意思。

    长什么样

    这样:

    Screenshots

    为什么要做这个

    之前用孟坤博客的支付二维码合并程序,发现满页的 data:image 很辣眼睛,就自己魔改了一个所谓 CDN 版本,但是终究不是自己的东西。后来就想着自己写,从二月到现在尝试了几次都失败了。直到现在掌握了 CVM 开发模式的精髓,才勉勉强强写了出来。前后写了三天,期间数不清的 Bug 数不清的错误,都一个一个修好了。虽然天下没有完美的程序,但是最少各种环境测试了很多次都没有任何问题,所以就 发布了。

    我要感谢孟坤。就算现在我的 Merger 颜值上比他的合并程序好上太多,但是依然需要借鉴一点点的代码(我都留了 Credit ),另外那个程序估计只是他随手写的。

    做了,就做着玩。就做成开源项目。就写双语文档。就做成想要的样子。

    做到了。做完了。

    有需求吗

    说实话,没啥。但是聊胜于无。

    但是,有了这个,你网站不需要再放三个收款码(而是一个),日常生活中让别人给你打钱的时候也不需要满相册找付款二维码(直接聊天内扔一条链接过去即可)。还有其他应用场景等待挖掘。有了这个,就摆脱了三个二维码,就摆脱了付款二维码截图。

    如果身边有人在线下卖东西的,给他们做一个,找打印店用最好的铜版纸最好的色彩打印出来,几块钱的成本,也不失为一个好礼物。

    有啥功能吗

    有。很多。用我构思时候的逻辑描述下吧。

    首先,传统的多合一二维码,如果在桌面端打开会显示所谓 “万能码”,任何设备都需要扫码,然后二次识别(支付宝除外)。但是我一直在想,如果是在桌面端打开的话,为什么不直接展示相应的二维码,用户一次扫码即达,体验不是好很多吗。于是做到了。如果 Merger 识别到 UserAgent 为 桌面 / 移动 端浏览器,就会显示四个按钮(嗯,除了微信支付宝 QQ 钱包还有一个 Paypal ),用户选哪个就弹出个 modal,上面显示最终的二维码(也就是你在 app 里面生成的那个),直接一扫就好(移动端需要屏幕截图然后选择扫一扫从 i 安策选择)。如果用户选择 Paypal,就会弹出个 iframe,手机的比例,就可以给钱了(移动端是打开一个新的标签页)。

    第二,如果用户直接在 QQ 支付宝 微信 里面打开 Merger,会有一个焊死车门的操作。就是说用 Javascript 代码把除了 modal (和里面的二维码以及提示语)以外的所有东西删掉,用户无法做任何额外的操作,只能够扫码(当然可以不扫 然后按返回)。支付宝就直接跳转了网速快的话甚至看不到 Merger 的界面。

    第三,如果在桌面端扫码,modal 上的标题会显示相应的 app 名称 + 扫一扫 向 xxx 付款。比如用户选择微信支付,就会提示,微信扫一扫 给惶心付款。

    第四,大量可直接配置变量。你可以在一开始的 Script 标签直接填入你的 微信 支付宝 QQ 钱包 Paypal 链接,然后你需要一条外链链接一下你的头像,以及 var 一下你的名字(网名,真名 随便你了)就行。想要的话网页上的两行字也可以直接修改。除非想要魔改,不然就是填一下空的事情。然后其他事情都已经帮你搞定了。压缩打包上传到服务器解压缩三连,然后随便找啥 cli.im 之类的生成个二维码,就能给别人扫了。考虑到有人可能没有 Paypal,到时候按钮在但是点不了就很尴尬了,所以只要把 var paypal = "xxx" 那行注释掉,Paypal 的按钮就不存在了。

    第五,修代码模式,也就是 Debug Mode。如果有大佬看得起想要魔改 Merger 的话,在变量里面开启(默认也是开的)就可以方便地看到各种主要功能是否有在工作(比如说焊死车门是否成功)。

    你还有什么想说的?

    没啥。就是一个很久的心愿突然实现了。这是我第一次尝试写 Javascript,感觉还不错。虽然很多都依赖 Google 搜索,(换了熟练的大佬可能分分钟就写好我这个东西了 我写了三天),一共写了三千五百行代码然后删掉了接近两千行,还行吧……最少这东西估计能用,能挺好用,就满足了。

    做开源呢,一个是想让更多人看到,一个是想给自己积累点经验和知识,为以后做准备吧。

    这是一个走心的项目。如果喜欢的话,给个 star 吧。js 写的很乱,很烂,如果有大佬看得过眼的 pull request 什么的是非常欢迎的。

    也请完整阅读说明文档(这个不是),看不懂英文(其实写的很烂)也有中文的(写得更烂 因为是直译),遵守开源许可证,也就没别的了。

    用到的别人的东西都已经给了 Credit,如果有遗漏麻烦 issue 告知,谢谢。

    GitHub 地址:https://github.com/hifocus/Merger/

    最新 Stable Release:https://github.com/hifocus/Merger/releases/latest

    正式英文文档:https://github.com/hifocus/Merger/blob/master/README.md

    正式中文文档:https://github.com/hifocus/Merger/blob/master/README_CN.md


    博客: https://tech.hxco.de - 发布日常文章以及各种奇奇怪怪的教程

    频道: https://t.me/huangxinn - 发布虚拟世界里的日常

    没话说了。冬至快乐。

    18 条回复    2018-12-25 14:48:15 +08:00
    hugee
        1
    hugee  
       2018-12-22 23:29:12 +08:00 via Android
    好长....看不完...
    nosky
        2
    nosky  
       2018-12-22 23:40:41 +08:00 via Android
    收钱吧?
    imhx233
        3
    imhx233  
    OP
       2018-12-22 23:57:27 +08:00
    @nosky 那是针对商户的一站式集成服务器 这个是免费开源针对个人的
    Senventise
        4
    Senventise  
       2018-12-23 03:18:16 +08:00 via Android
    以前写过一个,但是微信会拦截没有备案的域名,自己又不想去备案,就弃坑了
    imhx233
        5
    imhx233  
    OP
       2018-12-23 10:06:21 +08:00
    suley
        6
    suley  
       2018-12-23 12:39:52 +08:00
    我觉得你写文章比写代码强。
    imhx233
        7
    imhx233  
    OP
       2018-12-23 13:50:40 +08:00
    @suley 太真实了(
    写代码我确实弱的不行
    rcteya76084
        8
    rcteya76084  
       2018-12-23 15:11:53 +08:00
    试试美团的商户二维码。。。
    imhx233
        9
    imhx233  
    OP
       2018-12-23 15:48:22 +08:00
    @rcteya76084 您也说是商户了啊……个人呢

    另外怎么就这么多人觉得 [已经有类似的东西 你还写这个干嘛]
    hester
        10
    hester  
       2018-12-24 13:40:41 +08:00 via Android
    请问付款完毕后会回到这个页面吗?
    如果能的话,是否可以得到付款金额等?
    hester
        11
    hester  
       2018-12-24 13:42:07 +08:00 via Android
    @hester #16
    我是不是理解错了,这只是个二维码服务?
    shaojz2005
        12
    shaojz2005  
       2018-12-25 09:17:25 +08:00
    这只是个界面把二维码聚合在一起吧
    rocy
        13
    rocy  
       2018-12-25 11:50:33 +08:00
    demo 的背景渐变 抄的 cowtransfer 的吧。。一模一样
    imhx233
        14
    imhx233  
    OP
       2018-12-25 14:42:18 +08:00   1
    @hester 不是,这只是个人的服务,没接入商家 API,是得不到的
    imhx233
        15
    imhx233  
    OP
       2018-12-25 14:42:34 +08:00
    @shaojz2005 您要是强行这么说,也没问题
    imhx233
        16
    imhx233  
    OP
       2018-12-25 14:44:10 +08:00
    @rocy 您理解错了,请您参阅 https://github.com/hifocus/Merger#credit,我是给出了 Credit 的

    您说的那个 cowtransfer 我看了下,确实一模一样,那只能说明他们的是抄的并且没有给 credit
    imhx233
        17
    imhx233  
    OP
       2018-12-25 14:46:28 +08:00
    @rocy 请在 https://background.cowtransfer.com/version/1545706338085/css/app.css 里面搜索 Gradient,可以看到我 Credit 里面的 https://codepen.io/P1N2O/pen/pyBNzX 一毛一样的代码,所以您应该向他们提出质疑而不是还没有看过 README 就质疑我
    imhx233
        18
    imhx233  
    OP
       2018-12-25 14:48:15 +08:00
    我发现在座的很多位连上面几百个字的说明都没看完,更别说 GitHub 中英双语的 README 了,然后先跑来质疑我或者说 这就是个 xxx 吧

    ???
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5446 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 08:10 PVG 16:10 LAX 01:10 JFK 04:10
    Do have faith in what you're doing.
    ubao msn 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