1.0.23 • Published 3 months ago

yonxin-test-plugin v1.0.23

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

用心公共小程序组件库

小程序自定义组件开发模板:

  • 支持使用 less 语法编写 wxss 文件
  • 使用 webpack 构建 js
  • 支持自定义组件单元测试
  • 支持 eslint
  • 支持多入口构建

使用

开发

  1. 安装依赖:
npm install
  1. 执行命令:
npm run dev

默认会在包根目录下生成 miniprogram_dev 目录,src 中的源代码会被构建并生成到 miniprogram_dev/components 目录下。如果需要监听文件变化动态构建,则可以执行命令:

npm run watch

ps: 如果 minirpogram_dev 目录下已存在小程序 demo,执行npm run dev则不会再将 tools 下的 demo 拷贝到此目录下。而执行npm run watch则会监听 tools 目录下的 demo 变动并进行拷贝。

  1. 生成的 miniprogram_dev 目录是一个小程序项目目录,以此目录作为小程序项目目录在开发者工具中打开即可查看自定义组件被使用的效果。

  2. 进阶:

  • 如果有额外的构建需求,可自行修改 tools 目录中的构建脚本。
  • 内置支持 webpack、less 语法、sourcemap 等功能,默认关闭。如若需要可以自行修改 tools/config.js 配置文件中相关配置。
  • 内置支持多入口构建,如若需要可自行调整 tools/config.js 配置文件的 entry 字段。
  • 默认开启 eslint,可自行调整规则或在 tools/config.js 中注释掉 eslint-loader 行来关闭此功能。

目录结构

以下为推荐使用的目录结构,如果有必要开发者也可以自行做一些调整:

|--miniprogram_dev // 开发环境构建目录
|--miniprogram_dist // 生产环境构建目录
|--src // 源码
|   |--components // 通用自定义组件
|   |--images // 图片资源
|   |
|   |--xxx.js/xxx.wxml/xxx.json/xxx.wxss // 暴露的 js 模块/自定义组件入口文件
|
|--test // 测试用例
|--tools // 构建相关代码
|   |--demo // demo 小程序目录,开发环境下会被拷贝生成到 miniprogram_dev 目录中
|   |--config.js // 构建相关配置文件
|
|--gulpfile.js

PS:对外暴露的 js 模块/自定义组件请放在 src 目录下,不宜放置在过深的目录。另外新增的暴露模块需要在 tools/config.js 的 entry 字段中补充,不然不会进行构建。

测试

  • 执行测试用例:
npm run test
  • 执行测试用例并进入 node inspect 调试:
npm run test-debug
  • 检测覆盖率:
npm run coverage

版本升级

由于版本发布需要用到np依赖,可以先阅读文档:np自动化发布工具文档

1. 先全局安装np包,如已安装,请跳过
npm install --global np
2. 更新构建目录
npm run build
3. 升级版本
np (版本号)

测试用例放在 test 目录下,使用 miniprogram-simulate 工具集进行测试,点击此处查看使用方法。在测试中可能需要变更或调整工具集中的一些方法,可在 test/utils 下自行实现。

其他命令

  • 清空 miniprogram_dist 目录:
npm run clean
  • 清空 miniprogam_dev 目录:
npm run clean-dev

如何在小程序上使用用心公共小程序组件库

1.引入组件(如果已引入,请忽略)

在小程序根目录上执行:

npm install yonxin-test-plugin
2.在小程序构建npm:在微信开发者工具,菜单=>工具=>构建npm(如果已构建,请忽略)
3.在页面json文件引入组件(以yx-dialog为例)
"usingComponents": {
  "yx-dialog": "yonxin-test-plugin/yx-dialog/yx-dialog",
  ……
}
4.在页面js文件引入组件公共函数
import { Dialog } from 'yonxin-test-plugin/componentFunctions'

通过Dialog对象,可以使用组件内部的函数

5.在页面wxml使用组件
<yx-dialog id="XXXX" direction="XX">(插槽内是弹窗内容)</yx-dialog>
6.通过组件公共函数调用组件内部的函数

例如:弹出弹窗,参数传入selector字符串,选择具体的节点,建议使用id选择器,若此参数为空,读取上一次调用的selector 由于小程序基础库版本升级了,不建议使用

Dialog.show('#XXXX')

selector语法参考

