今日计划:
1.完成商户登录页面,以及登陆后商户页面首页;
首页左侧菜单以及权限控制,根据之前的城市后台改进;尽量抽取之前的城市后台代码,做代码重构;
之前CITY=2,STORE=1,城市超级管理员分组id=1,商户超级管理员分组id=2;判断是否是超级管理员比较麻烦;现在统一修改成与之对应的id.
总结: 项目中有些变量要用常量,否则改代码,可麻烦了;
/**
* Class WebType
* @package app\lib\enum
* 城市超级管理员分组id=1
* 商户超级管理员分组id=2
* 这样正好 超级管理员所属分组id与之对应,后期判断管理员比较方便
*/
class WebType
{
//城市平台
const CITY = 1;
//商家平台
const STORE = 2;
//总平台
const SITE = 3;
}
关于平台登录后平台标记问题:
用户登陆后,判断登录类型,并存到localStorage中,并存储LOGIN_URL,这样在vue http拦截器中,发生错误时,就可以被跳转到对应的登录页了;
const loginUrl = localStorage.getItem('WEB_TYPE_LOGIN');
router.replace({
path: loginUrl,
query: {redirect: router.currentRoute.fullPath}
})
平台首页截图
城市平台首页
商户平台首页
Tp5接口中,用到了获取管理员信息的接口,这里总结下:
管理员接口id不应该是传递过来的,应该根据token查找缓存的userInfo.然后userInfo.uid 获取到uid;
这里容易挖坑,一定不要根据传递的id操作后台数据;
Admin.php get代码;
public function get()
{
$vars = Token::getCurrentIdentity(['uid']);
$groupId = $vars['uid'];
if($groupId){
$data = AdminModel::where('id',$groupId)->find();
unset($data['pwd']);
}else{
$data = null;
}
return [
'data'=>$data
];
}