微信小程序越来越火爆了,从7月开始,公司安排我写微信小程序。虽然,之前对这一块比较感兴趣,也学习了一些资料,但是,真正开始写,还是遇到了很多困难。这些坑,一部分是由于相关知识不是很熟悉,另一部分是因为,小程序刚刚推出,坑确实比较多。理论上来说,应该及时的把遇到的坑记录下来,无奈实在太懒了,拖到现在才开始写第一篇
这一篇要写什么
这一篇主要是写写在开发过程中遇到的编写代码之外的问题。因为编写代码么,文档中已经写的非常清楚了,如果遇到 HTML、JS、CSS 这方面的问题,可以去查找相应的资料。由于主要工作是 iOS 开发,并不擅长 web 开发这方面,所以就不要献丑了。因此,这一篇想记录一下,从开发准备到审核上线以及后续更新的过程。
微信开发工具的使用
这个没啥好说的,官方文档介绍的非常详细了。但是,我比较喜欢用 Visual Studio Code 呀,所以折腾了一下,用 VS Code 写小序,微信开发者工具仅仅作为调试使用。
关于 VSCode 的配置,打算单独写一篇文章来介绍,在这里就不多说了。
微信开发工具有一个很大的优点,他监控了文件的变化,只要在 VSCode 中保存一下,他就会重新编译运行小程序,调试起来还是非常便捷高效的。有点小问题就是,如果代码运行到断点处,直接重新编译运行,似乎存在死锁的现象,这样干的次数多了,整个小程序就失去响应了,必须强制退出后重启。我想,这个问题随着更新会解决的吧。
多用户协作
八月之前,多用户协作做的很差,几乎任何操作都要由管理员来完成,完全不能满足开发测试的需求。八月之后,可以给用户单独设置权限,这样就比较好用了。把公司的产品、测试、运营设置为开发者之后,可以直接把微信开发工具的调试二维码发给他们,让他们能及时看到正在开发的最新版本。
管理员登录小程序后台(微信公众平台)后,在用户身份里面可以给微信用户设置不同的身份。
上图可以看到,同事们都具有不同权限
在开发工作中,同事们都非常配合我,在此对同事们表示感谢!
项目管理
项目管理当然是用大名鼎鼎的 git 管理代码,使用微信开发者工具自带的项目管理打开项目。
有一点需要注意,微信开发者工具的项目,指的是磁盘上的一个工作目录,想添加项目,直接把项目路径指向磁盘的工作目录就好了。名称也可以随便起,这里的项目名称、appid 等内容,不会保存到工作目录里,也不会同步到 git 中。
需要删除项目,直接点删除按钮就可以了,并不会删除磁盘上的代码。
通常,公司申请小程序需要走一定流程,可能会比开发工作慢,这里可以用个人的名义申请一个小程序,并使用个人小程序的 appid 进行先期开发,等公司申请小程序完成后,在开发者工具中删除并重新建立项目,替换 appid 就可以了。
只要不涉及支付等权限问题,个人小程序的 appid 不会影响到开发工作。
调试与测试
微信小程序会限定访问地址,初期似乎只可以添加5个,后来增加到了10个。记得将自己的服务器地址添加进去哦。
image 的请求是不限制资源地址的,例如 wxss 中为 background 设置 src,或者 image 控件显示图片,可以访问上图列表之外的地址。
这里比较坑的就是,只能添加网址,不能添加 ip,导致访问测试服务器有一定困难。大概有三种方式可以解决:
在微信开发者工具中,选中"开发环境不校验请求域名、TLS 版本以及 HTTPS 证书"。然后在手机中,打开小程序调试,就可以访问任意服务器了。
但是,打上勾以后,往往忘记了切换回来。有一次,我提交审核的代码中,填写的访问地址是内网 ip 哈哈。可以使用 nginx 等反向代理。
这样做,就不需要在编码的过程中切换访问地址了。虽然写一个全局地址切换的工具很容易,但是经常忘记切换不是吗。
使用反向代理,只要访问代理服务器,就可以自动的代理到测试服务器上面。但是有个问题就是,运营、测试等同事往往不会给手机设置代理服务器,教他们比较困难。可以在内网中搭建一个域名解析服务。
这种玩法比较高级了,我也没有试过,只是一种设想,有兴趣的童鞋们可以试试。
审核与上线
账号申请主要是运营同事完成的,我主要参与了上传项目审核以及项目发布的工作。根据最近的情况来看,审核工作时间不定。
七月中旬,我们发布了一个小程序,初次审核只用了三个小时。八月中旬,我们发布第二个小程序的时候,初次审核用了整整五天,结果让我们错过了项目预期发布的时间,参与这个项目的小伙伴都感觉不好了。
项目初次审核通过后,再次更新就比较快了,一般在1-3个小时之内就可以审核通过。
以后开发的过程中,根据审核时间安排好开发计划就好了。
根据官方公布的时间,审核工作在七个工作日内完成……感觉说了跟没说一样,绝对是霸王条款。希望以后能根据审核同学的工作安排,公布一个近期平均审核时间给我们参考。
审核完成之后,微信上会收到一个通知,这时候还需要到后台去手动上线,希望可以增加一个审核通过后自动上线的选项。
小程序的头像和名称
小程序头像每个月可以更改5次,更改完成后即时生效,不用重新提交与发布代码。
更改名称就比较坑了,需要交300元微信认证费用,必须要注意的是,认证申请表上的名称,就是认证通过后显示的名称。我们第一次使用这个功能的时候,以为认证通过了才能改名,申请表上写的名称是旧名称,白白损失了300元认证费用。
认证过程中,发生任何情况,认证费用不退回。
八月中旬,微信上线了一个公众号申请小程序的功能。已经认证的公众号,可以直接申请小程序账户,并且申请下的小程序与公众号之间是关联好的。走这个渠道,可以解决很多时间和费用。
数据统计
小程序的数据统计做的比较好,虽然具体功能与 Google Analytics 相比弱一些,但是能看到许多微信掌握的用户信息。
埋点的时候,可以直接在微信后台埋点,也可以使用代码埋点。
不过,代码埋点的 api 没有经过什么封装,所需要传输的参数,都需要自己写,还是后台埋点方便一些。
后台埋点,可以不影响代码的情况下添加统计点,也不需要重新上传程序。估计是小程序 AOP 的方式对代码进行过处理吧,这种设计挺棒的。
只不过,添加统计点的时候,需要考虑到具体代码,因此,还是必须由程序员来完成工作。现在,程序员埋的点,运营同学经常抱怨看不懂……