Files
alist-serve-resource/docs/ADMIN_GUIDE.md
T
hoelee 03af9df3e4 docs(ADMIN_GUIDE): rewrite for non-technical admins
- Remove all n8n/backend-logic mentions; NocoDB-only instructions.
- Add required-field markers + fill order for each table.
- Add Purchases table section (record customer purchase, expected fields).
- Plain language, no jargon. Add status quick-reference table.
2026-08-23 07:41:45 +08:00

109 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 管理员操作指南(ADMIN_GUIDE)
> 本指南只讲在 NocoDB 里怎么点。不需要懂技术,照着做即可。
> 所有操作都在 NocoDB 的 `AlistAccess` 工作区里完成,系统会自动处理后续。
---
## 第一部分:给顾客开账号 + 授权(3 步)
> 顺序:先建顾客 → 再建购买记录 → 再挂产品。
### 第 1 步 — 建顾客(Customers 表)
打开 `Customers` 表,点「+新增记录」,**按顺序填**:
| 顺序 | 栏位 | 必填 | 怎么填 |
|---|---|---|---|
| 1 | `username` | ✅ | 顾客登录用的账号名,**不能重复** |
| 2 | `password` | ✅ | 顾客的登录密码 |
| 3 | `display_name` | 选填 | 顾客显示名(顾客姓名等)|
| 4 | `email` | 选填 | 顾客邮箱 |
| 5 | `status` | ✅ | 先选 `active`(顾客马上能用)|
> **填完会看到**:保存后,下面几个栏位(`alist_user_id`、`alist_role_id`、`sync_status`)
> 会被系统自动填上,`sync_status` 变成 `synced`。这是正常的,不用管。
>
> **注意**:如果 `status` 先选 `pending`(还没决定卖什么),系统不会建账号。
> 等你后面改成 `active` 才会正式开账号。
### 第 2 步 — 记购买(Purchases 表)
打开 `Purchases` 表,点「+新增记录」,**期望填写**:
| 栏位 | 必填 | 怎么填 |
|---|---|---|
| `customer` | ✅ | 选第 1 步那个顾客 |
| `product` | ✅ | 选顾客买的产品 |
| `purchase_date` | 选填 | 购买日期 |
| `amount` | 选填 | 金额 |
| `payment_method` | 选填 | 付款方式 |
| `order_id` | 选填 | 订单号 |
| `notes` | 选填 | 备注 |
> 这份是**记账留档**用,填不填都不影响顾客能不能看文件。
### 第 3 步 — 挂产品(CustomerProducts 表)
> **这步才是真正让顾客「看得到文件」的关键。**
打开 `CustomerProducts` 表,点「+新增记录」,**按顺序填**:
| 顺序 | 栏位 | 必填 | 怎么填 |
|---|---|---|---|
| 1 | `customer` | ✅ | 选第 1 步那个顾客 |
| 2 | `product` | ✅ | 选他买的产品 |
| 3 | `start_at` | 选填 | 开始日期 |
| 4 | `expires_at` | ✅ | 到期日期(**到期当天就失效**)|
| 5 | `status` | ✅ | 选 `active` |
> **填完会看到**:顾客登录后就能看到这个产品对应的文件夹。
> 到了 `expires_at` 那天,权限自动失效。
>
> **一个顾客可以有多条** CustomerProducts:买几个产品就建几条,权限会全加起来。
---
## 第二部分:准备产品(Products + Resources,2 步)
> 顺序:先建资源(文件夹)→ 再建产品(打包)。
### 第 1 步 — 建资源(Resources 表)
打开 `Resources` 表,点「+新增记录」,**按顺序填**:
| 顺序 | 栏位 | 必填 | 怎么填 |
|---|---|---|---|
| 1 | `name` | ✅ | 给人看的名字(如「Forex 课程」)|
| 2 | `alist_path` | ✅ | 文件夹路径,以 `/` 开头,如 `/Class/Forex` |
> **注意**:`alist_path` 必须是真实存在的文件夹路径,填错顾客会打不开。
### 第 2 步 — 建产品(Products 表)
打开 `Products` 表,点「+新增记录」,**按顺序填**:
| 顺序 | 栏位 | 必填 | 怎么填 |
|---|---|---|---|
| 1 | `name` | ✅ | 产品名(如「Python Basic」)|
| 2 | `status` | ✅ | 选 `active` |
| 3 | `Resources` | ✅ | 勾选这个产品**包含**的资源(可勾多个)|
> **填完会看到**:以后在「第一部分第 3 步」给顾客挂这个产品时,
> 产品里勾选的资源路径会一次性算给顾客。
---
## 附:Customers 的 status 怎么选
| status | 意思 | 顾客能看文件吗 | 什么时候用 |
|---|---|---|---|
| `pending` | 还没正式开通 | ❌ | 刚建顾客、还没卖产品时 |
| `active` | 正常使用 | ✅ | 顾客在使用中 |
| `suspended` | 暂时停权 | ❌ | 欠费 / 有问题暂时停 |
| `expired` | 整户到期 | ❌ | 顾客服务整体结束 |
| `deleted` | 停用(保留记录)| ❌ | 不合作了但想留历史 |
- 只要不是 `active`,顾客就登不进去、也看不到文件。
- 改回 `active`,系统会自动算**现在还有效**的产品权限(已经过期的不会回来)。