当前位置: 首页 > news >正文

网站建设开发步骤南京做网站公司 雷仁

网站建设开发步骤,南京做网站公司 雷仁,dedecms可以做什么网站,wordpress页面视频播放前言 咱们的网站或者程序#xff0c;每一个页面和操作都需要请求后端接口来获取响应和渲染页面#xff0c;抛开post请求方式的接口不说#xff0c;部分get请求得到的数据#xff0c;短时间内不会更新#xff0c;或者短时间得到的响应数据不会变化#xff0c;这个时候就可…前言 咱们的网站或者程序每一个页面和操作都需要请求后端接口来获取响应和渲染页面抛开post请求方式的接口不说部分get请求得到的数据短时间内不会更新或者短时间得到的响应数据不会变化这个时候就可以把从接口得到的数据缓存下来下次刷新或者是请求接口的时候就不用请求接口从而大幅度提高用户体验。 当然如果服务器的流量很多且兆宽也比较大可以自动忽略。 不过自研小网站或者资讯类、文字类数据量比较大的程序就可以完全利用起来了。 实现 storage.ts 首先肯定是需要缓存的工具类来直接使用 /*** 封装操作localstorage本地存储的方法*/ export const storage {//存储set(key: string, value: any, expires: number) {const obj {value: value,expires: expires,//有效时间startTime: new Date().getTime() // 记录存储数据的时间转换为毫秒值存下来}// 判断是否设置了有效时间if (obj.expires) {// 如果设置了时间把obj转换数据类型转换为字符串对象存起来localStorage.setItem(key, JSON.stringify(obj))}else {// 如果没有设置有效时间直接把value值存进去localStorage.setItem(key, JSON.stringify(obj.value))}},//取出数据getT(key: string) {// 先定义一个变量临时存放提取的值const temp TJSON.parse(localStorage.getItem(key))// 判断有没有设置expires属性// 如果有就需要判断是否到期了if (temp temp ! undefined temp ! null temp.expires ) {let data new Date().getTime()if (data - temp.startTime temp.expires) {// 此时说明数据已过期,清除掉localStorage.removeItem(key)// 直接returnreturn}else {// 如果没有过期就输出return temp.value}}else {// 如果没有设置直接输出return temp}},// 删除数据remove(key: string) {localStorage.removeItem(key)} };/*** 封装操作sessionStorage本地存储的方法*/ export const sessionStorage {//存储set(key: string, value: any) {window.sessionStorage.setItem(key, JSON.stringify(value))},//取出数据getT(key: string) {const value window.sessionStorage.getItem(key)if (value value ! undefined value ! null) {return JSON.parse(value)}return null},// 删除数据remove(key: string) {window.sessionStorage.removeItem(key)} }cacheAxios.ts 其实就是将自己的axios请求做个处理请求的时候用封装的工具请求类即可我举例的是localStorage大家可以根据自行需要来使用sessionStoragesessionStorage就没有cacheTime 了可以自行设置 import axios from /utils/axios import { storage } from /utils/storageinterface optionsFace {isCache?: boolean; // 是否缓存cacheKey?: string; // 缓存key值cacheTime?: number; // 缓存默认值 默认为3天 86400 * 3单位秒 }const request async (config: any, {isCache false, cacheKey, cacheTime 86400 * 3}: optionsFace) {// 判断是否需要缓存数据if (isCache) {const cacheData storage.get(cacheKey)if (cacheData) {// 有缓存数据直接返回return new Promise((resolve) {resolve(cacheData)})}else {const resData await axios(config)// 根据自己的接口来判断if (resData.code ! 0) {storage.set(cacheKey, resData, cacheTime * 1000)}// 返回结果return new Promise((resolve) {resolve(resData)})}} else {return axios(config)} }export default requestapi.ts 接口工具类使用方式就都一模一样的 // 使用封装的缓存axios import request from /utils/cacheAxios;/*** 功能获取 列表*/ export const getList (params: Object, options: Object) {return request({url: /Wikipedia/getList,method: get,params: params}, options); };页面使用 /*** 功能获取 首页数据*/ const getHome () {// 这里的cacheKey可以拼接上页码// const cacheKey homeData pageCurrent// 配置里还有个时间参数工具类里是默认3天可以自行设置getList({}, {isCache: true, cacheKey: homeData}).then(res {// 逻辑处理、即使是缓存得到的数据也是一样的不会影响业务处理}) }小结 很多人可能不会使用这个多余的操作可是我自研了中小型网站很多数据需要频繁渲染且数据都是一样的所以需要如此来降低服务器的成本和前端体验缓存的数据建议是列表类数据全是明文的这样即使别人拿到也没用本文是基于vue不过react、小程序、uniapp改一下同样适用
http://www.zqtcl.cn/news/774963/

相关文章:

  • 西安网站建设和推广公司php企业网站开发实训报告
  • 市网站制作番禺绿叶居
  • 网站漂浮物怎么做电子商务网站开发实训体会
  • 电商网站建设定制济南网站建设及推广
  • 网站标签化wordpress 输出评论内容 函数
  • 明星个人网站设计汕头网络推广公司
  • 深圳有哪些做网站公司好武夷山建设局网站
  • 怎么设立网站赚广告费一个网站可以做多少关键字
  • 网站刚建好怎么做能让百度收录成都定制网站建
  • thinkphp网站开发技术做电脑租赁网站
  • 网站设计评语中午版wordpress
  • 邢台企业手机网站建设汕头网站制作后缀
  • 微网站后台内容设置做网站语言排名2018
  • 嘉兴网站制作网站建设外贸营销推广平台有哪些
  • 网站开发集广州高端网站定制开发价格
  • 网站开发培训成都网站建设 报价单 doc
  • 苏州哪里有做淘宝网站的WordPress模板博客主题
  • 网站做中转做任务 网站
  • 深圳住房建设局网站网站的建设教程
  • 6免费建站的网站在线建筑设计
  • 哪些网站做任务可以赚钱的建设厅网站如何查询企业信息
  • 深圳网站设计+建设首选深圳市服装网站建设需求分析报告
  • 肥城网站制作浙江省建设厅信息港官网
  • 手机网站建设进度南宁企业网站设计
  • 建设学校网站方案大淘客网站上的推广怎么做
  • 哪个网站可以免费学设计南阳网站建设页面
  • 外贸公司建网站一般多少钱南京网站建设小程
  • 洛阳霞光做网站公司手机编程教学
  • 深圳正规网站建设公司顺德网页制作公司
  • 消防中队网站建设筑云电商网站建设公司