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. # from tall import b from tall import * print(b) __all__ 模块 引用管理

    ├── __init__.py├── tall2.py└── tall.pytall.pya = 23b = 34class I: def __init__(self): print(444)clas ...

  2. 腾讯libco协程原理

    https://blog.csdn.net/GreyBtfly/article/details/83688420 堆栈 https://blog.csdn.net/lqt641/article/det ...

  3. [BJOI2016]水晶 做题心得

    [BJOI2016]水晶 做题心得 这是一个写了我两小时的傻逼题.写这个题浪费了一堆时间后,我才意识到我码力又不行了.于是整理起了实现技巧,开始练码力. 思路 不难.首先把 \((x,y,z)\) 变 ...

  4. Oracle数据库查询锁表及解锁

    一.查询哪些表被锁以及查看锁表得会话及操作系统进程ID 其中locked_mode为锁的级别,spid为数据库所在操作系统的进程id select c.sid, c.serial#, c.userna ...

  5. GeoMesa命令行,索引概述

    GeoMesa 一.GeoMesa命令行 查看classpath 创建表 描述表 批量导入数据 解释查询 统计分析 导出feature 删除feature 获取目录中的全部表的名称 删除表 删除目录 ...

  6. spark SQL (五)数据源 Data Source----json hive jdbc等数据的的读取与加载

    1,JSON数据集 Spark SQL可以自动推断JSON数据集的模式,并将其作为一个Dataset[Row].这个转换可以SparkSession.read.json()在一个Dataset[Str ...

  7. 使用mybatis自动实现接口封装返回结果集

    import java.lang.annotation.Annotation; import java.lang.annotation.Documented; import java.lang.ann ...

  8. UVA 10294 项链与手镯 (置换)

    Burnside引理:对于一个置换\(f\), 若一个着色方案\(s\)经过置换后不变,称\(s\)为\(f\)的不动点.将\(f\)的不动点数目记为\(C(f)\), 则可以证明等价类数目为\(C( ...

  9. POJ2932 Coneology【圆扫描线】

    POJ2932 Coneology 题意: 给出一些不相交的圆,问有多少个圆不被其他圆包围 题解: 扫描线,把所有圆的左边界和右边界放到\(vector\)里排序,遍历到圆左边界的时候判断是否满足条件 ...

  10. UESTC 360(1425) another LCIS

    这道题是CD老OJ上面的一道题,现在在新OJ上的题号是360,开始在VJ上做的提交一直RE(囧).后来才知道OJ移位了. 这道题是一个简单的成段更新+区间合并的线段树的题,1A还让我小激动了一下 这道 ...