# 官网 SDK 下载包上传说明

## 本地已打包文件

目录：`D:\Projects\api\sdks\mairui-python\release\downloads\sdk\mairui\`

| 文件 | 用途 |
|------|------|
| `mairui-1.0.0-py3-none-any.whl` | pip 本地安装用 wheel |
| `mairui-1.0.0.tar.gz` | 源码分发包（sdist） |
| `mairui-1.0.0-source.zip` | 网站「下载源码」用 zip |
| `SHA256SUMS.txt` | 校验和 |

## 上传到官网服务器

服务器项目根目录：`/home/Django_admin/auth_admin`

请上传到（没有目录先创建）：

```text
/home/Django_admin/auth_admin/media/downloads/sdk/mairui/
```

对应本机已同步镜像目录（可选对照）：

```text
D:\Projects\api\auth_admin\media\downloads\sdk\mairui\
```

### 推荐命令（在服务器执行）

```bash
mkdir -p /home/Django_admin/auth_admin/media/downloads/sdk/mairui
# 把本机 release 目录里的 4 个文件传到上面路径后：
chown -R Django_admin:Django_admin /home/Django_admin/auth_admin/media/downloads
chmod -R a+rX /home/Django_admin/auth_admin/media/downloads/sdk/mairui
```

Windows 本机可用 scp / SFTP / 面板上传，例如：

```powershell
# 示例（按实际 SSH 账号与主机修改）
scp -r D:\Projects\api\sdks\mairui-python\release\downloads\sdk\mairui\* `
  user@官网主机:/home/Django_admin/auth_admin/media/downloads/sdk/mairui/
```

## 对外下载 URL

`settings.py` 中：`MEDIA_URL = '/auth/media/'`，`MEDIA_ROOT = BASE_DIR / 'media'`

因此公网地址为：

| 文件 | URL |
|------|-----|
| Wheel | `https://www.mairuiapi.com/auth/media/downloads/sdk/mairui/mairui-1.0.0-py3-none-any.whl` |
| sdist | `https://www.mairuiapi.com/auth/media/downloads/sdk/mairui/mairui-1.0.0.tar.gz` |
| 源码 zip | `https://www.mairuiapi.com/auth/media/downloads/sdk/mairui/mairui-1.0.0-source.zip` |
| 校验和 | `https://www.mairuiapi.com/auth/media/downloads/sdk/mairui/SHA256SUMS.txt` |

公告 / 接入指南里可写：

```html
<ul>
  <li><a href="https://www.mairuiapi.com/auth/media/downloads/sdk/mairui/mairui-1.0.0-source.zip">下载源码包 (zip)</a></li>
  <li><a href="https://www.mairuiapi.com/auth/media/downloads/sdk/mairui/mairui-1.0.0-py3-none-any.whl">下载 Wheel 安装包</a></li>
  <li>或使用：<code>pip install mairui</code></li>
</ul>
```

用户本地安装示例：

```bash
pip install https://www.mairuiapi.com/auth/media/downloads/sdk/mairui/mairui-1.0.0-py3-none-any.whl
# 或
pip install ./mairui-1.0.0-py3-none-any.whl
```

## 生产环境注意（重要）

仓库 `auth_admin/urls.py` 里仅在 `DEBUG=True` 时由 Django 托管 media。  
若生产 `DEBUG=False`，需确认 **Nginx/OpenResty** 已将 `/auth/media/` 指到：

```nginx
location /auth/media/ {
    alias /home/Django_admin/auth_admin/media/;
}
```

上传后请在浏览器直接打开上述 URL 验证能否下载。若 404，优先检查 Nginx alias，而不是 Django 代码。
