zoukankan      html  css  js  c++  java
  • 关于分层架构的思想

    问题:在写用户登录模块的时候,要请求相应的接口,这时接口的封装涉及到分层架构

    解决:

    1.工具层:封装ajax请求的公共方法

    2.数据层:根据不同的模块,对应封装不同的请求接口

    3.业务层:调用相应的接口函数,传相应的参数

    class MUtil {
    	request(param){
    		return new Promise((resolve,reject) =>{
    			$.ajax({
    				type     : param.type     || 'get',
    				url      : param.url      || '',
    				dataType : param.dataType || 'json',
    				data     : param.data     || null,
    				success  : res => {
    					//请求成功
    					if (res.status === 0){
    						typeof resolve === 'function' &&	resolve(res.data,res.msg)//resolve为true,执行后面的语句
    					}
    					//未登录
    					else if (res.status === 10){
    						this.doLogin();
    					}else{
    						typeof reject === 'function' &&	reject(res.msg || res.data)//resolve为true,执行后面的语句
    					}
    				},
    				err      : err => {
    					typeof reject === 'function' &&	reject(err.statusText)
    				}
    
    			});
    		})
    
    	}
    	//跳转登录
    	doLogin(){
    		window.location.href = '/login?redirect=' + encodeURIComponent(window.location.pathname) ;//处理特殊字符,安全处理
    	}
    
    }
    export default MUtil;
    

     

    import Mutil 		from 'util/mm.jsx';
    const _mm = new Mutil();
    
    class User{
    	login(loginInfo){
    		return	_mm.request({
    				type:'post',
    				url : '/manage/user/login.do',
    				data:loginInfo
    			})
    	}
    }
    export default User;
    

      

    	onSubmit(){
    		_user.login({
    			username:this.state.username,
    			password:this.state.password
    		})
    		.then((res)=>{
    
    		}, (err)=>{
    
    		})
    	}
    

      

     

  • 相关阅读:
    查看Android应用所需权限(uses-permission)
    Android Camera后台拍照
    傅里叶变换
    linux文件系统问题:wrong fs type, bad option, bad superblock
    H3 android 系统编译
    开源股票数据工具
    获取股票实时交易数据的方法
    获取历史和实时股票数据接口
    CRC在线计算工具
    硬盘自动挂载
  • 原文地址:https://www.cnblogs.com/ipoodle/p/9751260.html
Copyright © 2011-2022 走看看