Skip to content

ELFTS/Everything-Store-Page

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

万物应用商店服务器配置

API 端点

1. 获取分类列表

URL: https://your-server.com/v1/categories
方法: GET
响应格式: JSON 数组

2. 获取应用列表

URL: https://your-server.com/v1/apps
方法: GET
响应格式: JSON 数组

3. 获取单个应用详情

URL: https://your-server.com/v1/apps/{id}
方法: GET
响应格式: JSON 对象

服务器文件结构

/v1/
├── categories          (GET) 返回分类列表
├── apps                (GET) 返回应用列表
└── apps/{id}           (GET) 返回单个应用详情

静态文件部署

如果你使用静态文件服务器(如 Nginx、Apache、GitHub Pages),可以:

方案1: 使用 JSON 文件

网站根目录/
├── v1/
│   ├── categories.json    # 分类数据
│   └── apps.json          # 应用数据

然后修改 AppDataService.cs 中的 API 地址:

private readonly string _apiBaseUrl = "https://your-domain.com/v1";

方案2: 使用后端服务

Node.js/Express 示例

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 示例

<?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']);
}
?>

推荐的托管方案

免费方案

  1. GitHub Pages - 适合静态 JSON 文件
  2. Vercel - 支持 Serverless Functions
  3. Netlify - 支持静态托管和 Functions
  4. Cloudflare Pages - 支持 Workers

付费方案

  1. 阿里云/腾讯云 - 云服务器
  2. AWS Lambda - 无服务器函数
  3. 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/categories
  • http://localhost:3000/v1/apps
  • http://localhost:3000/v1/apps/1

Releases

No releases published

Packages

 
 
 

Contributors

Languages