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

  到了下午,也是没有太多工作安排,因为当前项目进入了收尾阶段,没有什么任务需要我来做,新项目也还没开工。所以,为了自己的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. Lombok安装和使用

    前言 Lombok是一个开源项目,其使用简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码,特别是对于POJO. Lombok的官网:https://projectlombok ...

  2. C# 缓存工厂类

    描 述:缓存工厂类 /// <summary> /// 描 述:缓存工厂类 /// </summary> public class CacheFactory { /// < ...

  3. Oracle数据库对表基本的操作--增删查改

    --向student表中加入入学时间属性,其数据类型为日期型alter table student add scome date; --删除student表中的入学时间属性alter table st ...

  4. H5页面手机端禁止缩放的正确方式

    H5页面禁止手机端缩放是个常见问题了 首先说meta方式 <meta content="width=device-width, initial-scale=1.0, maximum-s ...

  5. BZOJ 3489: A simple rmq problem(K-D Tree)

    Time Limit: 40 Sec  Memory Limit: 512 MBSubmit: 2579  Solved: 888[Submit][Status][Discuss] Descripti ...

  6. My SQL常用操作汇总

    写这篇随笔的目的是我发现了在上一篇关于My SQL的随笔中存在一些不严谨的代码问题,在这里再次简单的总结一下并加以改进,以代码为主. # !每行命令必须以分号(;)结尾 先通过命令行进入数据库客户端 ...

  7. Ubuntu下配置MySql

    安装mysql sudo apt-get install mysql-server 检查安装是否成功 sudo netstat -tap | grep mysql 登录mysql mysql -uro ...

  8. Linux相关网络命令

    1.简述osi七层模型和TCP/IP四层模型 OSI七层模型 TCP/IP四层模型 2.简述iproute家族命令 ip命令: ip [OPTIONS] OBJECT {COMMAND|help} i ...

  9. 怎样获取最新版的javascript文件,解决被浏览器缓存的问题

    假设有一个js文件(以jquery为例),在服务器上的URL地址为:../js/jquery.js . 当某天jquery版本更新了,用最新版的jquery文件覆盖了原来旧版的jquery文件. 这时 ...

  10. react-navigation的超级大坑

    本文针对react-navigation^3.0.0版本,版本不对的话,请不要看本文,直接看官方英文文档 ​ 最近一直在学习RN,没找到什么好的视频,所以一直看文档,一路上来虽然遇到一些乱七八糟的bu ...