uniapp,小程序,实现签名功能
1.需求介绍
有的时候开发uniapp或者小程序需要实现用户签名的一个功能,但是网上又不想购买插件,自己也不想写,这个时候就可以CV开发了
2.目标明确
我们需要把用户签名后转成base64码调取后端给的接口,我这里是以字符串(String)的形式,具体格式和后端的沟通
**3.注意事项 ** 项目一定要安装scss不然指定报错 不会的去百度这里安装太简单了就省了
-
.
页面签名展示的效果:
第一步.新建components 新建->bobo-message -> 新建 -> bobo-message.vue 如图所示
bobo-message.vue 代码
<template>
<view :style="{zIndex: zIndex}" class="container">
<block v-for="message in messageQueue" :key="message.id">
<view :class="[message.animation, backgroundClass(message)]" class="message">
<text v-if="message.type === 'info'" class="bm-icon info"></text>
<text v-if="message.type === 'success'" class="bm-icon success"></text>
<text v-if="message.type === 'warn'" class="bm-icon warn"></text>
<text v-if="message.type === 'error'" class="bm-icon error"></text>
<text>{
{message.content}}</text>
</view>
</block>
</view>
</template>
<script>
// 需要支持的单独配置项:显示时长、是否启用背景、类型、内容
export default {
name: 'bobo-message-cpt',
props: {
zIndex: {
type: Number,
default: 10000
},
duration: {
type: Number,
default: 2000
},
background: {
type: Boolean,
default: false
}
},
data() {
return {
messageQueue: [],
lastId: 0
}
},
computed: {
backgroundClass() {
return msg => {
return this.background || msg.background ? `background-${msg.type}` : ''
}
}
},
methods: {
/**
* 展示普通提示信息
* @param {Object} content
*/
info(arg) {
const message = {
type: 'info'
}
if (typeof arg === 'object' && arg) {
message.content = arg.content
message.duration = arg.duration
message.background = arg.background
} else if(typeof arg === 'string') {
message.content = arg
}
this.fadeIn(message)
},
/**
* 展示成功提示
* @param {Object} content
*/
success(arg) {
const message = {
type: 'success'
}
if (typeof arg === 'object' && arg) {
message.content = arg.content
// 显示时长会用在 settimeout的参数中,必须保证类型正确
if (arg.duration && typeof arg.duration === 'number' &am