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. (Oracle)取当前日期的最近工作日

      描述:现有一需求,日期表中存放了日期和是否节假日(0-工作日,1-节假日),现在需要取日期表中的最近的工作日.如2017/07/23(周日)最近的工作日应该是2017/07/21(周五).     ...

  2. Enables DNS lookups on client IP addresses 域名的分层结构

    虚拟域名访问,路由可以到达,但无输出. http://httpd.apache.org/docs/2.2/mod/core.html#hostnamelookups 移动解析 HttpDNS_域名解析 ...

  3. c++ 三五法则 自己理解

    简介 三五法则规定了什么时候需要  1 拷贝构造函数   2 拷贝赋值函数  3 析构函数 1. 需要析构函数的类也需要拷贝构造函数和拷贝赋值函数. 通常,若一个类需要析构函数,则代表其合成的析构函数 ...

  4. CSS补充2

    浮动是css里面布局最多的一个属性效果:两个元素并排了,并且两个元素都能够设置宽度和高度 四个特性: 1.浮动的元素脱标 2.浮动的元素互相贴靠 3.浮动的元素有"字围"效果 4. ...

  5. centos安装Qt

    转:http://blog.csdn.net/wavelee/article/details/7855727 在编译Qt4.8.6版本的库时,在配置时 ./configure 出现了如下的错误: Ba ...

  6. svn安装步骤

    我使用的是myeclipse 8.5  svn是site-1.8.22.zip 步骤 1.在myeclipse安装路径下dropins文件夹中创建svn文件夹 2.解压site-1.8.22.zip复 ...

  7. 织梦dedecms自由列表的"不使用目录默认主页"错误修正

    站长用织梦做站时常常发现织梦自由列表有个致命的问题: 即修改"不使用目录默认主页"就永远不会自己勾选啦 打开这个文件 makehtml_freelist_action.php 搜索 ...

  8. Flink-v1.12官方网站翻译-P026-State Backends

    状态后台 Flink提供了不同的状态后端,指定状态的存储方式和位置. 状态可以位于Java的堆上或离堆.根据你的状态后端,Flink还可以为应用程序管理状态,这意味着Flink处理内存管理(必要时可能 ...

  9. 从NMEA0183到GNSS定位数据获取(二)软件篇

    作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述 GPS我们都知道,一种用来全球定位的系统,后来俄罗斯推出了格洛纳斯定位系统,中国推出了北斗定位,欧盟有 ...

  10. [OpenCV]获取摄像头视频

    环境:Windows 8 64bit + VS2012 X64 + OpenCV 2.4.7 摄像头的捕捉使用VideoCapture类 Class VideoCapture    [OpenCV文档 ...