|
導讀微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一... 微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創新,經過將近兩年的發展,已經構造了新的小程序開發環境和開發者生態。 本篇文章給大家帶來的內容是關于微信小程序如何使用webview調用微信掃一掃的功能,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。我們在做web開發時是按照web開發流程進行的,當需要快速將web項目移植到小程序里面,就需要用到小程序提供的webview組件。關于它的好處以及開發平臺配置大家可以按照微信公眾平臺進行配置 前端邏輯: 具體流程是: ①html頁面初始化時向我們的后臺請求獲取基本配置數據,參數就是當前頁面url路徑,包括帶參部分。 具體代碼展示<!-- 這個地方是在加載配置,實際頁面中是頁面渲渲染時通過“java后臺jssdkconfig”接口從我們的后臺獲取參數,然后賦值給下面對應的字段”-->
<script type="text/javascript">
wx.config({
debug: true,//是否開啟調試
appId: 'wx97d97ea93ef96606',//小程序appid
timestamp: '1534925207',//時間搓,單位秒
nonceStr: 'HT5Ab5moviaVdp7XegNnRBivrETgPmu2',//隨機字符串
signature: 'd73acd8eec5a4c1a6a86c7e0517bedff78e72fd9',//簽名md5
jsApiList: ['startRecord','stopRecord','playVoice','uploadVoice','downloadVoice','onVoiceRecordEnd','translateVoice','downloadVoice', 'onMenuShareTimeline','onMenuShareAppMessage','scanQRCode','getLocation','chooseImage','getLocalImgData','uploadImage']//當前html需要用到的接口
});
</script>后臺JAVA邏輯: 處理流程: ①頁面第一次請求獲取配置信息,后臺使用微信接口計算得到配置信息,并存起來,然后返回給前端 后臺代碼: /**
* webview——JSSDK使用配置信息獲取
*/
@ResponseBody
@RequestMapping(value = "User/GetJsSdk_Config")
public Map<String, Object> GetJsSdk_Config(@RequestBody HashMap<String, Object> data, HttpSession session)
throws KeyStoreException, NoSuchAlgorithmException, CertificateException, Exception {
Map<String, Object> resultmap = new HashMap<String, Object>();
User user = (User) session.getAttribute("user");
if (user == null) {
resultmap.put("state", false);
resultmap.put("message", "未登錄或登錄超時");
return resultmap;
}
if (data.get("url") == null) {
resultmap.put("state", false);
resultmap.put("message", "參數不全");
return resultmap;
}
String url = data.get("url").toString();
Map<String, Object> one_jassdkcofig = AllJssdkConfig.TheconfigBeoVerdue(url);
if (one_jassdkcofig != null)// 如果當前頁面配置信息還未過期
{
resultmap.put("sate", true);
resultmap.put("message", "");
resultmap.put("beta", one_jassdkcofig.get("beta"));
resultmap.put("debug", one_jassdkcofig.get("debug"));// 是否開啟調試
resultmap.put("appId", one_jassdkcofig.get("appId"));// 公眾號的appid
resultmap.put("timestamp", one_jassdkcofig.get("timestamp"));// 時間搓、秒
resultmap.put("nonceStr", one_jassdkcofig.get("nonceStr"));// 隨即字符
resultmap.put("signature", one_jassdkcofig.get("signature"));// sha1加密碼
resultmap.put("jsApiList", "所有需要用到的接口");// 需要使用的接口
System.out.println("找到配置!不用計算");
System.out.println(resultmap);
return resultmap;
}
String token = user_wxAPI.GetInstance().get_jssdk_accesstoken();
String ticket = user_wxAPI.GetInstance().get_jssdk_ticket(token);
resultmap = user_wxAPI.GetInstance().get_jssdk_config(ticket,url);
if (resultmap!=null) {
resultmap.put("sate", true);
resultmap.put("message", "");
AllJssdkConfig.SaveOneConfig(url, resultmap);// 更新jasdk數組配置
System.out.println("沒有找到配置!重新計算");
System.out.println(resultmap);
return resultmap;
} else {
resultmap=new HashMap<String, Object>();
resultmap.put("sate", false);
resultmap.put("message", "后臺獲取jssdk_ticket出錯");
return resultmap;
}
}相關推薦: 微信開發 - 微信v3掃碼支付二返回的notify.php怎么接收回調的值 分享微信掃碼支付開發遇到問題及解決方案-附Ecshop微信支付插件_php實例 以上就是微信小程序如何使用webview調用微信掃一掃的功能的詳細內容,更多請關注php中文網其它相關文章! 小程序是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。 |
溫馨提示:喜歡本站的話,請收藏一下本站!