评论

微信小程序开发常见问题(三)

1、formId如何获取 2、如何区分从群聊和私聊打开的小程序 3、小程序框架推荐

一、获取formId

相信使用过小程序的同学,多少都收到过小程序的通过消息,如下:

这类通知消息,是和好友消息一样展示在微信的聊天列表中,所以,点击率还是比较高的。想实现这种小程序的模板消息,就必须要获取用户的formid才可以(如何发消息,请仔细查阅小程序官方文档

我们来说一下如何获取formId:

a、必须通过form组件提交才能获取到formId;
b、给form组件设置report-submit="true"属性;
c、给form组件添加bindsubmit事件绑定,携带 form 中的数据触发 submit 事件,event.detail = {value : {‘name’: ‘value’} , formId: ‘’};
d、必须用户手动触发提交表单,不能JS模拟提交,所以,页面上必须要有提交按钮;

看一下示例代码:
<form report-submit=‘true’ bindsubmit=‘userSubmit’>
<button class=‘button’ bindtap=‘copy’
form-type=‘submit’>复制</button>
</form>
以上示例就可以在userSubmit里获取到formId了:

userSubmit: function (e) {
console.log(e.detail.formId);
},
需要注意一点,开发工具里面是没办法查看到真实的formId的,会是这样一句提示"the formId is a mock one",提交给服务端就可以拿到了~

最暴力的方式:整个页面最外层套一个button,点击页面任何地方,都可以获取到formId

二、区分转发的是群聊还是好友
这个其实就是场景值的判断,先看一张图:

上图可以看出,从好友聊天窗口和群聊窗口点击小程序卡片后,场景值是不一样的,分别是1007和1008,所以,我们可以在app的onLuanch或者onShow方法中去获取到scene值,这样就能知道用户是通过哪种方式进入小程序的~

之前分享成功,可以获取群ID,这种方式已经被微信官方禁掉了。可以看这篇文章:

三、有哪些开源的小程序框架

wepy
wepy是最早推出的一款小程序框架,基于vue进行封装,作者龚澄是腾讯的工程师,早期集累了很多习惯使用vue进行开发的小程序人员。github地址:https://github.com/Tencent/wepy

mpvue
mpvue也是一个使用 Vue.js 开发小程序的前端框架,美团点评下的一个部门开发的,有胡成全带队开发。github地址:https://github.com/Meituan-Dianping/mpvue

taro
Taro 是由京东 - 凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架。统于有一款使用React语法开发小程序的框架了,github地址:https://github.com/NervJS/taro

以上三个框架,都有自己的官方交流群,大家可以添加对应的小助手,然后会自动拉你进群。

点赞 0
收藏
评论
登录 后发表内容