selector类似于 CSS 的选择器,但仅支持下列语法。
  • ID选择器:#the-id
  • class选择器(可以连续指定多个):.a-class.another-class
  • 子元素选择器:.the-parent > .the-child
  • 后代选择器:.the-ancestor .the-descendant
  • 跨自定义组件的后代选择器:.the-ancestor >>> .the-descendant
  • 多选择器的并集:#a-node, .some-other-nodes

用心公共小程序组件介绍

1: yx-dialog公共弹窗组件

  • Props

    参数说明类型可选值默认值
    direction弹窗弹出的方向(例如bottom表示从页面下方到向上弹出,从中间弹出的时候,无法点击遮罩层收起弹窗,其他情况可以通过点击遮罩层收起弹窗)Stringbottom,top,left,right,centerbottom
    z-index弹窗的层级String或Number-999
  • Slots

    名称说明
    default弹窗的内容,根据各自项目的设计稿自行排版
  • Event

函数名说明返回值
cancel点击遮罩层时触发的事件-
  • 组件函数

import { Dialog } from 'yonxin-test-plugin/componentFunctions'
函数名说明参数返回值
show弹出弹窗selector-
hide收起弹窗selector-

2: yx-handwriting公共签名版组件

  • Props

    参数说明类型可选值默认值
    background-color背景颜色,最终生成的签名图像也是这个背景颜色String-#fff
    anti-aliasing抗锯齿Boolean-false
    placeholder为空时占位符String-例:张三
    vertical是否竖向,为true时,placeholder文字方向为从上到下,否则从左到右Boolean-false
    placeholder-sizeplaceholder文字的大小,正整数,单位是像素String或Number-80
  • Slots

  • 组件函数

import { Handwriting } from 'yonxin-test-plugin/componentFunctions'
函数名说明参数返回值
init初始化,组件要先初始化才可正常签名selector-
revoke撤销上一笔selector-
clear清除已绘制的图像selector-
canvasToImage把签名导出成图像selector,fileType(默认png,可选项有:png,jpg)返回一个Promise,resolve一个图片临时路径:Handwriting.canvasToImage('#XXX', 'jpg').then(imagePath => {})
  • Events

    函数名说明返回值
    change画一笔后触发{ canRevoke(是否可以撤销) }

3: yx-collapse公共折叠面板组件

  • Collapse Props

    参数说明类型可选值默认值
    value当前展开面板的 namestring[]-[]
  • Collapse Event

    函数名说明返回值
    change切换面板时触发{ activeNames(当前展开的name数组) }
  • CollapseItem Props

    参数说明类型可选值默认值
    name唯一标识符,默认为索引值string-index
    title标题栏左侧内容string--
  • CollapseItem Slot

    名称说明
    -面板内容
    title自定义title,当prop中的title为空时,显示自定义title
  • CollapseItem Event

    函数名说明返回值
    change切换面板时触发{ name, isUnfold(是否展开) }

4: yx-rate公共评分组件

  • Props

    参数说明类型可选值默认值
    count图标总数number-5
    void-color未选中时的颜色string-#E5E5E5
    color选中时的颜色string-#f95914
    size图标大小(单位:像素)number或string-25
    gutter图标间距(单位:像素)number或string-14
    value当前分值number或string-5
    allow-half允许半星boolean-false
    min最低分number或string-1
    readonly是否只读,只读会显示具体分数boolean-false
  • Event

函数名说明返回值
change当前分值变化时触发的事件当前分值

5: yx-loading公共加载中组件

  • Props

    参数说明类型可选值默认值
    show是否显示boolean-false
    show-type显示类型stringloading或nothingloading
    nothing-text数据加载完时显示的文案string-—— 没有更多了 ——
    loading-text数据正在加载时显示的文案string-加载中...
    color文字颜色string-#ccc

6: yx-list列表加载翻页组件

  • Props

    参数说明类型可选值默认值
    loading是否显示加载中boolean-false
    no-more是否没有更多内容了boolean-false
    page-no页码Number-1
    no-data是否有数据了boolean-false
    height列表高度(要加上单位px、rpx、vh)string-100vh
  • Event

    参数说明类型可选值默认值
    scrollToLower列表滚动到底部执行的函数Function--
    scroll列表滚动时可以执行的函数Function--

