微信小程序?qū)崿F(xiàn)文章關(guān)注功能詳細(xì)流程
1 數(shù)據(jù)源設(shè)計(jì)
低代碼工具分為模型驅(qū)動(dòng)和表單驅(qū)動(dòng)兩種類型,微搭低代碼屬于模型驅(qū)動(dòng)的低碼工具。所謂模型驅(qū)動(dòng)就是要先設(shè)計(jì)數(shù)據(jù)源,設(shè)計(jì)數(shù)據(jù)源之間的關(guān)系。我們分析一下關(guān)系是什么,應(yīng)該有一個(gè)文章的數(shù)據(jù)源,還有一個(gè)關(guān)注的數(shù)據(jù)源。文章和關(guān)注之間的關(guān)系是一對(duì)多的關(guān)系,所謂的一對(duì)多是指一篇文章可以被多個(gè)人進(jìn)行關(guān)注。
1.1 文章數(shù)據(jù)源
我們可以設(shè)計(jì)一下文章數(shù)據(jù)源的字段,分別是標(biāo)題、發(fā)布日期、內(nèi)容。按照設(shè)計(jì)我們創(chuàng)建數(shù)據(jù)源并建立對(duì)應(yīng)的字段

1.2 關(guān)注數(shù)據(jù)源
關(guān)注數(shù)據(jù)源我們需要存文章的數(shù)據(jù)標(biāo)識(shí)和用戶的openid

2 錄入測試數(shù)據(jù)
數(shù)據(jù)源創(chuàng)建好了之后我們,先往文章表添加幾條測試數(shù)據(jù)。點(diǎn)擊數(shù)據(jù)源的更多,點(diǎn)擊管理數(shù)據(jù)進(jìn)行錄入


3 創(chuàng)建應(yīng)用
數(shù)據(jù)源創(chuàng)建好之后,我們就可以開發(fā)小程序了。在控制臺(tái)點(diǎn)擊應(yīng)用,創(chuàng)建一個(gè)自定義應(yīng)用


點(diǎn)擊空白頁完成首頁的創(chuàng)建

我們需要一個(gè)詳情頁來展示文章的詳情信息,點(diǎn)擊頁面旁邊的+號(hào)來完成新頁面的創(chuàng)建


4 首頁功能實(shí)現(xiàn)
我們首先在首頁放置一個(gè)數(shù)據(jù)列表組件用來展示我們的文章列表,數(shù)據(jù)源選擇文章表

將文章的標(biāo)題綁定到標(biāo)題字段上


接著綁定發(fā)布日期


然后選中設(shè)置了循環(huán)展示的普通容器,綁定一個(gè)點(diǎn)擊事件,傳入當(dāng)前記錄的數(shù)據(jù)標(biāo)識(shí)

事件選擇平臺(tái)方法的跳轉(zhuǎn),需要先新建一個(gè)頁面參數(shù)

參數(shù)建立之后我們綁定為當(dāng)前記錄的數(shù)據(jù)標(biāo)識(shí)



5 詳情頁功能實(shí)現(xiàn)
切換到詳情頁,我們可以使用區(qū)塊模板實(shí)現(xiàn),添加一個(gè)內(nèi)容詳情區(qū)塊

我們需要定義一個(gè)變量來獲取當(dāng)前文章的信息,變量的類型選擇模型變量,方法選擇查詢單條,并且綁定我們的參數(shù)變量

將文章的標(biāo)題綁定為我們變量中的標(biāo)題


發(fā)布日期綁定為變量中的發(fā)布日期


把正文綁定為我們變量中的內(nèi)容


將按鈕的文字改為關(guān)注

6 獲取用戶的openid
小程序一啟動(dòng)的時(shí)候就可以獲取用戶的openid,我們先需要定義一個(gè)全局變量用來存儲(chǔ)

在低碼編輯器的全局生命周期里加入獲取用戶openid的代碼

