ajax接口复用配置

为什么要写配置文件,复用是根本。每个页面几乎都有动态数据,一个大型的项目可能有大几十个甚至是上百个页面,后台会给我们上线接口,本地接口,测试接口,项目走到下一个阶段要换接口进行调试更改,那是不是要上百个页面都改一遍ajax中的url呢?配置文件很重要,可以达到改一动百的效果。

config.js:

(function (w) {
    //商城
    var apiHost='http://192.168.199.107:8081';
    //云店
    var marketHost='http://192.168.199.107:8083';

    //配置项
    w.C={};
    //商城域名
    C.host=apiHost+'/mall/mobile/';
    //云店域名
    C.market=marketHost+'/market/mobile/';

    //token
    C.token='2017082718351860892b7312e7b74b40b0a9923fb14aeb6a14';
    C.marketToken='2017083115112355218e2b82ee170c4ba6b4b648dc2101aa10';

    //获取微信oppenId
    C.getWxUserInfo='http://www.rrfun.com.cn/Uc/getInfo';

    //商城接口
    C.interface={
        //折扣商城首页
        discount:'product/index',
        //商品详情
        detail:'product/detail',
        //意见反馈
        opinion:'uc/feedback/add',
        //商品类别
        selectType:'index/categorys',
        //显示所有的收货地址
        allAddress:'uc/address/list',
        //添加收货地址
        addAddress:'uc/address/add',
        //修改收货地址
        insertAddress:'uc/address/edit',
        //删除收货地址
        deleteAddress:'uc/address/delete',
        //根据商品id获得所有评价信息
        detailComment:'product/feedbacks',
        //秒杀首页
        seckill:'seckill/list',
        //秒杀详情
        seckillDetail:'seckill/detail',
        seckillBanner:'seckill/banners'

    };
    //云店接口
    C.marketInterface={
        //店铺分享
        share:'uc/store/share',
        //我的店铺
        myShop:'uc/store/index',
        //东东推个人中心
        my:'uc/index',
        // 绑定手机号
        bindingtel:'uc/phone/bind',
        // 设置
        setup:'uc/set/index',
        //团队管理
        teamadmin:'uc/group/index',
        //我的团队
        myteam:'uc/group/peoples',

        //我的老师
        myTeacher:'uc/teacher/index',
        //注册登录提交验证码
        reg:'login/reg',
        //获取公告
        notice:'notice/list',
        //公告详情
        noticeDetail:'notice/detail',
        //商品中心
        discount:'product/index',
        //商品类别
        selectType:'index/categorys',
        //推广中心
        promotionCenter:'index/index',
        //销售管理(成功,失败,交易中)
        orderList:'uc/order/list',
        //个人店铺中删除商品
        delMyShop:'uc/store/del',
        //分享给朋友或朋友圈
        shareFriend:'product/send',
        //微信群发波次商品
        batchShare:'product/weixinBatch',
        //微信群发当前波的商品
        weixinBatchSend:'product/weixinBatchSend',
        //发送到微信朋友圈
        friendBatch:'product/friendBatch',
        //秒杀首页
        seckill:'seckill/list',
        //秒杀详情
        seckillDetail:'seckill/detail',
        seckillBanner:'seckill/banners'
    };

    //商城组合接口地址
    for (k in C.interface){
        C.interface[k]=C.host + C.interface[k];
    }

    //云店组合接口地址
    for (k in C.marketInterface){
        C.marketInterface[k]=C.market+C.marketInterface[k];
    }

    //获取当前域名
    var localHostUrl = window.location.href.replace(/(\?.+?)$/g, '');
    localHostUrl = localHostUrl.replace(localHostUrl.split("/").pop(), '');
    C.localHostUrl = localHostUrl;

})(window);

正常js文件:

$(document).ready(function () {
    //获取到url后面的productId,这个是标识
    function locationSearcher(key) {
        var search = location.search.split('?');
        if(search.length>1){
            var params = search[1].split('&');
            for(var i=0;i<params.length; i++){
                var item = params[i].split('=');
                var k = item[0];
                if(key == k){
                    return item[1];
                }
            }
        }
        return null;
    }

    var detailId=locationSearcher('productId');
    // console.log(detailId);

    //Handlebars详情数据模板
    var detailTpl=$('#detail-template').html();
    var detailCmp=Handlebars.compile(detailTpl);

    $.ajax({
        url:C.interface.detail,
        type:'POST',
        dataType:'json',
        data:{
            productId:detailId,
        },
        success:function (response) {
            if (response.result=='success'){
                var data=response.data;
                //Handlebars详情数据模板
                $('#detail-content-box').html(detailCmp(data));

            }else if (response.result == 'login') {
                alert('您还没有登录,请登录');
            } else {
                alert(response.errorMsg);
            }
        }
    });

});
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,404评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,958评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,766评论 18 399
  • 作者:朱自清七舅老爷他三外甥女(大雾) 记得小学时学朱自清的一篇散文《匆匆》,文中的这样一段话让我印象深...
    夜叶靥阅读 265评论 0 0
  • 要埋头读书,更要抬头看方向。 完全跟着老师走,那是中下生。 优秀的学生,自己把脉,自己找短板,自己提高。 进入初三...
    躲进小楼看灯火阅读 145评论 0 0