评论
【三】BuildAdmin快速创建API分类接口,筛选指定内容显示或隐藏

【三】BuildAdmin快速创建API分类接口,筛选指定内容显示或隐藏

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

前提

【一】BuildAdmin速创建商业级后台管理系统,本地环境安装和创建内容模型

【二】BuildAdmin快速创建API接口查询,限制字段返回新

章节内容

BuildAdmin快速创建API分类接口,筛选指定内容显示或隐藏

文章含量不高,针对灵沐,星宿ui小程序上的隐藏分类基础写的教程

数据模型

CRUD快速建立一个分类表,需要的字段不多ID,更新时间,标题,图标等即可

【三】BuildAdmin快速创建API分类接口,筛选指定内容显示或隐藏

点击生成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查询

【三】BuildAdmin快速创建API分类接口,筛选指定内容显示或隐藏

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