釘釘小程序開發(fā)技術(shù)(釘釘小程序開發(fā)技術(shù)方案)
今天給各位分享釘釘小程序開發(fā)技術(shù)的知識,其中也會對釘釘小程序開發(fā)技術(shù)方案進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
通過微信小程序來實現(xiàn) “釘釘打卡”
產(chǎn)品希望統(tǒng)計我們公司線下人員的考勤情況,釘釘?shù)墓δ苣壳安荒軡M足一天多次外勤打卡的需求,于是我們打算自己開發(fā)一套打卡系統(tǒng)。我們的線下工作人員日常使用的是我們內(nèi)部的一個微信小程序,產(chǎn)品希望將外勤打卡的功能在小程序上實現(xiàn)。方便線下人員在同一個平臺上操作。
我們線下工作人員遍布全國各地,每個人的工作地點可能各不一樣,怎樣讓線下工作人員在指定的地方打卡呢?
為了方便統(tǒng)一打卡管理,添加一個模塊給志愿者管理人員,由管理者添加外勤對象,線下工作者根據(jù)當(dāng)前的定位,選擇匹配到方圓1公里的外勤對象,選擇對應(yīng)要打卡的對象進(jìn)行打卡。
外勤打卡呢,一個線下工作一天要跑多個工作地點,每個地點都要進(jìn)行打卡,如何保證一天多次打卡呢?產(chǎn)品希望他們每次出勤都有對應(yīng)的簽到和簽退,沒完成簽退,不可以新建一次外勤,每次簽到成功就創(chuàng)建了一次外勤,簽退不限制地點,可以進(jìn)行隨時簽退,這樣就保證了每次出勤都是成對的。
針對打卡功能,我們選用微信小程序開發(fā)里面的位置api:定位、和選點定位。
這次主要使用的兩個位置api:
來來來,簽到了:
考慮到有可能通過抓包提交經(jīng)緯度來進(jìn)行打卡,我們前后端統(tǒng)一指定了一套打卡加密機(jī)制。我們采用的 MD5加密,對經(jīng)緯度、時間戳、小程序密鑰等組合加密,前端每次打卡,都要加密后32密鑰傳給后端,后端校驗通過后,才可以打卡。這樣就可以阻止部分通過接口打卡的騷操作了。
我們要求每次簽到簽退都要進(jìn)行自拍,雖然不能完全杜絕刷打卡,但卻可以 避免一部分作弊。
最終我們的打卡:
最后對于開發(fā)團(tuán)隊的總結(jié), 前端主動驅(qū)動,需求評估后,提前想好解決方案,盡量減少非預(yù)知問題,需求評估后可以提前做個demo,對技術(shù)選型、功能的實現(xiàn)程度,以及需求的開發(fā)周期的有個大致預(yù)期。
釘釘小程序圖表庫AntV - F2 使用總結(jié)
對于圖表這塊的開發(fā),使用一些流行的圖表庫可以大大提高我們的開發(fā)效率,目前較為流行的圖表庫大概有Echarts,Hcharts,AntV,他們都是大同小異,我印象比較深刻的是Hcharts是支持多坐標(biāo)軸的,Echarts好像是不支持的,但是對于小程序的選擇我們選擇的是阿里的AntV-f2,因為他明確指出了適合小程序開發(fā),而且AntV-f2除了不支持一些document,其他的大部分功能都是支持的,我們就沒有再考慮其他的庫,但是官方并沒有太多關(guān)于小程序的具體使用文檔,我們只能根據(jù)js的相關(guān)事例翻譯成小程序的語法。
釘釘小程序開發(fā)工具:
AntV - F2:
效果看著有點丑對不對......那我們就來實現(xiàn)一下設(shè)計師的效果圖吧!具體功能:1.默認(rèn)展示一個tooltip, 2.tooltip改變時展示對應(yīng)x軸的數(shù)據(jù),3.自定義tooltip
我們自定義一個默認(rèn)的tooltip:, 就叫做def_item吧,當(dāng)圖表渲染完成設(shè)置def_item = {key: 100, value: 200},這里有個注意點,就是def_item的內(nèi)容不是隨便定義的,這里我們先不做多說,后面會說明這個def_item的key值時如何設(shè)置的。
通過查找tooltip的Api我們會發(fā)現(xiàn)它有3個事件的回調(diào),在釘釘小程序中我們只能通過props來傳遞tooltip的回調(diào)
優(yōu)化后的效果
如何制作釘釘答題小程序
1、首先,打開vs編程軟件,在左上角新建文件。
2、其次,在網(wǎng)絡(luò)上找個代碼模板,按照自己的需求進(jìn)行修改。
3、最后,即可完成釘釘答題小程序的開發(fā)。
釘釘小程序(E應(yīng)用)開發(fā)踩坑
??a、在釘釘開發(fā)平臺創(chuàng)建小程序,并將自己的釘釘賬號設(shè)置為開發(fā)人員;
??b、在IDE中登錄,關(guān)聯(lián)應(yīng)用;
??c、上傳完成后,即可在釘釘開發(fā)平臺將上傳版本設(shè)置為體驗版。
?? npm install lodash // 安裝第三方包
?? import lodash from 'lodash' // 載入第三方 npm 模塊
??注: 可能報錯 error:cannot read property 'prototype' of undefined;
??建議: import get from 'lodash/get' 單獨引入用到的工具類
??編譯失敗查看日志,通常是超過5M,是將根目錄下的debug.log一起編譯到項目中了,所以直接刪除這個debug.log就可以編譯通過了
??釘釘小程序E應(yīng)用在發(fā)版時會有一個老版本的緩存,每次發(fā)版后直接打開E應(yīng)用,其實訪問的是上一個版本的緩存,這個緩存會在發(fā)版后10分鐘左右自動更新成最新版本,如果想要直接看到最新版本,可以退出釘釘?shù)卿涃~戶,并殺掉釘釘進(jìn)程,這樣再進(jìn)去后就是直接訪問的最新版本了.
釘釘小程序開發(fā)技術(shù)的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于釘釘小程序開發(fā)技術(shù)方案、釘釘小程序開發(fā)技術(shù)的信息別忘了在本站進(jìn)行查找喔。