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

知晓程序员,专注微信小程序开发的程序员!

一、获取formId

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

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

我们来说一下如何获取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样式

其实button样式没什么好说的,最近有几个同学在群内讨论,说是客服按钮太小,想改一下样式,没办法实现。

这里我提供个思路:先按设计稿实现界面,联系客服如果样式和官方给的不一样,那就用position: absolute,定位一个button到你想要的位置,透明度设置为0即可,同时给button设置属性open-type="contact"就ok了~

注:

1、这里要注意button的open-type属性是在基础库1.1.0开始支持的,自己要做一下兼容处理~

2、button也可以改成其他样式,有些同学为了获取formId,就把页面所有可点击区域都用button按钮来实现了~

三、区分转发的是群聊还是好友

这个其实就是场景值的判断,先看一张图:

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

四、小程序组件化开发

小程序官方提供的组件化文案,这里不细说,大家直接去github查看吧: https://github.com/Tencent/wepy

原文发布于微信公众号 - 知晓程序员(bainaweb)

原文发表时间:2018-01-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏快乐八哥

解决Select2控件不能在jQuery UI Dialog中不能搜索的bug

本文使用博客园Markdown编辑器进行编辑 1.问题呈现 项目中使用了jQuery UI的Dialog控件,一般用来处理需要提示用户输入或操作的简单页面。逻辑...

21310
来自专栏小文网

PotPlayer

这个播放器我认为是最好用的,解码库强大,播放流畅,最喜欢的就是可以随时CTRL+C以原大小复制画面帧,还有更多等等等等。

2074
来自专栏听雨堂

Android新手之旅(7) RadioButton的自定义

希望用到RadioGroup的功能,但遇到一些看似简单问题却无法解决:系统的图标太大却难以更换,在网上找解决方案。有些地方提到,由于用的是图片,所以无法缩小,...

2368
来自专栏达摩兵的技术空间

14年工作回顾(一)

本文开始会把之前项目中遇到的一些问题进行分类整理,并得出其经验值。也许其本身在今天的技术架构中没有任何实用价值,但在项目开发中能有举一反三的作用。

772
来自专栏葡萄城控件技术团队

ActiveReports 报表应用教程 (2)---清单类报表

在大多报表系统中都有清单类报表的身影,比如:客户清单、商品信息清单、设备清单、物品采购清单、记账凭证、货品发货清单、员工清单等等。清单类报表看视乎比较简单,但是...

2126
来自专栏编程微刊

Eclipse如何从SVN更新和上传修改部分项目

2103
来自专栏PHP在线

现代Web开发需要学习的15大技术

将近4年前,我写了一篇名为《Future of Web and Mobile: HTML5, CSS3 and Javascript》的博客文章,其中我提到了...

5359
来自专栏WeTest质量开放平台团队的专栏

一种精准monkey测试的方法

原文链接:https://wetest.qq.com/lab/view/413.html

1331
来自专栏ytkah

怎样把微信聊天记录导出备份到电脑【微信公众平台技巧】

  微信公众平台上的微信聊天记录可以保留5天,但公众平台回复用户消息时限将从24小时延长为48小时,所以我们有必要进行及时回复、微信聊天记录导出备份。及时回复微...

6507
来自专栏听雨堂

小程序longpress的bug及其解决

我的小程序中,用到一个长按修改的功能,设计是这样的,短按tap,长按longpress ? 但是,偶尔出现长按无效的情况。我自己都经常碰到,今天仔细研究,用半天...

4877

扫码关注云+社区