如今不少小程序都有生成海報,分享海報的功能。咱們本身的幾個小程序 (如:爸媽搜商城、爸媽搜雲課堂、幼師大學、跟着外教學英語等) 也都有生成海報的功能。所以技術團隊萌生出製做一個簡單易用的微信小插件,只要傳入簡單圖片和對應的座標值,就能夠拼接成一幅完整的宣傳海報。css
今天,咱們提交了初版,剛剛經過微信審覈,如今讓我開始說一說怎麼使用咱們剛新鮮出爐的小程序插件 —— 「爸媽搜海報 Maker」。html
自定義生成海報。json
一、 在微信小程序管理後臺——設置——第三方服務,按 AppID(wxbf07f0f22c6c200d)搜索到該插件並申請受權(ps:通常不會出現拒絕的狀況。若是申請被拒絕了,請從新申請,有時候管理員手抽點錯了,請見諒)。canvas
二、在要使用該插件的小程序 app.json 文件中引入插件聲明。小程序
"plugins": {
"poster": {
"version": "1.0.0",
"provider": "wxbf07f0f22c6c200d"
}
}
複製代碼
三、在須要使用到該插件的小程序頁面的 JSON 配置文件中,作如下配置:微信小程序
{
"usingComponents": {
"poster": "plugin://poster/poster"
}
}
複製代碼
四、在相應的 HTML 頁面中添加如下語句便可完成插件的嵌入。bash
<poster />
複製代碼
固然,只有這樣,確定不行,還須要給該插件控件傳入對應的圖片和文字屬性。微信
當前版本,傳入的屬性主要有兩個:drawing
和 savebtnText
:app
屬性名 |
類型 |
默認值 |
說明 |
---|---|---|---|
drawing |
Array |
[] |
畫圖的數據 |
savebtnText |
String |
"點擊按鈕進行圖片保存" |
按鈕文字信息 |
drawing參數說明
drawing
數據目前有兩種數據類型,一種是圖片信息,另外一種是文字信息。ide
圖片信息
屬性名 |
類型 |
值 |
說明 |
---|---|---|---|
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;
}
複製代碼
注意: 樣式的優先級!
好了,咱們能夠看看效果了
這是咱們團隊作的第三個微信小插件,每一個插件製做的標準就是,把複雜的邏輯交給咱們來作。
使用者只要簡單的引入,用最便捷的輸入參數,以達到最好的效果。
歡迎微信小程序開發者使用咱們的插件:
提供簡約不簡單的日曆基本功能,自定義樣式,考勤狀態等功能。
插件地址:mp.weixin.qq.com/wxopen/plug…
小程序富文本處理 rich-text, 將沒法識別的標籤改成可識別的, 適配移動設備。
插件地址:mp.weixin.qq.com/wxopen/plug…
插件地址:mp.weixin.qq.com/wxopen/plug…
最後,放出咱們的插件開發者的聯繫方式,有什麼問題均可以聯繫她哦~