1新建文件夹 service ,里边建4个文件,分别是statistic-service.jsx 首页数据统计接口, user-service.jsx用户接口, product-service.jsx产品接口,order-service.jx订单接口

2.首页数据统计接口statistic-service
mm.jsx是封装的ajax请求,在上一边博客里边有讲到
- import MUtil from 'util/mm.jsx' 
- const _mm = new MUtil(); 
- class Statistic{ 
- // 首页数据统计 
- getHomeCount(){ 
- return _mm.request({ 
- url: '/manage/statistic/base_count.do' 
- }); 
- } 
- } 
- export default Statistic; 
3. 用户接口user-service
- 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 
- }); 
- } 
- // 检查登录接口的数据是不是合法 
- checkLoginInfo(loginInfo){ 
- let username = $.trim(loginInfo.username), 
- password = $.trim(loginInfo.password); 
- // 判断用户名为空 
- if(typeof username !== 'string' || username.length ===0){ 
- return { 
- status: false, 
- msg: '用户名不能为空!' 
- } 
- } 
- // 判断密码为空 
- if(typeof password !== 'string' || password.length ===0){ 
- return { 
- status: false, 
- msg: '密码不能为空!' 
- } 
- } 
- return { 
- status : true, 
- msg : '验证通过' 
- } 
- } 
- // 退出登录 
- logout(){ 
- return _mm.request({ 
- type : 'post', 
- url : '/user/logout.do' 
- }); 
- } 
- getUserList(pageNum){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/user/list.do', 
- data : { 
- pageNum : pageNum 
- } 
- }); 
- } 
- } 
- export default User; 
4.产品接口product-service
- import MUtil from 'util/mm.jsx' 
- const _mm = new MUtil(); 
- class Product{ 
- // 获取商品列表 
- getProductList(listParam){ 
- let url = '', 
- data = {}; 
- if(listParam.listType === 'list'){ 
- url = '/manage/product/list.do'; 
- data.pageNum = listParam.pageNum; 
- }else if(listParam.listType === 'search'){ 
- url = '/manage/product/search.do'; 
- data.pageNum = listParam.pageNum; 
- data[listParam.searchType] = listParam.keyword; 
- } 
- return _mm.request({ 
- type : 'post', 
- url : url, 
- data : data 
- }); 
- } 
- // 获取商品详情 
- getProduct(productId){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/product/detail.do', 
- data : { 
- productId : productId || 0 
- } 
- }); 
- } 
- // 检查保存商品的表单数据 
- checkProduct(product){ 
- let result = { 
- status: true, 
- msg: '验证通过' 
- }; 
- // 判断用户名为空 
- if(typeof product.name !== 'string' || product.name.length ===0){ 
- return { 
- status: false, 
- msg: '商品名称不能为空!' 
- } 
- } 
- // 判断描述不能为空 
- if(typeof product.subtitle !== 'string' || product.subtitle.length ===0){ 
- return { 
- status: false, 
- msg: '商品描述不能为空!' 
- } 
- } 
- // 验证品类ID 
- if(typeof product.categoryId !== 'number' || !(product.categoryId > 0)){ 
- return { 
- status: false, 
- msg: '请选择商品品类!' 
- } 
- } 
- // 判断商品价格为数字,且大于0 
- if(typeof product.price !== 'number' || !(product.price >= 0)){ 
- return { 
- status: false, 
- msg: '请输入正确的商品价格!' 
- } 
- } 
- // 判断库存为数字,且大于或等于0 
- if(typeof product.stock !== 'number' || !(product.stock >= 0)){ 
- return { 
- status: false, 
- msg: '请输入正确的库存数量!' 
- } 
- } 
- return result; 
- } 
- // 保存商品 
- saveProduct(product){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/product/save.do', 
- data : product 
- }); 
- } 
- // 变更商品销售状态 
- setProductStatus(productInfo){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/product/set_sale_status.do', 
- data : productInfo 
- }); 
- } 
- //查找一级品类列表 
- getCategoryList(parentCategoryId){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/category/get_category.do', 
- data : { 
- //没有传的话默认值就是0 
- categoryId : parentCategoryId || 0 
- } 
- }); 
- } 
- // 新增品类 
- saveCategory(category){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/category/add_category.do', 
- data : category 
- }); 
- } 
- // 修改品类名称 
- updateCategoryName(category){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/category/set_category_name.do', 
- data : category 
- }); 
- } 
- } 
- export default Product; 
5.订单接口order-service.jx
- import MUtil from 'util/mm.jsx' 
- const _mm = new MUtil(); 
- class Order{ 
- // 获取订单列表 
- getOrderList(listParam){ 
- let url = '', 
- data = {}; 
- if(listParam.listType === 'list'){ 
- url = '/manage/order/list.do'; 
- data.pageNum = listParam.pageNum; 
- }else if(listParam.listType === 'search'){ 
- url = '/manage/order/search.do'; 
- data.pageNum = listParam.pageNum; 
- data.orderNo = listParam.orderNo; 
- } 
- return _mm.request({ 
- type : 'post', 
- url : url, 
- data : data 
- }); 
- } 
- // 获取订单详情 
- getOrderDetail(orderNumber){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/order/detail.do', 
- data : { 
- orderNo : orderNumber 
- } 
- }); 
- } 
- sendGoods(orderNumber){ 
- return _mm.request({ 
- type : 'post', 
- url : '/manage/order/send_goods.do', 
- data : { 
- orderNo : orderNumber 
- } 
- }); 
- } 
- } 
- export default Order; 
6.解决跨域问题
在webpack.config里边 devserverr 里边的proxy配置即可解决

7.页面引入和使用
- import Statistic from 'service/statistic-service.jsx' 
- const _statistic = new Statistic(); 
- _statistic.getHomeCount().then(res => { 
- this.setState(res); 
- }, errMsg => { 
- _mm.errorTips(errMsg); 
- }); 
 
  
  
  
 
 
  
 
 
 