# 网站评分系统 - 使用说明
## 系统简介
这是一个专业的网站评分系统,允许用户对网站域名进行1-5星评价。系统会自动计算每个域名的综合评分,并以可视化的方式展示结果。评分范围从0到100分,每20分对应一颗星星。
## 访问地址
主页面:
```
https://api.afmax.cn/so/evaluation/index.php
```
API接口:
```
https://api.afmax.cn/so/evaluation/index.php?url=[域名]
```
## 使用方式
### 1. 查询域名评分
#### HTML格式(默认):
```bash
# 查询域名评分(返回美观的HTML页面)
https://api.afmax.cn/so/evaluation/index.php?url=example.com
https://api.afmax.cn/so/evaluation/index.php?url=www.baidu.com
https://api.afmax.cn/so/evaluation/index.php?url=google.com
```
#### JSON格式:
```bash
# 查询域名评分(返回JSON数据)
https://api.afmax.cn/so/evaluation/index.php?type=json&url=example.com
```
### 2. 提交评分
#### 评分等级说明:
- 1星:扣0.02分
- 2星:扣0.01分
- 3星:不加不减
- 4星:加0.01分
- 5星:加0.02分
#### 评分示例:
```bash
# 给example.com打4星
https://api.afmax.cn/so/evaluation/index.php?url=example.com&report=4
# 给google.com打5星(JSON格式)
https://api.afmax.cn/so/evaluation/index.php?type=json&url=google.com&report=5
```
## 参数说明
| 参数名 | 是否必填 | 说明 | 示例值 |
|--------|----------|------|--------|
| url | 是 | 要评分的网站地址 | example.com |
| type | 否 | 返回格式,默认html | html 或 json |
| report | 否 | 评分值,1-5之间的整数 | 1, 2, 3, 4, 5 |
## 域名处理规则
系统会自动规范化和提取域名:
1. 协议过滤:自动移http://https://
2. 路径过滤:自动移除路径和查询参数
3. 域名提取:
- www.example.com → example.com
- blog.example.co.uk → example.co.uk
- sub1.sub2.example.com.cn → example.com.cn
- dgjbjk.78910.fjbvk.xyz → 78910.fjbvk.xyz
## 响应格式
### JSON响应示例
```json
{
"success": true,
"message": "查询成功",
"domain": "example.com",
"current_score": 85.50,
"stars": 4,
"max_stars": 5
}
```
### HTML响应示例
系统会返回一个美观的响应式页面,包含:
- 域名信息
- 当前分数(0-100)
- 星星评级(1-5星)
- 评分等级说明
- 使用说明
## 评分规则
1. 初始分数:新域名默认50分
2. 评分范围:0-100分,超出范围会自动调整
3. 星级对应:
- 0-20分:0星(差)
- 20-40分:1星(较差)
- 40-60分:2星(一般)
- 60-80分:3星(良好)
- 80-100分:4星(优秀)
- 100分:5星(完美)
4. 评分限制:
- 达到100分后不再加分
- 达到0分后不再扣分
- 每个请求只能进行一次评分操作
## 技术特性
1. 双格式支持:同时支持HTML和JSON响应
2. 响应式设计:完美适配电脑和手机
3. 长期缓存:浏览器缓存30天
4. 自动建表:数据库表不存在时会自动创建
5. 性能优化:数据库索引优化,快速查询
## 错误处理
系统会返回明确的错误信息:
| 错误情况 | 返回信息 |
|----------|----------|
| 缺少URL参数 | URL参数不能为空 |
| 无效域名 | 无效的域名 |
| 域名无法解析 | 域名无法解析,无法进行评分 |
| 数据库连接失败 | 数据库连接失败 |
| 无效的评分值 | 不进行评分操作,仅显示当前分数 |
## 使用示例
### 示例1:查询百度评分
```
https://api.afmax.cn/so/evaluation/index.php?url=baidu.com
```
### 示例2:给百度打5分
```
https://api.afmax.cn/so/evaluation/index.php?url=baidu.com&report=5
```
### 示例3:获取JSON格式的谷歌评分
```
https://api.afmax.cn/so/evaluation/index.php?type=json&url=google.com
```
## 注意事项
1. 系统只记录域名和评分,不记录评分者的IP和时间
2. 每个域名的初始分数为50分
3. 评分变化较小,需要多次评分才能看到明显变化
4. 系统会定期清理无效域名的评分记录
5. 请勿滥用评分功能,系统有频率限制,同一域名限制连续刷分(评分)
6. 显示周期为30天一更
## 开发建议
### 前端集成示例
```javascript
// 查询域名评分
fetch('https://api.afmax.cn/so/evaluation/index.php?type=json&url=example.com')
.then(response => response.json())
.then(data => {
if (data.success) {
console.log域名: ${data.domain});
console.log分数: ${data.current_score});
console.log星级: ${data.stars}/5);
}
});
// 提交评分
fetch('https://api.afmax.cn/so/evaluation/index.php?type=json&url=example.com&report=5')
.then(response => response.json())
.then(data => {
if (data.success) {
alert('评分成功!');
}
});
```
### 后端集成示例
```python
import requests
# 查询评分
response = requests.get(
'https://api.afmax.cn/so/evaluation/index.php',
params={'type': 'json', 'url': 'example.com'}
)
data = response.json()
print(f"当前分数: {data['current_score']}")
# 提交评分
response = requests.get(
'https://api.afmax.cn/so/evaluation/index.php',
params={'type': 'json', 'url': 'example.com', 'report': 4}
)
```