1.1.3 • Published 5 years ago

columbus-base-x v1.1.3

Weekly downloads
12
License
MIT
Repository
-
Last release
5 years ago

columbus-base-x

提供安全的base64的快速编解码方案

# use yarn
yarn add columbus-base-x

# use npm
npm i columbus-base-x -S

CHANGELOG

API

encode

encode(url, params, include)

入参

属性类型默认值说明
urlstring-url地址
paramsobject-url需要携带的参数(会与原url携带的参数比较并增量更新)
includestring[]'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)

入参

属性类型默认值说明
paramsobject-需要编码的对象

返回值

返回编码后的字符串

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)

入参

属性类型默认值说明
urlstring-url地址
includestring[]'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)

入参

属性类型默认值说明
strstring-字符串

返回值

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)

入参

属性类型默认值说明
urlstring-url地址
includestring[]'connect'若存在在include,则解码,否则返回原值

返回值

属性类型说明
pathUrlstring不含query的url地址
paramsobjecturl中携带的参数

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' }}
1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago