URL: https://your-server.com/v1/categories
方法: GET
响应格式: JSON 数组
URL: https://your-server.com/v1/apps
方法: GET
响应格式: JSON 数组
URL: https://your-server.com/v1/apps/{id}
方法: GET
响应格式: JSON 对象
/v1/
├── categories (GET) 返回分类列表
├── apps (GET) 返回应用列表
└── apps/{id} (GET) 返回单个应用详情
如果你使用静态文件服务器(如 Nginx、Apache、GitHub Pages),可以:
网站根目录/
├── v1/
│ ├── categories.json # 分类数据
│ └── apps.json # 应用数据
然后修改 AppDataService.cs 中的 API 地址:
private readonly string _apiBaseUrl = "https://your-domain.com/v1";const express = require('express');
const app = express();
const cors = require('cors');
app.use(cors());
app.use(express.json());
// 分类数据
const categories = require('./data/categories.json');
// 应用数据
const apps = require('./data/apps.json');
// 获取分类列表
app.get('/v1/categories', (req, res) => {
res.json(categories);
});
// 获取应用列表
app.get('/v1/apps', (req, res) => {
res.json(apps);
});
// 获取单个应用
app.get('/v1/apps/:id', (req, res) => {
const app = apps.find(a => a.id === req.params.id);
if (app) {
res.json(app);
} else {
res.status(404).json({ error: 'App not found' });
}
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});<?php
header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *');
$path = $_SERVER['REQUEST_URI'];
if ($path === '/v1/categories') {
$data = json_decode(file_get_contents('categories.json'), true);
echo json_encode($data);
} elseif ($path === '/v1/apps') {
$data = json_decode(file_get_contents('apps.json'), true);
echo json_encode($data);
} elseif (preg_match('/\/v1\/apps\/(.+)/', $path, $matches)) {
$apps = json_decode(file_get_contents('apps.json'), true);
$app = array_filter($apps, function($a) use ($matches) {
return $a['id'] === $matches[1];
});
echo json_encode(array_values($app)[0] ?? ['error' => 'Not found']);
}
?>- GitHub Pages - 适合静态 JSON 文件
- Vercel - 支持 Serverless Functions
- Netlify - 支持静态托管和 Functions
- Cloudflare Pages - 支持 Workers
- 阿里云/腾讯云 - 云服务器
- AWS Lambda - 无服务器函数
- Azure Functions - 微软云服务
修改 Services/AppDataService.cs 中的 API 地址:
// 开发环境(本地)
private readonly string _apiBaseUrl = "http://localhost:3000/v1";
// 生产环境(你的服务器)
private readonly string _apiBaseUrl = "https://api.everythingstore.com/v1";启动服务器后,在浏览器中测试:
http://localhost:3000/v1/categorieshttp://localhost:3000/v1/appshttp://localhost:3000/v1/apps/1