7: yx-cell 单元格组件

  • Props

    参数说明类型可选值默认值
    title-align标题左对齐或右对齐Stringleft/rightleft
    title单元格标题String-标题
    size单元格上下边距small--
    title-width标题宽度String--
    value单元格的值string--
    value-align单元格的值左对齐或右对齐string--
    url跳转路径string--
    arrow是否显示右边箭头Boolean-false
    border是否显示底部边框Boolean-false
    rightIcon自定义右边图标urlString--
    padding是否显示左右两边边距Boolean-false
    color值的字体颜色String-#888
    fontSize标题 和 值 的字体大小String / Number-15
  • Event

    参数说明类型可选值默认值
    click点击单元格触发的函数Function--

8: yx-search公共搜索组件

  • Props

    参数说明类型可选值默认值
    shape形状stringsquare / roundsquare
    value当前输入的值string
    background搜索框背景色string#fff
    clearable是否启用清除控件booleantrue
    placeholder输入框为空时占位符string请输入搜索关键词
    disabled是否禁用booleanfalse
  • Event

    函数名说明返回值
    search确定搜索时触发当前输入值

9: yx-swipe-cell 滑动单元格组件

  • Props

    参数说明类型可选值默认值
    disabled是否禁用滑动booleanfalse
    name标识符,可以在 close 事件的参数中获取到stringnumber--
    left-width左侧滑动区域宽度(固定单位为px)number0
    right-width右侧滑动区域宽度number0
    async-close是否异步关闭booleanfalse
  • Event

    函数名说明返回值
    click点击时触发关闭时的点击位置 (left right cell outside)
    close关闭时触发{ position: 'left''right' , instance , name: string }
    open打开时触发{ position: 'left''right' , name: string }

10: yx-radio公共单选框组件

  • RadioGroup Props

    参数说明类型可选值默认值
    value单选框组的值(对应radio的name)string--
    disabled是否禁用(整个单选框组)boolean-false
  • RadioGroup Slot

    名称说明
    -放置yx-radio标签的默认插槽
  • RadioGroup Event

    函数名说明返回值
    change切换选项时触发选中项的name
  • Radio Props

    参数说明类型可选值默认值
    name该选项的唯一标识string--
    shape形状stringsquare / roundround
    checked-color选中状态颜色string-#f95914
    size图标大小,单位为rpxstring / number-50
    border-width图标边框的宽度, 单位为rpxstring / number-2
    border-color图标边框的颜色string-#ddd
    disabled是否禁用(该选项)boolean-false
    checked-shape选中状态的形状stringfill / ticktick
    checked-size选中图标大小,单位为rpxstring / number-20
    label-position通过slot传入的文本位置stringleft / rightright
    default-color未选中状态icon的颜色string-none
    align-itemsicon与文字的垂直对齐方式string同align-items的取值可选值center
  • Radio Event

    函数名说明返回值
    checked该选项被选中时触发name

11: yx-checkbox公共多选框组件

  • CheckboxGroup Props

    参数说明类型可选值默认值
    value多选框组的值(由checkbox的name组成的数组)arrray--
    disabled是否禁用(整个多选框组)boolean-false
  • CheckboxGroup Slot

    名称说明
    -放置yx-checkbox标签的默认插槽
  • CheckboxGroup Event

    函数名说明返回值
    change多选框组的值发生变化时触发选中项的name数组
  • Checkbox Props

    参数说明类型可选值默认值
    name该选项的唯一标识string--
    shape形状stringsquare / roundround
    checked-color选中状态颜色string-#f95914
    size图标大小,单位为rpxstring / number-50
    border-width图标边框的宽度, 单位为rpxstring / number-2
    border-color图标边框的颜色string-#ddd
    disabled是否禁用(该选项)boolean-false
    checked-shape选中状态的形状stringfill / ticktick
    checked-size选中图标大小,单位为rpxstring / number-20
    label-position通过slot传入的文本位置stringleft / rightright
    default-color未选中状态icon的颜色string-none
  • Checkbox Event

    函数名说明返回值
    checked该选项被选中时触发{ name, checked }

12: yx-notice-bar公共通知栏组件

  • Props

    参数说明类型可选值默认值
    text通知文本内容string--
    color通知文本颜色string-#ed6a0c
    background滚动条背景string-#fffbe8
    speed滚动速率 (px/s)string / number-60
    show-icon是否显示图标boolean-false

