npm package: @qppq54s/js-utils
Description: <!-- toc -->
Latest version: 0.0.3

## `@qppq54s/js-utils` 项目中常用js方法抽取

<!-- toc -->

  * [Table of Contents](#table-of-contents)
- [clearCookies](#clearcookies)
  * [Parameters](#parameters)
- [parseUrlParam](#parseurlparam)
  * [Parameters](#parameters-1)
- [getHashParams](#gethashparams)
- [getUrlParamByKey](#geturlparambykey)
  * [Parameters](#parameters-2)
- [handleLogin](#handlelogin)
  * [Parameters](#parameters-3)
- [transcoding](#transcoding)
  * [Parameters](#parameters-4)
- [extractAddress](#extractaddress)
  * [Parameters](#parameters-5)

<!-- tocstop -->

<!-- api -->
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->

### Table of Contents

*   [clearCookies][1]
    *   [Parameters][2]
*   [parseUrlParam][3]
    *   [Parameters][4]
*   [getHashParams][5]
*   [getUrlParamByKey][6]
    *   [Parameters][7]
*   [handleLogin][8]
    *   [Parameters][9]
*   [transcoding][10]
    *   [Parameters][11]
*   [extractAddress][12]
    *   [Parameters][13]

## clearCookies

删除指定的cookie及其所有子域的cookie。

有时候，仅仅删除一个cookie并不足够，因为某些cookie可能在多个子域中设置。
这个函数旨在彻底删除指定名称的cookie及其在所有子域中的副本。
它首先尝试直接删除cookie，然后按从具体到通用的顺序遍历子域，逐一删除。

### Parameters

*   `tokenName` **[string][14]** 需要删除的cookie的名称。

## parseUrlParam

解析URL参数字符串为对象

### Parameters

*   `paramString` **[string][14]** URL参数字符串，例如："key1=value1\&key2=value2"

Returns **[Object][15]** 包含参数键值对的对象，例如：{ key1: 'value1', key2: 'value2' }

## getHashParams

获取URL的哈希参数部分。

该函数用于解析当前页面URL中哈希（#）部分之后的参数。它首先从URL中提取哈希部分，
然后将这个哈希字符串传递给parseUrlParam函数进行解析，最终返回解析后的参数对象。
这对于在单页面应用中根据URL的哈希部分动态改变页面内容非常有用。

Returns **[Object][15]** 返回一个对象，包含解析后的哈希参数键值对。

## getUrlParamByKey

获取URL查询参数的值

该函数用于从当前页面的URL中获取指定查询参数的值。它通过解析URL的查询字符串来实现。

### Parameters

*   `key` **[string][14]** 需要获取值的查询参数的名称

Returns **([string][14] | [undefined][16])** 返回查询参数的值，如果参数不存在，则返回undefined

## handleLogin

处理登录逻辑。
根据传入的tokenName和isDev参数，清除相关cookie，尝试从URL参数或hash参数中获取token。
如果获取到token，则将其保存到cookie中并重定向到登录后的页面。
如果在开发环境且未获取到token，则跳转到开发环境的登录页面。
如果在生产环境且未获取到token，则根据全局设置跳转到相应的登录页面。

### Parameters

*   `tokenName` **[string][14]** 用于保存token的cookie名称。
*   `isDev` **[boolean][17]** 是否为开发环境，用于决定登录失败时的跳转行为。

## transcoding

对代码进行编码转换。

该函数通过先对代码使用encodeURIComponent进行URL编码，然后将编码后的结果使用btoa进行Base64编码，
从而实现代码的转码。这一过程对于某些需要对代码进行安全传输或存储的场景十分有用。

### Parameters

*   `code` **[string][14]** 需要进行转码的原始代码。

Returns **[string][14]** 返回经过URL编码和Base64编码后的字符串。

## extractAddress

根据给定的完整地址字符串，提取出省、市、区和详细地址.

### Parameters

*   `fullAddress` **[string][14]** 完整的地址字符串，例如"北京市朝阳区某街道123号".

Returns **([object][15] | null)** 返回一个包含省、市、区和详细地址的对象，如果地址无法匹配则返回null.

[1]: #clearcookies

[2]: #parameters

[3]: #parseurlparam

[4]: #parameters-1

[5]: #gethashparams

[6]: #geturlparambykey

[7]: #parameters-2

[8]: #handlelogin

[9]: #parameters-3

[10]: #transcoding

[11]: #parameters-4

[12]: #extractaddress

[13]: #parameters-5

[14]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String

[15]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object

[16]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined

[17]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean

<!-- apistop -->