一、市場前景與項目定位

1. 大學(xué)生副業(yè)為何選 AI 小程序?

2. 目標用戶與商業(yè)模式

二、技術(shù)選型與工具概覽

在線開發(fā)環(huán)境 Replit
AI 引擎 OpenAI API
前端框架 微信小程序原生 / WePY, 支付寶小程序原生
后端語言 Node.js / Python
Web 框架 Express (Express.js) / FastAPI (FastAPI)
數(shù)據(jù)存儲 MongoDB Atlas / Firebase
支付對接 微信支付 / 支付寶開放平臺
部署平臺 Replit 內(nèi)置部署 / Vercel / Railway
日志與監(jiān)控 Sentry / Logflare

提示:初期可省略專用數(shù)據(jù)庫,使用 Replit 提供的文件存儲;隨著用戶量增長,再遷移至云端數(shù)據(jù)庫。


三、項目架構(gòu)與功能規(guī)劃

以「智能對話問答+文本生成」為核心,搭建一款面向 校園課業(yè)答疑興趣愛好問答 的小程序。主要功能:

  1. 用戶注冊/登錄
  2. AI 問答:即時對話、多輪上下文管理
  3. 長文本生成:寫作助手、學(xué)習筆記生成
  4. 支付入口:按次付費或會員訂閱
  5. 后臺管理:問題日志、用戶統(tǒng)計、收益統(tǒng)計

架構(gòu)圖示意


四、開發(fā)實戰(zhàn):2 小時快速上線

以下示例以 Node.js + Express + OpenAI 為后端,微信小程序為前端,演示核心流程。支付寶小程序同理,API 名稱有所差異,文末附對接要點。

1. 在 Replit 上創(chuàng)建項目

  1. 注冊并登錄 Replit

  2. 點擊 “Create” → 選擇 “Node.js” 模板;

  3. 在項目根目錄新建 .env,添加:

    OPENAI_API_KEY=你的_openai_api_key
    WECHAT_APPID=你的小程序 AppID
    WECHAT_MCHID=你的商戶號
    WECHAT_APIKEY=你的支付密鑰
  4. 安裝依賴:

    npm install express openai weixin-pay body-parser cors

2. 編寫后端代碼

app.listen(port, () = > console.log(后端服務(wù)已啟動,端口 ${port}));

const app = express();
app.use(cors(), bodyParser.json());

/** OpenAI 配置 */
const openai = new [OpenAIApi](http://www.dlbhg.com/api/ai_openai_brand)(new Configuration({
apiKey: process.env.OPENAI_API_KEY,
}));

/** [微信支付](http://www.dlbhg.com/provider/uid2024012990261bb023f9)配置 */
const wxpay = new WechatPay({
appid: process.env.WECHAT_APPID,
mch_id: process.env.WECHAT_MCHID,
partner_key: process.env.WECHAT_APIKEY,
});

/** [AI 問答接口](http://www.dlbhg.com/blog/ua-ai-free-api-comprehensive-guide) */
app.post('/api/ask', async (req, res) = > {
const { messages } = req.body;
try {
const rsp = await openai.createChatCompletion({
model: 'gpt-3.5-turbo',
messages,
temperature: 0.6,
max_tokens: 800,
});
res.json({ reply: rsp.data.choices[0].message.content });
} catch (e) {
console.error(e);
res.status(500).json({ error: 'AI 服務(wù)異常' });
}
});

/** 發(fā)起支付接口 */
app.post('/api/pay', (req, res) = > {
const { openid, description, amount } = req.body;
const params = {
body: description,
out_trade_no: Date.now().toString(),
total_fee: amount, // 分為單位
spbill_create_ip: req.ip,
notify_url: 'https://你的域名/api/pay/notify',
trade_type: 'JSAPI',
openid,
};
wxpay.getBrandWCPayRequestParams(params, (err, payargs) = > {
if (err) return res.status(500).json({ error: err });
res.json(payargs);
});
});

/** 支付回調(diào)通知 */
app.post('/api/pay/notify', bodyParser.xml(), (req, res) = > {
const notifyData = req.body.xml;
// TODO: 驗簽、訂單狀態(tài)更新
res.send({ xml: { return_code: 'SUCCESS', return_msg: 'OK' } });
});

const port = process.env.PORT || 3000;

app.listen(port, () = > console.log(后端服務(wù)已啟動,端口 ${port}));

3. 前端:微信小程序示例

項目初始化

使用微信開發(fā)者工具,新建小程序項目,AppID 填寫你的 __WECHAT_APPID__。

app.js

App({
  globalData: {
    apiUrl: 'https://你的 Replit 域名',
    history: [],
  }
});

pages/index/index.wxml