13: yx-stepper公共步进器组件

  • Props

    参数说明类型可选值默认值
    name在表单内提交时的标识符string--
    value输入值string / number-最小值
    min最小值string / number-1
    max最大值string / number-1024
    step步长string / number-1
    integer是否只允许输入整数boolean-false
    disabled是否禁用boolean-false
    disable-input是否禁用输入框boolean-false
    async-change是否开启异步变更,开启后需要手动控制输入值boolean-false
    input-width输入框宽度,默认单位为 rpxstring / number-64
    button-size按钮大小,默认单位为 rpx,输入框高度会和按钮大小保持一string / number-56
  • Event

    函数名说明返回值
    change当绑定值变化时触发的事件当前输入的值

14: yx-navbar公共导航栏组件

  • Props

    参数说明类型可选值默认值
    header绑定数据的对象Object--
    homeCapsule是否显示返回上一级导航栏和首页导航栏booleantrue/falsefalse
    headerbg顶部背景颜色string-#fff
    title标题string--
    fontColor标题文字颜色string-#000
    fontSize标题文字大小string-16px
    hiddenBlock是否隐藏导航栏高度booleantrue/falsefalse
    capsulebg导航栏胶囊背景颜色string-rgba(0,0,0,0.2)
    capsuleborder导航栏胶囊边框样式string-1px solid rgba(0,0,0,0.1)
    slot是否显示标题和图标booleantrue/falsefalse
  • Event

    函数名说明返回值
    backClick点击返回上一层图标时触发的事件上一个页面或者首页
    homeClick点击返回首页图标时触发的事件首页

15: yx-progressbar公共环形进度条组件

  • Props

    参数说明类型可选值默认值
    progressBar绑定数据的对象Object--
    num当前进度string0-1000
    direction方向, cw顺时针, cww逆时针stringcw/cwwcw
    size圆的大小string-400rpx
    duration动画持续时间number-450
    progressColor进度条的颜色string-rgb(41,132,237)
    progressBackgroundColor进度条占位颜色string-#eaeaea
    backgroundColor中间的背景色string-#ffffff
    startDot进度条开始圆点booleantrue/falsefalse
    endDot进度条结束圆点booleantrue/falsefalse
  • Event

    函数名说明返回值
    sum点击添加一个随机数能看到进度条的实时效果数字

16: yx-switch公共环形进度条组件

  • Props

    参数说明类型可选值默认值
    switchList绑定数据的对象Object--
    isChecked1是否选中booleantrue/falsetrue
    checkedColorswitch的颜色,同css的colorstring-yellow
    switchType开关选择器的样式stringswitch/checkboxcheckbox
  • Event

    函数名说明返回值
    changeSwitch1选中或者取消取反true/false

17: yx-uploader公共图片上传组件

  • Props

    参数说明类型可选值默认值
    uploaderList图片数组--[]
    uploaderNum已上传图片number-0
    maxImgNum最多上传图片张数number-0
    desc描述string--
    title标题string--
  • Event

    函数名说明返回值
    getUploaderList获取上传图片-
    showImg展示图片事件-
    clearImg删除图片事件-

18: yx-tabs公共选项卡组件

  • Props

    参数说明类型可选值默认值
    tabs参数数组--[]
    value标题名字string--
    isActive是否选中boolean-false
    content徽标number--
  • Event

    函数名说明返回值
    handleTabsItemChange传数组给子组件-
    handleItemTap传索引给父组件-

19: yx-upload-image图片加水印组件

说明:从相册中选择图片,添加水印,返回生成水印后的图片

  • Props

    参数说明类型可选值默认值
    media-type文件类型string[]image,video,mix'image'
    source-type图片和视频选择的来源string[]album,camera'album', 'camera'
    count最多选取多少张图片(最大值:9)string / number-1
    watermark-image水印图片urlstring--
    watermark-text水印文案string--
    watermark-margin-horizontal水印的水平方向边距string / number--
    watermark-margin-vertical水印的垂直方向边距string / number--
    textSize水印文案的字体大小(像素)string / number-14
    compress是否开启压缩boolean-false
    max-size高度或宽度的最大值(单位像素,开启compress后生效)string / number-400
    quality压缩质量(0-1)string / number-0.8
    file-type目标文件类型stringjpg,pngjpg
  • Event

    函数名说明返回值
    success处理成功回调{ detail({ tempFilePath, size }[]) }
1.0.23

3 months ago

1.0.22

8 months ago