今天早上,将项目的两个企业微信接口:登录和应用消息发送接口,做了最后的收尾工作,把目前我能解决的问题算是基本都解决了。早上还开了一个会,大意是组长封装了许多组件叫我们使用,在不断的使用中打磨组件的可用性,争取变成以后做项目通用的框架。梦想很美好,希望可以往这个目标一步步迈进吧。

  到了下午,也是没有太多工作安排,因为当前项目进入了收尾阶段,没有什么任务需要我来做,新项目也还没开工。所以,为了自己的demo,就着手开始学习git,学习了一些常用命令,打算单开一个随笔来记录git的常用命令。下午后台同事还叫我去debug,原来是Spring的项目出了问题,报错显示java.lang.InstantiationException。经求证,这一错误一般是通过反射方式创建对象时出现的,原因是没有默认的无参构造方法。然而显示的出错位置是加载spring配置文件的ApplicationContext类,所以就很莫名其妙,搞了好一会儿也没弄明白是哪里出了问题。下班前才被告知原来是他用的maven版本不支持jdk1.6...看来开发东西的时候一定要注意版本匹配的事项。

  4:30时,接到了一个需求,做两个表单页面出来。对于前端连半桶水都算不上的我只好硬着头皮上了,希望能按时做出页面。然而5:00时,就又来了一个任务,让我做出微信端的网页预览附件的功能,好吧,基本上又是前端的功能。晚上稍微弄了一下,大概是这么个流程:

  在开发过程中,又遇到了一个问题,不知道能否算前端经典问题,那就是跨域访问。因为想直接通过前端来访问微信服务器获取access_token,然后直接调用各个接口,后来发现前端访问微信服务器存在着跨域问题。跨域就是一个域上加载的脚本,不允许访问另一个域上的文档属性。只要协议、端口、域名有一个不同,就不可以访问资源,这是出于安全性考虑的对浏览器发起请求的限制。在Html5中,有script、img、link、iframe等标签可以访问跨域资源,但浏览器的脚本被限制不能跨域访问,所以不能使用XMLHttpRequest和Fetch来发起跨域请求。同源的含义如图:

  常用的解决办法是通过同源的后台服务器,来实现跨域请求,再将结果返回到前端。因为服务器之间的访问不需要遵守同源原则。当然还有别的方法可以实现,但今晚还有别的事做,就打算第二天和赶完需求的前端同事一起来做这个功能。总结一下今天,走马观花的看了git的三分之一的教程,了解了一下前端的开发和跨域访问的问题。明天就要正式开始开发前端页面和前端功能了,对于我这个基本只会后端的人来说还是有点点紧张的,希望能顺利按时完成需求,看到同组的前端同事加班的样子瑟瑟发抖...

Terence Xie

2018.7.24 周二 23:26

