如何根据不同的组织显示苍穹主页面左上角的logo,登录页的二开原创
金蝶云社区-范老师加油
范老师加油
1人赞赏了该文章 578次浏览 未经作者许可,禁止转载编辑于2023年01月10日 20:25:59

关键词:登录页扩展,LOGO

一、需求

现在有一家集团公司,下属十余分公司,分属不同行业,比如食品,能源,汽车,每家分公司有各自不同的logo,

现要求,根据登录用户所在的组织去动态指定显示对应logo图片。

二、思路与方案


这里有个背景知识:如何设置登录页,这里介绍了统一的logo设置

https://developer.kingdee.com/article/229917129238516480?productLineId=29&isKnowledge=2

目前我们这个需求是要根据用户的登录组织不同去设置logo,是动态的,所以还是不一样的

那如何在组织上扩展logo图片呢?

可以参考下这个文章:

https://developer.kingdee.com/article/392375685656224512?productLineId=29

三、实现过程

1   扩展登录页

那我们回到需求,登录页的表单是哪个,又从哪里设置的呢?

我们登录后跳转的页面url已经告诉我们,以本地开发的url为例
http://localhost:8080/ierp/?formId=pc_main_console

我们可以看到,登录后跳转的页面就是pc_main_console,对其进行扩展(只需要在上面加上插件即可)


image.png

在这里我们就可以看到logo就是我们这次要改动的字段了

2   编写插件

代码实现:

public class OrgLogoPlugin  extends AbstractFormPlugin{
	public void afterBindData(EventObject event) {
		long userId = RequestContext.get().getCurrUserId();
			
		long orgId = UserServiceHelper.getUserMainOrgId(userId);
		DynamicObject org= BusinessDataServiceHelper.loadSingle(orgId,"bos_org");						
		String logoUrl=(String) org.get("bidt_picturefield");//获取图片地址
 		Image logo = (Image)getControl("logo");
 		
 		//本地轻量需要加这个前缀
 		logoUrl="http://localhost:8080/ierp/attachment/downloadImage/"+logoUrl;
 		logo.setUrl(logoUrl);
		
	}
}


四、效果图

根组织下人员的登录logo

image.png

另一个组织的登录logo

image.png

五、开发环境版本

COSMICV5.0.003.0

六、参考资料

【开发平台】指导手册

学习成长中心


图标赞 1
1人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0