我们有h5版的页面,为了快速实现小程序,我们用小程序的webview嵌套了h5,但是有些功能需要借助小程序的能力,文档上写的可以wx.miniProgram.postMessage.
但是需要引入微信的jssdk,还要有下面的配置
wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名 jsApiList: [] // 必填,需要使用的JS接口列表});
我们只是一个通用的h5页面,并没有公众号,没有appid这些东西,请问这种情况可以用jssdk吗?
wx.miniProgram.postMessage
不需要jssdk就可以使用
不过我们实现h5调用小程序能力一般这样:
h5页面A使用 wx.miniProgram.navigateTo
跳转到小程序的B页面
在B页面中用户点击(获取手机号,地址,车牌 等)小程序能力后
B使用redirectTo到h5的C页面 数据使用querystring传递 C页面对localStorage进行设置
设置完后C页面直接使用 wx.miniProgram.navigateBack
即可回到A页面
A页面使用监听storage事件接收小程序的数据
当然也可以借助后端 比如使用websocket等 让流程更简单
不可以吧。你的H5页面是运行在微信小程序的web-view组件中,肯定无法直接使用微信JS-SDK的。因为微信JS-SDK是为微信内置浏览器提供的API,而小程序的web-view并不等同于微信内置浏览器。
当然你真想用的话,可以利用小程序提供的桥接功能来实现。微信小程序的web-view组件提供了一些方法,允许小程序和H5页面之间进行通信。
比如说,首先在H5页面中通过window.WeixinJSBridge
或window.wx.miniProgram
对象(不过window.wx.miniProgram对象在H5页面中可能不可用)来判断当前环境是否为小程序,然后调用postMessage
方法向小程序发送消息。然后在小程序中监听message
事件来接收H5页面发送的消息。
这样,你就可以在H5页面中调用小程序的API,实现一些需要小程序能力的功能。
在H5页面中:
if (window.WeixinJSBridge) { window.WeixinJSBridge.invoke('postMessage', { data: { key: 'value' } });}
在小程序中:
Page({ onMessage: function(event) { console.log(event.detail.data); // { key: 'value' } }});
在这个示例中,H5页面使用window.WeixinJSBridge.invoke('postMessage', { data: { key: 'value' } })
向小程序发送消息,然后小程序监听message
事件来接收消息。
如果你的H5页面需要频繁和小程序进行通信,理论上可以封装一些函数来简化操作。
在H5页面中创建一个函数,用于判断当前环境是否为小程序,并发送消息:
function postMessageToMiniProgram(data) { if (window.WeixinJSBridge) { window.WeixinJSBridge.invoke('postMessage', { data: data }); } else { console.log('Not in WeChat MiniProgram'); }}
然后,你可以在需要的地方调用这个函数来发送消息:
postMessageToMiniProgram({ key: 'value' });
在小程序中,你可以在onLoad
方法中添加一个事件监听器,用于接收H5页面发送的消息:
Page({ onLoad: function() { wx.createWebViewContext('webview').addEventListener('message', this.onMessage); }, onMessage: function(event) { console.log(event.detail.data); // { key: 'value' } }});
上面仅是个很简单的示例,要用的话还是最好还是根据你的实际需求进行修改和扩展。
这个可以直接用,不需要config
注册一个公众号很快的,点一点就行了,就是企业认证会稍微花费一些时间。
所以如果有需求,做一下注册和认证是最好的,不然很多API是没办法用的。
最重要的一点就是如果没有在开放平台注册小程序,你们准备怎么发布小程序呢?
另外提醒一下小程序嵌套 webview
的开发方式,很可能过不了审。最终很可能得用 uni-app
编译成小程序的方式来处理。
微信公众平台 --> 小程序 --> 开发管理 --> 开发设置 --> 业务域名
场景: 我们是一个公司,然后给对面不同公司做对应的小程序, 但是数据不允许放在我们服务器里面,要放到他们服务器里面, 然后这样子的话就得请求他们的接口,用他们的域名, 然后我们的微信小程序就需要在后台配置不同公司的request合法域名, 但是我看微信小程序里面最多配置200个合法域名,而且到时候如果2000个,20000个呢, 这种情况该如何处理呢? 我想的是可以做一个代理转发,就放一个中间的请
分享接口只有认证公众号才能使用,域名必须备案且在微信后台设置。 先确认已经满足使用jssdk的要求再进行开发。 WechatPlugin 插件提供了commonJS的引入方式,因此你不需要在 index.html 引入文件。 版本要求 WechatPlugin在vux@^2.1.0-rc.19开始支持 引入 在 main.js 中全局引入: import { WechatPlugin } from
@megalo/target 的 platform 设置成 wechat,mini-css-extract-plugin 提取文件后缀改成微信小程序的 wxss。 const createMegaloTarget = require( '@megalo/target' ) const compiler = require( '@megalo/template-compiler' ) const M
1、第三方应用授权对接 之前对接小程序只提供了开发者授权的方式,这种方式的弊端是,如果客户同时对接了其他的系统,会产生access token冲突,导致消息发不过来。因此新增第三方平台授权的方式,客户可以在智齿后台直接扫二维码授权对接。流程如下: 1.1、选择授权方式,进入配置页 点击绑定小程序时选择授权方式,默认推荐第三方平台授权: 点击确定进入配置页: 1.2、扫描授权二维码 点击“微信公
微信小程序配置 1.微信小程序使用流程 具体配置参考相关教程 uni-app编译版参考教程 uni-app编译版 uni-app开源版参考教程 uni-app开源版 2.微信小程序下载 打开后台-小程序-微信小程序-小程序源码下载,注:针对已购买小程序的客户,可选"编译版""开源版""更新包" 3.微信小程序装修 1.首页导航: (导航能够有效帮助粉丝跳转到各个关键页面,是整个店铺的“指南针”。)
微信小程序 微信小程序扫码授权以后,用户在小程序点击客服按钮发送的消息会转发给机器人,机器人会自动回复消息给小程序用户,同一个微信小程序同时只能绑定一个机器人,如果绑定了新的机器人,之前绑定的机器人会解除绑定。 注:微信小程序渠道接入后,用户仅可以发送文字进行问答。 只需三步接入微信小程序,自动回答小程序上的用户问题: 1. 创建机器人 注册登录https://bot.4paradigm.com后