缩短链接参数,使整个链接长度更短
缩短链接参数,使整个链接长度更短。
Intro在前端一些场景中,存在链接过长而导致一些意料之外的情况发生,其中一个主要的原因是链接中带的参数过多过长而导致。
query-serialization
尝试通过一些可配置的规则,根据已有的链接参数,进行压缩,生成新的链接参数,并提供可还原的方法。
key
别名:参数key
使用自定义别名的方式进行缩短。
基于规则:参数value
使用规则进行缩短,提供了默认规则,且可方便的新增自定义规则,以满足不同需求。
Usage
npm i -S query-serialization
import QuerySerialization from 'query-serialization'; let querySerialization = new QuerySerialization.default({ 'name1': [ { key: 'key1', alias: 'a', type: 'alias', values: { a: 'aaa', b: 'bbb', c: 'ccc' } }, { key: 'key2', alias: 'b', type: 'padRight', values: 'AR00000' } ], 'name2': [ { key: 'key3', alias: 'a', type: 'alias', values: { a: 'aaa', b: 'bbb', c: 'ccc' } }, { key: 'key4', alias: 'b', type: 'padLeft', values: '0000HR' } ] }); querySerialization.encode('name1', 'key1=aaa&key2=AR00123'); // output: {a:'a','b':'123'} querySerialization.decode('name1', 'a=a&b=123'); // output: {key1:: 'aaa', key2: 'AR00123'} API
实例化
QuerySerialization.default(option: object|array);
链接参数编码:encode(name: string, query: object|string): object
链接参数解码:decode(name: string, query: object|string): object
添加参数配置push(name, option)
删除参数配置delete(name, key)
添加规则addRule(option)
// option { name: 'custom', encode: function (values, value) { return value; }, decode: function (values. value) { return value; } }
删除规则delRule(name)
normal
: 默认,不做任何处理,直接返回;
alias
: 别名,values
为别名配置。根据配置返回别名;
padRight
: 右填充;
padLeft
: 左填充
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。