基于 Expo + Supabase 的短视频 AI 分析助手:个人开发者的变现实践》

简介: 这是一款面向独立开发者的短视频AI解说工具,采用“积分充值+人工审核”轻量变现方案,规避个人开发者支付接入难题。基于Expo RN + Supabase + 边缘函数架构,集成通义千问视觉与语音模型,实现视频上传、内容分析与语音解说全流程。

一、项目背景

作为一名独立开发者,我一直想做一个能自动分析短视频内容并生成解说的工具。但传统方案面临两个难题:

1. 支付接入门槛高:支付宝/微信支付 SDK 需要企业资质,个人开发者无法直接接入

2. 原生能力限制:Expo RN 环境不支持原生模块,很多第三方 SDK 无法使用

经过探索,我设计了一套**"积分充值 + 手动审核"**的混合变现方案,既合规又实现了真实收益。

二、技术架构



┌─────────────┐     ┌──────────────────┐     ┌─────────────────┐

│  Expo RN    │────▶│  Supabase Cloud  │────▶│  Edge Functions │

│  (前端)     │◀────│  (数据库/存储)   │◀────│  (AI 服务)      │

└─────────────┘     └──────────────────┘     └─────────────────┘

                          ▲                        ▲

                          │                        │

                   ┌──────┴──────┐          ┌─────┴──────┐

                   │ 用户充值     │          │ ai-vision  │

                   │ (上传凭证)   │          │ ai-speech  │

                   └─────────────┘          │ consume-   │

                                            │ points     │

                                            └────────────┘

核心技术栈:

• 前端:Expo SDK 56 + React Native 0.85 + TypeScript

• 后端:Supabase (PostgreSQL + Storage + Edge Functions)

• AI 能力:阿里云通义千问视觉模型 (ai-vision) + 语音合成 (ai-speech)

• 认证:短信验证码 + 密码登录(阿里云短信服务)

三、核心功能

1. 积分系统(替代传统支付)

充值流程:

1. 用户选择积分套餐(10/50/100 积分)

2. 扫描管理员提供的收款二维码完成支付

3. 上传支付截图提交审核

4. 管理员后台确认后,积分自动到账

消费流程:

1. 用户在发现页浏览视频

2. 点击"解锁 AI 分析"按钮

3. 系统通过 Edge Function 原子扣减 10 积分

4. 调用 ai-vision 分析视频内容,ai-speech 生成语音解说

关键代码(Edge Function 原子扣减):



// functions/consume-points/index.ts

const { data: pointsData } = await supabase

 .from('user_points')

 .select('balance')

 .eq('user_id', userId)

 .single();


if (pointsData.balance < points_required) {

 throw new Error('积分不足');

}


// 原子扣减

await supabase.from('user_points')

 .update({ balance: pointsData.balance - points_required })

 .eq('user_id', userId);


// 记录购买

await supabase.from('purchased_analyses')

 .insert({ user_id, video_id });

2. RLS 安全策略

-- 用户只能查看自己的积分

CREATE POLICY users_select_own_points ON public.user_points

 FOR SELECT TO authenticated

 USING (auth.uid() = user_id);


-- 管理员可以查看所有交易

CREATE POLICY admins_select_all_transactions ON public.point_transactions

 FOR SELECT TO authenticated

 USING (auth.uid() IN ('管理员UUID'));


-- 管理员可以更新交易状态

CREATE POLICY admins_update_transactions ON public.point_transactions

 FOR UPDATE TO authenticated

 USING (auth.uid() IN ('管理员UUID'));

3. 视频上传与 AI 分析



// 1. 读取本地视频文件(Expo RN 环境)

const response = await fetch(videoUri);

const arrayBuffer = await response.arrayBuffer();


// 2. 上传到 Supabase Storage

await supabase.storage.from('videos').upload(filePath, arrayBuffer);


// 3. 调用 ai-vision 分析

const visionResult = await fetch(`${supabaseUrl}/functions/v1/ai-vision`, {

 method: 'POST',

 headers: { 'OneDay-App-Id': projectUrlId },

 body: JSON.stringify({ video_url: publicUrl }),

});


// 4. 调用 ai-speech 生成解说

const speechResult = await fetch(`${supabaseUrl}/functions/v1/ai-speech`, {

 method: 'POST',

 headers: { 'OneDay-App-Id': projectUrlId },

 body: JSON.stringify({ text: analysisText }),

});

四、界面展示

发现页(类似抖音的视频流)



创作页(视频上传与 AI 分析)



个人中心(积分余额与流水)



管理后台(充值审核)



五、经验总结

踩过的坑:

1. Expo RN 不支持 Web API:FileReader、Blob等都无法使用,必须用 fetch(uri).arrayBuffer()读取本地文件

2. 共享云服务函数隔离:如果远端已有同名 AI 函数,当前项目不得覆盖部署,必须使用新名称创建独立函数

3. RLS 策略调试:初期忘记给管理员配置 UPDATE 权限,导致审核功能无法正常工作

最佳实践:

1. 匿名优先:默认免登录可用,新建表 user_id 可空,RLS 默认 USING (true)

2. Edge Function 原子操作:积分扣减必须在服务端完成,避免客户端并发导致超扣

3. 错误降级:AI 服务不可用时,提供友好的降级提示,而不是直接崩溃

六、开源地址

项目代码已托管在平台,欢迎交流讨论!

相关文章
|
7天前
|
云安全 人工智能 运维
当攻击全面Agent化,你的安全防御能否跟上AI Speed?
多起客户侧AK泄露事件应急的真实观察
1311 6
|
5天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
|
10天前
|
存储 人工智能 安全
千问办公官网入口网页版登录:qwenwork.cn 注册送2000积分、登录送100积分
阿里云千问办公(QwenWork)是AI智能工作平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日登录赠100分,含1GB存储、5个发布页;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
1月前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
9965 33
|
5天前
|
人工智能 开发者
Qoder CN 大使计划正式开启|无限创造,等你一起
全年免费积分、优先内测、活动支持与更多共创机会,邀请用 Qoder 把想法变成现实的你。
523 6
|
16天前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
7天前
|
Web App开发 人工智能 JavaScript
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
REA(Reverse Engineer Anything)是近期爆火的开源AI逆向工具,4月发布,1个月内斩获15万+ Star。它让AI Agent无需源码即可分析二进制、APK、JS/Electron、HAR包等17类目标,自动反编译、生成可运行代码,并强制返回带证据与局限的结论。全本地执行,MIT协议,支持Hopper/Ghidra/IDA等引擎,一行命令即可上手。
747 2
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
|
15天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型深度拆解:原理解读、实战测评与保姆级落地教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为**System One Model(系统一模型)**,对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
1069 1

热门文章

最新文章