• electron项目打包使用的electron-builder默认使用node-gyp编译sqlite,由于未知原因导致打包过程失败,切换为从源编译编译即可 package.json "build": { "buildDependenciesFromSource":true, "nodeGypRebuild": false, "npmRebuild": false, ... } 展开全文
  • cordova app页面后退及退出功能

    2020-04-21 浏览:429
    vue代码 let exitAppTicker = 0 document.addEventListener("deviceready", () => { document.addEventListener("backbutton", () => { //判断当前路由是否为首页或者登录页面 if (this.$route.path == '/index' || this.$route.path == '') { if (exitAppTicker == 0) { exitAppTicker++; this.$toast({ message: '再按一次退出',... 展开全文
  • 该插件用于配置cordova项目图标及启动页 安装 cordova plugin add cordova-plugin-splashscreen // or cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.g 设置启动页及图标 根目录下config.xml <platform name="android"> <allow-intent href="market:*" /> <icon density="ldpi" src="res/icon/android/mipmap-ldpi/icon.png" /> <icon density="mdpi" src="res... 展开全文
  • Vue-cli3x路径别名的使用

    2020-04-10 浏览:438
    根目录下vue.confing.js const path = require('path') function resolve(dir) { return path.join(__dirname, dir) } module.exports = { publicPath: './', chainWebpack: (config) => { config.resolve.alias .set('@$', resolve('src')) .set('@api', resolve('src/api')) .set('@util', resolve('src/util')) .set('@assets', resolve('src/ass... 展开全文
  • js 多层菜单递归

    2020-03-13 浏览:705
    思路 首先遍历一遍data找到顶级菜单(pid=0)存入res中,然后遍历res,为每一项添加children属性,用每一项的id作为pid查找它的子元素,没有则退出并删除children,不断递归即可 function getTree(pid, arr, res) { for (let i = 0; i < arr.length; i++) { if (arr[i].pid == pid) { res.push(arr[i]) arr.splice(i, 1) i-- } } res.map(r => { ... 展开全文
  • VuePress的使用

    2019-12-24 浏览:1164
    VuePress是一个由Vue 驱动的静态网站生成器 简洁至上 以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。 Vue 驱动 享受 Vue + webpack 的开发体验,可以在 Markdown 中使用 Vue 组件,又可以使用 Vue 来开发自定义主题。 高性能 VuePress 会为每个页面预渲染生成静态的 HTML,同时,每个页面被加载的时候,将作为 SPA 运行。 安装 全局安装 npm install -g vuepress 创建项目并初始化 mkdir project cd project... 展开全文
  • cordova相关

    2019-12-03 浏览:1245
    全局安装 npm install -g cordova // 安装指定版本 npm install -g cordova@8.1.2 创建项目 cordova create test 添加平台 cordova platform add android --save // 指定版本 cordova platform add android@6.3.0 --save 调试 cordova run android 打包 cordova build android andorid studio build 报错:Invalid escape sequence at line 1 column 29 path $[0].name 修改gradle.properties org.gradle.jvmargs=-Dfile.e... 展开全文
  • electron进程通信之文件保存

    2019-11-29 浏览:1455
    ipcMain模块是EventEmitter类的一个实例。在主进程中使用时,它处理从渲染器进程(网页)发送的异步和同步消息。从渲染器发送的消息将发送到此模块。 在渲染进程创建一个保存按钮,并向主进程发送消息: test.vue <template> <a-button icon="branches" @click="exportExcel">导出</a-button> </template> <script> import {ipcRenderer} from 'electron' export default { methods: { ... 展开全文
  • 二叉树的遍历

    2019-10-18 浏览:1176
    二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 结构 1 / \ 2 3 / \ \ 4 5 6 二叉树的遍历分为深度优先遍历(DFS)和广度优先遍历(BFS),深度遍历有前(先)序、中序以及后序三种遍历方法,广度遍历即我们寻常所说的层次遍历 深度优先遍历(DFS) 深度优先搜索属于图算法的一... 展开全文
  • wordpress登录界面样式优化

    2019-10-16 浏览:1332
    效果 引入样式表 functions.php function login_scripts() { wp_enqueue_style( "login-index", get_template_directory_uri() . "/style/login.css" ); } add_action('login_enqueue_scripts', 'login_scripts'); 样式 less .login { position: relative; background-image: url("https://img.qianxiaoduan.com/wp-bj.jpg"); background-position: center; background-size: cover; } #login { position: abs... 展开全文
  • 使用场景 session运行在服务器端,当客户端第一次访问服务器时,可以将客户的登陆信息保存。 可以保存一些客户的常用信息,当客户端再次获取常用信息时,不必再从数据库中进行查询。 在使用session时数据会直接存储在内存中,数据过大会造成溢出,所以session需要配合数据库使用,这里使用redis存储session数据 使用redis需要在服务器中安装redis node项目引入 npm install express-session --save npm install redis connec... 展开全文
  • 时间复杂度推导

    2019-09-23 浏览:1065
    定义 若存在函数 f(n),使得当n趋近于无穷大时,T(n)/ f(n)的极限值为不等于零的常数,则称 f(n)是T(n)的同数量级函数。 记作 T(n)= O(f(n)),称O(f(n)) 为算法的渐进时间复杂度。也叫大O表示法。 推导原则 用常数1取代运行时间中的所有加法常数; 在修改后的运行次数函数中,只保留最高阶项; 如果最高阶项存在且不是1,则去除与这个项相乘的常数。 举例 例1 for (let i = 0; i < n; i++) { ... 展开全文
  • 判断html标签是否正确闭合

    2019-09-18 浏览:1053
    函数用途 用于检测输入的代码是否存在未闭合、错误嵌套等错误 实现原理 将输入html中标签分类两类:无内容元素和有内容元素 无内容元素: img、br、hr等 将此类标签检查后过滤 有内容元素: div、span、p等 遍历所有此类标签,判断该字符串是否正确闭合即可 举例: <div></div> //true <div></div //false <div> //false <div><div></div> //false 代码实现 function re(data) { ... 展开全文
  • 七牛文件上传的前后端部署

    2019-09-06 浏览:1380
    后端(Node.js) 后端的作用是为前端提供上传所需要的凭证 准备 注册七牛开发者帐号 登录七牛开发者后台,获取AccessKey 和 Secret Key 创建对象存储的存储空间 地址:https://portal.qiniu.com/user/key sdk安装 npm install qiniu --save token生成 let mac = new qiniu.auth.digest.Mac(accessKey, secretKey); let options = { scope: config.Bucket, expires: 7200, returnBody: '{"key":"$(key)","hash":"$... 展开全文
  • vue中cross-env的使用

    2019-08-09 浏览:2292
    cross-env cross-env是跨平台设置和使用环境变量的脚本。 在大多数Windows命令行中在使用NODE_ENV = production设置环境变量时会报错。同样,Windows和Linux命令如何设置环境变量也有所不同。 使用cross-env可以设置在不同的平台上有相同的NODE_ENV参数。 适用场景 适用于本地线上环境有差异的场景,例如本地线上使用不用的开发域名则可以通过NODE_ENV来判断 if(process.env.NODE_ENV!='development'){ //线上环境 } proce... 展开全文
  • js的变量拼接

    2019-07-15 浏览:1185
    使用 [] 拼接变量 result.article_title //等效 let a='article'; result[a + '_title'] 使用evel() let a1 = 123 let s = 1 console.log(eval('a' + s)) //123 展开全文
  • 数组

    2019-05-30 浏览:1413
    数组创建 使用Array 构造函数 //使用Array 构造函数,在使用Array 构造函数时也可以省略new 操作符 var colors = new Array(); var colors = Array(); //如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量,而该数量会自动变成length属性的值。 var colors = new Array(20); 使用数组字面量表示法 数组字面量由一对包含数组项的方括号表示,多个数组项之间以逗号隔开 var colors = ["red", "blue", "green"]; // ... 展开全文
  • es6中的剩余参数(…)

    2019-05-29 浏览:1338
    ES6提供了剩余参数,剩余参数将没有对应形参的参数聚合成一个数组: function f(a,...b) { console.log(a)//1 console.log(b)//[2,3] } f(1,2,3) 剩余参数为空时返回空数组 function g(...b) { console.log(b)//[] } g() tips: 参数有形参(parameter)和实参(argument) 形参就是函数声明时的变量,实参是我们调用该函数时传入的具体参数。 展开全文
  • js中插件的封装与调用

    2019-05-29 浏览:1422
    (function () { "use strict" let _global; function Add(data) { this.defaulData = { a: 0, b: 0, } this.data = Object.assign(this.defaulData, data) this.init() } Add.prototype = { init: function () { console.log(this.data) }, add: function (...a) { console.log(a) ... 展开全文
  • isNaN 与 Number.isNaN

    2019-05-24 浏览:1389
    isNaN 与 JavaScript 中其他的值不同,NaN不能通过相等操作符(== 和 ===)来判断 ,因为 NaN == NaN 和 NaN === NaN 都会返回 false。 因此,isNaN 就很有必要了。 isNaN() 函数用来确定一个值是否为NaN 。 如果isNaN函数的参数不是Number类型, isNaN函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN进行判断。因此,对于能被强制转换为有效的非NaN数值来说(空字符串和布尔值分别会被强制转换为数值0和... 展开全文