Code Monkey home page Code Monkey logo

daishanxiang.github.io's Introduction

个人信息


技能清单

  • 熟练使用CSS3,HTML5,JS,ES6。
  • 熟练使用基于VUE技术栈,包括vue-router,vuex,axios,element-ui,vantUi等。
  • 能够基于react技术栈开发项目,包括使用react-native开发app。
  • 熟练微信小程序原生开发,以及熟悉基于微信公众号、网页的开发流程。

工作经历

  • 江苏交控智慧城市技术有限公司( 2020年8月 ~ 至今 )

  • 苏州相城数字科技有限公司( 2019年7月 ~ 2020年8月 )

  • 上海延华大数据科技有限公司 ( 2016年8月 ~ 2019年3月 )


项目经验

公交站台电子大屏

公交站台旁的信息展示大屏,大屏为安卓系统,将老项目替换并添加新功能,功能有:站点线路信息展示;车辆位置实时展示;广告信息展示;天气和公告信息循环展示等;

​ 之前是原生安卓开发,现更新为reactNativeAPP+webView。信息展示为H5页面,方便更新迭代(原有APP无法自动升级,更新内容需要升级APP,需要工程部人员每个站点进行操作,成本太高)。

​ 产品要求:界面可以随时替换更改;广告发布实时更新;视频需要缓存到本地并只请求一次(节省流量);断网状态下线路信息、广告信息(图片+视频)要能正常展示(只有车辆位置不展示);心跳检测等功能。后端下发指令,可以截屏上传、刷新页面、清空缓存等。

​ 技术难点:1. 设备每天会重启,并要求设备断网状态下,webView也能打开H5页面(前提先将HTML、JS、CSS先加载进来),并进行基本信息展示;2. 截屏功能有插件可以实现,但当页面中有视频播放时,视频区域会显示空白,无法对视频进行截屏。

​ 技术实现:使用webView+H5可以实现远程更新。项目中使用webSocket长连接,并有断开重连功能,前后端定义好请求结构和应答机制。客户端接收到后台指令后并进行操作,并将操作结果反馈给后台。使用service worker技术,用vue-cli生成PWA模板,全站使用https,即可实现访问后,缓存页面到cacheStorage中,断网后也能重新打开页面(没有使用webView自带的缓存机制,因为webView缓存,不仅会缓存HTML,还会缓存页面内所有的get请求,这不是想要的结果,虽然说可以通过接口加参数解决)。页面打开后,先将localstorage中存储的线路信息和广告信息取出展示,待请求返回后,更新localstorage中信息,并替换页面数据(保证断网能正常展示)。比对图片和视频资源地址,和上次请求是否相同,不同的话,则向APP发送请求,让APP缓存资源并返回物理地址。页面接收到截屏指令后,先将video标签绘制到canvas上(与绘制图片方法一致),拿到当前帧的图片,并将图片替换到video区域。截屏完成后,再将video标签放回到原处,最后将截屏的base64信息发送给后端即可。H5端和APP端均由我一人完成,虽然仅有一个展示页面,但页面中的UI渲染(包括线路滚动轮播,车辆在线路上的展示)和JS处理要求都比较高。

定制公交

类似滴滴打车应用,是公交集团定制的一款出行软件,提供的服务有滴滴公交,校园巴士,定制商务等。以WebView形式嵌在app中,在手机上选择上下站点,匹配出相应线路,选择班次进购票,并提前5分钟在站点等候,上车验票。可以看到公交实时位置,以及手机买票验票。包含三端:用户端,PC管理后台,司机APP。功能正在开发中,预计年后上线

​ 主要负责客户端和司机端的开发。客户端使用vue技术栈以及vantUI框架。主要负责了框架的搭建,登录权限判断,组件的封装提取(支付、班次、订单等),不同分辨率屏幕的适配等。具体业务由其他同事完成。

​ 司机端APP,使用reactnative技术栈(elementUI,react navigation等)。框架搭建,路由设计,请求的封装,组件提取,项目生产环境打包,均已实现。包括地图的展示,GPS实时定位,公交线路以及实时位置渲染,使用websocket定时数据上报(断网状态下位置信息保存本地,待联网后再上传),通过GPS比对是否即将到达站点,以及到达站点后的语音播报,技术难点均已实现。从0到1,均独自一人开发完成。

相城区智慧停车平台

相城区智慧停车平台,C端主要和第三方供应商对接开发。内部为区联动中心开发了停车运营管理平台的大屏展示,功能有区内停车概览,车场实时进出入信息,实时交易数据展示等等

​ 基于vue2.0,使用了阿里的data-view和echarts可视化插件,实现了图表动态展示,数据更新图表的动画切换,以及屏幕适配。

相城区工业云图

区内工业信息管理系统,主要功能是对区内所有的企业进行评分管理以及排名。工信局每年下发体检计划,根据制定好的指标(占地面积,税收,能耗,获得荣誉,处罚信息等),各局办对企业提交的信息进行审核,最后按比例形成评分。

​ 基于vue.js开发,UI框架用的是element-ui,包括使用了vue-router,vuex,axios,echarts等插件。项目业务逻辑较为复杂,需求不定,项目一直在维护中。包含的技术点有element ui自定义主题,标签页间通信(打开新页面,新页面操作完成后通知父页面刷新页面),组件刷新等。


自我评价

做事主动性强,对待工作认真负责。技术涉猎较为广泛,遇到问题大都能够独立解决。
主动去了解产品需求,有自己的思考,并提出自己的观点。
同事遇到问题都会协助解决,遇到不熟悉的问题,知道如何去排查、定位、解决问题。
熟悉微信小程序开发,会根据自己的一些想法,利用业余时间去做一些小工具上线使用
责任心强,努力把事情做好,推动项目进展。

daishanxiang.github.io's People

Contributors

daishanxiang avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.