前端分层架构-网络层拆分

概览

此篇文章用于说明前端分层架构中网络层拆分的代码实现。

三层架构(未涉及state层)

view(视图层): 包含视觉组件、样式、dom的操作;
serviece(服务层:与view是 一对一关联关系):校验服务、处理业务状态码、数据收集服务等;
api (接口层):负责封装数据请求、发送请求报文、接收响应报文等。

代码实现

view层
// 引入service服务
var netService = require('services/checkSaveService');

// view层调用
netService.SomeOp({
    data: {
        // 请求体: reqbody
     },
     queryParams: {
         // url后追加参数
     },
     codeSuccess: function(data) {
         // 状态码:0000处理
     },
     codeError: function(data) {
         // 错误状态码:9999处理
     },
     error: function(e) {
        // 网络异常处理
     }
})
service层
var throwError = require('../utils/index').err; 

// 引入 Api 层服务
var APIs = require('../api/netApi'); 
var common = require('./common');

var services = {
   // 函数名称与 view层保持一致
   SomeOp: function(opt) {
       // 调用 Api层服务
       APIs.SomeOpApi({
           data: opt.data,
           queryParams: opt.queryParams,
           success: function(data) {
              if (data.code === '0000') {
                codeSuccess(data);
              } else {
                codeError(data);
              }
          },
          error: opt.error,
       })
    }
}

common.addValidOptions(services); 

module.exports = services;

Api 层

    // api
    var apiTools = require('../apiTools'); 
    var baseUrl = apiTools.baseUrl;
    var ajaxPost = apiTools.ajaxPost;

    module.exports = {
      SomeOpApi: function(opt) {
      var url = baseUrl + '/detail/url';

        ajaxPost({ 
          url: url, 
          data: opt.data, 
          queryParams: opt.queryParams, 
          srcSuccess: opt.success, 
          error: opt.error, 
        });
      }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容