说明

XQTypeScriptFramework 隶属于 XQFramework 下 JS 基础性框架部分

XQFramework 励志将开发将常用开发语言 基础性框架 统一汇总,为全站开发使用到的基础语法进行统一,拜托不同语言间基础语法不一致的痛点,让全站开发门更加的便捷,若XQFramework有不足之处,诚心聆听大佬们的宝贵意见对 XQFramework 进行升级改造

安装

npm install xq-type-script-framework

yarn add xq-type-script-framework

传送门

使用

全部引入
project.config.json 配置:

"packNpmManually": true,
"packNpmRelationList": [
      {
        "packageJsonPath": "./miniprogram/package.json",
        "miniprogramNpmDistDir": "/miniprogram/"
      }
  ],

tsconfig.json 配置:

{
  "compilerOptions": {
    "types": [
      "miniprogram-api-typings",
      "xq-type-script-framework"
    ]
  },
  "include": [
    "./**/*.ts",
    "./miniprogram/node_modules/**/*.ts"
  ],

扩展汇总


  • Array
  • Date
  • Object
  • String

扩展部分使用示例

注:整个 xq-type-script-framework 处理 NULL 指针,开发过程中无需为 NULL 指针做处理

// 判断是否为空
["iOS", "Android"].xq_isNull(); // false
// 判断是否为空
"XQFramework".xq_isNull(); // false
// 获取第一个对象
["iOS", "Android"].xq_firstElement(); // "iOS"
// 获得纯文件名,带后缀
"https://avatars.githubusercontent.com/u/22712251.png".xq_lastPathComponent(); // 22712251.png

扩展明细

  • Array 扩展方法
/**
 * 数组扩展工具类
 */
interface Array< T > {

  /**
   * 获取第一个元素
   */
  xq_firstElement(): T | undefined;

  /**
   * 获取最后一个元素
   */
  xq_lastElement(): T | undefined;

  /**
   * 添加一个元素
   * @param obj  元素
   */ 
  xq_addElement(obj: T): void;

  /**
   * 添加一组元素
   * @param objs  元素
   */ 
  xq_addElements(objs: T[], index: number): void;

  /**
   * 插入一个元素
   * @param obj  元素
   * @param index  添加元素的位置下标 默认数组的尾部
   */ 
  xq_insertElement(obj: T, index: number): void;

  /**
   * 插入一组元素
   * @param objs  元素
   * @param index  添加元素的位置下标 默认数组的尾部
   */ 
  xq_insertElements(objs: T[], index: number): void;

  /**
   * 删除指定元素
   * @param obj 元素
   */
  xq_removeElement(obj: T) : void;

  /**
   * 获取元素下标
   * @param obj 元素
   */
  xq_indexOfElement(obj: T): number;

  /**
   * 删除指定下标元素
   * @param index 下标
   */
  xq_removeElementAtIndex(index: number) : void;

  /**
   * 数组是否包含某个元素
   * @param obj 
   */
  xq_containsObject(obj: T): boolean;

  /**
   * 清除数组
   */
  xq_clean(): void;
}
  • 日期扩展方法
/**
 * Date 扩展工具类
 */
interface Date {

  /**
   * 时间格式化 yyyy-MM-dd HH:mm:ss
   */
  xq_format_yyyy_MM_dd_HH_mm_ss() : string;

  /**
   * 时间格式化 yyyy-MM-dd
   */
  xq_format_yyyy_MM_dd() : string;

  /**
   * 时间格式化 MM-dd HH:mm
   */
  xq_format_MM_dd_HH_mm() : string;

  /**
   * 时间格式化 HH:mm:ss
   */
  xq_format_HH_mm_ss() : string;

  /**
   * 时间格式化 HH:mm
   */
  xq_format_HH_mm() : string;

  /**
   * 时间格式化
   * @param fmt 时间格式化格式
   */
  xq_format(fmt : string) : string;
}
  • Object扩展方法
/**
 * 类 扩展工具类
 */
interface Object {

  // 是否为空
  xq_isNull() : boolean;

  // 是否不为空
  xq_isNotNull() : boolean;
}
/**
 * 类 扩展工具类
 */
interface Object {
  /**
   * 模拟深拷贝
   * @param obj 拷贝对象
   */
  xq_deepClone(obj: any) : any;
}
  • String 扩展方法
/**
 *  扩展工具类
 */
interface String {

  /**
   * 唯一标识
   */
  xq_GUID() : string;

}
/**
 *  扩展工具类
 */
interface String {

  /**
   * 是否是电话号码
   */
  xq_isPhone() : boolean;

  /**
   * 是否是数字
   */
  xq_isNumber() : boolean;

}
/**
 * 字符串 扩展工具类
 */
interface String {

  /** 
   * 获得纯文件名,带后缀
   */
  xq_lastPathComponent() : string | undefined ; 

  /**
   * 获得文件路径,不带后缀
   */
  xq_stringByDeletingPathExtension() : string | undefined ;

  /**
   * 获得文件后缀
   */
  xq_pathExtension() : string | undefined ;
}
/**
 * 字符串 扩展工具类
 */
interface String {

  /**
   * 去掉多余空格
   */
  xq_removeSpace() : string | undefined ; 

  /**
   * 强转string(包含空字符串),并去掉多余空格
   */
  xq_removeSpaceWithEmpty() : string | undefined ;

}

原文地址:http://www.cnblogs.com/IT-IOS-MAN/p/16922691.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性