基本上是一个礼拜完成了整个过程,从java后台到小程序前端,然后是等上线了,而且这个系统逻辑比较简单。过程中发现并解决的问题其实不算问题,遗留下来的问题很多,也没找到什么好的解决方案,当然更多的还有一些感受。
一.还未解决的疑问
1.假如我的小程序后台需要用web另外开发,我如何控制我的web端用户的表和小程序端的用户表。而且我的后台需要多角色,小程序端也是多角色。是分表,还是一个表加一个字段区分?这次的逻辑比较简单,直接分表,但是我的下一个似乎就是那种多角色的情况,如果分表,是不是意味着我的角色,资源也要分表或者加字段区分?
2.要把所有与官方交互的接口交给后台还是前端。诸如获取授权之类的接口?我这次是都由后台模拟发送的然后前端统一处理,因为我觉得appid和appsecret不该明文暴露在前端。然后是发送模板的接口,前端是否应该存储当前用户的openId和unionId等到用的时候再发送给后台。
3.如何给移动端用户和web端管理用户提供统一的身份认证token,是直接利用JWT去给用户签发统一认证存入token表还是去利用小程序的接口去获取openId和sessionKey然后通过UUID生成唯一的Skey利用openId和key作为一对键值对存入redis作为,然后将OpenId和sessionKey当作用户名密码去得到token还是如何处理一下。
4.如何解决小程序图片从后台获取的问题,目前用的方法是盗链,就是直接通过URL去访问后台静态资源。是否有更好的方法?
5.是否有必要开发小程序转发可见之类的诱导关注功能,是不是会被封,是否应该是利用用户对产品自身的喜爱自觉转发还是如何解决。
6.存手机号是不是也可以统一识别用户?
7.小程序毫无疑问无法与用户的深度交流,微信之父张小龙说过的吧,其实就是四个字“用完即走”。那么长期业务的小程序是应该如之前的app和web一般的设计方式吗?
8.小程序的裂变传播如何广泛应用到商业模式中,即盈利模式的需求。
二.一些体会
1.前端开发:基本上简单,就是HTML,CSS,JS类似的操作。稍微看看就会了,基本不用考虑动态页面了。反正最多的就是一个列表,然后点进去查看详情的页面。不应该有过多的操作,解放用户就是解放自己。
2.后台开发:基本和web的增删改查是类似的,除了几个登录接口,推荐使用github上的wxsdk,然后自备AES解密方法和HTTP请求方法,都要使用。然后要根据前面的页面适当改变接口,举个列子,我有订单显示这个页面,那么自然的我需要有已发货订单,未发货订单,待处理订单。并不需要去写三个接口,其实只要一个接口,前端传值的时候多带一个状态值基本就行了。
3.前端请求:尽量少的请求。在加载前的获取数据的话,不能this.setData,要先申明一个that,然后去给that.setData这样获取值。
4.少用showToast。。可能做惯安卓的人喜欢,但是wx的showToast是真的low,没什么必要我感觉还是用showmodel提示框。
5.小程序由于是发布在微信上的,为什么会不跨域,我就简单的把微信官方当作中转站了,跨域其实被微信官方解决了,毕竟发请求都是wx.request这种方式。
6.发送模板消息这个功能。不应该在要发送模板消息的时候去获取access,access的有效时间一般是两个小时,根据业务需要应该提前获取并存储,因为好像即用即取的话容易失败。
7.后台不应该一成不变,要让前端的请求尽量少,前端存储的明文尽量少。
8.多去github上看看大佬们的小程序代码。很多东西,抄着抄着就会了。
接下来做完最后一个之后就安心刷PAT准备PAT并准备考研了QAQ。