首页 > 编程语言 >小程序 XQTypeScriptFramework 使用

小程序 XQTypeScriptFramework 使用

时间:2022-11-24 17:56:24浏览次数:65  
标签:obj string 扩展 元素 程序 param XQTypeScriptFramework 使用 xq

说明

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 ;

}

标签:obj,string,扩展,元素,程序,param,XQTypeScriptFramework,使用,xq
From: https://www.cnblogs.com/IT-IOS-MAN/p/16922691.html

相关文章

  • MassTransit - .NET Core 的分布式应用程序框架
    简介MassTransit是一个免费的、开源的.NET分布式应用程序框架。MassTransit使创建应用程序和服务变得容易,这些应用程序和服务利用基于消息的松散耦合异步通信来实现更......
  • ubuntu 20.04使用kubeadm安装k8s集群
    本文主要用于记录,步骤参考了:https://blog.csdn.net/weixin_44559544/article/details/123381441一、设备相关准备1、修改节点主机名,这样好区分我总共是三台......
  • Node.js使用path模块处理文件路径
    首先需要引入path模块varpath=require('path');1.文件路径处理:path.normalize(p)。path模块中的normalize()方法用来规范化路径字符串。可用于处理路径中的”//”、”........
  • git 使用
    假设开发了一个新项目,想推送到远程,具体的操作方式和命令如下:1.本地新建文件夹(远程仓库的名称和本地新建文件夹名称一致即可)执行gitinit把这个文件夹变成Git可管理的......
  • JFinal使用
    下面主要介绍JFinal的最简单的配置,包括路由映射,数据库配置和操作,返回结果。1.在web.xml中做如下配置:<filter><filter-name>jfinal</filter-name><filter-class>com.......
  • nginx使用wss协议出现wss handshake: Unexpected response code: 400
    在nginx中配置好https协议之后,我以为可以使用反向代理在tomcat容器中的页面js调用websocket用wss了,但是没想到居然报了个错:handshake:Unexpectedresponsecode:400查了一......
  • C# 如何将Word、Excel、PPT转成PDF文件(使用Spire提供的组件)学习
    第一步:新建一个winform项目,下载Spire组件dll下载Spire.Doc、Spire.XLS、Spire.Presentation,路径:工具--NuGet包管理器--管理解决方案NuGet程序包1)Spire.Doc:word转成其它......
  • 服务器配置nginx和tomcat都使用https协议
    如果服务器需要配置https协议,我们很容易的在nginx上加入相应的证书配置就可以实现,但是如果我们服务器的环境有php和Java这两种的话,而Java使用的是tomcat容器,但是又想实现两......
  • jsTree使用
    jsTree可以显示一个树状视图,支持复选框选中,选中触发事件等:其中主要用到的方法有:1.设置数据:这里的data一般是ajax请求服务器返回的,必须要有id,parent,text这三个字段用于显......
  • redis基本使用
    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sortedset:有序集合)。以下是一些基本用法1.string添加获取setname"xiaoxiaohei"getname获取字串GETR......