当前位置: 首页 > article >正文

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

最近学习这个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之类的就不会直接操作页面元素,都是双向绑定。)


http://www.kler.cn/a/532328.html

相关文章:

  • 多线程的常用方法
  • 计算机视觉-边缘检测
  • 排序算法--归并排序
  • 【LeetCode 刷题】回溯算法(4)-排列问题
  • 图像处理之图像灰度化
  • 【memgpt】letta 课程1/2:从头实现一个自我编辑、记忆和多步骤推理的代理
  • ComfyUI工作流 参考图像生成人像手办(SDXL版)
  • Nginx的路径匹配规则 笔记250203
  • python渗透开发 高阶段位之 waf绕过sql注入 sqlmap --temper模块开发以及框架逻辑修改 以及解释Temper是什么?
  • Elasticsearch Kibana的下载与安装
  • 关于kamailio重启后无法启动,chatgpt给出的解决方案
  • 排序算法--堆排序
  • C++多线程编程——基于策略模式、单例模式和简单工厂模式的可扩展智能析构线程
  • http请求中的headers和body内容设置
  • 毕业设计:基于深度学习的高压线周边障碍物自动识别与监测系统
  • 如可安装部署haproxy+keeyalived高可用集群
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.23 稀疏矩阵:CSR格式的存储与运算
  • fiddler笔记
  • 基于Flask的抖音用户浏览行为分析系统的设计与实现
  • RocketMQ实战—3.基于RocketMQ升级订单系统架构
  • Rust 中的模块系统:控制作用域与私有性
  • ThreadLocal使用和原理
  • 【Unity2D 2022:UI】创建滚动视图
  • CTFHub信息泄露PHPINFO
  • Qt展厅播放器/多媒体播放器/中控播放器/帧同步播放器/硬解播放器/监控播放器
  • win32汇编环境,对话框程序生成选项卡(属性页\标签)控件及运用