TW实习日记:第八天
今天早上主要是接着做昨天的微信端网页预览附件,听同事说当打包代码放入服务器上后,就不存在跨域问题了,也就懒得自己写接口了,那么就希望自己能一次过吧...结果写着写着,发现开发文档中关于预览文件的方法,在实际操作的时候竟然没有!也就是说,开发文档给了一个实际sdk中不存在的方法,真的是无语死了,结果搞来搞去一早上加昨晚都白搞了...那么还能怎么办呢,汇报了一下情况之后选择别的方法呗。首先pc端及app端的预览页面采用的是window.open的形式,而这种形式是会被微信自带浏览器给屏蔽的!
所以只好开始面向搜索引擎编程,一开始我是想在详情列表中,内嵌一个iframe来展示预览内容,发现奇丑无比,自适应大小也不是很会调,就放弃了这个方案。后来就打算碰碰运气,看看用最简单直接的办法,location.href = url来打开要预览的文件。谁知道这个方法竟然过了...这时候我才明白微信浏览器应该是可以自动打开各类主流文档和图片的。虽说预览效果达到了,但bug也出现了,点击了自带的返回按钮后,退出到列表详情页面,因为没有请求参数,导致页面没有数据,一片空白。然后大概想了一下,需要做一个页面,这个页面要有一个返回功能,带参数用来再次请求数据,然后内嵌一个组件(其实不可行)或子页面来显示预览内容。然后很快做出了一个带返回按钮的预览界面。子页面用的还是iframe...将要预览的文件的url地址传入该页面,绑定在iframe的src属性上,调整一下子页面大小,就大功告成了。返回按钮同事说他来做,就不关我事了~
然而快下班时,发现返回按钮这个设定不可行,因为如果采用返回按钮的形式,那么再次点击自带的返回按钮,则会依次跳转回之前的页面,这就很蛋疼,意味着始终会跳转回空白的详情页面。那么又要重新想办法了,既然不能用返回按钮,那么就只能使用自带的返回按钮了。然后我想到了一般的页面都有缓存机制,于是我就去查在Vue中的缓存机制,果然,可以通过设置缓存,来使返回的页面带有数据。在和同事交流之后决定采用这种方式。果然,第一次使用的东西一般总会有bug。在简单的配置了App.vue和index.js(路由设置下meta属性的keepAlive属性)之后,发现从预览页面返回到详情页面是有数据的,然而从主页再进入详情页则不会刷新数据。经过了解,大概是缓存页面后,vue页面的生命周期和钩子函数有改动,看来这部分特别重要需要去深入学习一下,改天再单发博客记录一下心得(挖坑)。再然后,也看到源来缓存的属性,是可以动态设置的,可以根据路由的切换来变换是否缓存,那么希望明天可以通过了解这方面来解决需求。
然后下午断断续续的做了昨天要求做的静态页面,因为根本无法看懂组长的前端组件,不知道怎么使用,所以自己通过ydui临摹了一个出来。在经过同事的谆谆教诲之后,终于看明白了组长的自定义组件,打算明天如果没什么事,就把静态页面用我们自己的组件库来写(挖坑)。想起来还有SSM框架搭建步骤和git常用命令没有写,头很大,只希望可以还有很多时间来学习,只有一技之长,才能摆脱焦虑。
Terence Xie
2018.7.25 周三 23:51
TW实习日记:第八天的更多相关文章
- TW实习日记:前三天
今天是2018年7月20号,周五.从周一开始实习到现在,终于想起来要写日记这种东西了,可以记录一下自己这一天所学所做所知也是蛮不错的.先简单总结一下自己的大学生活吧,算是多姿多彩,体验了很多东西.在大 ...
- TW实习日记:第九天
这两天有点忙,要改前端网页和加需求上去.所以昨天说的Vue缓存机制也没看,所以打算现在列个挖了的坑的清单: Vue缓存机制.生命周期和钩子函数 使用项目组自用组件来重写静态页面 SSM框架搭建.整合流 ...
- TW实习日记:第31-32天
不知不觉的,实习的净工作天数,已经都超过一个月了.因为对工作内容不是很满意,所以打算月底离职,也不知道是公司太缺人还是我真的能干活,领导竟然三番两次找我让我再考虑...明天又要找我了,哎...随机应变 ...
- TW实习日记:第四天
第四天 早上第一件事就是和组长说前一天的需求的事,简而言之就是两个导航栏不属于一个标签内,自定义导航栏属于<body>下的<header>,微信顶部的则是<head> ...
- TW实习日记:第十天
今天任务很简单,就是出品项目的时间轴显示页面和动态路由设置.其实时间轴页面很快就做完了,在做完处理完数据之后,然而有很多细节需要打磨,这就又考验了我面向搜索引擎编程的能力,根据需求百度了很多css的样 ...
- TW实习日记:第七天
今天早上,将项目的两个企业微信接口:登录和应用消息发送接口,做了最后的收尾工作,把目前我能解决的问题算是基本都解决了.早上还开了一个会,大意是组长封装了许多组件叫我们使用,在不断的使用中打磨组件的可用 ...
- TW实习日记:第六天
今日的一整天都是在开发微信相关的接口,因为项目的系统是嵌在企业微信中,所以不可避免的要产生微信UserID和企业系统ID的匹配关系,那么就需要用手机号或是邮箱这种两边都存在的唯一参数进行匹配.然后再将 ...
- TW实习日记:第五天
今天可以说是非常忙的一天了,要再项目中实现微信相关的功能:授权登录以及扫码登录,还有就是自建应用的发送消息.首先功能代码其实在经过了几天的学习之后并没有很难,但是最让我难受的是在项目中去加代码,首先s ...
- TW实习日记:第28天
同前两天一样,等接口,开发,调试接口.重复地做着低级代码得搬运工作,确实挺没意思的.怪不得有些人一直说写低级代码很无聊,没有创造性和成就感.31号准备溜了,还是好好复习准备秋招吧. 挖坑清单: Vue ...
随机推荐
- Git--查看,删除,添加远程分支
1. 查看远程分支: $ git branch -a 2. 删除远程分支: $ git push origin --delete <branch name> 或者 git push --d ...
- Datatable报错Uncaught TypeError: Cannot read property 'cell' of undefined
使用Datatables时,报出错误 仔细想想,是因为我在columns里加入了id,并设置visible:false 但是却没在下面的HTML部分多加一个 th 虽然我觉得因为id是隐藏的,不用加上 ...
- 协议类接口 - NAND
一.引脚的含义 先看下nand flash是怎么接的,如下所示便为某一款nand存储芯片的引脚图.发现其连地址信号都没有.那么是如何访问地址数据的呢? 查阅该nand flash的数据手册可得其各个引 ...
- 理解Web应用程序的代码结构和运行原理(3)
1.理解Web应用程序的运行原理和机制 Web应用程序是基于浏览器/服务器模式(也称B/S架构)的应用程序,它开发完成后,需要部署到Web服务器上才能正常运行,与用户交互的客户端是网页浏览器. 浏览器 ...
- SpirteKit深度复制SKSpriteNode节点及convert转换其它Scene上的节点到当前场景坐标
Playground输出的代码 ,注意右侧打印出的SpriteNode输出值,HAPPY_NODE的输出信息一致. SpriteNode //MARK:- 扩展SkSpriteNode属性 exten ...
- javascript的执行机制—Event Loop
既然今天要谈的是javascript的事件循环机制,要理解事件循环,首先要知道事件循环是什么. 我们先从一个例子来看一下javascript的执行顺序. <script> setTimeo ...
- ionic2添加支付宝插件出现问题
安装本地路径插件正常 编译正常 在打开支付页面时候 就报这个错 在手机app点击无效 错误信息: ERROR Error: Uncaught (in promise): Error: No pro ...
- Hammer.js 实现移动端元素的拖拽库
1. Pan事件:在指定的dom区域内,一个手指放下并移动事件,即触屏中的拖动事件.这个事件在屏触开发中比较常用,如:左拖动.右拖动等,如手要上使用QQ时向右滑动出现功能菜单的效果.该事件还可以分别对 ...
- Delphi Android下包含第三方DEX
1.将jar转换为dex call dx --dex -verbose --output=.\output\dex\test_classes.dex --positions=lines .\outpu ...
- Qt界面编程基本操作
Qt界面编程基本操作 了解基本代码构成 类widget的头文件widget.h如下: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> ...