微信小程序webview直接调用微信扫一扫相关功能1.我们在做web开发时是按照web开发流程进行的,当需要快速将web项目移植到小程序里面,就需要用到小程序提供的webview组件。关于它的好处以及开发平台配置大家可以按照微信公众平台进行配置我这里主要说下怎么在webview(html)里面使用高级功能。首先:在不获取jssdk配置时,我们只能使用跳转等一些基础函数。但是涉及到要在webview(我们的html)里面直接调用微信扫一扫、打开相册等高级功能时就需要对这个html文件进行注册。
前端逻辑:具体流程是:2.①html页面初始化时向我们的后台请求获取基本配置数据,参数就是当前页面url路径,包括带参部分。②获取到数据调用wx.config方法,对这个html页面注册(注意前提是html加载了js才可以调用scripttype"text/javascript"src"https://res.wx.qq.com/open/js/jweixin-1.3.2.js"/script)③config方法成功后,就可以愉快的使用一些高级功能了。
具体代码展示!--这个地方是在加载配置,实际页面中是页面渲渲染时通过“java后台jssdkconfig”接口从我们的后台获取参数,然后赋值给下面对应的字段”--scripttype"text/javascript"wx.config({debug:true,//是否开启调试appId:'xxxxxxxxxxx',//小程序appidtimestamp:'1534925207',//时间搓,单位秒nonceStr:'HT5Ab5moviaVdp7XegNnRBivrETgPmu2',//随机字符串signature:'d73acd8eec5a4c1a6a86c7e0517bedff78e72fd9',//签名md5jsApiList:['startRecord','stopRecord','playVoice','uploadVoice','downloadVoice','onVoiceRecordEnd','translateVoice','downloadVoice','onMenuShareTimeline','onMenuShareAppMessage','scanQRCode','getLocation','chooseImage','getLocalImgData','uploadImage']//当前html需要用到的接口});/script后台JAVA逻辑:处理流程:3.①页面第一次请求获取配置信息,后台使用微信接口计算得到配置信息,并存起来,然后返回给前端②页面不是第一次请求,不是大于两小时,直接找到对应页面的配置信息返回给用户。大于2小时,如果大于两小时再次调用微信接口计算配置信息,返回用户,更新存储的数据。(这里我用的java类存在内存里面的,改成数据库储存可以相应减轻服务端内存)③为什么要判断是否超过两小时在从新计算呢。因为第一页面一般会刷新比较频繁,其次微信的获取jssdk配置接口有使用次数限制,每天只能获取多少次,所以我们不能每次请求过来都去计算。
后台代码:/***webview——JSSDK使用配置信息获取*/@ResponseBody@RequestMapping(value"User/GetJsSdk_Config")publicMapString,ObjectGetJsSdk_Config(@RequestBodyHashMapString,Objectdata,HttpSessionsession)throwsKeyStoreException,NoSuchAlgorithmException,CertificateException,Exception{MapString,ObjectresultmapnewHashMapString,Object();Useruser(User)session.getAttribute("user");if(usernull){resultmap.put("state",false);resultmap.put("message","未登录或登录超时");returnresultmap;}if(data.get("url")null){resultmap.put("state",false);resultmap.put("message","参数不全");returnresultmap;}Stringurldata.get("url").toString();MapString,Objectone_jassdkcofigAllJssdkConfig.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"));//公众号的appidresultmap.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);returnresultmap;}Stringtokenuser_wxAPI.GetInstance().get_jssdk_accesstoken();Stringticketuser_wxAPI.GetInstance().get_jssdk_ticket(token);resultmapuser_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);returnresultmap;}else{resultmapnewHashMapString,Object();resultmap.put("sate",false);resultmap.put("message","后台获取jssdk_ticket出错");returnresultmap;}}
微信小程序webview直接调用微信扫一扫相关功能-微信扫一扫使用小程序在哪-微信小程序扫一扫功能
浏览量:1410
时间:
来源:萤火1129
版权声明
即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。
最新资讯
-

即速应用,赋能企业玩转微信小程序智慧经营
作为国内领军的智慧商业经营服务商,即速应用始终秉承“让每个企业都拥有自己的智慧店铺”的愿景,持续赋能更多企业玩转智慧经营。即速应用旗下拥有“小程序搭建工具-即速应用”、“私域流量专家-即客云”等产品,帮助商家打通互联网全生态营销闭环。 -

即客云2.0重磅更新,让微信小程序运营更简单!
即客云作为一款基于企业微信的第三方工具,现从多维度提供超过30种功能,自上线以来,已服务多家企业,受到一致好评。近期,我们根据客户反馈和市场调研正式推出升级版 即客云2.0!更新了私域运营SOP,群日历功能,批量拓客,客户雷达,消息推送,个人欢迎语,帮助企业更好运用企业微信;同时提升了社群运营工作标准化,提升运营效率,帮助企业实现客户增长,玩转私域流量。 -

零代码 + AI 双轮驱动|即速应用解锁人工智能小程序开发新范式
无需代码、无需 AI 算法功底,普通人也能快速搭建智能小程序。即速应用将人工智能与零代码开发深度融合,推出 AI 智能生成能力,用户通过自然语言描述需求,AI 自动生成小程序页面、功能模块与后台配置,覆盖商城、预约、同城、社区团购等全场景。平台内置 AI 智能推荐、智能客服、用户画像分析等能力,一键对接微信生态,打通视频号、企业微信、短信跳转,帮企业快速落地 AI 应用,抢占智慧经营先机,让每家企业都拥有 AI 驱动的智慧店铺。










