上架了一个小程序来管理订阅,打磨了很多细节 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Xheldon

上架了一个小程序来管理订阅,打磨了很多细节

  •  
  •   Xheldon 23 天前 1595 次点击

    一开始个人自用的,UI 很粗糙,但胜在满足自己需求。最近收到这个帖子的启发: t/1199819 所以决定打磨好 UI 发布出来了。

    开发自己的订阅工具一开始是为了解决目前市面上以有订阅软件不支持前 X 个月优惠的设置,比如我订阅了 Google One (为了用 Gemini ),前三个月是 950 日元(约 6.7 刀(,然后从第四个月开始才 2900 日元(合 20 刀)这种的。

    以及一些订阅软件的交互很差,或者需要输入的内容太多。我自己做的这款,打磨了一些细节,比如:

    1. 内置了将近 200 个服务的 icon 和对应的月订阅费用价格和分类,进入直接带上不用手动输入了(当然支持调整)。
    2. 设置好周期(每周/每月/每季/半年/年扣费),此时你点 结束日期 会自动按照开始时间偏移对应的时间,不用调整太多。比如你设置了每月扣费周期,然后开始时间是 2026-01-01 ,此时你点一下结束日期(假设你只订阅 1 个月),那么结束日期初始化显示为 2026-02-01 。而如果你在编辑订阅,点一下结束日期,会自动初始化为今天的日期---因为我理解你想编辑一个订阅的结束日期,就表示你想在今天结束订阅(最好别删订阅,删了的话就无法出现在统计数据中了)。
    3. 可以单独显示已过期,也可以一起显示。
    4. 可以按照添加顺序排列订阅,也可以按照即将到期的日期排列,方便查看哪个订阅即将到期。
    5. 统计信息、平替推荐等锦上添花的东西,35 种货币可用。
    6. 每日汇率更新(汇率信息显示在设置界面的下方)。
    7. 支持 3000 多个品牌 icon 的搜索。

    技术细节可以随便问,交流一下,我也是看了上面的帖子才知道有 simpleicons 这种东西可用的,不过有些国产的订阅服务的 icon ,我是手动(大概有 60 多个!!!)从 app store/google play 商店下载然后处理的。

    所以你会发现有些图片是模糊的,因为是 png ,有些图片是清晰的,因为是 simpleicons 的 svg 。。。

    另外图片处理的工作流(从 app store 下载下来是 200 x 200 的 webp ,需要先转成 png 再压缩,再转成 48 x 48 的格式大小),推荐我的另一个应用哈哈哈哈哈哈:xPic (目前付费没做好,手动发码~~~) https://xpic.xheldon.com

    美中不足的:通知功能。 目前看了小程序的通知能力,感觉没什么好办法,每次请求用户发送消息权限也很打扰用户,不知道有啥好方法不。

    另外省流: 年费 10 元,买断 49.9 。因为有一定的服务器成本(数据云同步),所以只要有 20 个人付费就可以保证服务一直运行下去,免费用户会在 Launch 30 次后增加开屏广告(需要用户数,目前还没达到哈哈哈哈)(我保证如果运营不下去会增加订阅导出接口和退款,就算是我的一个失败的尝试 ^_^)。

    下面是截图:

    第 1 条附言    23 天前
    没有安卓机器,刚用户反馈安卓的添加项是单列的!马上修!!!

    保存并继续添加也有 bug ,马上修!!!
    第 2 条附言    18 天前
    更新:

    1. 添加了用户反馈历史界面,可以直接在小程序跟开发者沟通
    2. 添加了优惠期/试用期显示能力,现在在订阅列表可以直接查看哪些订阅处于优惠期,以及优惠价格;哪些处于试用期,以及真实扣费倒数日是哪天。
    3. 添加导出功能,可以将你的订阅信息发送到邮箱。

    正在做的:

    1. 提醒功能。微信内系统看来无法满足需求,准备接入邮箱提醒系统了。
    第 3 条附言    16 天前
    另外自己有一个非常常见的需求是,很多时候我们付费是趁着打折优惠的时候续费的,比如腾讯云服务器或者阿里网盘之类的。此时其实并没有满一年,续费后平台会自动将原来的时长延长一年,这就很难展示。

    我是准备考虑这个场景做个兼容,有需要的朋友可以关注一下。
    12 条回复    2026-04-07 14:45:43 +08:00
    Gilfoyle26
        1
    Gilfoyle26  
       23 天前
    有一个问题,你自己用吗?深度使用的那种。
    hzm158
        2
    hzm158  
       23 天前
    看过有很多竞品 app ,很多都是买断制或订阅制,数据要么存本地,要么存在手机商的云空间,但都存在一个问题,手机间数据不互通,像我这种多手机用户,苹果、安卓、华为鸿蒙都有,这个小程序真是能无缝在所有设备上切换,很不错!
    Xheldon
        3
    Xheldon  
    OP
       23 天前
    @Gilfoyle26 当然,截图就是我自己的服务。为啥这么问?是有啥反人类的体验吗,说出来,建议采纳的话我送你 Pro 试试

    不过目前没接广告(用户量不够),Pro 和免费用户之间除了广告没有任何区别,纯支持~~~
    aero99
        4
    aero99  
       23 天前
    如果将来不用了,那个数据能够导出吗?
    为了方便我可能还要备注一些账号或者管理信息,小程序这种不是很信任,毕竟有些国外的订阅服务是很敏感的。
    Xheldon
        5
    Xheldon  
    OP
       23 天前
    @aero99 导出确实是个麻烦事,因为小程序不能直接保存文件到本地,我准备加个发送数据到邮箱的功能。

    另外你说的账号和管理信息这些,订阅管理这个场景应该不太合适,账号应该放到 1Password 里面才对...
    boneyao
        6
    boneyao  
       23 天前
    小程序原生还是 uni
    Xheldon
        7
    Xheldon  
    OP
       23 天前   1
    @boneyao 小程序远程,感觉很好用啊,跟写 Vue 差不多
    nativeBoy
        8
    nativeBoy  
       21 天前
    上一个免费的小程序是有数鸟,后来就了
    Xheldon
        9
    Xheldon  
    OP
       21 天前
    @nativeBoy 是的,所以这个小程序不免费,正文说了,年费一年 10 块,只要 20 个人付费就够基础服务器成本了,期待使用反馈~ 目前我已经给反馈人员都送了 1 年的 Pro
    目前因为不够 500 人使用所以无法开通广告功能,所以现在功能上付费跟未付费是完全一样的。但是付费可以让我持续运营这个小程序,后面会增加一些诸如导出订单、反馈历史查询、到期前微信提醒(可能走企业微信接口)的能力~
    Xheldon
        10
    Xheldon  
    OP
       18 天前
    @aero99 添加了导出能力,输入邮箱可以将你的订阅信息导出,在设置界面。如果没看到的话杀掉微信重新进就可以了哈。

    @Gilfoyle26 哈哈是的,我稍后会发在少数派说一下开发的过程和历程,和一些交互细节,感兴趣的可以去看看,刚投稿还没给我过。

    另外根据用户反馈更新了一些功能,更好用了哈
    aero99
        11
    aero99  
       17 天前
    @Xheldon 导出的是 xlsx excel 格式还是其他的
    Xheldon
        12
    Xheldon  
    OP
       17 天前
    @aero99 JSON 格式的,发到邮箱,已经上了,可以试试
        帮助文档     自助推广系统     博客     API     FAQ     Solana     871 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 39ms UTC 20:48 PVG 04:48 LAX 13:48 JFK 16:48
    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