突然:我想总结一下我知道的知识。如何聚合?1.写一个新项目,把你知道的所有技能都用上2.记录在sf上,立个flag。同时自我督导多端开发确实很累,但是改善还是挺明显的:没有人急于求成(经常被公司压榨?),遇到问题可以尝试寻找最优尽可能多的解决,加深对不熟悉地方的印象等等。实践技术栈及其他规划1.后端:NodeJS后端、mongoDB、Redis2。C端:使用FlutterforiOS和Android(使用闲鱼的fish_redux),TaroJS实现微信小程序和H53。管理后台:React实现,Ant-DesignUI(毕竟漂亮)4.运维:docker部署,域名,七牛CDN存储图标,文件等静态资源。1、后台配置“资源”(图片、标题、点击栏转发的h5/app路由地址)2、配置“资源”关联多个“资源”,比如“banner资源”,由多个图片资源3.配置业务场景,关联多个资源位置,比如“首页场景”,由多个资源位置组成:banner资源位置,盒子资源位置等,App和h5端只需要请求“首页场景”数据。后期扩展:在首页开发多个资源位样式即可。在首页做了一波简单的缓存:1.后端策略:在首页查询数据时,先从redis中获取。如果redis中没有数据,那么从mongodb中查看。找到数据后,将数据存入redis,5分钟后过期。2、App端策略:获取首页数据后,使用shared_preferences库持久化数据,存储到本地。请求接口失败时在本地获取。只需粘贴伪代码:backend//controllerasyncshow(){const{ctx,service,app}=thisconst{code}=ctx.request.bodyletret=nullconst_redis=app.redis.get('defaultDB');//配置了多个redisdbs,所以先.get('dbname')然后运行??try{ret=JSON.parse(await_redis.get(code.toString()))}catch(e){ctx.throw('数据解析错误')}if(!ret){//redis中没有首页数据,这里查看mongodbret=awaitservice.businessScene.findOne('...omitted')//找到后保存到redisawait_redis.set(code.toString(),JSON.stringify(ret),'EX',5*60)//5分钟后过期}this.success(ret||{})}应用端/代码中/fish_redux的effect.dartvoid_onFetchHomeData(Actionaction,Context
