ITPub博客

首页 > 数据库 > 数据库开发技术 > 企业微信小程序避坑指南,欢迎补充。。。

企业微信小程序避坑指南,欢迎补充。。。

原创 数据库开发技术 作者:zhanyd 时间:2020-08-17 15:47:34 0 删除 编辑


准备踩坑

公司要开发一个微信小程序给公司内部人员使用,刚好公司有个企业微信号,我登上企业微信号一看,刚好有关联微信小程序的功能。

我一拍大腿,决定开发个小程序,关联到企业号上用,恩,这个决定是一切坑的开始。


坑一 https

小程序只支持https域名,其实这个也不是坑啦,只是我自己脚滑掉坑里了而已。


要想配置https,必须先申请证书,由于公司的域名是在阿里云申请的,所以直接在阿里云申请个数字证书。


关于数字证书,这里有一篇非常经典的文章,推荐阅读一下:What is a Digital Signature?


由于公司的一级域名已经有了各种用处,所以我要另外申请一个二级域名,专门用来做小程序的服务器域名。

在域名解析里,新增一条记录,这里我的二级域名叫做:afs


比如我们公司的一级域名是:abc123.com,那么小程序的二级域名就是afs.abc123.com。


二级域名和公司的外网ip绑定后,然后内网服务器ip再和公司外网ip关联一下就可以啦。


恩,接下去我就要去申请证书啦。


免费证书

进入阿里云的云盾证书购买页面,一看价格,就已经吓尿。。。


这价格,无论如何是下不去手的啊,幸好有免费的,依次选择单域名—>DV SSL—>免费版,终于看到一个可爱的¥0.00。


购买后,点击签发,填好资料,在域名那一栏里填上afs.abc123.com。

注意前面不要加www,我第一个证书填了,结果小程序和服务器怎么也连不通,这个就是我碰到的第一个坑。

后来我又重新申请了一个afs.abc123.com的证书,才解决问题。

申请好证书后,按照说明配置好nginx就行啦,在Nginx或Tengine服务器上安装证书。


小程序服务器域名设置

https域名配置好后,需要在小程序的开发—>开发设置—>服务器域名中填上刚刚申请好的域名。

这样,第一关就算过啦!



坑二 企业微信关联小程序

在使用之前,企业微信必须先关联小程序,在企业微信的应用管理—>小程序—>关联小程序,可以关联小程序。


但是,关联小程序前必须先发布小程序。
但是,小程序必须先关联了企业微信,才能调用企业微信的API测试!
没测试,怎么敢发布小程序啊?
不发布,测不了啊!


貌似进了一个死循环啊。。。

不管了,先发布再测,怕审核的小哥哥小姐姐不给我通过,我在备注里,特意说明了下。

结果,不到一个小时,审核就过了,吼吼。


坑三 企业id

小程序发布后,调用获取access_token的接口

结果,一直出错,“errcode”:40001,“errmsg”:“invalid credential”
查了一下,说是sceret参数出错了:



我比较了半天corpsecret,结果一毛一样啊,哪里错了啊?


原来不是corpsecret错了,而是corpid填错了,corpid是企业id,不是AgentId。。。

在”我的企业“里,有个企业id,填上就好了!
我承认,这个是我粗心了,不怪企业微信。。。

坑四 企业小程序插件和wx.qy.login

我在调用code2Session接口获取用户userid的时候,一直提示"errcode":40029,“errmsg”:“invalid code”

一查是code不合法


怎么就不合法呢?


我在网上搜了好久,终于发现,我调的登录接口错了,我一直用wx.login调用,在登录企业微信的时候需要用wx.qy.login接口。

还有,在开发者工具调试的时候,需要切换到企业微信小程序模式。



如果没有,需要在设置的模拟器插件里添加:

改好了以上问题,终于登录成功了!

真不容易啊。。。


坑五 必须用企业微信打开小程序

在微信里,下拉搜索小程序,直接打开小程序是没有用的,小程序必须在企业微信里打开才能正常使用。

不过,这也保证了安全性,只有加入了企业微信的人才能正常使用。


后记

由于这个小程序需要上传视频和图片,测试的时候,发现图片上传成功,视频没有上传成功。

一查发现报了413 Request Entity Too Large的错误。

这个是nginx的限制,不允许上传过大的文件,那我把它调大就行了。

打开nginx主配置文件nginx.conf,一般在/usr/local/nginx/conf/nginx.conf这个位置。

找到http{}段并添加以下内容:
client_max_body_size 100m;

然后重启nginx问题解决。

我这一路走下来,碰到了这么多坑,花了很长时间去填,所以特意记录一下,给大家做个参考。

如果大家还遇到了其他的坑,欢迎在留言里补充,也许能为其他人节省不少踩坑时间呢。













原文作者:编程我也会;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-06-20

  • 博文量
    120
  • 访问量
    51697