mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 12:18:42 +08:00 
			
		
		
		
	多模块重构 12:修改项目名字,按照新的规则
This commit is contained in:
		@@ -0,0 +1,69 @@
 | 
			
		||||
'use strict'
 | 
			
		||||
 | 
			
		||||
import * as utils from '../utils'
 | 
			
		||||
 | 
			
		||||
function encode(val) {
 | 
			
		||||
    return encodeURIComponent(val)
 | 
			
		||||
        .replace(/%40/gi, '@')
 | 
			
		||||
        .replace(/%3A/gi, ':')
 | 
			
		||||
        .replace(/%24/g, '$')
 | 
			
		||||
        .replace(/%2C/gi, ',')
 | 
			
		||||
        .replace(/%20/g, '+')
 | 
			
		||||
        .replace(/%5B/gi, '[')
 | 
			
		||||
        .replace(/%5D/gi, ']')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Build a URL by appending params to the end
 | 
			
		||||
 *
 | 
			
		||||
 * @param {string} url The base of the url (e.g., http://www.google.com)
 | 
			
		||||
 * @param {object} [params] The params to be appended
 | 
			
		||||
 * @returns {string} The formatted url
 | 
			
		||||
 */
 | 
			
		||||
export default function buildURL(url, params) {
 | 
			
		||||
    /* eslint no-param-reassign:0 */
 | 
			
		||||
    if (!params) {
 | 
			
		||||
        return url
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let serializedParams
 | 
			
		||||
    if (utils.isURLSearchParams(params)) {
 | 
			
		||||
        serializedParams = params.toString()
 | 
			
		||||
    } else {
 | 
			
		||||
        const parts = []
 | 
			
		||||
 | 
			
		||||
        utils.forEach(params, (val, key) => {
 | 
			
		||||
            if (val === null || typeof val === 'undefined') {
 | 
			
		||||
                return
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (utils.isArray(val)) {
 | 
			
		||||
                key = `${key}[]`
 | 
			
		||||
            } else {
 | 
			
		||||
                val = [val]
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            utils.forEach(val, (v) => {
 | 
			
		||||
                if (utils.isDate(v)) {
 | 
			
		||||
                    v = v.toISOString()
 | 
			
		||||
                } else if (utils.isObject(v)) {
 | 
			
		||||
                    v = JSON.stringify(v)
 | 
			
		||||
                }
 | 
			
		||||
                parts.push(`${encode(key)}=${encode(v)}`)
 | 
			
		||||
            })
 | 
			
		||||
        })
 | 
			
		||||
 | 
			
		||||
        serializedParams = parts.join('&')
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (serializedParams) {
 | 
			
		||||
        const hashmarkIndex = url.indexOf('#')
 | 
			
		||||
        if (hashmarkIndex !== -1) {
 | 
			
		||||
            url = url.slice(0, hashmarkIndex)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return url
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user