封装一个uniapp 签名功能插件。兼容 H5、APP、小程序。模拟横屏签名。

167 阅读2分钟

描述

  • H5:1. 模拟横屏。2. 提示信息、模拟态也通过模拟横屏显示
  • 小程序:1. 自动横屏展示
  • APP:1. 自动横屏展示

rn-signature 个性签名组件

  • 组件名 rn-signature
  • 签名组件兼容H5、APP、小程序。横屏签名效果。

效果展示

h5端

111


222

小程序端

333

444

APP 端

请添加图片描述

请添加图片描述

使用方式

  1. 首先在【插件市场】进行下载
  2. 引入
<view style="width: 100%;display: flex;justify-content: center;align-items: center; margin: 20px 0; flex-direction: column;">
	<rn-signature :options="options" :data="data" />
	<view style="margin: 10rpx;"></view>
	<rn-signature :options="options" :data="data1" />
</view>
  1. 配置
<script>
export default {
	data() {
		return {
			options: {
				art:{
					enable: true,
				},
				clear:{
					show: true,
					slot: false,
					customClass: 'btn_clear_wrap'
				},
				placeholder: {
					content: '请设置个性签名',
				},
				style: { //设置签名容器宽高
					width: '600rpx',
					height: '300rpx',
					borderRadius: '20rpx'
				}
			},
			data: {
				url: '',//签名生成的图片地址。
			}
		}
	}
}
</script>

options 配置

属性说明类型默认值可选值
clear清除按钮相关配置项Objectclear配置项-
placeholder占位符提示信息,Objectplaceholder配置项-
style个性签名样式配置项Objectstyle配置项-
art艺术字Objectart配置项-

clear配置项

属性说明类型默认值可选值
show是否显示清除按钮Booleantrue-
slot清除按钮插槽,名称“clearSlot”Booleanfalse-
customClass自定义类名,需配合slot 使用Stringbtn_clear_wrap-
::v-deep .btn_clear_wrap {
		
}

art配置项

属性说明类型默认值可选值
enable是否启用Booleanfalse-

placeholder 配置项

属性说明类型默认值可选值
content提示内容String请设置个性签名-
fontSize字体大小Number40-
textBaseline字体对其方式Stringmiddle-
textAlign对其方式Stringcenter-
fillStyle字体颜色String#888-

style 配置项

属性说明类型默认值可选值
width宽度String100%-
height高度String300rpx-
background背景色String#fff-
border边框String1px solid-
borderRadius圆角String20rpx-
--其他样式属性都可以--------------

Slot 插槽

名称说明
clearSlot清除按钮插槽,用于清除生成好的签名图片

rn-signature 插件市场下载安装

  1. 工具->插件安装->前往插件市场安装 在这里插入图片描述
  2. 全部->搜索->rn-signature 在这里插入图片描述
  3. 下载插件并导出HBuilderX 在这里插入图片描述4. 点击注册 在这里插入图片描述

测试用例

<template>
	<view class="sub_car_polling">
		<view style="width: 100%;display: flex;justify-content: center;align-items: center; margin: 20px 0; flex-direction: column;">
			<rn-signature :options="options" :data="data" />
			<view style="margin: 10rpx;"></view>
			<rn-signature :options="options" :data="data1"></rn-signature>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				options: {
					clear: {
						show: true,
						slot: false,
						customClass: 'btn_clear_wrap'
					},
					placeholder: {
						content: '请设置个性签名',
					},
					style: { //设置签名容器宽高
						width: '600rpx',
						height: '300rpx',
						border: 'none',
						'box-shadow': '0px 0px 5px rgba(0, 0, 0, 0.4)'
					}
				},
				data: {
					url: ''
				},
				data1: {
					url: ''
				}
			};
		},
		onLoad() {
			
		},
		methods: {

		}
	}
</script>

<style lang="scss" scoped>
	.sub_car_polling {}

	::v-deep .btn_clear_wrap {}
</style>

效果图

666