现在很多小程序都有生成海报,分享海报的功能。我们自己的几个小程序 (如:爸妈搜商城、爸妈搜云课堂、幼师大学、跟着外教学英语等) 也都有生成海报的功能。因此技术团队萌生出制作一个简单易用的微信小插件,只要传入简单图片和对应的坐标值,就可以拼接成一幅完整的宣传海报。
今天,我们提交了第一版,刚刚通过微信审核,现在让我开始说一说怎么使用我们刚新鲜出炉的小程序插件 —— 「爸妈搜海报 Maker」。
自定义生成海报。
1、 在微信小程序管理后台——设置——第三方服务,按 AppID(wxbf07f0f22c6c200d)搜索到该插件并申请授权(ps:一般不会出现拒绝的情况。如果申请被拒绝了,请重新申请,有时候管理员手抽点错了,请见谅)。
2、在要使用该插件的小程序 app.json 文件中引入插件声明。
"plugins": {
"poster": {
"version": "1.0.0",
"provider": "wxbf07f0f22c6c200d"
}
}
3、在需要使用到该插件的小程序页面的 JSON 配置文件中,做以下配置:
{
"usingComponents": {
"poster": "plugin://poster/poster"
}
}
4、在相应的 HTML 页面中添加以下语句即可完成插件的嵌入。
<poster />
当然,只有这样,肯定不行,还需要给该插件控件传入对应的图片和文字属性。
当前版本,传入的属性主要有两个:drawing
和 savebtnText
:
属性名 |
类型 |
默认值 |
说明 |
---|---|---|---|
drawing |
Array |
[] |
画图的数据 |
savebtnText |
String |
"点击按钮进行图片保存" |
按钮文字信息 |
drawing参数说明
drawing
数据目前有两种数据类型,一种是图片信息,另一种是文字信息。
图片信息
属性名 |
类型 |
值 |
说明 |
---|---|---|---|
type |
String |
image |
图片类型 |
url |
String |
图片路径,为线上图片 |
|
left |
Number |
距离画布的左边距 |
|
top |
Number |
距离画布的顶部距离 |
|
width |
Number |
绘画图片的宽度 |
|
height |
Number |
绘画图片的高度 |
|
circle |
Boolean |
true、false |
是否是绘制圆形,默认为 false |
文字信息
属性名 |
类型 |
值 |
说明 |
---|---|---|---|
type |
String |
text |
文字类型 |
content |
String |
绘图的文字内容 |
|
left |
Number |
距离画布的左边距 |
|
top |
Number |
距离画布的顶部距离 |
|
width |
Number |
文字绘画的宽度 |
|
color |
String |
文字信息 |
|
textAlign |
String |
文字水平对齐方式 |
|
fontSize |
Number |
默认为 26 rpx |
文字大小 |
其中,textAlign
参数:
属性名 |
类型 |
说明 |
---|---|---|
left |
String |
左对齐 |
center |
String |
居中对齐 |
right |
String |
右对齐 |
如图:
页面传入的控件简单明了:
<poster
drawing='{
{drawing}}'
savebtnText='{
{savebtnText}}'
canvas-style='canvas-style'
savebtn-style='savebtn-style' />
我们接着看传入的参数:
Page({
data: {
drawing: [
],
savebtnText: '点击按钮,保存图片'
},
onLoad: function () {
wx.showLoading({
title: '绘图中..'
})
},
onShow: function () {
this.setData({
drawing: [
{
type: 'image',
url: 'https://i.loli.net/2018/10/30/5bd85117675b3.png',
left: 0,
top: 0,
width: 650,
height: 960,
},
{
type: 'image',
url: 'https://wx.qlogo.cn/mmopen/vi_32/M8cK5rMR16udYRpanaZiaYz2KHgibVVHhFqG01h3rZUAGDKQerZwNv9baVDeNicjZ1bZzs4hUribjLX9bNaAmhia7pQ/132',
left: 72,
top: 53,
width: 78,
height: 75,
},
{
type: 'text',
content: '咖啡',
fontSize: 26,
color: 'white',
textAlign: 'left',
left: 170,
top: 50,
width: 650,
},
{
type: 'text',
content: '这里是小程序码',
fontSize: 30,
color: 'red',
textAlign: 'left',
left: 390,
top: 720,
width: 200
},
{
type: 'image',
url: 'https://i.loli.net/2018/10/30/5bd851175ce40.jpg',
left: 388,
top: 660,
width: 190,
height: 190,
circle: true
}
]
})
}
})
样式也很简单:
类名 | 说明 |
---|---|
canvas-style |
画布样式样式 |
savebtn-style |
按钮样式 |
/* 画布样式 */
.canvas-style{
width: 650rpx !important;
height: 960rpx !important;
margin: 0 auto;
border: 1px solid orangered;
margin-top: 10rpx;
}
/* 保存图片按钮样式 */
.savebtn-style{
height: 70rpx;
line-height: 70rpx;
}
注意: 样式的优先级!
好了,我们可以看看效果了
这是我们团队做的第三个微信小插件,每个插件制作的标准就是,把复杂的逻辑交给我们来做。
使用者只要简单的引入,用最便捷的输入参数,以达到最好的效果。
欢迎微信小程序开发者使用我们的插件:
提供简约不简单的日历基本功能,自定义样式,考勤状态等功能。
插件地址:https://mp.weixin.qq.com/wxopen/pluginbasicprofile?action=intro&appid=wx23a9cef3522e4f7c
小程序富文本处理 rich-text, 将无法识别的标签改为可识别的, 适配移动设备。
插件地址:https://mp.weixin.qq.com/wxopen/pluginbasicprofile?action=intro&appid=wx54e7e5b0ebeda242
插件地址:https://mp.weixin.qq.com/wxopen/pluginbasicprofile?action=intro&appid=wxbf07f0f22c6c200d
最后,放出我们的插件开发者的联系方式,有什么问题都可以联系她哦~
文章浏览阅读1.8k次。在 Python 中,数据类型是区分数据的种类和存储方式的标识符。它定义了数据的取值范围、占用空间大小、可操作特性等。Python 中常见的数据类型包括数字、字符串、列表、元组、集合和字典等。数据类型在编程中的作用主要有以下几个方面:不同的数据类型需要占用不同的内存空间,因此在内存空间的管理上,数据类型具有重要的作用。例如,在处理大量数据时,选择合适的数据类型可以有效地减少内存占用,提高程序的执行效率。数据类型定义了数据的表达方式和可操作性,使得程序能够对不同类型的数据进行有效的处理。_python中数据类型的作用
文章浏览阅读740次。测试环境 需要启动jacoco 并暴露端口 replicas为1 但是node为2个 没有指定pod在哪个节点上启动。因此打算用nodeport的方式暴露出来,这样认准一个node+nodeport就可以跑jacoco了haozhuo-health-deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata:# deployment名字 和svc 和ingress绑定没关系 name: haozhuo-health-dp na_kubernetes暴露jacoco端口
文章浏览阅读1.6k次。springcloud maven导入失败_无法解析 org.springframework.cloud:spring-cloud-dependencies:pom:finchley.m8
文章浏览阅读566次。.load(url) .into(new ImageViewTarget<Bitmap>(imageView) { @Override public void onLoadStarted(@Nullable Drawable placeholder) { super.onLoadStarted(placeholder); ..._pictureselector.create 相册显示不出
文章浏览阅读2w次,点赞25次,收藏93次。Jupyter Notebook是非常方便的Python IDE,安装anaconda后Jupyter NoteBook也会安装好,使用起来十分方便。当anaconda使用的多了之后,会有创建多个虚拟环境来兼容不同版本的python环境及安装包的需求,这时再使用Jupyter Notebook时就需要制定使用的虚拟环境的需求。其实使用虚拟环境非常简单,只需要安装一个nb_conda包就可以直接使..._jupyter notebook使用conda
文章浏览阅读8.5k次,点赞19次,收藏81次。一、实验目的1.掌握离散傅里叶变换的计算机实现方法。2.掌握计算序列的圆周卷积的方法。3.学习用DFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差,以便在实际中正确应用DFT。4. 理解用FFT对周期序列进行频谱分析时所面临的问题并掌握其解决方法。5.掌握用时域窗函数加权处理的技术。6.理解用FFT对非周期信号进行频谱分析所面临的问题并掌握其解决方法。二、实验原理与方法1. 对周期序列进行频谱分析应注意的问题对时间序列作FFT时,实际上要作周期延拓(如果取长序列的一段_exp(1j*2*pi*freqs_new'*frames');
文章浏览阅读2.1w次,点赞40次,收藏150次。南大20计算机学院考研打算考南京大学通信的学弟学妹你们好,首先欢迎大家选择我们计算机学院,计算机学院是我们学校的王牌学院。为了帮大家更好的了解我们学院的情况以及如何准备考研,我将从以下两个方面来介绍,觉得我写的还尚可的话,可以给我手动点赞哈。(2020年南大计算机考研资料分享及经验交流群:645638416)1:学院报考情况由于2019年的南京大学考研的数据在2020年的9月份才会公布..._南京大学考研压分吗
文章浏览阅读1.3k次,点赞34次,收藏21次。所需头文件函数//将set集合置空//将所有信号加入set集合//将signo信号加入到set 集合//从set集合中移除signo 信号//判断信号是否存在于 集合中。
文章浏览阅读2.3k次,点赞2次,收藏7次。C语言基础7函数基本用法_c语言函数
文章浏览阅读50次。原文出处:https://github.com/springside/springside4/wiki/redis版本:V3.0.3 2013-8-1 (@江南白衣版权所有,转载请保留出处)1. Overview1.1 资料<The Little Redis Book>,最好的入门小册子,可以先于一切文档之前看,免费。作者Antirez的博客,Antirez...
文章浏览阅读2.1k次。在QGIS中根据一幅jpeg格式的地图半自动化绘制矢量地图_qgis rastertracer
文章浏览阅读10w+次,点赞5.6k次,收藏1.8w次。数据结构——二叉树先序、中序、后序三种遍历二叉树先序、中序、后序三种遍历三、代码展示:二叉树先序、中序、后序三种遍历先序遍历:3 2 2 3 8 6 5 4中序遍历:2 2 3 3 4 5 6 8后序遍历: 2 3 2 4 5 6 8 3三种遍历不同之处在,输出数据放在不同之处三、代码展示:#include<stdio.h>#include<stdlib.h>typedef struct Tree{ int_中序遍历