一.開始】、java
1.按鍵精靈android手機腳本mysql
1.1.截取手機上指定範圍內的圖片,經過api上傳到有道智雲處理後返回識別後的JSON格式數據。android
1.2.代碼sql
Import "ShanHai.lua"
//公用該方法 Function wangyiOcrDiscern(imagePath) Dim appKey,img,langType,detectType,imageType,salt,docType,sign,appsecret appsecret="應用程序key" appKey = "應用程序祕鑰'" Dim time_stamp = Time() salt = Encode.Md5(CStr(time_stamp)) img = Replace(ShanHai.ReadFileBase(imagePath), """", "") langType = "zh-en" detectType = "10012" imageType = "1" sign = Encode.Md5(appKey & img & salt & appsecret) Dim goupParameter goupParameter = "img=" & ShanHai.CharToUrl(img) & "&" & "langType=" & ShanHai.CharToUrl(langType) & "&" & "detectType=" & ShanHai.CharToUrl(detectType) & "&" & "imageType=" & ShanHai.CharToUrl(imageType) & "&" & "appKey=" & ShanHai.CharToUrl(appKey) & "&" & "salt=" & ShanHai.CharToUrl(salt) & "&" & "sign=" & ShanHai.CharToUrl(sign) & "&" & "docType=" & ShanHai.CharToUrl(docType) wangyiOcrDiscern = URL.Post("http://openapi.youdao.com/ocrapi", goupParameter) End Function
//調用部分代碼
Dir.Delete ("/storage/emulated/0/ocr.jpg") SnapShot "/storage/emulated/0/ocr.jpg", 166, 215, 597, 1680 ocrJson = wangyiOcrDiscern("/storage/emulated/0/ocr.jpg") ocrJson = UTF8.Mid(ocrJson, charPostion + 8, Len(ocrJson)) ocrJson = "[" & Replace(ocrJson, "}]}}", "")
經過上面的處理獲得的ocrJson是一個 JSONArray數組字符串,裏面每一個成員都爲字典JSONObject
//將數據傳給java處理,這裏爲何不直接給按鍵精靈處理了,首先按鍵處理數據的能力不能和java比,而後是這些數據都是要往服務器裏走的。
Function shareHttpRequest(checkJsonData,appName) Dim parameter,posturl parameter = "checkJson=" & checkJsonData & "&appName=" & appName posturl = "https://www.?.com/?/?" Dim returnData,wetherGoOnRun URL.Post(posturl,parameter) End Function
2.java服務端腳本數據庫
2.1. 接受從按鍵來的數據後,進行一系列的規範處理,而後入數據庫。api
2.2.代碼(因爲下面處理數據部分代碼太多就不一一說了,不明白的能夠問我)數組
else if(appName.contains("?")) { shareArray=new JSONArray(); int weatherPostNikeNameError=0; for(int i=0;i<serverArray.length();i++) { weatherPostNikeNameError=0; tempValueJsonobject=serverArray.getJSONObject(i); //審覈中的id,已遍歷出來 checkId=tempValueJsonobject.getString("weixinNumber"); id=tempValueJsonobject.getString("id"); publisher=tempValueJsonobject.getString("publisher"); if(parameterArray==null) { parameterArray=new JSONArray(ocrStrValue); for(int t=0;t<10;t++) { JSONObject singlexxxx= parameterArray.getJSONObject(0); String dltTxtxxx=singlexxxx.getString("text").replace(" ", ""); if (!dltTxtxxx.contains("用戶")) { parameterArray.remove(0); } else { break; } } //最後一個成員移除 for(int k=0;k<10;k++) { JSONObject singlexx= parameterArray.getJSONObject(parameterArray.length()-1); String dltTxt=singlexx.getString("text").replace(" ", ""); if (dltTxt.contains("獎勵")) { break; } else { parameterArray.remove(parameterArray.length()-1); } } tempSaveObject=new JSONObject(); String checkIdgroup=""; String monery=""; for(int j=1;j<parameterArray.length();j++) { singleObjet=parameterArray.getJSONObject(j-1); String text=singleObjet.getString("text").replace(" ", ""); if(j%4!=0) { if(text.contains("已到帳")&&!text.contains("今日")) { monery=text.replace("已到帳", "").replace("元", ""); } else { checkIdgroup=checkIdgroup+text; } } else { if(text.contains("已到帳")&&!text.contains("今日")) { monery=text.replace("已到帳", "").replace("元", ""); } else { checkIdgroup=checkIdgroup+text; } tempSaveObject.put("checkId",checkIdgroup ); tempSaveObject.put("monery", monery); shareArray.put(tempSaveObject); tempSaveObject=new JSONObject(); checkIdgroup=""; monery=""; } } } taskTitle=tempValueJsonobject.getString("taskTitle"); addTotalScore="0"; for(int j=0;j<shareArray.length();j++) { tempSaveObject=shareArray.getJSONObject(j); shareStr=tempSaveObject.getString("checkId"); if(shareStr.contains(checkId)) { weatherPostNikeNameError=1; //數據庫記錄用戶得到的總共獎勵 double rewardJiangliTotalMonery= Double.valueOf(tempValueJsonobject.getString("rewardJiangliTotalMonery")); //截圖數據顯示當前獎勵的總數 double jieTumonery=Double.valueOf(tempSaveObject.getString("monery")); if(rewardJiangliTotalMonery==0 && jieTumonery>=1) { addTotalScore=tempValueJsonobject.getString("addTotalScore"); } //截圖顯示的金錢數 //已經獎勵的金錢數量 if(jieTumonery>1 && rewardJiangliTotalMonery>1) { double againJiangliMonery=jieTumonery-rewardJiangliTotalMonery; sharemal = new BigDecimal(againJiangliMonery ); againJiangliMonery= sharemal.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); if (againJiangliMonery>=1) { addTotalScore=String.valueOf(againJiangliMonery*0.5); } } if(addTotalScore.contains(".")) { addTotalScore=addTotalScore+"0"; } if(!addTotalScore.equals("0"))//得到獎勵,給用戶增長金錢 { userAccount=tempValueJsonobject.getString("account"); mysqlParameter=new String[]{ addTotalScore,addTotalScore,userAccount}; helper.executeUpdate("update ? set score=score+?,xiajiReturnScore=xiajiReturnScore+? where account=?",mysqlParameter); mysqlParameter=new String[]{userAccount}; JSONArray TempShareArray=helper.executeQueryT("select * from ? where account=?", mysqlParameter); singleObjet=TempShareArray.getJSONObject(0); String Master=singleObjet.getString("masterAccount"); if(!Master.equals("666")&& !Master.equals("13983918071")) { try{ mysqlParameter=new String[]{Master}; TempShareArray=helper.executeQueryT("select * from userSheet where account=?", mysqlParameter); singleObjet=TempShareArray.getJSONObject(0); masterType=singleObjet.getString("userType"); if(masterType.equals("銅牌")) { singleObjet= AAAAYulebaoShareSingleton.getInstance().member_calss_sheet.getJSONObject(0); } else if(masterType.equals("銀牌")) { singleObjet= AAAAYulebaoShareSingleton.getInstance().member_calss_sheet.getJSONObject(1); } else//金牌 { singleObjet= AAAAYulebaoShareSingleton.getInstance().member_calss_sheet.getJSONObject(2); } masteraddMonery=singleObjet.getString("fandian"); }catch(Exception e){ masteraddMonery="0.1"; } mysqlParameter=new String[] {masteraddMonery,masteraddMonery,Master}; helper.executeUpdate("update userSheet set score=score+?,messageCount=messageCount+1,xiajiReturnScore=xiajiReturnScore+? where account=? and score>=0", mysqlParameter); mysqlParameter=null; mysqlParameter=new String[]{"下級返點", "好友"+userAccount+"完成"+taskTitle+"任務,你得到"+masteraddMonery+"元",NowData,Master,"1"}; helper.executeUpdate("insert into ?(title,content,datatime,account,infoType) values (?,?,?,?,?)", mysqlParameter); } mysqlParameter=new String[]{"任務獎勵", taskTitle+"app任務再次完成,得到"+addTotalScore+"寶幣",NowData,userAccount}; helper.executeUpdate("insert into ?(title,content,datatime,account) values (?,?,?,?)", mysqlParameter); String subId; if(userAccount.length()==11) { subId=userAccount.substring(0, 3)+"******"+userAccount.substring(9); } else if(userAccount.length()==8) { subId=userAccount.substring(0, 3)+"******"+userAccount.substring(6); } else { userAccount="13983918071"; subId=userAccount.substring(0, 3)+"******"+userAccount.substring(9); } mysqlParameter=new String[]{"已完成",tempSaveObject.getString("monery"),id,publisher}; helper.executeUpdate("update ? set taskState=?,rewardJiangliTotalMonery=?,taskRecordTimes=taskRecordTimes+1 where id=? and publisher=?",mysqlParameter); String lunboinfo="恭喜"+subId+taskTitle+"任務再次完成,得到"+addTotalScore+"元"; JSONArray singleArray=AAAAYulebaoShareSingleton.getInstance().homePageSessionDictionary.getJSONArray("lunboinfoSheet"); singleArray.put(lunboinfo); if(singleArray.length()>5) { singleArray.remove(0); } AAAAYulebaoShareSingleton.getInstance().homePageSessionDictionary.put("lunboinfoSheet", singleArray); singleArray=null; lunboinfo=null; singleObjet=null;masterType=null; } else//審覈失敗 { mysqlParameter=new String[]{"進行中","任務失敗,?",id}; helper.executeUpdate("update ? set taskState=?,finishTime=? where id=?",mysqlParameter); } } }
本人作的一款androidApp, 下載量已經有2000多萬,各類當前熱門的網絡手機獎勵紅包所有集成,另外還有熱門電影和淘寶高額優惠券!很適合各種型的用戶。服務器