columbus-base-x
v1.1.3
Published
> 提供安全的base64的快速编解码方案
Downloads
2
Readme
columbus-base-x
提供安全的base64的快速编解码方案
# use yarn
yarn add columbus-base-x
# use npm
npm i columbus-base-x -S
API
encode
encode(url, params, include)
入参
属性 | 类型 | 默认值 | 说明 --- | ---| --- | --- url | string | - | url地址 params | object | - | url需要携带的参数(会与原url携带的参数比较并增量更新) include | string[] | ['connect'] | params对象中需要编码的key
若
params.key
的值为对象类型, 务必将使include
包含key
返回值
返回编码后的url
string
example
import { encode } from 'columbus-base-x';
const t1 = encode('https://example.com', { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }, ['connect', 'to']);
// https://example.com?connect=eyJpZCI6IjEyMyIsIm5hbWUiOiJ0ZXN0IiwiaG9va3MiOnsiaG9va3MxIjoiaG9va3MxIn19&from=wechat&to=cXFfYnJvd3Nlcg
const t2 = encode('https//example.com?from=baidu', { from: 'qq'});
// https://example.com?from=qq
encodeStringify
encodeStringify(params)
入参
属性 | 类型 | 默认值 | 说明 --- | ---| --- | --- params | object | - | 需要编码的对象
返回值
返回编码后的字符串
string
example
import { encodeStringify } from 'columbus-base-x';
const t = encodeStringify({ connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' });
// eyJjb25uZWN0Ijp7ImlkIjoiMTIzIiwibmFtZSI6InRlc3QiLCJob29rcyI6eyJob29rczEiOiJob29rczEifX0sImZyb20iOiJ3ZWNoYXQiLCJ0byI6InFxX2Jyb3dzZXIifQ
decode
decode(url, include)
入参
属性 | 类型 | 默认值 | 说明 --- | ---| --- | --- url | string | - | url地址 include | string[] | ['connect'] | 若存在在include,则解码,否则返回原值
返回值
url中携带的参数
object
example
import { encode, decode } from 'columbus-base-x';
const t1 = encode('https://example.com', { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }, ['connect', 'to']);
const t2 = decode(t1);
// { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'cXFfYnJvd3Nlcg' }
const t3 = decode(t1, ['connect', 'to']);
// { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }
decodeParse
decodeParse(str)
入参
属性 | 类型 | 默认值 | 说明 --- | ---| --- | --- str | string | - | 字符串
返回值
object | string
example
import { encodeStringify, decodeParse } from 'columbus-base-x';
const t1 = encodeStringify({ connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' });
const t2 = decodeParse(t1);
// { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }
decodeWithReturnPathUrl
decodeWithReturnPathUrl(url, include)
入参
属性 | 类型 | 默认值 | 说明 --- | ---| --- | --- url | string | - | url地址 include | string[] | ['connect'] | 若存在在include,则解码,否则返回原值
返回值
属性 | 类型 | 说明 --- | ---| --- pathUrl | string | 不含query的url地址 params | object | url中携带的参数
example
import { encode, decodeWithReturnPathUrl } from 'columbus-base-x';
const t1 = encode('https://example.com', { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }, ['connect', 'to']);
const t2 = decodeWithReturnPathUrl(t1, ['connect', 'to']);
// {pathUrl: 'https://example.com', params: { connect: { id: '123', name: 'test', hooks: { hooks1: 'hooks1' } }, from: 'wechat', to: 'qq_browser' }}