寫在前面
最近開發(fā)一個小程序。因為體量實在不大,兩張表,幾個接口。便打算寫原生的代碼。沒有使用uniapp等框架。記錄一下一個小程序從搭建到審核發(fā)布的那些坑和經(jīng)驗做為學(xué)習(xí)筆記。
幾個網(wǎng)站請收藏
你的小程序需要開發(fā)工具: 保姆級傳送門
你的小程序需要一個身份證: 微信公眾平臺
你的開發(fā)需要文檔:開發(fā)文檔
下導(dǎo)航欄的一些坑
這個功能參照開發(fā)文檔寫就可以了。
{
"pages": [
"pages/index/index",
"pages/registerInput/index",
"pages/mine/index"
],
"window": {
"backgroundColor": "#F6F6F6",
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#F6F6F6",
"navigationBarTitleText": "INTCO取件",
"navigationBarTextStyle": "black"
},
"tabBar": {
"color": "#a9b7b7",
"selectedColor": "#11cd6e",
"borderStyle": "black" ,
"list": [{
"selectedIconPath": "images/home.png",
"iconPath": "images/home.png",
"pagePath": "pages/index/index",
"text": "首頁"
}, {
"selectedIconPath": "images/add.png",
"iconPath": "images/add.png",
"pagePath": "pages/registerInput/index",
"text": "添加取件碼"
},{
"selectedIconPath": "images/mine.png",
"iconPath": "images/mine.png",
"pagePath": "pages/mine/index",
"text": "我的"
}
]
},
"sitemapLocation": "sitemap.json",
"style": "v2"
}
注意:
1、導(dǎo)航欄至少兩個內(nèi)容。
2、page的路徑/index
3、別忘了創(chuàng)建頁面后一定要在這里“注冊”
建立數(shù)據(jù)庫、云服務(wù)
因為之前就做前端,前端的任務(wù)就不贅述。主要介紹如何使用云服務(wù)。
前提:正式的小程序ID
當(dāng)一個小程序關(guān)聯(lián)了一個微信賬號。他就算有了正式的ID。
在開發(fā)者工具中就出現(xiàn)了云開發(fā)模塊。
點擊直接開通就可以了。
建立數(shù)據(jù)庫并創(chuàng)建表
可視化的創(chuàng)建,和MongoDB異曲同工之妙。
連接數(shù)據(jù)庫
連接數(shù)據(jù)庫的代碼如下
let db = wx.cloud.database({
evn: '你的云服務(wù)環(huán)境ID'
});
至于環(huán)境ID 在云服務(wù)概覽右上角就可以看到啦。
拿著這個db就可以做數(shù)據(jù)庫的操作拉。
無非增刪改查,不再贅述。
進(jìn)行多條件查詢的坑
首先看看官方文檔給出的答案:
const _ = db.command
db.collection('todo').where({
progress: _.gt(80).or(_.lt(20))
})
我把第一行代碼漏了,一直報錯!千萬別忘了const _ = db.command
get數(shù)據(jù)庫默認(rèn)只讀20條怎么辦
展示的時候如果不做分頁,就想全部進(jìn)行展示,但是讀數(shù)據(jù)庫只會讀前20條。
for和skip來進(jìn)行組合使用是解決這個問題的方法之一。
eg:
const _ = db.command
let arraypro = []
for (let index = 0; index < 3; index++) {
db.collection('數(shù)據(jù)庫表的名稱').where({
registerTime: _.or(dateForSearch,dateForSearchTwo)
}).skip(index*20).get({ //這里就是對index頁的表數(shù)據(jù)進(jìn)行查詢
success: res => {
// console.log('success')
// console.log(res.data)
//for循環(huán) 數(shù)據(jù)暫存至arraypro
for (let j = 0; j < res.data.length; j++) {
arraypro.push(res.data[j]) //把查詢出來的數(shù)據(jù)進(jìn)行儲存
}
console.log(arraypro)
let tempData = arraypro.sort(function(a,b){
return a.status - b.status
})
this.setData({
listData: tempData
})
}
})
}
核心就是個for+skip
小程序的代碼上傳-審核-發(fā)布的坑
敲重點了。如果你想把你做好的小程序發(fā)布到公網(wǎng)(讓所有人都能訪問)。那么需要將你的代碼進(jìn)行提交-審核-發(fā)布。
上傳
開發(fā)工具右上角
審核
當(dāng)你上傳完代碼之后來到公眾平臺。
如果你的小程序不涉及收集用戶的信息,只是做為一個學(xué)習(xí)練習(xí)。那么審核一般就直接會通過。如果如同我寫的小程序那樣涉及收集用戶信息的模塊。則會審核失敗并且提示:
1: 你好,你的小程序涉及收集、存儲用戶身份信息,平臺暫不支持此功能,請修改。
需要添加:
以及一個用戶須知。文章來源:http://www.zghlxwxcb.cn/news/detail-496216.html
wx.showModal({
title: '《隱私政策》',
content: '本軟件尊重并保護(hù)所有使用服務(wù)用戶的個人隱私權(quán)。為了給您提供更準(zhǔn)確、更有個性化的服務(wù),本軟件會按照本隱私權(quán)政策的規(guī)定使用和披露您的個人信息。但本軟件將以高度的勤勉、審慎義務(wù)對待這些信息。除本隱私權(quán)政策另有規(guī)定外,在未征得您事先許可的情況下,本軟件不會將這些信息對外披露或向第三方提供。本軟件會不時更新本隱私權(quán)政策。您在同意本軟件服務(wù)使用協(xié)議之時,即視為您已經(jīng)同意本隱私權(quán)政策全部內(nèi)容。本隱私權(quán)政策屬于本軟件服務(wù)使用協(xié)議不可分割的一部分。1.適用范圍a)在您使用本軟件網(wǎng)絡(luò)服務(wù),本軟件自動接收并記錄的您的手機(jī)上的信息,包括但不限于您的健康數(shù)據(jù)、使用的語言、訪問日期和時間、軟硬件特征信息及您需的網(wǎng)頁記錄等數(shù)據(jù);2.信息的使用a)在獲得您的數(shù)據(jù)之后,本軟件會將其上傳至服務(wù)器,以生成您的排行榜數(shù)據(jù),以便您能夠更好地使用服務(wù)。3.信息披露a)本軟件不會將您的信息披露給不受信任的第三方。b)根據(jù)法律的有關(guān)規(guī)定,或者行政或司法機(jī)構(gòu)的要求,向第三方或者行政、司法機(jī)構(gòu)披露;c)如您出現(xiàn)違反中國有關(guān)法律、法規(guī)或者相關(guān)規(guī)則的情況,需要向第三方披露;4.信息存儲和交換本軟件收集的有關(guān)您的信息和資料將保存在本軟件及(或)其關(guān)聯(lián)公司的服務(wù)器上,這些信息和資料可能傳送至您所在國家、地區(qū)或本軟件收集信息和資料所在的境外并在境外被訪問、存儲和展示。5.信息安全a)在使用本軟件網(wǎng)絡(luò)服務(wù)進(jìn)行網(wǎng)上交易時,您不可避免的要向交易對方或潛在的交易對方披露自己的個人信息,如聯(lián)絡(luò)方式或者郵政地址。請您妥善保護(hù)自己的人信息,僅在必要的情形下向他人提供。如您發(fā)現(xiàn)自己的個人信息泄密,請您立即聯(lián)絡(luò)本軟件客服,以便本軟件采取相應(yīng)措施。',
success (res) {
if (res.confirm) {
console.log('用戶點擊確定')
wx.showModal({
title: '用戶告知及《用戶服務(wù)協(xié)議》',
content: 'xxxxx',
success (res) {
if (res.confirm) {
console.log('用戶點擊確定')
} else if (res.cancel) {
console.log('用戶點擊取消')
}
}
})
} else if (res.cancel) {
console.log('用戶點擊取消')
}
}
})
寫在后面
相同的代碼早上審核不通過,下午審核通過,有時候就是玄學(xué),多嘗試幾遍文章來源地址http://www.zghlxwxcb.cn/news/detail-496216.html
到了這里,關(guān)于快速上手微信小程序(純原生)基于微信開發(fā)者工具+云開發(fā)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!