前一段時(shí)間做了某公司官網(wǎng)外包腺兴,其實(shí)說(shuō)是官網(wǎng),就只有一個(gè)靜態(tài)頁(yè)面廉侧。所以輕松又愉快的就完成了開(kāi)發(fā)页响,正當(dāng)要上線(xiàn)之際,甲方突然提出了一個(gè)在他們看來(lái)一點(diǎn)都不過(guò)分的要求:
“能不能在我們官網(wǎng)加一個(gè)報(bào)名表格段誊,有一個(gè)后臺(tái)可以查看報(bào)名數(shù)據(jù)闰蚕。”
LZ當(dāng)時(shí)的內(nèi)心的感覺(jué)是:甲方給了小籠包的預(yù)算连舍,要做出小龍女的效果没陡,于是我義正言辭的對(duì)他說(shuō)
好的,明天就上線(xiàn)
簡(jiǎn)直是no zuo no die why you try 為何我這種不會(huì)拒絕別人的性格程序員可以一直做外包都沒(méi)有餓死索赏,自己都想不通盼玄。
如果項(xiàng)目本身是WordPress開(kāi)發(fā)的話(huà),可以用插件的方式做表單的提交存儲(chǔ)和管理参滴,否則就要自己用PHP來(lái)寫(xiě)一套接口存儲(chǔ)數(shù)據(jù)强岸,還要寫(xiě)后臺(tái)管理頁(yè)面。分分鐘想甩甲方一臉要求加錢(qián)砾赔,不過(guò)后來(lái)還是忍住了,因?yàn)檫€好我有第三套方案:leancloud
不開(kāi)刀青灼,無(wú)痛苦暴心,今天做完,明天就上線(xiàn)杂拨。
注冊(cè)登錄就略過(guò)不說(shuō)了专普,登錄到leancloud的后臺(tái),選擇新建一個(gè)應(yīng)用弹沽,你會(huì)得到一個(gè)這樣的頁(yè)面:
左邊下劃線(xiàn)開(kāi)頭的class都是系統(tǒng)提供的功能檀夹,比如用戶(hù)管理,權(quán)限管理策橘,文件管理一類(lèi)的炸渡,我們這個(gè)case暫時(shí)用不上,就先不提了丽已。
在項(xiàng)目頁(yè)面引入leancloud的jssdk蚌堵,我用的是bower的方式,非常的方便。也可以直接引入:
<script src="https://cdn1.lncld.net/static/js/av-core-mini-0.5.4.js"></script>`
然后初始化應(yīng)用:
AV.initialize(appid,appkey);
在設(shè)置頁(yè)面可以找到appid和appkey
新建一個(gè)forms對(duì)象:
var Forms = AV.Object.extend("forms");
var formObject = new Forms();
不用在leancloud的后臺(tái)實(shí)現(xiàn)添加forms類(lèi)吼畏,系統(tǒng)會(huì)根據(jù)提交的數(shù)據(jù)督赤,自動(dòng)生成類(lèi)和字段
在合適的事件下觸發(fā)存儲(chǔ),以及回調(diào)事件:
formObject.save({
name:name,
phone:phone,
email:email,
cooperate:cooperate
}, {
success: function(object) {
alert("感謝您的提交泻蚊,我們會(huì)盡快與您取得聯(lián)系躲舌!");
}
});
提交之后后臺(tái)就能看到數(shù)據(jù)了。
為了不讓甲方太過(guò)懷疑性雄,我特地等了一天才告訴甲方已經(jīng)開(kāi)發(fā)好了這個(gè)功能没卸。甲方表示非常滿(mǎn)意,然后問(wèn)我
可不可以在有人報(bào)名的時(shí)候郵件通知一下呢毅贮?
LZ內(nèi)心再次一群草泥馬呼嘯而過(guò)办悟,為什么又加了需求,又不給錢(qián)滩褥,這一次我義正言辭的說(shuō):
好的病蛉,麻煩再給我一天時(shí)間。
我人這么好為什么要做外包瑰煎,應(yīng)該去做慈善才對(duì)啊铺然,幸好leancloud支持云代碼功能
我們創(chuàng)建一個(gè)函數(shù),在forms被保存之后觸發(fā)
query = new AV.Query('forms');
query.get(request.object.id, {
success: function(post) {
var data = {
from: 'Mailgun Sandbox <postmaster@sandboxxxx.mailgun.org>',
to: 'xxx@126.com',
subject: '官網(wǎng)留言信息',
text:"姓名:"+post.attributes.name+"\nE-mail:"+post.attributes.email+"\n電話(huà):"+post.attributes.phone+"\n留言:"+post.attributes.cooperate
};
mailgun.messages().send(data, function (error, body) {
console.log(body);
});
},
error: function(error) {
throw 'Got an error ' + error.code + ' : ' + error.message;
}
});`
用了一下mailgun的郵件服務(wù)酒甸,順便提一下魄健,qq郵件對(duì)mailgun非常的不友好,分分鐘加入黑名單插勤。
然后我又過(guò)了一天沽瘦,告訴甲方通過(guò)我艱苦卓絕的努力,終于實(shí)現(xiàn)了這個(gè)高大上的功能农尖,甲方表示非常開(kāi)心析恋,直夸我是多快好省的小能手
但是他沒(méi)有加錢(qián)
===========正文完結(jié)的分割線(xiàn)===========
如果貴司不是故意要用一個(gè)小番茄作為退出按鈕的話(huà),那么這就是一個(gè)BUG了!
這真是一個(gè)毫無(wú)意義的八阿哥┑( ̄Д  ̄)┍