H5與小程序如何共用的一套代碼
很多時候,大家是不是有這種想法,開發(fā)的小程序,H5與小程序能否共用的一套代碼,帶后端并且可以提交給微信審核?
那么如何做呢?
準(zhǔn)備工作
平臺:
進入www.bmob.cn
找到Bmob最新推出的混合平臺 JSSDK庫,它支持 Node.js 、微信小程序 、Weex 、React Native 、Quick App 和瀏覽器等,寫一份js可以以上任意平臺。
混合數(shù)據(jù)SDK
文檔地址: http://doc.bmob.cn/data/wechat_app_new/index.html
后端直接使用Bmob后端云,如果使用自己的服務(wù)器,請求網(wǎng)絡(luò)這塊可以用Fly,同樣是跨平臺,具體可以上github查看。
框架的選擇:
由于mpvue官方有跨平臺前端示例,這里為了少踩點坑,選擇mpvue
實戰(zhàn)
1:分析頁面請求
需要實現(xiàn)的頁面如下:
從上圖,我們可以看到這個頁面,有2個數(shù)據(jù)來自后端,分表是廣告圖與列表數(shù)據(jù)。
2.建立數(shù)據(jù)表
2.1廣告圖
數(shù)據(jù)結(jié)構(gòu)如下
```
[
{
"title": "1299元起,諾基亞X6正式發(fā)布",
"image": "http://img.ithome.com/newsuploadfiles/focus/f3583ca6-9a52-461b-b2b2-0f649fab0516.jpg",
"link": "/pages/news/detail?id=360077&title=1299元起,諾基亞X6正式發(fā)布"
}
]
```
在后臺建個表slides,導(dǎo)入數(shù)據(jù)/src/db/slides.json
列表數(shù)據(jù)
我在后臺建個表newslist,導(dǎo)入數(shù)據(jù)/src/db/newslist.json,跟上一步一樣的操作
詳細數(shù)據(jù)
建立新聞內(nèi)容表newscontent,導(dǎo)入數(shù)據(jù)/src/db/newscontent.json
3.修改請求代碼到數(shù)據(jù)庫
列表修改請求代碼:
```
//api.js,getNewsList改為
getNewsList: (r) => {
//返回一個異步對象
return new Promise((resolve, reject) => {
//查詢`newslist` 數(shù)據(jù)
const query = Bmob.Query('newslist')
query.find().then(res => {
//返回一個json數(shù)據(jù)
resolve({'newslist': res})
}).catch(err => {
reject(err)
})
})
},
```
數(shù)據(jù)已經(jīng)從Bmob數(shù)據(jù)庫調(diào)用出來了。廣告圖操作一樣,具體代碼看github(https://github.com/bmob/ithome-lite)
這樣就實現(xiàn)了,首頁的廣告、數(shù)據(jù)列表、內(nèi)容展示功能,如果您的小程序只是一個展示功能,可以使用此代碼進行修改。