<?php
namespace app\mobile\controller;

use think\facade\Db;
use app\mobile\service\MobileFeatureAccess;

class OmsMenus extends OmsBase
{
    public function index()
    {
        return $this->guarded(function () {
            $this->requireMethod('GET');
            $account = $this->current();
            $type = (int)$account['user_type'];
            if (!in_array($type, [1, 2, 3], true)) $this->fail('当前账号类型不支持功能菜单', 403);
            $access=MobileFeatureAccess::context($account);
            $query=Db::name('admin_menus_wx')->where('status',1);
            $menus=$query->field('id,title,icon,icon_color,action,route,user_types,department_ids')->order('sort,id')->select()->toArray();
            $menus=array_values(array_filter($menus,function($menu)use($access){return MobileFeatureAccess::menuAllowed($menu,$access);}));
            foreach($menus as &$menu){unset($menu['user_types'],$menu['department_ids']);}unset($menu);
            return json(['code' => 0, 'message' => '成功', 'data' => $menus]);
        });
    }
}
