base.js,通用js方法,Js方法封装

================================

©Copyright 蕃薯耀 2020-08-11

https://www.cnblogs.com/fanshuyao/

base.js

//增加window.console定义,解决IE6、7、8、9使用console.log报未定义的错误
window.console = window.console || (function(){
    var c = {}; 
    c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){};
    return c;
})();

/**
* 去掉字符串头尾空格
* @param str 传入的字符串值
*/
function trim(str) {
    if(str == null || typeof str == "undefined"){
        return "";
    }
    return str.replace(/(^\s*)|(\s*$)/g, "");
};

/** 
 * 是否为Null 
 * @param object 
 * @returns {Boolean} 
 */  
function isNull(object){  
    if(object == null || typeof object == "undefined"){  
        return true;  
    }  
    return false;  
}; 

/** 
 * 是否为空字符串,有空格不是空字符串 
 * @param str 
 * @returns {Boolean} 
 */  
function isEmpty(str){  
    if(str == null || typeof str == "undefined" ||   
            str == ""){  
        return true;  
    }  
    return false;  
};

/** 
 * 是否为空字符串,有空格也是空字符串 
 * @param str 
 * @returns {Boolean} 
 */  
function isBlank(str){  
    if(isEmpty(str) || isEmpty($.trim(str))){  
        return true;  
    }  
    return false;  
};

function removeLastCode(str){
    if(str == null || str.length < 1){
        return str;
    }
    return str.substring(0, str.length-1);
};

/**
 * 设置select选中
 * @param selectId select的id值
 * @param checkValue 选中option的值
*/
function setOptionSelected(selectId, checkValue){
    var select = document.getElementById(selectId);
    for(var i=0; i<select.options.length; i++){
        if(select.options[i].innerHTML == checkValue){
            select.options[i].selected = true;
            break;
        }
    }
};

/**
 * 获取checkbox选中数量
 * @param name checkbox的name值
*/
function getCheckBoxLength(name){
    var length = 0;
    var checkboxes;
    if(name == null || name == ""){
        checkboxes = document.getElementsByTagName("input");
        for(var j=0;j<checkboxes.length;j++){
            if(checkboxes[j].type=='checkbox' && checkboxes[j].checked){
                length+=1;
            }
        }
    }else{
        checkboxes = document.getElementsByName(name);
        for(var i=0;i<checkboxes.length;i++){
            if(checkboxes[i].checked){
                length+=1;
            }
        }
    }
    return length;
};

function getCheckedLength(name){
    var length = 0;
    if(name == null || name == ""){
        alert("请添加参数name");
    }else{
        var inputs = document.getElementsByName(name);
        for(var i=0;i<inputs.length;i++){
            if(inputs[i].checked){
                length += 1;
            }
        }
    }
    return length;
};


/**
 * 只返回一个checkbox的值
 * @param name
 * @returns
 */
function getCheckedValue(name){
    var value = null;
    if(name == null || name == ""){
        alert("请添加参数name");
    }else{
        var inputs = document.getElementsByName(name);
        for(var i=0;i<inputs.length;i++){
            if(inputs[i].checked){
                value = inputs[i].value;
                break;
            }
        }
    }
    return value;
};

/**
 * 返回勾选checkbox的所有值(字符串,通过,分隔)
 * @param name
 * @returns
 */
function getCheckedValues(name){
    var values = "";
    if(name == null || name == ""){
        alert("方法getCheckedValues(name)需要添加参数name");
    }else{
        var inputs = document.getElementsByName(name);
        if(inputs != null && inputs.length > 0){
            var splitCode = ",";
            for(var i=0; i<inputs.length; i++){
                if(inputs[i].checked){
                    values  += inputs[i].value + splitCode;
                }
            }
            if(values.indexOf(splitCode) > -1){
                values = removeLastCode(values);
            }
        }
    }
    return values;
};

/**
 * 设置checkbox选中,同时适用于设置radio选中
 * @param name checkbox的name属性
 * @param checkValues checkbox的选择的值,通过英文逗号(,)连接
 */
function setChecked(name, checkValues){
    var checkboxes = document.getElementsByName(name);
    var checkboxesLength = checkboxes.length;
    
    var checkValuesArray = checkValues.split(",");
    var checkValuesArrayLength = checkValuesArray.length;
    
    if(checkboxesLength > 0 && checkValuesArrayLength > 0){
        for(var i=0; i<checkboxesLength; i++){
            for(var j=0; j<checkValuesArrayLength; j++){
                if(checkboxes[i].value == checkValuesArray[j]){
                    checkboxes[i].checked = true;
                    break;
                }
            }
        }
    }
};

/**
 * 根据id让Checkbox选中
 * @param id
 */
function checked(id){
    document.getElementById(id).checked = true;
};

/**
 * 根据id判断Checkbox是否选中
 * jquery方式:$("input[type='checkbox']").is(':checked')
 * @param id
 * @returns {Boolean}
 */
function isChecked(id){
    if(isEmpty(id)){
        alert("isChecked(id)方法中的id不能为空");
        return;
    }
    if(document.getElementById(id).checked){
        return true;
    }
    return false;
};

/**
 * 根据name判断Checkbox是否选中,有一个选中即返回true,所有不选中则返回false
 * @param name
 * @returns {Boolean}
 */
function isCheckedByName(name){
    if(isEmpty(name)){
        alert("isCheckedByName(name)方法中的name不能为空");
        return;
    }
    var checkboxes = document.getElementsByName(name);
    if(checkboxes != null && checkboxes.length > 0){
        for(var i=0; i<checkboxes.length; i++){
            if(checkboxes[i].checked){
                return true;
            }
        }
    }
    return false;
};

/**
 * 根据name判断所有Checkbox是否选中,所有选中则返回true,一个没选中返回false
 * @param name
 * @returns {Boolean}
 */
