- 【指引】使用微信web开发者工具开发企业微信小程序
开发企业微信小程序可以通过在微信小程序开发者工具(版本号1.02.1903211以上)安装企业微信插件的方式得到支持 安装步骤 1.选择工具 -> 插件菜单 [图片] 2.安装企业微信小程序模拟器插件 [图片] 开发调试 1.切换开发模式到企业微信小程序模式 [图片] 2.在企业微信真机预览小程序 [图片] 3.选择企业 • 如果开发者有多个企业,可以通过“模拟操作”下拉菜单中点击“选择企业”菜单进行企业切换。 • 对于没有企业微信的开发者,可以在“选择企业”中选择“企业微信测试企业”来进行提审前的开发调试。测试企业的corpid固定为:ww17f8d10783494584,secret固定为:i5t-rh8bXeNCgihcYPrG9ZPpWkivzPJ69sv570osk6I,在开发调试code2session接口会使用到。 4.开始开发 切换到企业微信模式以后,小程序的运行时环境将切换到企业微信的运行时环境,不仅可以调用企业微信支持的API和组件,也可以调用企业微信专有的部分接口。
2019-09-25 - 企业微信小白出坑记
花了两周的时间学习研究企业微信,今天终于把前后端我要用到的几个主要API都调通了。中间采坑无数,所以想做个小结,希望后续象我一样的newbie能少走一些弯路少踩一些坑。 最重要的一句话 反思这半个月的经历,最强烈的感受就是一定要保证能看到系统的反馈,也就是后台日志。因为只要你看到了日志中提示的信息,再到腾讯的开放社区(developers.weixin.qq.com)搜索,一般都会很快找到答案。 最开始我是用Chrome的开发者工具做调试,但不知道企业微信的jweixin-1.2.0.js包在Chrome中是不输出info日志的。所以有些API我明明调用了,但前台页面没有任何反应,也看不到后台日志输出,百思不得其解。后来换成微信开发者工具,一下子看到那么多提示信息,才恍然大悟:)可是没多久,我又在微信开发者工具中遇到了类似的问题:页面没反应,后台没日志。因为有了前面的经验,我尝试着换到Chrome中调试,终于再次看到了日志输出。。。但这还是不够,有些前端接口比如openUserProfile无论是Chrome还是微信开发者工具都不支持调试,只能用企业微信的客户端进行调试,这时候如果想看日志怎么办呢?经过一番搜索,原来还有一个神器vconsole!有了她,就可以在企业微信客户端看到输出的日志啦。这个工具的具体用法我就不多说了,网上一搜一大把——这真是一个最好的时代,你只需知道一个关键词,就可以打开一个新世界:) 至此,如果只能对入门的初学者说一句话,我想说: 当你看不到前台的反应也看不到后台日志的时候,记得切换调试工具! 框架选型 这里谈一谈企业微信前中后台的选型问题。在着手准备开发之前,我对当前主流的开发框架做了一番了解,最终选型如下 1、 前端是Vue:目前非常流行的优秀前端框架,又是中国人写的,官网上全套中文的文档、教程、书籍,非常方便。尤其是全中文的视频教程非常实用。 2、 后台是Java:用SpringBoot写微服务,Docker完成容器化部署,Nginx做负载均衡和反向代理。理由特别简单:我用Java写了二十年的程序了,连说梦话都是用Java语言:)当然,最重要的是,在企业应用领域,Java依靠成熟的生态依旧是当仁不让的霸主。 3、 数据库是MongoDB:这里要强烈推荐一下。MongoDB是文档数据库的代表作。在文档数据库领域的开山之作应该是Lotus Notes,我正好是CLP(Certified Lotus Professional),所以对文档数据库也是情有独钟。当然最打动我的是MongoDB的这个特点:用MongoDB替代关系数据库后,相关的数据访问代码会下降10~40倍!!!这是多大的效率提升啊。尤其在替换后,原来在关系数据库必须花大量时间考虑的schema变更、读写分离、分库分表、多点容灾等等问题全部被MongoDB官方的产品功能优雅、轻松的化解。这里再推荐下MongoDB中国区的扛把子唐建法在极客时间的课程《MongoDB高手课》,我就是被这篇教程带入了MongoDB的世界。 工具清单 1、 前端开发工具用了HBuilderX:因为前端框架用了Vue,HBuilderX又是Vue官方推荐的,所以顺理成章了,实际的使用感受也确实不错。这两款软件都是国产的,感觉国产软件越做越精致了。 2、 前端调试工具在开篇说过了,就是微信开发者工具、Chrome、vconsole三款工具。再次安利亲爱的开发者:当你看不到前台的反应也看不到后台日志的时候,记得切换调试工具。 3、 Java开发工具用了Eclipse:这个也没啥说的,虽然IDEA的软文铺天盖地,其实两款工具没有什么本质差别,Eclipse又是开源免费的,各种功能插件一大把,所以懒得换了。 小程序还是H5 其实我是先花了两周时间在企业微信上用小程序做了一些开发。结果发现有一个悖论:企业微信的大部分前端接口必须使用小程序的secret,但小程序没有上架之前就没有secret,而求小程序上架必须人工审核,审核要求小程序必须是完成开发。。。也许是我太笨,没有理解腾讯的政策,既然企业微信是在企业内部用的,为啥还需要腾讯来审核?但我确实是在这一步卡住了,才回头认真面对这个灵魂的拷问:我为什么用小程序而不是H5? 不得不承认,一上来就用小程序是因为这是腾讯的嫡系,无论是前面的开发工具还是后面的原生云开发支持都具有巨大的优势。不过,小程序由于诞生时间较短导致各种小问题频出,又要学习一套全新的编程方式,云开发对企业应用的框定和约束等问题也确实需要认真考虑和对待。简而言之,后来我选择用现在流行的框架来开发企业应用,至少后续项目组进驻后,学习开发成本都比较低,也容易找到相应的开发人员。 给腾讯的一个建议 这两周下来,对企业微信的官方文档可以说是恨之入骨!太渣了!每个接口都是简单的不能再简单的说明,没有例子,没有源码,更别说视频教程了,全靠自己摸索,浪费了我太多的时间。如果腾讯的文档写得完善一些,可能我花的这两周时间可以缩短为两天。尤其是没有例程这个事,难道腾讯不知道“Talk is cheap, show me the code.”吗? 比如wx.agentConfig必须写在wx.config的ready方法中,这么重要的信息文档中竟然没有写,害我在开放社区中查了半天才明白;又比如可信域名是可以通过在hosts中手工模拟的,这么重要的技巧也没有任何地方提及。这要浪费多少不知道这个技巧的程序员多少时间啊! 对比Vue的官方文档,说明、例程、视频教程一应俱全,无比贴心,学习成本几乎为零。我想这对Vue的流行也起到了至关重要的作用。如果说Vue是个暖男,那么企业微信的文档就是一个不折不扣的渣男! 在腾讯的开放社区中,有管理员认真的回答大家的提问,这一点非常好,但财大气粗的腾讯如果能把文档写得更完善一些,也不用请那么多专职管理员去回答铺天盖地的问题了。 我为什么看好企业微信 中国人讲究中庸,做事讲究平衡,因为一个好的平衡点总能给我们带来最大的效能,这一点在开发平台上也不例外:JavaEE是一个开放平台,Lotus Notes是一个相对封闭的平台,而企业微信介于两者之间。我举一个栗子来简单说明三者的区别: 比如上传照片这件事,Java是没有任何限制的,你可以选择任何交互方式、任何处理模式让用户上传照片,用户的体验可以千差万别,但代价是你自己要操心每一个细节,调节所有涉及的参数,一般完成这个小功能需要程序员忙活几个小时;Lotus Notes恰恰相反,只有一种上传的方式,可调节的参数很少,但程序员只需要写一行代码,分分钟搞定;企业微信则提供了一个类似Lotus Notes的调用函数,交互方式基本固定,但后台的处理你可以选择你熟悉的方式,比如Java。这种折中虽然限制了用户体验(一致的体验也不一定不好),但大大提升了效能,个人感觉是比较合适的平衡点。 我们再从技术层面看看企业微信这种“中庸特质”。 一方面,企业微信 “封装”了很多“能力”,只要简单的几行代码就能“拉起”这些“能力”。比如“扫一扫“、获取地理位置、操作蓝牙等等;但另一方面,你获得这种能力的前提是必须严格遵守腾讯的规范,并且操作形式都是“腾讯式”的。 又比如,一方面你可以选择很多喜欢的技术框架,前台可以用Vue,也可以用React,后台可以用Java,也可以用Python;但另一方面,你必须严格安装腾讯要求的方式,先完成config的企业权限注入,再完成agentConfig的应用权限注入,才能享受你希望获得的那些“能力”。 综上,我的感觉就是:Java太开放,需要操心的事太多;Notes太封闭,受限太多;而企业微信找到了一个很好的平衡点,我们通过付出一点自由的代价,获得了能力的加持和平台的支持,更不用说与微信的互联互通所带来的的价值了。所以,在企业应用领域,算是一个中国人的中庸选择吧。
2020-06-07 - 企业微信为什么会被封号?
企业微信的理念就是打造一个和谐、健康的服务软件,如果恶意使用企业微信做宣传发广告之类的,都会很有可能被封号。一旦被封基本都意味着账号无法找回。这样会对我们使用企业微信添加客户的公司来说,损失巨大。 一、那么有没有什么办法避免我们的企业微信被封呢? 1、新注册不满30天的账号频繁添加好友,目前比较合规的操作是,一分钟被添加的客户不超过60条,一小时主动发起的申请不超过40条。 2、健康使用聊天软件,聊天内容不要出现敏感词。敏感词包括政治类,黄赌毒类,虚假信息,诈骗信息都会影响我们企业微信的正常使用。 3、合理营销宣传,不要过度骚扰用户。目前企业是支持群发,群群发的,企业微信朋友圈,但无论哪种,目前都是一天只能发送一条。客户举报的少了,那么被封号的可能性也就小了。 4、个人微信号被封,企业微信账号也会被封。所以微信违规被限制登录也是不行的。 二、那么怎么降低我们被封的概率呢? 1、确保咱们的企业微信有正常使用起来,企业微信正常使用,包括我们的企业要进行验证,同时员工的活跃要有保证,开通企业支付。 2、确保每个员工的企业微信有正常使用起来,员工的企业微信进行实名验证,微信也有进行验证。 3、开通会话存档功能,当企业微信员工比较多的时候很难管理到每个员工,对每个员工发送消息的情况,企业更是无法知晓。当员工恶意发送不良信息那就很容易造成封号,或许员工与客户的交流不合规遭到客户举报企业也会被封号。会话存档就具备了敏感词提醒功能,以及合规员工与客户的聊天内容。同时如果企业被解散,还能保存我们以前的聊天记录,降低我们的损失。
2020-08-11 - 企业微信会话内容存档价格和费用标准,部署方式
两种部署方式和费用1,会话内容存档SaaS部署方式。 SAAS部署目前市场价在500到600每账号每年,其中已经包含腾讯的三百API接口费用,还有对接软件的费用,运维的费用,服务器的费用,SaaS部署的费用等等。这些费用已经全部包含。对于使用人数不多的企业,或者对服务器没有要求的企业,这是一个不错的选择。省事。一个账号多少钱然后就全包了。另外,对于使用人数较多的企业,会有一定的阶梯价格,会低于500每账号每年.一般是200个账号起开始阶梯价格。 2,会话内容存档本地私有化部署方式。 本地私有化部署的市场价是一次性部署费3万起(3万到10万不等)加腾讯收的300每账号每年(人数多的企业会享受腾讯的阶梯价格)。私有化部署适合的人数比较多的企业,或者对服务器有要求的企业,比如说银行,国企等。有的企业及时使用人数不多,但对数据有要求,也需要使用本地化部署。 具体部署价格和方式可以联系主页沟通了解
2020-08-26 - 实时消息提醒的单向客户关系
在企业微信拉新时,由于企业微信免验证规则限制(免验证设置后必须通过联系我二维码扫码才能实现双向客户关系),经常出现用户扫码后是单向客户关系,而工作人员认为自动免验证加入,出现对用户的服务不到位,被用户拉黑或删除的情况,导致潜在客户的流失。 对出现单向客户关系,解决方法如下: 一、企业微信改变规则 在设置“加我为联系人需要验证”设置禁用后,给用户出示联系我的二维码(外部客户添加时是否无需验证字段skip_verify设置为true,默认为true),才能实现双向客户关系。 在运营工作中,由于各种原因,工作人员为用户出示的是“请加我的企业微信”中的二维码,导致单向出现客户关系,如果工作人员不去确认添加,就成为了真正的单向关系; 解决建议:企业微信官方改变规则,只要设置“加我为联系人需要验证”设置禁用后,不管用什么二维码扫码,默认都自动通过,不需确认。 二、教育员工正确使用免验证 由于第一条中的原因,在官方未改变规则的情况下,避免出现单向客户关系的最好办法,就是教育员工,设置免验证后,必须使用客户联系,联系我,通过二维码联系生成的二维码。 事实上,我们运营过程中经过多次教育,仍存在单向客户关系: 1、前期分享出去的二维码; 2、渠道下的人员众多,某些人未更换二维码; 3、新的渠道加入; 4、渠道执行不到位; …… 三、出现单向客户关系时的实时提醒 企业微信原生功能对出现单向客户关系时没有任何提醒,但我们可以借助企业微信提供的强大API接口,实现出现单向客户关系时的实时提醒,如下图所示(在企业微信自建应用中的消息): [图片] 实现方法及过程: 1、处理外部联系人免验证添加成员事件add_half_external_contact,获取EXternalUserID(openid)及UserID; [图片] 2、给员工(UserID)发送应用消息通知【文件卡片消息】,消息中包括聊天测试链接,调用创建会话接口,进入用户单聊界面; 在员工未找到消息添加的情况下,点开卡片消息,进入聊天测试,提示:无法与非外部联系人发起聊天。 [图片] 如到消息提示的时间找到外部客户,添加后,再进入聊天测试,如下提示后,然后就可以进入会话,与客户正常联系: [图片] [图片]
2020-09-07 - 企业微信外部好友删除时的实时提醒方法
在使用企业微信运营时,必然出现客户把我们删除(或拉黑)。用户的删除操作,说明我们的企业微信运营工作不受用户欢迎,或者服务不到位。对运营者来说,需要第一时间知晓那些用户把我们删除了,为什么删除(自己做的什么事情,如群发)?如果客户删除后不能挽留,则需要清理这些无效的客户。 企业微信原生功能只提供按日的统计功能,不能精确到那个用户,什么时间删除的,但企业微信提供了强大的接口能力,可以实现外部客户删除时的实时提醒及一键进入挽留界面。(由于企业微信接口目前只能识别删除时间,不能识别拉黑事件,所以用户拉黑暂不能实现实时提醒,我们已经向官方反馈,回复在后期优化) [图片] 如上图,用户删除动作立即触发提醒事件通知,员工点开通知,立即进入用户会话界面,给用户发任何内容,提示不是联系人,需发送联系人验证。 实现方法及过程: 1、处理删除根据成员事件,获取外部客户ExternalUserID及员工UserID; 2、根据EXternalUserID(openid)获取用户的详细信息; 3、给员工发送应用消息通知【文件卡片消息】;、 4、员工点开卡片消息,调用创建会话接口,进入用户单聊界面; 5、这时,尽可能挽留,挽留无效则删除客户
2020-09-04