java学习之路

java+uniapp一开三用杂记(小程序,安卓App,iosA

2020-04-02  本文已影响0人  唯有努力不欺人丶

打个广告:java技术交流群130031711、欢迎各位踊跃加入。
然后开始说正文,首先这里楼主简单说下自己,我就是个前端渣渣,仅存的知识点就是js,jquery,多少知道一些html页面标签元素,至于所谓的主流三大前端框架仅限于知道名字的地步。但是!我起码后端经验比较多啊,开发不到三年,工作中都是标准前后端分离的岗位,所以虽然我前端渣,但是多多少少关于前端能干什么不能干什么还是多少知道一点的。
然后第一家公司是个小外包公司,但是老板很优秀,在职期间真的是一个app的项目没接到,可是小程序出产率贼高,最快达到一个星期(六个工作日)完成一个小程序的地步,有了一套完整的体系。
第二家公司只是工作了两三个月,也没做出啥成绩,在岗期间高大上的技术没少接触,但是最终种种原因忍(ren)痛(wu)辞(ke)职(ren)。所以这里不多说。
现在这家公司情况是入职以来就在为自己公司做一款app。所以直接上来就接手app,不过因为领导一直觉得又要请安卓前端开发还要请苹果前端开发比较不实惠,所以一直用uniapp来开发app前端的。
说这么多只是交代下背景,目前是公司自己的产品做完了但是疫情原因和种种原因还没推广,而我们it部无所事事,所以领导给接了个外包项目,项目要求既有小程序还有app(app肯定分安卓苹果),对了还有web后台管理,但是用啥我也不知道了。所以语言直接就定好了:后台用java,前端用uniapp。
首先基调是前端和后端都走一套代码。然后问题也就是出在这个一套代码上。

授权问题

额,再说一个需求:app和小程序数据共通。app手机号验证码登录。
以上两个需求就决定了小程序授权要获取用户手机号和用户基本信息(手机号是为了区分用户的唯一标识,再解释一下这个需求:假如我用158xxxxxxxx这个手机号绑定的微信在小程序授权登录过了,那么下次我用158xxxxxxxx这个手机号+短信验证码也是可以在app登录的,还要数据同步)。其实这个需求很正常,我觉得在我可以理解的范围内,而前端渣渣的我只知道以前做小程序飞起的阶段,要什么前端可以给什么,关于具体怎么获取到的我也不关心。
但是问题就来了,我们前端大大研究了一天的微信小程序之后,很确定又无奈的告诉我,微信授权获取用户信息和微信授权获取手机号是两个不同的接口,而且必须两个弹窗。
我当时大概是黑人问号的表情,一方面我不知道两个弹窗(以前多次测过小程序的我都没注意过这点),另一方面两个弹窗我也没办法啊,毕竟两个数据都是必要的啊!在就美观,用户体验度,不得不做等一系列讨论后,前端大大说那就两个弹窗吧。于是乎,在经历过两天后,终于达成一致决定好要怎么做了。

token问题

这个又是一个绕不过去的问题,首先从框架上看我是用的boot+shiro,其次还有web端,还有app端,我也不可能不做token验证。最后app、小程序走的一个接口,我也不可能单独为小程序放行。所以又开始一波探讨:

若干时间后:
:我觉得你们可能是授权和登录分开做了,这样每次登录都是拿着那些信息去访问登录接口。所以你们小程序进去会闪一下授权页面(之前我有给他看过我们自己做的几个小程序)。
:哦,那咱们现在也这么做行么?改动大么?或者你觉得我这边怎么改动能方便点?
:改动不大,加个中转页面就行了。我改就行了,你那不用动。

emmmmm....现在就是前端大大在改动,我这无所事事的阶段。所以正好有时间打算整理一下,首先是思路问题。我们前端其实我个人感觉会的挺多的,但是针对于小程序这一块从开发到现在几乎就在探讨(吵架)和各自冷静中度过了大多时间,这个大大第一次开发微信小程序,有一点超出了我对小程序的理解。
首先从经历上说,一周一个的小程序我一直以为跟个小玩具似的,没想到我们会卡在这里。
其次鄙视链:互联网it看不起传统it,app开发看不起小程序开发一直都存在的(这个不是我说的,别打我。)
最后我觉得难点应该是在于新的知识的理解吧。我记得以前总听到的一句话:微信已经封装好了这个方法,微信已经有了这个插件,微信已经xxxx。这些的前提都是先要去了解微信能做什么。
后来我和前端大大闲聊也说过,他用的uniapp开发,很多原生的东西不能用,web的东西app不支持,最显著的一个例子:之前我用netty-socketio想做个socket,我自己用一个html页面写demo完全ok的。结果和前端联调死活调不通,前端是连上就断开,连上就断开,然后想百度查询结果,发现根本找不到uniapp和netty-socketio整合的例子或者教程或者问题贴都没有!一水的websocket和uniapp。(这块我也没自己试,前端大大说的,可能是不支持)。

app序列化问题

剩下的app和小程序之间的差别,序列化也是个问题。就比如app上数据传输list就传输不了,因为要重新封装了axios,用了Qs工具序列化了传参对象。反正我这块是统一string接收,自己用工具解析的。麻烦了不少。甚至让我有了心理阴影。大多数参数能用string就用string,宁可自己写的时候麻烦点也不想调试的时候各种问题。

微信小程序展示问题

这块其实我不怎么了解的,是前端大大说uniapp怎么怎么不方便我才开始有这个意识的。下面是我搜索uniapp资料的时候看到的一个觉得好笑又有点心酸的话:

image.png
今天说的问题都是这几天遇到的问题,这里就是一个记录的作用。也有点吐槽。反正就这样吧,手打不易,如果稍微让你觉得有点点用记得点个喜欢点个关注。项目的开发还在继续,有什么后续我会续贴的。暂时就这样了,也祝大家工作顺顺利利!
上一篇 下一篇

猜你喜欢

热点阅读