PHPackages                             hlw2326/think-plugin-mp-base - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. hlw2326/think-plugin-mp-base

ActiveThink-admin-plugin[Utility &amp; Helpers](/categories/utility)

hlw2326/think-plugin-mp-base
============================

ThinkAdmin 通用基础插件

v1.0.8(3mo ago)11MITPHPPHP &gt;8.2

Since Apr 8Pushed 3mo agoCompare

[ Source](https://github.com/hlw2326/think-plugin-mp-base)[ Packagist](https://packagist.org/packages/hlw2326/think-plugin-mp-base)[ Docs](https://www.hlw2326.com)[ RSS](/packages/hlw2326-think-plugin-mp-base/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (6)Used By (0)

通用基础插件
======

[](#通用基础插件)

ThinkAdmin 通用基础插件，适用于微信小程序（其他小程序未测试），提供业务系统共用的基础模块，无需重复开发。

模块说明
----

[](#模块说明)

### 帮助管理

[](#帮助管理)

用于管理业务系统的帮助文档（FAQ、使用指南等），支持分类隔离。

- **帮助分类** — 树形分类，支持排序、状态控制
- **帮助文章** — 标题 + 富文本内容，支持按分类筛选

### 工具管理

[](#工具管理)

提供小程序跳转工具的配置能力，支持多分类和多种跳转方式。

- **工具分类** — 支持排序、状态控制
- **工具列表** — 配置名称、Logo、描述及跳转方式

跳转方式支持：普通跳转（navigateTo）、重定向（redirectTo）、底部菜单（switchTab）、重启跳转（reLaunch）、网页（webview H5）、其他小程序（miniprogram）。

### 反馈建议

[](#反馈建议)

用户提交反馈的完整处理流程，支持多类型分类和聊天式回复。

- **反馈列表** — 按类型、处理状态筛选，显示回复数和最后回复时间
- **反馈类型** — 功能反馈、优化建议、问题反馈、投诉建议（可后台配置）

处理流程：用户提交 → 管理员回复（聊天记录，支持追问）→ 标记处理中 → 关闭完成。

安装
--

[](#安装)

安装后系统自动执行数据库迁移，创建所有数据表和索引，同时注册后台菜单。

```
composer require hlw2326/think-plugin-mp-base
```

安装完成后访问 **系统管理 → 插件中心**，找到"通用基础"插件，点击安装。

数据库表
----

[](#数据库表)

表名说明`plugin_base_help_cate`帮助分类`plugin_base_help`帮助文章`plugin_base_tools_cate`工具分类`plugin_base_tools`工具配置`plugin_base_feedback_type`反馈类型（预置4种）`plugin_base_feedback`反馈建议`plugin_base_feedback_reply`反馈回复记录API 接口
------

[](#api-接口)

### 请求格式

[](#请求格式)

所有接口的 appid 支持三种传参方式，**按优先级**：

1. **请求头** `appid: wxxxxxxx`（推荐，小程序端 header 传递，无需每个接口带参数）
2. **GET 参数** `?appid=wxxxxxxx`
3. **POST 参数** `appid=wxxxxxxx`

用户身份通过共享组件 `UserResolverService` 自动解析（详见下文集成说明）。

### 帮助中心

[](#帮助中心)

#### 获取帮助分类列表

[](#获取帮助分类列表)

```
GET /api/base/v1/help/cate

```

**参数**

参数来源说明appidheader/get/post小程序 appid**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "list": [
      {"id": 1, "name": "使用指南", "sort": 0, "status": 1}
    ]
  }
}
```

#### 获取帮助文章列表

[](#获取帮助文章列表)

```
GET /api/base/v1/help/list

```

**参数**

参数来源说明appidheader/get/post小程序 appidcate\_idGET分类ID，筛选指定分类pageGET页码，默认 1limitGET每页数量，默认 20，最大 50**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "list": [
      {
        "id": 1,
        "cate_id": 1,
        "cate_name": "使用指南",
        "title": "如何注册账号",
        "content": "...",
        "sort": 0,
        "status": 1,
        "create_at": "2026-04-08 10:00:00"
      }
    ],
    "total": 10,
    "page": 1,
    "limit": 20
  }
}
```

#### 获取帮助文章详情

[](#获取帮助文章详情)

```
GET /api/base/v1/help/detail

```

**参数**

参数来源说明appidheader/get/post小程序 appididGET文章ID**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "id": 1,
    "cate_id": 1,
    "cate_name": "使用指南",
    "title": "如何注册账号",
    "content": "富文本内容...",
    "create_at": "2026-04-08 10:00:00"
  }
}
```

---

### 工具中心

[](#工具中心)

#### 获取工具分类列表

[](#获取工具分类列表)

```
GET /api/base/v1/tools/cate

```

**参数**

参数来源说明appidheader/get/post小程序 appid**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "list": [
      {"id": 1, "name": "常用工具", "logo": "/upload/xxx.png", "sort": 0, "status": 1}
    ]
  }
}
```

#### 获取工具列表

[](#获取工具列表)

```
GET /api/base/v1/tools/list

```

**参数**

参数来源说明appidheader/get/post小程序 appidcate\_idGET分类ID，筛选指定分类pageGET页码，默认 1limitGET每页数量，默认 20，最大 50**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "list": [
      {
        "id": 1,
        "cate_id": 1,
        "cate_name": "常用工具",
        "name": "二维码生成",
        "logo": "/upload/xxx.png",
        "desc": "生成精美二维码",
        "jump_type": "navigateTo",
        "jump_value": "/pages/qrcode/index",
        "click_count": 100,
        "sort": 0,
        "status": 1
      }
    ],
    "total": 10,
    "page": 1,
    "limit": 20
  }
}
```

#### 获取分类聚合列表

[](#获取分类聚合列表)

返回分类及其下的工具，适合首页展示。

```
GET /api/base/v1/tools/group

```

**参数**

参数来源说明appidheader/get/post小程序 appid**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "list": [
      {
        "id": 1,
        "name": "常用工具",
        "tools": [
          {"id": 1, "name": "二维码生成", "logo": "...", "jump_type": "...", "click_count": 100}
        ],
        "count": 3
      }
    ]
  }
}
```

#### 工具点击计数

[](#工具点击计数)

```
POST /api/base/v1/tools/click

```

**参数**

参数来源说明appidheader/get/post小程序 appididPOST工具ID---

### 反馈建议

[](#反馈建议-1)

#### 获取反馈类型列表

[](#获取反馈类型列表)

```
GET /api/base/v1/feedback/types

```

**参数**

参数来源说明appidheader/get/post小程序 appid**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "list": [
      {"id": 1, "code": "feedback", "name": "功能反馈", "sort": 0}
    ]
  }
}
```

#### 提交反馈

[](#提交反馈)

**需要登录。** appid 和 userId 由 `UserResolverService` 自动解析，不需要前端传参。

```
POST /api/base/v1/feedback/submit

```

**参数**

参数来源说明contentPOST反馈内容，必填，最多500字typePOST类型 code，默认 `feedback`，选填contactPOST联系方式，选填imagesPOST图片路径数组（JSON 格式），选填**响应**

```
{
  "code": 1,
  "info": "提交成功",
  "data": {"id": 1}
}
```

**错误返回**

```
{"code": 0, "info": "请先登录"}
```

#### 获取当前用户的反馈列表

[](#获取当前用户的反馈列表)

**需要登录。**

```
GET /api/base/v1/feedback/my

```

**参数**

参数来源说明appidheader/get/post小程序 appidpageGET页码，默认 1limitGET每页数量，默认 20，最大 50**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "list": [
      {
        "id": 1,
        "type": "feedback",
        "type_name": "功能反馈",
        "content": "...",
        "status": 0,
        "status_label": "待处理",
        "images": [],
        "create_at": "2026-04-08 10:00:00"
      }
    ],
    "total": 5,
    "page": 1,
    "limit": 20
  }
}
```

#### 获取反馈详情

[](#获取反馈详情)

**需要登录。** 只能查看自己的反馈。

```
GET /api/base/v1/feedback/detail

```

**参数**

参数来源说明appidheader/get/post小程序 appididGET反馈ID**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "id": 1,
    "type": "feedback",
    "type_name": "功能反馈",
    "content": "...",
    "status": 1,
    "status_label": "处理中",
    "images": [],
    "replies": [
      {"id": 1, "sender_type": 1, "content": "您好，我们已收到反馈", "create_at": "2026-04-08 11:00:00"}
    ]
  }
}
```

#### 追加反馈内容

[](#追加反馈内容)

**需要登录。** 只能追加自己的反馈。

```
POST /api/base/v1/feedback/append

```

**参数**

参数来源说明feedback\_idPOST反馈ID，必填contentPOST追加内容，必填，最多500字#### 获取反馈统计

[](#获取反馈统计)

**需要登录。**

```
GET /api/base/v1/feedback/stats

```

**响应**

```
{
  "code": 1,
  "info": "获取成功",
  "data": {
    "pending": 2,
    "completed": 3,
    "total": 5
  }
}
```

---

用户认证集成
------

[](#用户认证集成)

插件本身不持有用户表，通过共享组件 `UserResolverService` 获取当前登录用户的 ID。 主应用（mini / data 模块）负责注册用户解析器，插件不依赖具体用户模块。

### 依赖说明

[](#依赖说明)

本插件依赖 `hlw2326/think-plugin-mp-shared` 共享包，由共享包提供 `UserResolverService` 和 `UserResolver` 接口。 所有依赖本插件的项目会自动引入共享包，无需单独安装。

### 工作原理

[](#工作原理)

```
主应用注册解析器
  ↓
UserResolverService 持有回调
  ↓
Base 控制器构造时自动调用
  ↓
$this->userId 获得当前用户ID（未登录则为 null）
  ↓
所有子类直接使用 $this->userId

```

### 主应用注册方式

[](#主应用注册方式)

在主应用模块的 `Service.php` 中注册，推荐在 `boot()` 方法中：

```