function isCheckedAllByName(name){
    if(isEmpty(name)){
        alert("isCheckedAllByName(name)方法中的name不能为空");
        return;
    }
    var checkboxes = document.getElementsByName(name);
    var checkboxesLength = checkboxes.length;
    var count = 0;
    if(checkboxes != null && checkboxesLength > 0){
        for(var i=0; i<checkboxesLength; i++){
            if(checkboxes[i].checked){
                count ++;
            }
        }
        if(count == checkboxesLength){//由于上面已经判断checkboxesLength > 0,这里不需要判断count==0,因为checkboxesLength已经不为0
            return true;
        }
    }
    return false;
};


/*
function thisIframeHeightAuto(){
    setIframeHeight("auditList");
};
 */
//window.setInterval("iframeHeightAuto()", 200);
function setIframeHeight(iframeId){
    var cwin = document.getElementById(iframeId);
    if(document.getElementById){
        if(cwin && !window.opera){
            if(cwin.contentDocument && cwin.contentDocument.body.offsetHeight){
                cwin.height = cwin.contentDocument.body.offsetHeight;//FF NS
                //console.log("FF NS cwin.height=" +cwin.height);
            }else if(cwin.Document && cwin.Document.body.scrollHeight){
                cwin.height = cwin.Document.body.scrollHeight;//IE
                //console.log("IE cwin.height=" +cwin.height);
            }
        }else if(cwin.contentWindow.document && cwin.contentWindow.document.body.scrollHeight){
            cwin.height = cwin.contentWindow.document.body.scrollHeight;//Opera
        }
    }
    //console.log("cwin.height=" + cwin.height);
};

/**
 * 是否为数字(仅正数),包括正整数、正小数、0
 * @param value
 * @returns
 */
function isNumber(value){
    var z_reg = /^(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/;
    return z_reg.test(value);
};

/**
 * 是否为所有数字(正数、负数),包括整数、小数、0
 * @param value
 * @returns
 */
function isNumberAll(value){
    var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)?$/;
    return z_reg.test(value);
};

/**
 * 是否为正整数,包括正整数和0
 * @param value
 * @returns
 */
function isInteger(value){
    var z_reg = /^(([0-9])|([1-9]([0-9]+)))$/;
    return z_reg.test(value);
};

/**
 * 是否为所有整数,包括正整数、负整数、0
 * @param value
 * @returns
 */
function isIntegerAll(value){
    var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))$/;
    return z_reg.test(value);
};

/**
 * 是否为小数(仅正小数)
 * @param value
 * @returns
 */
function isDouble(value){
    var z_reg = /^(([0-9])|([1-9]([0-9]+)))(.[0-9]+)$/;
    return z_reg.test(value);
};

/**
 * 是否为所有小数(正小数、负小数、0.0)
 * @param value
 * @returns
 */
function isDoubleAll(value){
    var z_reg = /^(-)?(([0-9])|([1-9]([0-9]+)))(.[0-9]+)$/;
    return z_reg.test(value);
};

(如果你觉得文章对你有帮助,欢迎捐赠,^_^,谢谢!) 

================================

©Copyright 蕃薯耀 2020-08-11

https://www.cnblogs.com/fanshuyao/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Uniapp 是一个基于 Vue.js 的跨平台应用开发框架,提供了一套完整的开发工具和开发文档。在 Uniapp 中使用 Vue3 的方式与 Vue2 类似。 接口封装是在前端项目中常用的一种技术,目的是为了方便调用接口、重用代码,并且可以进行错误处理、数据转换等操作。下面是一个简单的接口封装示例: ```javascript import { request } from '@/utils/request.js' const baseUrl = 'http://example.com/api/' export const getUserInfo = (params) => { return request({ url: `${baseUrl}/getUserInfo`, method: 'get', params }) } export const login = (data) => { return request({ url: `${baseUrl}/login`, method: 'post', data }) } ``` 在上面的示例中,我们使用 `request` 方法来发送请求。这里的 `request` 方法是我们封装的一个通用请求方法,可以进行一些全局配置,例如设置请求头、错误处理等。我们可以在 `utils/request.js` 中定义这个方法: ```javascript import axios from 'axios' // 创建 axios 实例 const service = axios.create({ baseURL: process.env.VUE_APP_BASE_API, // api 的 base_url timeout: 5000 // 请求超时时间 }) // 请求拦截器 service.interceptors.request.use( config => { // 在请求发送之前做一些处理 return config }, error => { // 处理请求错误 console.error(error) return Promise.reject(error) } ) // 响应拦截器 service.interceptors.response.use( response => { // 在响应之前做一些处理 return response.data }, error => { // 处理响应错误 console.error(error) return Promise.reject(error) } ) export default service export const request = (config) => { return service(config) } ``` 在上面的示例中,我们使用了 Axios 库来发送请求,并且定义了一个 `service` 实例作为全局的请求实例。在 `request` 方法中,我们通过调用 `service(config)` 来发送请求,并返回一个 Promise 对象。在请求拦截器和响应拦截器中,我们可以进行一些公共处理,例如设置请求头、错误处理、数据转换等。 最后,在我们的业务代码中,我们可以直接调用 `getUserInfo` 和 `login` 方法来发送请求,例如: ```javascript import { getUserInfo, login } from '@/api/user.js' // 获取用户信息 getUserInfo({ id: 1 }).then(res => { console.log(res) }).catch(err => { console.error(err) }) // 用户登录 login({ username: 'admin', password: '123456' }).then(res => { console.log(res) }).catch(err => { console.error(err) }) ``` 在上面的示例中,我们通过引入 `api/user.js` 文件来调用封装好的接口方法,并且可以处理请求成功和请求错误的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值