爱意满满的作品展示区。
iPocket

[送码] 维护了快一年的会员订阅管理工具 — 口袋订阅,最近大幅优化了一版本

  •  
  •   iPocket · 23h 36m ago · 2311 views
    一个苹果 iOS 原生制作的会员订阅管理工具 —— 口袋订阅,维护了快一年了,总体很稳定了,非常感谢国内外的朋友反馈,特别是一个老外叫 Jimmy ,好像非常喜欢我这款产品,他发现 bug 总是发邮件给我,邮件里有和他对话的几十封邮件了,真的非常感谢,也很开心。
    产品主打简约,可以快速添加会员订阅,快速查找会员订阅,其他功能,订阅 APP 里该有的应该都有。然后可以通过长按别的 APP 分享到 口袋订阅 快速添加,也可以通过搜索 APP/网站 名称来快速添加,其他功能我倒觉得没那么重要,主要看个大概的费用。
    APP 不搜集你的任何数据,这里其实有个缺点,就是你想改善你的产品的时候,没有数据,就会发现无从下手,你根本不知道用户在哪个页面体验不好😂,全靠用户从其他渠道反馈,邮件、小红书等。如有苹果开发者也可以一起交流下这方面的经验。
    App Store 地址: https://apps.apple.com/cn/app/%E5%8F%A3%E8%A2%8B%E8%AE%A2%E9%98%85-%E8%AE%A2%E9%98%85%E7%AE%A1%E7%90%86%E4%B8%8E%E8%B4%A6%E5%8D%95%E6%8F%90%E9%86%92/id6752631319


    留言抽 20 个永久会员,明天收市后按上证指数抽出,因为我发现我送的很多兑换码感觉被机器人秒了
    抽奖程序由 GPT 提供,代码如下
    ```javascript
    (async function lottery() {
    const drawTime = "2026-05-27 18:00:00"; // 开奖时间
    const postUrl = "https://example.com/post/123"; // 帖子链接
    const shIndex = "3123.45"; // 上证指数,建议用字符串,避免小数精度问题
    const replyTotal = 1000; // 回复总数
    const winnerCount = 20; // 抽奖个数

    if (!drawTime || !postUrl || !shIndex) {
    console.error("开奖时间、帖子链接、上证指数不能为空");
    return;
    }

    if (!Number.isSafeInteger(replyTotal) || replyTotal <= 0) {
    console.error("回复总数必须是大于 0 的安全整数");
    return;
    }

    if (!Number.isSafeInteger(winnerCount) || winnerCount <= 0) {
    console.error("抽奖个数必须是大于 0 的安全整数");
    return;
    }

    if (winnerCount > replyTotal) {
    console.error("抽奖个数不能大于回复总数");
    return;
    }

    async function sha256Hex(text) {
    const data = new TextEncoder().encode(text);
    const hashBuffer = await crypto.subtle.digest("SHA-256", data);

    return Array.from(new Uint8Array(hashBuffer))
    .map(b => b.toString(16).padStart(2, "0"))
    .join("");
    }

    function hexToBigInt(hex) {
    return BigInt("0x" + hex);
    }

    async function randomInt(seed, counter, maxExclusive) {
    const max = BigInt(maxExclusive);
    const space = 1n << 256n;
    const limit = space - (space % max);

    while (true) {
    const hash = await sha256Hex(seed + ":" + counter.value);
    counter.value++;

    const num = hexToBigInt(hash);

    // 拒绝采样,避免简单取模产生偏差
    if (num < limit) {
    return Number(num % max);
    }
    }
    }

    async function drawWinners(seed, replyTotal, winnerCount) {
    const winners = [];
    const swapped = new Map();
    const counter = { value: 0 };

    for (let i = 0; i < winnerCount; i++) {
    const remaining = replyTotal - i;
    const r = await randomInt(seed, counter, remaining);

    const selectedIndex = i + r;

    const selectedValue = swapped.has(selectedIndex)
    ? swapped.get(selectedIndex)
    : selectedIndex + 1;

    const currentValue = swapped.has(i)
    ? swapped.get(i)
    : i + 1;

    swapped.set(selectedIndex, currentValue);
    winners.push(selectedValue);
    }

    return winners;
    }

    const rawSeed = [
    `开奖时间=${drawTime}`,
    `帖子链接=${postUrl}`,
    `上证指数=${shIndex}`,
    `回复总数=${replyTotal}`,
    `抽奖个数=${winnerCount}`
    ].join("|");

    const seedHash = await sha256Hex(rawSeed);
    const winners = await drawWinners(seedHash, replyTotal, winnerCount);
    const sortedWinners = [...winners].sort((a, b) => a - b);

    console.log("========== 抽奖结果 ==========");
    console.log("原始种子:");
    console.log(rawSeed);
    console.log("");
    console.log("种子 SHA-256:");
    console.log(seedHash);
    console.log("");
    console.log("中奖楼层:");
    console.log(winners.join(", "));
    console.log("");
    console.log("中奖楼层,升序:");
    console.log(sortedWinners.join(", "));
    console.log("============================");
    })();
    ```
    110 replies    2026-05-27 20:09:36 +08:00
    1  2  
    TaoTao
        1
    TaoTao  
       21h 7m ago via iPhone
    支持下
    vpromise
        2
    vpromise  
       20h 55m ago
    前来支持
    xspoco
        3
    xspoco  
       20h 22m ago
    支持一下
    huoma
        4
    huoma  
       19h 38m ago via iPhone
    kk
    samli12
        5
    samli12  
       19h 34m ago
    支持
    Crazy9527
        6
    Crazy9527  
       18h 47m ago via Android
    支持
    azhezzz
        7
    azhezzz  
       18h 18m ago
    支持
    outofbound
        8
    outofbound  
       18h 5m ago
    支持!
    eocp2020
        9
    eocp2020  
       15h 34m ago
    支持下
    marcoseaver
        10
    marcoseaver  
       14h 41m ago
    支持下!
    believems
        11
    believems  
       13h 57m ago via iPhone
    支持
    wesky8201
        12
    wesky8201  
       13h 40m ago via iPhone
    支持支持
    imbelike
        13
    imbelike  
       13h 27m ago
    支持一下
    AceRacer
        14
    AceRacer  
       12h 56m ago via Android
    支持一下
    ChanYancy
        15
    ChanYancy  
       12h 47m ago
    支持支持
    song135711
        16
    song135711  
       12h 40m ago
    支持下
    whiteleopard520
        17
    whiteleopard520  
       12h 33m ago via iPhone
    厉害了,支持
    gegeburu
        18
    gegeburu  
       12h 25m ago via iPhone
    支持一下
    evilHa
        19
    evilHa  
       12h 16m ago
    支持一下
    s1eep
        20
    s1eep  
       12h 10m ago
    支持一下
    Fxshiny
        21
    Fxshiny  
       12h 10m ago
    NIUDE 看不懂=-=
    Lituby
        22
    Lituby  
       12h 5m ago via Android
    支持一下
    cymcc
        23
    cymcc  
       11h 57m ago
    支持支持
    wl62613
        24
    wl62613  
       11h 57m ago
    支持一下
    bizwenbo
        25
    bizwenbo  
       11h 55m ago
    支持
    yunmeng
        26
    yunmeng  
       11h 54m ago
    分母
    Lituby
        27
    Lituby  
       11h 44m ago
    支持
    ponng
        28
    ponng  
       11h 44m ago via iPhone
    分母一下
    eod
        29
    eod  
       11h 40m ago
    支持
    easymbol
        30
    easymbol  
       11h 39m ago
    支持一下,当个分母
    Shum1n
        31
    Shum1n  
       11h 26m ago
    众在参与
    ganzhen
        32
    ganzhen  
       11h 18m ago via iPhone
    参与一下
    sktline
        33
    sktline  
       11h 10m ago
    支持一下
    passtest
        34
    passtest  
       11h 7m ago
    支持一下
    Emyorii
        35
    Emyorii  
       10h 47m ago
    支持一下
    roma
        36
    roma  
       10h 44m ago
    +1024
    54xavier
        37
    54xavier  
       10h 37m ago
    我是自己写接口加维护数据 + 快捷指令 + bark 每日推送提醒,有点儿累了,如果中了试试这个 app 吧
    fengtalk
        38
    fengtalk  
       10h 31m ago
    祝楼主大卖!
    lc4t
        39
    lc4t  
       10h 29m ago
    支持一下
    kongzz
        40
    kongzz  
       10h 25m ago
    支持一下
    Jokerboozp
        41
    Jokerboozp  
       10h 24m ago
    支持一下
    aka404
        42
    aka404  
       10h 16m ago via Android
    支持一下
    windowlife
        43
    windowlife  
       10h 4m ago
    支持一下
    htd
        44
    htd  
       10h 3m ago
    支持支持
    abcde51111
        45
    abcde51111  
       10h 2m ago
    支持
    chocolatesir
        46
    chocolatesir  
       10h 1m ago
    支持一下
    LightChan
        47
    LightChan  
       9h 53m ago
    支持
    lepig
        48
    lepig  
       9h 52m ago
    实用的的小工具
    pljhonglu
        49
    pljhonglu  
       9h 49m ago
    支持一下
    Rex180123
        50
    Rex180123  
       9h 49m ago
    支持一下~
    stone9527
        51
    stone9527  
       9h 44m ago
    支持 OP
    chiaoyuja
        52
    chiaoyuja  
       9h 42m ago
    支持一下
    VincentElis1024
        53
    VincentElis1024  
       9h 14m ago
    支持一下
    w797200
        54
    w797200  
       9h 12m ago via Android
    支持一下
    Wyearn
        55
    Wyearn  
       9h 9m ago
    支持一下
    yujianfei
        56
    yujianfei  
       8h 59m ago
    厉害,优秀
    kuicc1987
        57
    kuicc1987  
       8h 50m ago
    用了好久了,原来是老哥开发的啊~支持
    kloge
        58
    kloge  
       8h 47m ago
    支持一下
    cyang
        59
    cyang  
    PRO
       8h 46m ago
    支持一下
    luckycoding
        60
    luckycoding  
       8h 43m ago
    支持一下
    emberzhang
        61
    emberzhang  
       8h 34m ago
    支持一下下
    andykuen959595
        62
    andykuen959595  
       8h 32m ago
    支持一下
    Peikon
        63
    Peikon  
       8h 15m ago
    不出安卓版吗?
    bao626
        64
    bao626  
       7h 28m ago
    来了~
    SilentFall
        65
    SilentFall  
       7h 1m ago
    支持一下
    Lbby
        66
    Lbby  
       6h 57m ago
    支持楼主
    qhy2ch
        67
    qhy2ch  
       6h 54m ago
    支持
    raslan
        68
    raslan  
       6h 39m ago
    支持一下
    neoshui
        69
    neoshui  
       6h 10m ago
    分子在此
    zws74100000
        70
    zws74100000  
    PRO
       5h 37m ago
    当个分母
    BigVanYu
        71
    BigVanYu  
       5h 33m ago
    支持支持!感觉很实用!
    orangeChu
        72
    orangeChu  
       5h 30m ago
    简单试用了一下,感觉还不错,基础功能就很够用了,支持一下楼主。
    yautou
        73
    yautou  
       5h 14m ago
    分母支持下
    sdushn
        74
    sdushn  
       4h 46m ago
    我也来支持一下
    hongs
        75
    hongs  
       4h 41m ago
    支持一下
    bennyAAA
        76
    bennyAAA  
       4h 32m ago
    分母来了
    GGbeng1
        77
    GGbeng1  
       4h 30m ago
    特来支持
    tychanges
        78
    tychanges  
       4h 18m ago
    支持下
    aaaak
        79
    aaaak  
       3h 56m ago
    支持一下
    huangqihong
        80
    huangqihong  
       3h 53m ago
    分子
    lzoje
        81
    lzoje  
       3h 51m ago
    分母
    i33
        82
    i33  
       3h 36m ago
    支持一下
    Latin
        83
    Latin  
       3h 34m ago
    分子来了
    SuperChenCN
        84
    SuperChenCN  
       3h 28m ago
    简单试用了一下,发现居然有拼车计算分摊费用的功能,很不错

    针对这个场景有两个可以优化的建议,供参考:

    例如我作为车主
    1. 我通过 USD 结算,但是乘客使用 CNY 付款。是否可以增加按实时汇率计算的功能?
    2. 订阅是按月付费,但是乘客可能是按季度、半年或者一年付款。是否可以增加结算周期的设置?
    sun522198558
        85
    sun522198558  
       3h 27m ago
    支持一下
    48odaerina
        86
    48odaerina  
       3h 19m ago
    支持一下
    Sooncheng
        87
    Sooncheng  
       3h 16m ago
    支持下
    langdalanghonghu
        88
    langdalanghonghu  
       3h 16m ago
    支持一下
    lwsbluesky
        89
    lwsbluesky  
       3h 16m ago
    厉害了,支持
    3922989
        90
    3922989  
       3h 15m ago
    分子在此
    enaen
        91
    enaen  
       3h 12m ago
    支持一下
    viso7682
        92
    viso7682  
       3h 6m ago
    支持一下!!
    mgcnrx11
        93
    mgcnrx11  
       2h 49m ago
    分母来了
    iPocket
        94
    iPocket  
    OP
       2h 43m ago
    非常感谢感谢大家的支持,抽了 35 个,我会一个个 DM 你们的
    ![抽奖结果]( )
    iPocket
        95
    iPocket  
    OP
       2h 39m ago
    没有 DM 功能的吗?😂 那中奖人可以留下邮箱吗?
    iPocket
        96
    iPocket  
    OP
       2h 36m ago
    @SuperChenCN 感谢建议,后续会考虑优化下的
    iPocket
        98
    iPocket  
    OP
       2h 26m ago
    @Peikon 目前只做苹果生态😂
    sun522198558
        99
    sun522198558  
       2h 26m ago
    @iPocket #97 谢谢老板,bGVhcm5pbmdfZ29AMTYzLmNvbQ==
    Wyearn
        100
    Wyearn  
       2h 16m ago
    @iPocket #95 谢谢 YWFhNTgzODc2OUBnbWFpbC5jb20=
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3172 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 310ms · UTC 12:46 · PVG 20:46 · LAX 05:46 · JFK 08:46
    ♥ Do have faith in what you're doing.