應用通過審核以后,由開發者設置應用上架,但何時能在appstore搜索到該應用,這個時間不等,有時候15分鍾左右有時候2個多小時,以前就是隔一段時間打開網頁然后刷新一下,或者搜索一下,查看版本號,操作幾次后明顯感覺很崩潰了…
既然只是想知道應用的版本號,只要抓取頁面,然后獲取頁面的版本號信息,就知道是否更新過來了,然后通過公司內部的OA接口,發送一條消息,告知所有相關的人員版本號已經更新了…
我用node.js實現的,代碼大約在30行左右,下面是實現…
這里我借助了request這個模塊 npm install request (查看模塊詳情>>)
1: var request = require('request')
2: var request = request.defaults({jar: true})
3:
4: function getAppVersion() {
5: request.get("http://itunes.apple.com/cn/app/xxx/idxxxx?mt=8&t=" + new Date().getTime(), function(error, response, body) {
6: if (/\<li\><span class=\"label\">版本\: <\/span>([^<]+)\<\/li\>/.test(body)) {
7: var currVer = RegExp["$1"];
8: console.log("當前版本:" + currVer);
9: if (currVer == "1.0.2") {
10: return sendOANotification(currVer);
11: }
12: }
13: setTimeout(getAppVersion, 3 * 1000);
14: })
15: }
16:
17: function sendOANotification(currVer) {
18: request.post('http://oa.xxx.net/login.php', {form:{UNAME:"meteoric_cry", PASSWORD:"xxxx"}}, function(error, respose, body) {
19: if (/location=\"general\"\;/.test(body)) {
20: var uid_str = ["meteoric"].join(",");//需要添加多個人,只需要在數組里添加uid
21: var url = "http://oa.xxx.net/general/reservation/sendsmsapi.php?uid='"+uid_str+"'&cont='AppStore Version:"+currVer+"'";
22:
23: request.get(url, function(error, response, body) {
24: //console.log(body)
25: console.log("OA消息發送成功");
26: })
27: } else {
28: console.log("登錄OA失敗");
29: }
30: })
31: }
32:
33: getAppVersion()
這個功能,如果想靈活一點,就讓調用者傳入參數:應用的下載地址、最新的版本號、刷新網頁的頻率、需要通知的人員列表。可以做成一個客戶端應用(Exe程序),或者hta程序,或者其它任意不需要依賴其它人安裝額外環境的程序