一年好景君须记,最是橙黄橘绿时

前提
《【一】BuildAdmin速创建商业级后台管理系统,本地环境安装和创建内容模型》
《【二】BuildAdmin快速创建API接口查询,限制字段返回新》
章节内容
BuildAdmin快速创建API分类接口,筛选指定内容显示或隐藏
文章含量不高,针对灵沐,星宿ui小程序上的隐藏分类基础写的教程
数据模型
CRUD快速建立一个分类表,需要的字段不多ID,更新时间,标题,图标等即可

点击生成CRUD代码,再点击重新发布(如果你不想每次都这样操作,可以进入web目录执行)
npm run dev

建立API
打开源码导入开发工具,访问目录
app\api\controller
建立一个Categories.php文件,接口我们需要实现以下功能
1.查询所有分类
2.显示指定分类(可多个)
3.隐藏指定分类(可多个)
多个ID使用,号隔开,显示隐藏在知识点上是在接受到参数后转成数组使用whereIn和whereNotIn查询数据库
<?php
namespace app\api\controller;
use think\facade\Db;
use app\common\controller\Api;
class Categories extends Api
{
//查询所有分类
public function getCategories(){
$categories = Db::table('ba_ify')->select();
$this->success('查询所有分类', $categories);
}
// 接收接口参数?id=1,2,返回多个分类信息
public function getCategoriesByIds(){
$ids = $this->request->param('id');
$idsArray = explode(',', $ids);//
$categories = Db::table('ba_ify')->whereIn('id', $idsArray)->select();//
$this->success('查询分类', $categories);
}
// 接收接口参数?id=1,3 隐藏1,3的分类信息
public function getCategoriesByNotIds(){
$ids = $this->request->param('id');
$idsArray = explode(',', $ids);//
$categories = Db::table('ba_ify')->whereNotIn('id', $idsArray)->select();//
$this->success('查询分类', $categories);
}
}
2026年02月08日补充hidden方式
// 原生方式
// $data = Db::name('app_set')->select()->hidden(['app_id', 'app_secret']);
// 在查询app_set表的时候把app_id和app_secret隐藏
$model = new \app\admin\model\app\Set();
$data = $model->select()->hidden(['app_id', 'app_secret']);
番外
以上内容指明基于灵沐,星宿UI。也就意味着是提供输入框给用户操作的;还可以在分类上直接给他一个开关,接口的话就可以直接where查询

//返回数据中switch=1的分类信息
public function getCategoriesBySwitch(){
$categories = Db::table('ba_ify')->where('switch', 1)->select();
$this->success('查询分类', $categories);
}