通用导航开发(逻辑层)

来自CloudWiki
跳转至: 导航搜索

视图层

在nav/index.js中添加如下内容:

'use strict'
require('./index.css');
var _mm =  require('util/mm.js');
var nav = {
	init : function() {
		this.bindEvent();
		this.loadUserInfo();
		this.loadCartCount();
		return this;
	},
	bindEvent : function() {
		//登录点击事件
		$('.js-login').click(function(){
			_mm.doLogin();
		});
		//注册点击事件
		$('.js-register').click(function(){
			window.location.href = './register.html';
		});
		//退出点击事件
		

	},
	loadUserInfo : function(){

	},
	loadCartCount : function(){

	}
};
module.exports = nav.init();

服务层

service/user-service.js:

'use strict';
var _mm =  require('util/mm.js');

var _user ={
        //检查登录状态
	checkLogin : function(resolve,reject){
		_mm.request({
			
			url: _mm.getServerUrl('/user/get_user_info.do'),
			method:'POST',
			success : resolve,
			error : reject
		});

	},
	logout : function(resolve,reject){
		_mm.request({
			//登出
			url: _mm.getServerUrl('/user/logout.do'),
			method:'POST',
			success : resolve,
			error : reject
		});

	}
}
module.exports = _user;

service/cart-service.js:

'use strict';
var _mm =  require('util/mm.js');

var _cart ={
	//获取购物车数量
	getCartCount : function(resolve,reject){
		_mm.request({
			//登出
			url: _mm.getServerUrl('/user/get_cart_product_count.do'),
			success : resolve,
			error : reject
		});

	}
}
module.exports = _cart;

视图层调用服务层

在nav/index.js调用user-service和cart-service:

'use strict'
require('./index.css');
var _mm =  require('util/mm.js');
var _user =  require('service/user-service.js');
var _cart =  require('service/cart-service.js');
var nav = {
	init : function() {
		this.bindEvent();
		this.loadUserInfo();
		this.loadCartCount();
		return this;
	},
	bindEvent : function() {
		//登录点击事件
		$('.js-login').click(function(){
			_mm.doLogin();
		});
		//注册点击事件
		$('.js-register').click(function(){
			window.location.href = './register.html';
		});
		//退出点击事件
		$('.js-logout').click(function(){
			_user.logout(function(res){
				window.location.reload();
			},function(errMsg){
                _mm.errorTips(errMsg);
			});
		});
		

	},
	//加载用户信息
	loadUserInfo : function(){
 		_user.checkLogin(function(res){
 			$('.user.not-login').hide().siblings('.user.login').show().
 			.find('.username').text(res.username);
 		},function(errMsg){
               // _mm.errorTips(errMsg);
		});

	},
	//加载购物车数量
	
	loadCartCount : function(){
       _cart.getCartCount(function(res){
 			$('.nav .cart-count').text(res || 0);
 		},function(errMsg){
 			$('.nav .cart-count').text(0);
               // _mm.errorTips(errMsg);
		});
	}
};
module.exports = nav.init();