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);
-
});