TW实习日记:第七天的更多相关文章

  1. TW实习日记:前三天

    今天是2018年7月20号,周五.从周一开始实习到现在,终于想起来要写日记这种东西了,可以记录一下自己这一天所学所做所知也是蛮不错的.先简单总结一下自己的大学生活吧,算是多姿多彩,体验了很多东西.在大 ...

  2. TW实习日记:第九天

    这两天有点忙,要改前端网页和加需求上去.所以昨天说的Vue缓存机制也没看,所以打算现在列个挖了的坑的清单: Vue缓存机制.生命周期和钩子函数 使用项目组自用组件来重写静态页面 SSM框架搭建.整合流 ...

  3. TW实习日记:第31-32天

    不知不觉的,实习的净工作天数,已经都超过一个月了.因为对工作内容不是很满意,所以打算月底离职,也不知道是公司太缺人还是我真的能干活,领导竟然三番两次找我让我再考虑...明天又要找我了,哎...随机应变 ...

  4. TW实习日记:第四天

    第四天 早上第一件事就是和组长说前一天的需求的事,简而言之就是两个导航栏不属于一个标签内,自定义导航栏属于<body>下的<header>,微信顶部的则是<head> ...

  5. TW实习日记:第十天

    今天任务很简单,就是出品项目的时间轴显示页面和动态路由设置.其实时间轴页面很快就做完了,在做完处理完数据之后,然而有很多细节需要打磨,这就又考验了我面向搜索引擎编程的能力,根据需求百度了很多css的样 ...

  6. TW实习日记:第八天

    今天早上主要是接着做昨天的微信端网页预览附件,听同事说当打包代码放入服务器上后,就不存在跨域问题了,也就懒得自己写接口了,那么就希望自己能一次过吧...结果写着写着,发现开发文档中关于预览文件的方法, ...

  7. TW实习日记:第六天

    今日的一整天都是在开发微信相关的接口,因为项目的系统是嵌在企业微信中,所以不可避免的要产生微信UserID和企业系统ID的匹配关系,那么就需要用手机号或是邮箱这种两边都存在的唯一参数进行匹配.然后再将 ...

  8. TW实习日记:第五天

    今天可以说是非常忙的一天了,要再项目中实现微信相关的功能:授权登录以及扫码登录,还有就是自建应用的发送消息.首先功能代码其实在经过了几天的学习之后并没有很难,但是最让我难受的是在项目中去加代码,首先s ...

  9. TW实习日记:第28天

    同前两天一样,等接口,开发,调试接口.重复地做着低级代码得搬运工作,确实挺没意思的.怪不得有些人一直说写低级代码很无聊,没有创造性和成就感.31号准备溜了,还是好好复习准备秋招吧. 挖坑清单: Vue ...

随机推荐

  1. 调试libRTMP代码来分析RTMP协议

    RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写.该协议基于TCP,是一个协议族,常用在视频直播领域.RTMP协议的默认端口是1935. 学习一个协议 ...

  2. NodeJS平台下的前后端文件共享

    一.前后端文件共享的需要背景——为什么需要共享? 项目基本JS/NodeJS全端开发,有部分代码前后端都需要用得到 有一些配置是在前后端都需要用得到的 区别其他开发平台,NodeJS平台下的前后端文件 ...

  3. TensorFlow简要教程及线性回归算法示例

    TensorFlow是谷歌推出的深度学习平台,目前在各大深度学习平台中使用的最广泛. 一.安装命令 pip3 install -U tensorflow --default-timeout=1800 ...

  4. redis单节点集群

    一.概念 redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存.事件发布或订阅.高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串.哈希.列表.队列.集合结构 ...

  5. DateFormat多线程使用问题

    reference DateFormat in a Multithreading Environment

  6. hdu Exponentiation高精度实数乘幂(用了带小数的高精度模板)

    #include <cstdio> #include <cstring> #include <iostream> #include <cmath> #i ...

  7. hadoop分布式安装及其集群配置笔记

    各机器及角色信息: 共10台机器,hostname与ip地址映射在此不做赘述.此为模拟开发环境安装,所以不考虑将NameNode和SecondaryNameNode安装在同一台机器. 节点 角色 na ...

  8. 【ElasticSearch故障处理】OpenJDK 64-Bit Server VM warning

    [故障描述] VM虚拟机安装ElasticSearch集群,有三台Linux,完成安装后,执行启动命令:bin/elasticsearch -d . 运行结果报错: OpenJDK 64-Bit Se ...

  9. Python学习 :网络通信要素

    网络通信 OSI 模型 - 定义了计算机互联的标准,是设计和描述计算机网络通信的基本框架 - 把网络通信的工作分为7层,分别是物理层.链路层(数据网络层).网络层.传输层.会话层.表示层和应用层 网络 ...

  10. 基于visual studio 2017 以及cubemx 搭建stm32的开发环境(2)

    主要解决 vs2017中,printf无法打印数据的问题. 在keil环境下正常使用printf功能,但是以下的重定向代码在vs2017下使用不了: #ifdef __GNUC__ /* With G ...