精华内容
下载资源
问答
  • 钉钉h5微应用缓存问题
    千次阅读
    2020-06-02 17:52:59

    vue开发钉钉H5微应用遇到的问题

    一,前端发布新版本后钉钉小程序的界面不更新

    • 每次前端资源发版后,由于钉钉webview缓存机制,可能导致发版资源不更新,需要手动刷新一下,如果还是不行,可尝试清除钉钉应用缓存解决,如果还是不行,那就卸载钉钉重新安装

    1. 解决方案

    1. 项目域名后拼接版本号&version=v1.x
    2. 服务端管理APP版本,前端在项目启动时判断本地缓存的版本与服务端版本是否一致。不一致刷新页面请求最新资源。
    更多相关内容
  • 钉钉h5微应用缓存可行性解决方法

    千次阅读 2021-09-14 10:18:53
    最近有在开发钉钉h5微应用程序,坑爹的钉钉h5即使打包js做了hash串 每次打包上线依然会读取缓存。要手动清除掉手机里应用缓存信息才可以读取最新的代码,这么做的话 用户体验着实太糟糕了。 百度了下说是在入口...

    最近有在开发钉钉h5微应用程序,坑爹的钉钉h5即使打包js做了hash串 每次打包上线依然会读取缓存。要手动清除掉手机里应用的缓存信息才可以读取最新的代码,这么做的话 用户体验着实太糟糕了。
    百度了下说是在入口引用js后面加上版本号就能不读取缓存,ok 那想办法每次打包去更新版本号就好了。

    要每次去更新版本号,那必然要用到node的fs模块来读写文件,开搞:
    所有的环境变量文件里声明一个版本号
    在这里插入图片描述

    根目录新建一个js文件update.version.js
    引入文件操作模块和路径模块以及获取当前版本号

    const fs = require('fs');
    const path = require('path');
    
    const version = process.env.VUE_APP_VERSION;
    

    声明一个函数

    function changeVersion() {
    	// 执行函数
    }
    

    判断当前环境是正式环境执行更新版本号操作

    function changeVersion() {
    	if (process.env.NODE_ENV === 'production') {
    	    const _v = version.split('.').map(Number);
    	    // 确定版本号
    	    if (_v[2] < 10) {
    	      _v[2]++;
    	    } else {
    	      if (_v[1] < 10) {
    	        _v[1]++;
    	        _v[2] = 0;
    	      } else {
    	        _v[0]++;
    	        _v[1] = 0;
    	        _v[2] = 0;
    	      }
    	    }
    	    // 修改版本号
    	    // 同步读文件
    	    const file = fs.readFileSync(
    	      path.join(__dirname, '.env.production'),
    	      'utf-8'
    	    );
    	    // 需要更新的数据 由于本人reg实在是太差 正则写不来orz
    	    const V = `VUE_APP_VERSION = ${_v.join('.')}`;
    	    // 当前的数据
    	    const nowV = `VUE_APP_VERSION = ${version}`;
    	    // 替换数据 正则大佬可以直接在这里配置修改 不需要单独声明变量来替换
    	    const result = file.replace(nowV, V);
    	    // 同步写文件
    	    fs.writeFileSync(path.join(__dirname, '.env.production'), result, 'utf-8');
    	    return _v.join('.');
    	 } else {
    	 	return version
    	 }
     }
    

    别忘了把该函数导出

    module.exports = changeVersion;
    

    这样我们就做到了更新版本号文件的功能,接下来拿导出的版本号放到js文件路径上;
    在vue.config.js文件上:

    const changeVersion = require('./update.version');
    
    const version = changeVersion();
    

    module.exports里的chainWebpack配置项上添加config.output.filename

      chainWebpack: (config) => {
        // 是一个函数,会接收一个基于 webpack-chain 的 ChainableConfig 实例。允许对内部的 webpack 配置进行更细粒度的修改。
        config.resolve.alias
          .set('@', resolve('src')) // key,value自行定义,比如.set('@@', resolve('src/components'))
          .set('_c', resolve('src/components'));
        config.plugin('html').tap((args) => {
          args[0].title = '';
          return args;
        });
        // 给js添加hash和版本号
        config.output.filename(`[name].[hash].js?version=${version}`).end();
      },
    

    现在就可以每次打包先调用nodejs修改版本文件并获取最新的版本号添加到入口文件上;

    完美解决


    突然发现公司是jenkins自动部署的,自动部署 意味着每次都是拉git最新的代码来安装打包,打包后并不会把更新的版本号push到git去啊,那它下次还是读取的旧版本号啊喂,,,,

    该方法貌似只适合手动部署!!

    展开全文
  • 主要介绍了有关vue 开发的钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 1、临时解决缓存》打开钉钉设置》通用》一件清理 2、永久解决缓存》public>index.html粘贴上禁用缓存的代码 <!DOCTYPE ...

    1、临时解决缓存》打开钉钉设置》通用》一件清理
    2、永久解决缓存》public>index.html粘贴上禁用缓存的代码

    <!DOCTYPE html>
    <html lang="">
    
    <head>
      <meta charset="utf-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width,initial-scale=1.0">
      <link rel="icon" href="<%= BASE_URL %>favicon.ico">
      <title>
        <%= htmlWebpackPlugin.options.title %>
      </title>
      。。。。解决钉钉首页缓存。。。。
      <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
      <meta http-equiv="Pragma" content="no-cache" />
      <meta http-equiv="Expires" content="0" />
      。。。。。。。。。。。。。
    </head>
    
    <body>
      <noscript>
        <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
            Please enable it to continue.</strong>
      </noscript>
      <div id="app"></div>
      <!-- built files will be auto injected -->
    </body>
    </html>
    
    展开全文
  • 项目类型:CRM(销售管理APP) 1、使用alert,confirm等原生弹窗 会...3、每次前端资源发版后,由于钉钉webview缓存机制,在重新进入应用的时候会出现白屏情况,这种需要手动刷新即可 4、如果由于缓存导致发版资...

    项目类型:CRM(销售管理APP)

    1、使用alert,confirm等原生弹窗 会导致部分安卓手机下钉钉导航栏被初始化,导航栏颜色变白,右侧按钮消失,官方还未解决

    2、部分安卓手机页面返回的时候,会导致钉钉导航栏颜色失效变白,但设置的右侧按钮还存在

    3、每次前端资源发版后,由于钉钉webview缓存机制,在重新进入应用的时候会出现白屏情况,这种需要手动刷新即可

    4、如果由于缓存导致发版资源不更新,可尝试清除钉钉应用缓存解决,如果还是不行,那就卸载钉钉重新安装

    5、钉钉微应用 Android返回键监听backbutton事件后清除事件导致其他页面不能返回(因为返回按钮是绑定在document上的,然而SPA document是不变的。对于这个蛋疼的问题,也只能曲线救国一下了)

     

    --------------------------------

    接着以上第4条谈下钉钉微应用缓存:

    缓存机制:钉钉原生webview会将应用缓存cache缓存下来,并且很难通过钉钉内置缓存清除

    解决办法:1、项目域名后拼接版本号&version=v1.x (推荐)

                      2、新版钉钉提供了清除缓存的功能,清除掉即可(手动清除)

    展开全文
  • 开发的钉钉h5微应用首次白屏加载非常慢,求解决方案,之后估计有缓存了加载就正常了
  • 钉钉H5开发日记,ASP.net core mvc 里面包含所有前后端代码
  • 最近接到一个新任务,H5开发俩页面,嵌入钉钉,作为一个H5微应用,需要实现免登录,也就是不要进入微应用得时候再走一个登录页面,首页+详情页,详情页带一个分享给钉钉好友的功能。 首先想到既然俩页面需要需要...
  • 钉钉微应用开发时代码存在缓存

    千次阅读 2021-05-28 16:06:57
    应用是用vue-cli开发的,钉钉原生webview会将应用缓存cache缓存下来,并且很难通过钉钉内置缓存清除。最后查看打包后的文件发现,所有文件名都是不变的,即使改版后打包的文件名和改版前是一样的。这是导致缓存的...
  • DingTalk「开发者说」是钉钉开发者最新上线的开发者栏目,联合阿里云ACE团队,分享钉应用开发解决方案、技术更新、实战技巧,致力于成为钉钉与开发者的桥梁与纽带,...本篇介绍了钉钉H5微应用的概念、原理及开发实战。
  • 钉钉微应用内置浏览器js缓存清理

    千次阅读 2019-09-21 23:37:54
    html中引用的js文件加上版本... <script type="text/javascript" src="js/xxx.js?version=1.0.1"> 修改版本号后,会清除缓存的js,读取服务器上的js。 转载于:https://www.cnblogs.com/JICG/p/11557242.html...
  • 记录一次企业内部应用-H5微应用开发vue-cli3vue-2.x创建微应用并成为开发者登录钉钉开放平台,创建过程可见官方文档:创建应用内网穿透./ding -config=./ding.cfg -subdomain=fanlinqiang 8081浏览器访问:...
  • 钉钉里面内嵌一个自定义的h5应用,点击应用获取到用户信息,实现应用免登录访问 准备工作,查看钉钉开放平台文档开发H5应用 免登流程 文档位置 钉钉API总览 vue获取钉钉免登授权码code 先安装 npm ...
  • 【Java用法】使用Java开发连接钉钉应用实现钉钉通知的功能 一、项目背景 项目架构是:Springboot (2.0.0.RELEASE) + maven (2.18.1) + mybatis-plus (3.1.1) + jdk1.8 前几天在钉钉创建了一个H5微应用,上线运行几天...
  • 一、背景描述 公司做一个项目要集成到钉...钉钉免登录应用注意事项: 1、创建应用; 2、配置出口IP与访问首页; 3、开放权限(手机号码信息、通讯录部门信息读权限、成员信息读权限、通讯录部门成员读权限); 4、 ...
  • 钉钉微应用开发免登流程

    千次阅读 2020-12-29 18:06:40
    钉钉企业内部应用分E应用微应用,E应用说白了就是小程序,微应用H5页面。如果公司内部系统全接口开发的,并且微信小程序有开发经验,E应用首选。内部系统是传统模式那就微应用吧。我们公司没有成体系的OA系统,...
  • 浙政钉 为规范浙政钉整体架构体系,按照统分结合原则,由省政府办公厅统一设计整体工作界面和系统框架,统筹指导全省统建应用建设,各单位根据自身业务特点分别建设自建应用,最终形成全省统一的政府系统掌上协同...
  • H5实现pdf在线预览.rar

    2020-11-25 13:56:11
    APP内嵌H5,实现pdf在线预览功能。使用方法:展示内容需转化成base64格式,并使用sessionStorage缓存保存,资源包内容需放置在同一级目录下面,在手机上及可打开预览。
  • 如果你要用钉钉发送消息或通知给指定用户,或者是知道钉钉用户手机号,想获取该用户userId然后再做下一步处理,那么这篇文章或许能给你提供一点帮助。
  • 电脑钉钉缓存文件路径

    千次阅读 2021-06-28 05:54:22
    电脑钉钉缓存文件路径是默认安装在c盘的,其相关文件目录也在c盘下。但是不同文件,例如录音文件和视频文件等。会在保存时自己指定位置,一般来说,只有以下几种可能:1、一般是在它的默认目录即c盘下,和钉钉在同...
  • 最近我想在钉钉端创建一个H5应用,点击这个应用图标,获取当前钉钉登录用户个人信息,然后利用获取到的信息做后续的一些处理,如获取当前钉钉用户名下的订单信息诸如此类。此文将梳理从钉钉应用的创建到当前钉钉登录...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 442
精华内容 176
热门标签
关键字:

钉钉h5微应用缓存问题