现在很多小程序都有生成海报,分享海报的功能。我们自己的几个小程序 (如:爸妈搜商城、爸妈搜云课堂、幼师大学、跟着外教学英语等) 也都有生成海报的功能。因此技术团队萌生出制作一个简单易用的微信小插件,只要传入简单图片和对应的坐标值,就可以拼接成一幅完整的宣传海报。
今天,我们提交了第一版,刚刚通过微信审核,现在让我开始说一说怎么使用我们刚新鲜出炉的小程序插件 —— 「爸妈搜海报 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
最后,放出我们的插件开发者的联系方式,有什么问题都可以联系她哦~
文章浏览阅读3.8k次。1、将下载好的萤石js插件,添加到SoringBoot项目中。位置可参考下图所示。(容易出错的地方,在将js插件在html页面引入时,发生路径错误的问题)所以如果对页面中引入js的路径不清楚,可参考下图所示存放路径。2、将ezuikit.js引入到demo-live.html中。(可直接将如下代码复制到你创建的html页面中)<!DOCTYPE html><html lan..._ezuikit 测试的url
文章浏览阅读322次。第二步,在弹出的对话框选择,设备驱动—>PLC—>莫迪康—>ModbusRTU—>COM,根据配置软件选择的协议选期期,这里以此为例,然后点击“下一步”。第四步,把使用虚拟串口打勾(GPRS设备),根据需要选择要生成虚拟口,这里以选择KVCOM1为例,然后点击“下一步”设备ID即Modbus地址(1-255) 使用DTU时,为下485接口上的设备地址。第六步,Modbus的从机地址,与配置软件相同,这里以1为例,点击“下一步“第五步,Modbus的从机地址,与配置软件相同,这里以1为例,点击“下一步“_组态王ua
文章浏览阅读9.4k次,点赞22次,收藏19次。安装npm相当于安装node.js,Node.js已自带npm,安装Node.js时会一起安装,npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西_npm安装配置
文章浏览阅读748次,点赞21次,收藏26次。大家好,小编来为大家解答以下问题,python基础训练100题,python入门100例题,现在让我们一起来看看吧!宝子们还在新手村练级的时候,不单要吸入基础知识,夯实自己的理论基础,还要去实际操作练练手啊!由于文章篇幅限制,不可能将100道题全部呈现在此除了这些,下面还有我整理好的基础入门学习资料,视频和讲解文案都很齐全,用来入门绝对靠谱,需要的自提。保证100%免费这不,贴心的我爆肝给大家整理了这份今天给大家分享100道Python练习题。大家一定要给我三连啊~
文章浏览阅读1k次。 为了在 Linux ( Ubuntu) 上安装sublime,一般大家都会选择常见的教程或是 sublime 官网教程,然而在国内这种方法可能失效。为此,需要用安装包安装。以下就是使用官网安装包安装的教程。打开 sublime 官网后,点击右上角 download, 或是直接访问点击打开链接,即可看到各个平台上的安装包。选择 Linux 64 位版并下载。下载后,打开终端,进入安装..._ubuntu 安装sumlime text打不开
文章浏览阅读563次,点赞13次,收藏6次。CrossOver24是一款类虚拟机软件,专为macOS和Linux用户设计。它的核心技术是Wine,这是一种在Linux和macOS等非Windows操作系统上运行Windows应用程序的开源软件。通过CrossOver24,用户可以在不购买Windows授权或使用传统虚拟机的情况下,直接在Mac或Linux系统上运行Windows软件和游戏。该软件还提供了丰富的功能,如自动配置、无缝集成和实时传输等,以实现高效的跨平台操作体验。
文章浏览阅读1.7k次。一个用聊天的方式让ChatGPT帮我写的线程安全的环形List_为什么gpt一写list就卡
文章浏览阅读336次。我们在前面的文章里曾写过Web应用中乱码产生的原因和处理方式,旧文回顾:深度揭秘乱码问题背后的原因及解决方式其中我们提到可以通过Filter的方式来设置请求和响应的encoding,来解..._filterconfig selectencoding
文章浏览阅读651次。转自:http://www.jb51.net/article/36480.htmencodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为英文编码,decodeURI可以用来把字符还原回来_js encodeur decodeurl
文章浏览阅读1.9w次,点赞6次,收藏3次。前言在日常的Android开发当中,我们肯定要打包apk。但是今天我打包的时候遇到一个很奇怪的问题Android The destination folder does not exist or is not writeable,大意是目标文件夹不存在或不可写。出现问题的原因以及解决办法上面有说报错的中文大意是:目标文件夹不存在或不可写。其实问题就在我们的打包界面当中图中标红的Desti..._the destination folder does not exist or is not writeable
文章浏览阅读94次。一、配置代码编辑区的样式 <1>打开Eclipse,Help —> Install NewSoftware,界面如下: <2>点击add...,按下图所示操作: name:随意填写,Location:http://eclipse-color-th..._ecplise高大上设置
文章浏览阅读2.8k次。一,下载mysql:http://dev.mysql.com/downloads/mysql/; 打开页面之后,在Select Platform:下选择linux Generic,如果没有出现Linux的选项,请换一个浏览器试试。我用的谷歌版本不可以,换一个别的浏览器就行了,如果还是不行,需要换一个翻墙的浏览器。 二,下载完后解压缩并放到安装文件夹下: 1、MySQL-client-5.6.2_linux mysql 安装 mysql-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle