我通过Ajax进行了权限检查:
Ext.Ajax.request({
url: [url_php],
params: {
ssid: Ext.util.Cookies.get("token"),
access_id: 1000000057
},
success: function(response, opts){
res = Ext.decode(response.responseText);
if (res.success == true) {
Ext.getCmp('CardUser').setHidden(false);
}
},
});
事实证明会有很多。可以将其输出到一个单独的函数中,例如为了代码的紧凑性吗?
因此,您可以覆盖Ext.Component以在其中添加权限机制。将会是这样的:
Ext.define('overrides.Component', {
override: 'Ext.Component',
accessId: false,
initComponent: function () {
this.callParent();
if (this.accessId) {
this.checkPermissions()
}
},
checkPermissions() {
Ext.Ajax.request({
url: 'checkPermissions.json',
params: {
ssid: Ext.util.Cookies.get("token"),
access_id: this.accessId
},
success: function (response, opts) {
res = Ext.decode(response.responseText);
this.setHidden(res.success === true);
},
scope: this
});
}
});
“ Ext.Component”是所有Ext元素(文本字段,表单,网格..工具栏)的基类。因此,所有子组件都将获得此功能。
在下面的小提琴示例中,gui子元素发出ajax请求并在成功后将其自身隐藏:false(随机)。只需重新运行该应用程序即可查看结果。
当然,您必须根据需要编辑此解决方案。
该解决方案的缺点:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句