intra-mart框架学习笔记:如何找到框架自带页面

发布于:2025-02-10 ⋅ 阅读:(30) ⋅ 点赞:(0)

最近学习这个intra-mart框架,只看官网API有点不明白,还是得找下框架自带页面,参考下页面是怎么写的。

在这里插入图片描述

比如找这个权限管理页面,先看路由,再看页面关键信息。

页面路由是/tenant/authz/settings,然后搜索项目。

在这里插入图片描述

找到了这个文件,/WEB-INF/conf/routing-jssp-config/im_authz.xml,里面的page的值是tenant/authz/views/admin。找这个文件夹下的文件。

在这里插入图片描述

找到了/WEB-INF/jssp/platform/src/tenant/authz/views/admin.html文件,但是是空的;没关系,还有/WEB-INF/jssp/platform/src/tenant/authz/views/admin.js文件。

在这里插入图片描述

代码写着,转发到了settings,那就看settings.htmlsettings.js

在这里插入图片描述

在这里插入图片描述

可以看到,是有内容的;js文件里还有个配着im_authz_impl_router,确定就是这个文件了。
(PS:试了下,修改了这个值,必须重启项目,页面才会刷新;如果不重启,页面就不会变化,还以为找错了)
在这里插入图片描述

改成123测试了下,是这个页面文件。

在这个js文件里,找到了这些代码:

  // サブジェクトカテゴリ一覧の作成
  for (var li = ret.data.length, i = 0; i < li; i++) {
    var subjectCategory = ret.data[i];
    jQuery('#subject_category_list').append('<li id="subject_category_list_' + i + '" class="ui-state-default sortable-list"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span></li>');
    var item = jQuery('#subject_category_list_' + i);
    jQuery.data(item.get(0), 'index', i);
    jQuery.data(item.get(0), 'cid', subjectCategory.subjectCategoryId);
    item.text(subjectCategory.subjectCategoryName);
    item.mousedown(function() {
      jQuery('#subject_category_list li').removeClass('ui-state-highlight');
      jQuery(this).addClass('ui-state-highlight');
    });
    item.mouseup(function() {
      clickMoveSubjectCategory(jQuery(this), jQuery.data(jQuery(this).get(0), 'cid'));
    });
  }

  // ダイアログの表示
  jQuery('#subject_move_dialog').imuiDialog('open');
    var ret = {error:true};
    jQuery.ajax({
      headers:{'x-jp-co-intra-mart-ajax-request-from-imui-form-util':'true'},
      error:imuiTransitionToErrorPage,
      async:false, cache:false, dataType:'json', type:'POST', url:'<imart type="string" value=$result.currenPath escapeXml="false" escapeJs="true" />ajax_update_resource_group', data:{
        '<imart type="imSecureToken" mode="name" />': '<imart type="imSecureToken" mode="value" />',
        reqParams:request_parameters, key:request_key,
        resourceGroupId:resourceGroupId,
        resourceGroupName:resourceGroupName,
        resourceGroup:ImJson.toJSONString(resourceGroup)
      },
      success:function(result) {
        ret = result;
        if (ret.error) {
          imuiShowErrorMessage(ret.errorMessage, ret.detailMessages);
        }
        if (ret.warning) {
          imuiShowWarningMessage(ret.warningMessage, '');
        }
      }
    });

说明这个框架,启动时会先把<imart>标签解析掉,并且用的是JQuery.ajax发送的请求,用JQuery直接根据id获取的页面元素,然后循环、添加子元素,实现的列表功能。(总感觉是个老框架,vue之类的就不会直接操作页面元素,都是双向绑定。)


网站公告

今日签到

点亮在社区的每一天
去签到