0.0.11 • Published 4 years ago

myfun v0.0.11

Weekly downloads
19
License
Anti 996
Repository
-
Last release
4 years ago

安裝

npm i myfun

文件結構

  • src 源碼目錄
    • common 一些項目內部使用的模塊
      • index.ts 這個文件, 由於 部分 內部模塊的 實用性較高, 因此, 在這裡統一定義對外暴露
    • lib 對外暴露的函數庫, 所有可用函數的源碼所在
    • test 測試文件
  • dist 生產版本代碼目錄
    • myfun.min.js 經過壓縮的項目代碼

文檔

  • toFormData (data: object = {}): FormData

    • JSON 轉 FormData 的 函數
    • 接受一個 object 對象, 返回一個 FormData 對象
    • 將 JSON 轉爲 FormData 格式的 數據
      • 用於 AJAX 請求發送數據 爲 [object, object] (封裝的函數沒有進行深拷貝複製, 微信小程序便是如此),
      • 亦或者 後端程序員 不懂得(─.─||) 如何處理 JSON 字符串 的 情況
    • 參數
      • data, 必填, 一個 JSON 格式的 對象
    • 返回值
      • 一個 formData 對象
    • toFormData.wx(data: object = {}): object
      • 微信小程序沒有 FormData 對象,
      • 調用 toFormData 的 靜態方法 wx, 便可用於 微信小程序
      • 參數
        • data, 必填, 一個 JSON 格式的 對象
      • 返回值
        • object, 一個經過深拷貝處理, 可以被微信小程序解析爲一般 formData 的 object 對象
  • cookie

    • 對象實例
      • 提供一系列方法, 對 cookie 進行操作
    • units
    • timeUnit
    • set (key: string, value: string, deadline: number = 1440, path: string = '/')
      • 設置 cookie 的方法
      • key, 必填, cookie 的 名
      • value, 必填, cookie 的 值
      • deadline, 可選, cookie 的 期限時間, 默認單位爲-天 , 默認值爲 1天,
        • 單位可以 timeUnit 屬性進行修改設置
      • path, 可選, cookie 生效的頁面路径, 默認爲 '/'
    • get (key: string): string | null
      • 獲取 cookie 的方法
      • 獲取 對應 名字 的 cookie 值, 返回一個字符串, 獲取不到便返回 null
      • key, 必填, cookie 的 名
    • delete (key: string)
      • 刪除對應 鍵名 的 cookie
      • key, 必填, 要移除的 cookie 名
    • getAll (): object
      • 獲取 所有的 cookie, 返回一個 對象類型的 數據
  • toLocaleString(t: Date | string | number, format: string = 'YYYY-MM-DD hh:mm:ss', zeroPad: boolean = true): string

    • 格式化時間的函數
    • 參數
      • t, 必填, 一個符合 new Date() 構造函數規範 的 參數, 可以是 Date 類型, 日期字符串, 或者 時間戳
      • format, 可選, 時間的格式, 可包含 YYYY(年) | MM(月) | DD(日) | hh(時) | mm(分) | ss(秒),
      • zeroPad, 可選, 補零(日期時間值不滿10), 用於決定是否補零
    • 返回值
      • 一個格式化了的日期字符串
  • compressImg (args: Args, callback?: Function): Promise< object > | null

    • 圖片壓縮函數
    • 參數
      • args,
        • fileName: string, 必填, 壓縮後的文件名
        • src?: string, 和 file 二選一, 圖片路徑
        • file?: File, 和 src 二選一, 圖片文件
        • quality?: 可選, number 壓縮的圖片質量, 取值範圍 0 到 1, 默認 0.1, 以實現最大程度壓縮圖片
      • callback
        • 可選, 回調函數, 接受處理完的結果
        • 如果不傳, 則默認返回 promise 對象, 後續 通過 then 函數 或者 async/await 取得處理完的結果
      • 返回值
        • callback 參數存在, 即 返回 null
        • 否則, 返回 promise 對象
  • fileHandler

    • 對象實例
      • 提供處理文件的一些方法
      • 注: 該模塊, 最好在支持 Promise 對象 的 環境中 使用
    • fileToBase64 (file: File): Promise< string >
      • 文件 轉 base64 的方法
      • 參數
        • file, 必填 文件對象
      • 返回值
        • 一個 promise 對象, 響應處理結果(一個 base64 字符串)
    • base64ToFile (dataurl: string, fileName: string)
      • base64 轉 文件 的方法
      • 參數
        • dataurl, 必填, 要轉譯的 base64 字符串
        • fileName, 必填, 轉譯完的文件名
  • I18N

    • 類, Class
      • 用於項目國際化多語言配置
    • constructor (langStrings: object, lang?: string)
      • 構造函數,
      • langStrings, 必填, 語言配置對象
      • lang, 可選, 默認顯示的語言, 不填則使用 langStrings 首個屬性
    • 例如
        let langStrings = {
            cn: {
                "哇哈哈": '哇哈哈',
                "请输入链接": '请输入链接',
            },
            en: {
                "哇哈哈": 'wahaha',
                "请输入链接": 'place input url',
            },
        }
        let i18n = new I18N(langStrings)
        console.log(i18n.lang) // cn
        // ------
        let i18n = new I18N(langStrings, 'en')
        console.log(i18n.lang) // en
    • lang(屬性), string
      • 當前使用的語言版本, 通過更改此屬性, 更換語言版本
    • langStrings(屬性), object
      • 所有版本語言要翻譯的字段對象, 即爲構造函數傳入的那個對象
    • langs(屬性), Array<string>
      • 所有語言的標記字符串, 實爲 langStrings 對象的各個屬性名, 值用於設置 lang 屬性
    • strings(屬性), object
      • 要翻譯的字段名, 這是一個鍵值對完全一致的對象, 建議使用此對象的值作爲 getText() 方法 的參數
    • getText (key: string): string
      • 通過此方法, 獲取當前語言對應字段的文本
      • key, string, 要獲取的文本其對應的字段名
        • 建議使用 I18N 實例屬性 strings 屬性的值, 當然也允許直接傳入有效字符串, 如果傳入的字符串不存在, 則會報錯
        // 接上一個例子
        i18n.lang = 'en'
        i18n.getText(i18n.string.哇哈哈) // wahaha
        // 等同於
        i18n.getText('哇哈哈') // wahaha
        //報錯
        i18n.getText('哇哈哈555') // 哇哈哈555 is invalid value

項目倉庫

0.0.11

4 years ago

0.0.10

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago