qrcode & console.log

image

https://fs-api.lightyy.com/service/utils/qrcode?url=http://169.254.130.54:3000/#/chat

import Light from "light";

/**
* 打印二维码
*/
function printQRCode(hashpath) {
//93781 lighting工程不管是jsn项目还是纯h5项目都在控制台显示二维码
let path = location.pathname;
//110579:--onlyfor h5 时二维码打印h5的
if (typeof weex !== "undefined" && Light.onlyFor !== 'h5') {
//105231 二维码内容兼容多页工程
path = (path === "/" || path === "/index.html") ? `/${Light.mainPage}.native.js` : path.replace(/\.html/ig, ".native.js");
}
//128463当无法联网的环境下时,不再去请求平台接口来显示二维码
if(navigator.onLine){
let urlToScan = `http://${location.host}${path}${location.search}#${hashpath}`;
Light.ajax({
url:`https://fs-api.lightyy.com/service/utils/qrcode?url=${encodeURIComponent(urlToScan)}`,
type:"get",
dataType:"json",
success(data){
console.log("LightView 扫码 URL: " + urlToScan);
//91631 最新版本chrome浏览器的console无法打印二维码
console.log("%c ", "padding:75px 80px 75px;background:url(" + data.data + ") no-repeat;background-size:150px");
}
})
} } /**
* 计算节点的数量
* @param node
* @returns {number}
*/
function countNodes(node) {
let count = 1;
if(node.hasChildNodes()) {
let cnodes = node.childNodes;
for(let i=0; i<cnodes.length; i++) {
count = count + countNodes(cnodes.item(i))
}
}
return count;
}
/**
* 计算节点的层数
* @param node
* @returns {number}
*/
function countLevels(node) {
if(node.hasChildNodes()) {
let cnodes = node.childNodes; let levels = [];
cnodes.forEach(function (n) {
levels.push( 1 + countLevels(n))
})
return Math.max(...levels)
}else{
return 1;
}
} Light.filter("route", function (from, to, next) {
try {
next();
printQRCode(to.fullPath); //93785 lighting工程在展示当前视图的dom节点数量和最深的节点层次
setTimeout(function () {
let count = countNodes(document.body);
let level = countLevels(document.body);
console.log(`当前视图的DOM节点总数为:${count},最深的DOM节点层次为:${level}`);//
},1000)
}catch (e) {
console.log(e)
}
}); //93779 lighting工程编译时如果是添加了-w选项则在控制台提示用户可以查看编译资源树及分析
console.log(`%c查看编译资源详情请点击链接:http://${location.host}/stats.html`,"font-size:15px;color:red;font-weight:bolder"); //////////////////
// WEBPACK FOOTER
// C:/Users/xiagq/.lighting-plugins/node_modules/lighting-plugin-type-vue/plugins/qrcode.js
// module id = 305
// module chunks = 0

base 64


flutter ios app

https://github.com/X-Wei/flutter_catalog



xgqfrms 2012-2020

www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!


qrcode & console.log的更多相关文章

  1. const let,console.log('a',a)跟console.log('a'+a)的区别

    const 创建一个只读的常量 let块级作用域 const let重复赋值都会报错 console.log('a',a) a console.log('a'+a) a2 逗号的值会有空格:用加号的值 ...

  2. console.log("A"-"B"+"3")=?

    (点击上方的订阅号,可快速关注,关注有惊喜哦^_^) 前不久看到一道JS基础题目,做了一下竟然错了一半...在此分享一下: 先把题目放上来,大家可以自己测试一下再看答案哦^_^ ①console.lo ...

  3. javascript的console.log用法

    f1.html代码 <iframe id="frame2" name="frame1" src="ww.html"></i ...

  4. alert()与console.log()的区别

    [1]alert() [1.1]有阻塞作用,不点击确定,后续代码无法继续执行 [1.2]alert()只能输出string,如果alert输出的是对象会自动调用toString()方法 e.g. al ...

  5. console.log((function f(n){return ((n > 1) ? n * f(n-1) : n)})(5))调用解析

    console.log((function f(n){) ? n * f(n-) : n)})()); 5被传入到函数,函数内部三元计算,5 > 1成立,运算结果是5*f(4),二次运算,5*4 ...

  6. JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力。。

      JS高级群的日常!写一个从10到0的倒计时,用console.log打印,不可以用 setInterval!本来说好的研究avalonJS最后演变成了看着大神在那边互相比拼实力..   小森执行一 ...

  7. console.dir() 与 console.log() 区别

    Difference console.log prints the element in an HTML-like tree console.dir prints the element in a J ...

  8. 简述alert和console.log的区别

    生活中还是得有发现美好和差别的眼睛~~ 学习前端那么久既然还不知道alert和console.log的差别~~~~ 蓝瘦,香菇~~~ 本菜鸟一直以为alert和console.log其实是一样的用法, ...

  9. console.log()与alert()的区别

    1.alert() a.有阻塞作用,不点击确定,后续代码无法继续执行 b.alert只能输出string,如果alert输出的是对象,会自动调用toString()方法 eg:alert([1,2,3 ...

随机推荐

  1. 我们都可以把它放 Sidecar 容器中,这样微服务具备了 Super power,一种超能力

    云原生时代,微服务如何演进? 原创 李响 阿里技术 2020-08-28   https://mp.weixin.qq.com/s/KQG2U8_aotDL4YFB8ee6Zw 一  微服务架构与云原 ...

  2. virtualenv安装和配置

    安装命令 命令执行结束 配 执行命令:virtualenv testvir 执行完成:会在当前目录下生成如下文件夹 进入到testvir目录 进入Scripts目录: 进入虚拟环境:执行 activa ...

  3. QT串口助手(四):数据发送

    作者:zzssdd2 E-mail:zzssdd2@foxmail.com 一.前言 开发环境:Qt5.12.10 + MinGW 实现的功能 串口数据的发送 ascii字符与hex字符的相互转换 自 ...

  4. Codeforces 1439B. Graph Subset Problem (思维,复杂度分析)

    题意 给出一张无向图,让你找出一个大小为\(k\)的子团或者找出一个导出子图,使得图中的每个点的度数至少为\(k\). 思路 首先有个重要观察,当\(\frac{k(k-1)}{2} > m\) ...

  5. loj10153二叉苹果树

    有一棵二叉苹果树,如果数字有分叉,一定是分两叉,即没有只有一个儿子的节点.这棵树共 N 个节点,标号 1 至 N,树根编号一定为 1. 我们用一根树枝两端连接的节点编号描述一根树枝的位置.一棵有四根树 ...

  6. MySQL索引的原理,B+树、聚集索引和二级索引

    MySQL索引的原理,B+树.聚集索引和二级索引的结构分析 一.索引类型 1.1 B树 1.2 B+树 1.3 哈希索引 1.4 聚集索引(clusterd index) 1.5 二级索引(secon ...

  7. Java基本类型的内存分配在栈还是堆

    我们都知道在Java里面new出来的对象都是在堆上分配空间存储的,但是针对基本类型却有所区别,基本类型可以分配在栈上,也可以分配在堆上,这是为什么? 在这之前,我们先看下Java的基本类型8种分别是: ...

  8. Python Line Messaging Api

    Line Messaging line 是国外一个很火的实时通信软件,类似与WX,由于公司业务需求,需要基于line开发一个聊天平台,下面主要介绍关于line messaging api 的使用. 官 ...

  9. [The Preliminary Contest for ICPC Asia Shanghai 2019] B-Light bulbs(差分+思维)

    前言 最近有很多算不上事的事,搞得有点心烦,补题难免就很水,没怎么搞,自我检讨一番~~ 说实话网络赛题目的质量还是挺高的,题目都设计的挺好的,很值得学习.这场比赛那会只有我们大二的在做,其他人去参加$ ...

  10. Codeforces Global Round 7 D1. Prefix-Suffix Palindrome (Easy version)(字符串)

    题意: 取一字符串不相交的前缀和后缀(可为空)构成最长回文串. 思路: 先从两边取对称的前后缀,之后再取余下字符串较长的回文前缀或后缀. #include <bits/stdc++.h> ...