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

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

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

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

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