微信小程式外掛
介紹
微信小程式外掛是對一組js介面,自定義元件或頁面的封裝,用來嵌入微信小程式中,用來被開發者呼叫。
微信小程式必須嵌入到其他程式中才能使用。
外掛具有獨立的api,域名列表。
開始
建立外掛專案
完成以後介面如下
建立完成以後目錄如下
- pluggin // 外掛目錄,存放外掛程式碼
- miniprogram // 放置小程式目錄,用於存放程式碼
- doc // 用於存放說明文件
複製程式碼
外掛的目錄結構
示例的檔案目錄如下所示
說明,在上方的目錄結構中,plugin為外掛目錄,api資料夾下的data.js為匯出的介面。list為外掛的元件,index.js為外掛的js檔案,plugin.json為外掛的配置檔案。
plugin.json
此檔案為該外掛的配置檔案,向第三方開放的元件,頁面和js介面都在該檔案裡
{
"publicComponents": {
"list": "components/list/list"
},
"main": "index.js"
}
複製程式碼
獲取使用者資訊,發起支付可以在獲取外掛功能頁中獲取並使用。
外掛開發
自定義元件
外掛可以使用自定義元件。自定義元件的目錄在components。建立自定義元件需要四個檔案,wxml,wxss,js,json四個檔案,還需要在plugin.json檔案下的publicComponents物件中,新增該元件的名稱,以及路徑。
頁面
頁面同樣具有四個檔案,wxml,wxss,js,json四個檔案構成, 同樣的頁面需要在json檔案中的page檔案中配置。 跳轉使用navigator元件進行跳轉。
介面
在module中的export中匯出介面檔案。
外掛開發文件
編寫doc下的readme.md檔案
文件中的連結只能連結到
- github
- 微信開發者社群
- 微信開發者平臺
使用外掛
新增外掛
登入後臺,新增外掛
目前新增的外掛為知曉雲的sdk外掛
知曉雲 cloud.minapp.com 具有外掛市場,以及小程式市場,是滴,之前瞭解過知曉雲。使用知曉雲,可以快速的實現訊息的轉發,對上傳的圖片進行鑑黃,以及裁剪等操作。還有關於node.js的雲函式功能,能實現關於微信支付,郵件,模板訊息,網路請求,圖片鑑黃,還提供運營後臺的api,能實現包括,對使用者的授權認證,內容模組的操作,以及檔案模組,使用者模組的操作,以及知曉雲的開放api,以及開放了一個url作圖功能 support.minapp.com/hc/kb/artic… 對於這個功能來說,我還是比較喜歡的,灰常簡單,直接呼叫介面即可。完成了圖片的處理,對於圖片的處理來說,直接在另一端處理,簡化了開發。並且知曉雲還提供了一個基於微信小程式的富文字編輯器,完成對富文字的處理 github 地址 github.com/ifanrx/wxPa… 簡化了微信小程式的開發
目前正在使用的授權的第三方平臺有,知曉雲,騰訊雲,外掛有知曉雲sdk 下面將以知曉雲sdk作為例項 知曉雲文件 doc.minapp.com/
知曉雲
建立 企業,建立應用,進行公眾號授權 建立完成以後頁面如下
接續去github上拉去知曉雲提供的dome
完成後效果如上所示接著微信後臺完成伺服器域名的配置
加入外掛的引用宣告
加入如下的內容
"plugins": {
"sdkPlugin": {
"version": "1.7.0",
"provider": "wxc6b86e382a1e3294"
}
}
複製程式碼
在app.js檔案中完成初始化操作
登入 cloud.minapp.com/dashboard/#… 獲取ClientID 進行初始化操作
//app.js
App({
onLaunch: function() {
let that = this
// 引入 BaaS SDK
require('./utils/sdk-v1.4.0')
let clientId = this.globalData.clientId
wx.BaaS.init(clientId)
},
globalData: {
clientId: '*****************', // 從 BaaS 後臺獲取 ClientID
tableId: null, // 從 https://cloud.minapp.com/dashboard/ 管理後臺的資料表中獲取
}
})
複製程式碼
建立資料表
資料表的crud操作
// pages/hello/hello.js
Page({
/**
* 頁面的初始資料
*/
data: {
creatingBookName: '',
},
/**
* 繫結新增書目的提交按鈕點選事件,向伺服器傳送資料
**/
createBook: (e) => {
let bookName = this.data.creatingBookname; // 快取在data物件中的輸入的書名
let tableID = '1'; // 從後臺獲取到的對應資料表的id
let Books = new wx.Baas.TableObject(tableID); // 例項化tableID的資料表物件
let book = Books.create(); // 建立一條記錄
// 呼叫建立資料項介面,對資料進行儲存
book.set({bookName})
book.save();
book.then(() => {
})
},
/**
* 生命週期函式--監聽頁面載入
*/
onLoad: function (options) {
},
/**
* 生命週期函式--監聽頁面初次渲染完成
*/
onReady: function () {
},
/**
* 生命週期函式--監聽頁面顯示
*/
onShow: function () {
},
/**
* 生命週期函式--監聽頁面隱藏
*/
onHide: function () {
},
/**
* 生命週期函式--監聽頁面解除安裝
*/
onUnload: function () {
},
/**
* 頁面相關事件處理函式--監聽使用者下拉動作
*/
onPullDownRefresh: function () {
},
/**
* 頁面上拉觸底事件的處理函式
*/
onReachBottom: function () {
},
/**
* 使用者點選右上角分享
*/
onShareAppMessage: function () {
}
})
複製程式碼
大致如上所示。 至此,知曉雲瞭解到此結束。因為有微信小程式雲開發了,並且也會node+express 或者koa框架,所以直接使用微信小程式雲開發即可,