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

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

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

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

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