React后台管理系统-后台接口封装
2024-09-02 03:02:30
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);
- });
最新文章
- 搭建自己的apache tomcat php mysql 环境和WordPress站点制作
- 篇一:JSON格式转换(一)
- spark操作geoip的domain数据库
- ArrayList 排序Sort()方法扩展
- Spring-Context之二:使用Spring提供的测试框架进行测试
- Android——ProgressDialog 进度条对话框
- 九度oj 1528 最长回文子串
- sqlserver删除表数据,并让自增长id变为默认值
- HDOJ(HDU) 2078 复习时间
- mysql索引之普通索引
- 【Unity与23种设计模式】适配器模式(Adapter)
- logback生成多个不同的日志文件
- SQL基本注入演示
- xampp 丢失api-ms-win-crt-runtimel1-1-0.dll 解决方案
- Confluence 6 查看系统信息
- _quest_random
- 漫步Java------初识java
- hackerrank答案
- shell case语法
- 发现环——第八届蓝桥杯C语言B组(国赛)第四题