JSFiddle - React, Tailwind, and code Playground

by 兵兵 王

JavaScript

define(["cModel"], function(cModel) {
    var _GetWayModel = new cBase.Class(cModel, {
        __propertys__: function() {
            var urlinfo = {
                test: {
                    domain: 'gateway.m.fws.qa.nt.ctripcorp.com',
                    path: 'restapi/soa2/10419/json/'
                },
                pro: {
                    domain: 'm.ctrip.com',
                    path: 'restapi/soa2/10419/json/'
                }
            };
            this.baseurl = getBaseUrl(urlinfo);
            this.param = {};
        },
        initialize: function($super, options) {
            $super(options);
        },
        _buildurl: function() {
            return this.protocol + '://' + this.baseurl.domain + '/' + this.baseurl.path + (typeof this.url === 'function' ? this.url() : this.url) + util.paramStringify(this.param);
        },
        /**
         * 重写excute,因为经常需要同时在success和error函数里写hideloading操作,所以添加onalways
         * @param  {Fun} onsuccess 执行成功的操作
         * @param  {Fun} onerror   执行失败的操作
         * @param  {Fun} onalways  无论成功与否都执行的
         * @param  {Obj} self      上下文
         */
        mallExcute: function(onsuccess, onerror, onalways, self) {
            this.excute(function(json) {
                onalways && onalways();
                onsuccess && onsuccess(json);
            }, function(error) {
                onalways && onalways();
                onerror && onerror(error);
            }, false, self);
        }
    });
}