前言:這是筆者第一次開發小程序,此前一直有打算本身作一個,而且可以上線使用,但一直找不到靈感,加上還須要服務器端、數據庫等技能,全部一直沒能實現。後來偶然看到微信小程序雲開發(有點驚豔了,確實挺簡便),再加上一點點想法,因而就開始了小程序雲開發之旅。javascript
鑑於本身的技術水平(捂臉),還有看到年底不少人都在分享年目標,因而便決定好作一個年目標備忘錄,簡單方便,且有一些意義。
html
實際開發中,每每須要產品相關的思惟導圖、原型圖等來指導開發,即便作一個小項目,我認爲也須要一個良好的構思,如下是小程序的思惟導圖: java
如下列舉主要頁面git
首頁實現的功能:github
部分代碼以下:數據庫
// 調用雲函數
wx.cloud.callFunction({
name: 'login',
data: {},
success: res => {
console.log('[雲函數] [login] user openid: ', res.result.openid)
app.globalData.openid = res.result.openid;
if(!id){
this.getData();
}
},
fail: err => {
console.error('[雲函數] [login] 調用失敗', err)
}
})
//查詢數據庫
const db = wx.cloud.database();
db.collection("targets").where({
_openid: app.globalData.openid,
date: new Date().getFullYear()
}).get({
success: res => {
let data = res.data[0] || {};
this.setData({
id: data._id || '',
title: data.title || '',
content: data.content || '',
flag: false
})
}, fail: err => {
console.log(err)
this.setData({
flag: false
})
}
})
複製代碼
列表實現的功能:小程序
部分代碼以下:微信小程序
//獲取全部目標
const db = wx.cloud.database();
db.collection("targets").where({
_openid: app.globalData.openid
}).get({
success: res => {
this.setData({
flag: true,
targetList: res.data, height: height
})
app.globalData.targetList = res.data;
}, fail: err => {
wx.showToast({
icon: "none",
title: '查詢記錄失敗',
})
}
})
//響應刪除
let id = e.currentTarget.id;
const db = wx.cloud.database();
db.collection("targets").doc(id).remove({
success: res => {
wx.showToast({
title: '刪除成功',
})
}, fail: err => {
wx.showToast({
title: '刪除失敗',
})
}
})
複製代碼
添加目標實現的功能:服務器
部分代碼以下:微信
//新增數據
db.collection("targets").add({
data: data,
success: res => {
wx.showToast({
title: '新增成功',
})
}, fail: err => {
wx.showToast({
title: '新增失敗',
icon: 'none'
})
}
})
//編輯數據
db.collection("targets").doc(data.id).update({
data: data,
success: res => {
wx.showToast({
title: '修改爲功',
})
}, fail: err => {
wx.showToast({
title: '修改失敗',
})
}
})
複製代碼
小程序從開發到發佈成功,只花了一週時間,而且仍是免費的,不得不讚賞雲開發給開發者帶來的便利
因時間、技術或者環境限制,一些尚未解決的問題:
最後附上小程序碼,微信掃碼便可體驗(或搜索個人年目標)。另外,祝願你們都能開發出本身的小程序,而且在新的一年實現本身的人生目標^_^
該小程序的github地址:個人年目標
參考文檔/文章: