Files
addons
app_download_files
extend
hyhproject
admin
app
common
behavior
common
conf
exception
model
Addons.php
Ads.php
Aliyunoss.php
Areas.php
Auth.php
AuthFamily.php
Banks.php
Base.php
Brands.php
Carts.php
CashConfigs.php
CashDraws.php
ChargeItems.php
CompanyBank.php
Ectwallet.php
Express.php
Favorites.php
Goods.php
GoodsAppraises.php
GoodsCats.php
GoodsConsult.php
GoodsVirtuals.php
HomeMenus.php
Hooks.php
Informs.php
Invoices.php
LogMoneys.php
LogPayParams.php
LogPays.php
LogSms.php
MessageQueues.php
Messages.php
OrderComplains.php
OrderRefunds.php
Orders.php
Payments.php
Position.php
Settlements.php
ShopCats.php
ShopExtras.php
Shopping.php
Shops.php
SysConfigs.php
SysSummary.php
Systems.php
Table.php
Tags.php
UserAddress.php
UserLevel.php
UserReward.php
UserScores.php
UserTrees.php
UserVouchers.php
Users.php
taglib
validate
home
home2
mobile2
wechat2
.htaccess
command.php
mobile
oss
static
thinkphp
upload
vendor
wxtmp
.gitignore
.htaccess
.user.ini
404.html
H5436787D.wgt
admin.php
app-release.apk
app_download.html
cash.lock
demo.php
get_startup.php
get_version.php
get_version_new.php
index.html
index.php
reg.lock
robots.txt
qlg.tsgz.moe/hyhproject/common/model/HomeMenus.php
2019-09-06 23:53:10 +08:00

92 lines
2.5 KiB
PHP
Executable File

<?php
namespace wstmart\common\model;
use think\Db;
/**
* ============================================================================
* 菜单业务处理
*/
class HomeMenus extends Base{
/**
* 获取菜单树
*/
public function getMenus(){
$data = cache('WST_HOME_MENUS');
if(!$data){
$rs = $this->where(['isShow'=>1,'dataFlag'=>1])
->field('menuId,parentId,menuName,menuUrl,menuType')->order('menuSort asc,menuId asc')->select();
$m1 = ['0'=>[],'1'=>[]];
$tmp = [];
//获取第一级
foreach ($rs as $key => $v){
if($v['parentId']==0){
$m1[$v['menuType']][$v['menuId']] = ['menuId'=>$v['menuId'],'parentId'=>$v['parentId'],'menuName'=>$v['menuName'],'menuUrl'=>$v['menuUrl']];
}else{
$tmp[$v['parentId']][] = ['menuId'=>$v['menuId'],'parentId'=>$v['parentId'],'menuName'=>$v['menuName'],'menuUrl'=>$v['menuUrl']];
}
}
//获取第二级
foreach ($m1 as $key => $v){
foreach ($v as $key1 => $v1){
if(isset($tmp[$v1['menuId']]))$m1[$key][$key1]['list'] = $tmp[$v1['menuId']];
}
}
//获取第三级
foreach ($m1 as $key => $v){
foreach ($v as $key1 => $v1){
if(isset($v1['list'])){
foreach ($v1['list'] as $key2 => $v2){
if(isset($tmp[$v2['menuId']]))$m1[$key][$key1]['list'][$key2]['list'] = $tmp[$v2['menuId']];
}
}
}
}
cache('WST_HOME_MENUS',$m1,31536000);
return $m1;
}
return $data;
}
/**
* 获取菜单URL
*/
public function getMenusUrl(){
$data = cache('WST_PRO_MENUS');
if(!$data){
$list = $this->where('dataFlag',1)->order('menuType asc')->select();
$menus = [];
foreach($list as $key => $v){
$menus[strtolower($v['menuUrl'])] = $v['menuType'];
if($v['menuOtherUrl']!=''){
$str = explode(',',$v['menuOtherUrl']);
foreach ($str as $vkey => $vv){
if($vv=='')continue;
$menus[strtolower($vv)] = $v['menuType'];
}
}
}
cache('WST_PRO_MENUS',$menus,31536000);
return $menus;
}
return $data;
}
/**
* 角色可访问url
*/
public function getShopMenuUrls(){
$wst_user = session('WST_USER');
$shopUrls = [];
if(!empty($wst_user)){
$roleId = isset($wst_user["roleId"])?(int)$wst_user["roleId"]:0;
if($roleId>0){
$role = model("home/ShopRoles")->getById($roleId);
$menuUrls = $role["menuUrls"];
$shopUrls = array_merge($menuUrls,$shopUrls);
}
}
return $shopUrls;
}
}