CMS

待解决问题:

  1. 公共组件的名字冲突问题(组件管理)
  • 同一模块在不同客户方的需求不一样,怎么适配
  • 框架规范的维护

建议的解决方法:

  1. 前端需要对页面完全控制【未实现】
  • [需要过程]目前的php主页还控制着CMS的权限处理,迁移到html需要和后端的配合。
  • 接口平台,及前端模拟数据的接入系统的方式【未实现】
  • [马上进行]代码model层使用model工厂通过接口配置文件来产出model。接口平台围绕接口配置文件做实现:1.管理配置 2.输出配置
  • 前端代码的可测试性【未实现】
  • 结合框架考虑
  • 组件管理,component.config【未实现】
  • 加载器,方便管理依赖
  • 使用requirejs/modjs,确认使用commonjs规范
  • MVVM
  • KnockoutJs/VueJs/...
  • 组件初始化命令,模块初始化命令

目录结构

- v3
  - common
    - lib  // 公共js(jquery,NBOSS)/公共样式/公共图片/其他非模块化静态资源
      - js
      - css
      - img
      - ...
    - c_base  // 命名需要考量。基础组件,如表格、表单验证、树
    - c_bus  // 命名需要考量。业务组件,如选择CP、选择业务号
        modelFactory.js  // model工厂
  - base
    - moduleA
      - js
        - A1.js
        - A2.js
      - css
        - A.css
      - img
      - A1.html
      - A2.html
    - moduleB
    - ...
  - ext_tw
  - ext_gx
  - ...

和薛老师讨论结果:

  1. 上面的目录结构
  • model工厂


    CMS_第1张图片
    Model工厂及接口输入
  • 模块加载器
define('base:module1/js/module1', function(require, exports, module){
        
    require('../css/module1.css');
    require('jquery');
    //require('Starcor.S67');
    var Starcor = require('Starcor.S67.MVC');
    var NOBSS = require('NBOSS');

    var model = require('modelFactory').getModel('double_epg');

    model.get_epg_list(params).then(function(data) {
      show(data);
    }).done().catch();

    module.exports = {
      destory: function() {
        
      }
    };
});

你可能感兴趣的:(CMS)