export default {
async onAppLaunch(launchOpts) {
//console.log('---------> LifeCycle onAppLaunch', launchOpts)
const { OPENID, FROM_OPENID } = await app.utils.getWXContext()
let userId = FROM_OPENID || OPENID
app.dataset.state.openid = userId
console.log(app.dataset.state.openid)
},
onAppShow(appShowOpts) {
//console.log('---------> LifeCycle onAppShow', appShowOpts)
},
onAppHide() {
//console.log('---------> LifeCycle onAppHide')
},
onAppError(options) {
//console.log('---------> LifeCycle onAppError', options)
},
onAppPageNotFound(options) {
//console.log('---------> LifeCycle onAppPageNotFound', options)
},
onAppUnhandledRejection(options) {
//console.log('---------> LifeCycle onAppUnhandledRejection', options)
}
}7 設(shè)置關(guān)注的低碼方法
我們?cè)谠斍轫擖c(diǎn)擊關(guān)注按鈕時(shí),調(diào)用關(guān)注的低碼方法,邏輯是傳入當(dāng)前變量的數(shù)據(jù)標(biāo)識(shí),取得用戶的openid寫入數(shù)據(jù)源
export default async function({event, data}) {
const result = await app.cloud.callModel({
name:'gz_necsx6t',
methodName:'wedaCreate',
params:{
wzbs:data.target,
openid:app.dataset.state.openid
}
})
$page.widgets.id20.text = "已關(guān)注"
}然后在容器上設(shè)置點(diǎn)擊事件,調(diào)用低碼方法,參數(shù)傳入頁面的參數(shù)變量

這樣整體就做好了
8 發(fā)布預(yù)覽
點(diǎn)擊發(fā)布按鈕,發(fā)布成測試版,在手機(jī)上進(jìn)行測試,可以看到當(dāng)前關(guān)注數(shù)據(jù)源已經(jīng)寫入了數(shù)據(jù)

9 總結(jié)
我們本篇介紹了如何實(shí)現(xiàn)文章的關(guān)注功能,要想實(shí)現(xiàn)關(guān)注功能首先要設(shè)計(jì)好數(shù)據(jù)源,然后傳入正確的參數(shù),在低碼方法中寫入數(shù)據(jù)源即可。
到此這篇關(guān)于微信小程序?qū)崿F(xiàn)文章關(guān)注功能詳細(xì)流程的文章就介紹到這了,更多相關(guān)小程序關(guān)注功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
原生JS實(shí)現(xiàn)實(shí)時(shí)鐘表
這篇文章主要為大家詳細(xì)介紹了原生JS實(shí)現(xiàn)實(shí)時(shí)鐘表,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
原生js和jQuery隨意改變div屬性style的名稱和值
用原生js和jQuery實(shí)現(xiàn)改變隨意改變div屬性style的名稱和值的結(jié)果,這個(gè)實(shí)例比較實(shí)用,新手朋友們可以看看2014-10-10
微信小程序?qū)崿F(xiàn)tab組件切換動(dòng)畫
tab相對(duì)而言用的還是比較多的,但是用起來并沒有難,下面這篇文章主要給大家介紹了關(guān)于微信小程序全局配置之tab的相關(guān)資料,文中通過圖文以及示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-10-10
JS 實(shí)現(xiàn)請(qǐng)求調(diào)度器
這篇文章主要介紹了JS 實(shí)現(xiàn)請(qǐng)求調(diào)度器的方法,幫助大家更好的理解和學(xué)習(xí)使用js,感興趣的朋友可以了解下2021-03-03
微信小程序?qū)崿F(xiàn)導(dǎo)航功能的操作步驟
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)導(dǎo)航功能的操作步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
JavaScript中的構(gòu)造函數(shù)和實(shí)例對(duì)象之間的關(guān)系(構(gòu)造器)
這篇文章主要介紹了JavaScript中的構(gòu)造函數(shù)和實(shí)例對(duì)象之間的關(guān)系(構(gòu)造器),需要的朋友可以參考下2023-05-05

