JavaScript 处理树结构数据场景即便在前端,也有很多时候需要操作 树结构 的情况,最典型的场景莫过于 无限级分类。之前吾辈曾经遇到过这种场景,但当时没有多想直接手撕 JavaScript 列表转树了,并没有想到进行封装。后来遇到的场景多了,想到如何封装树结构操作,但考虑到不同场景的树节点结构的不同,就没有继续进行下去了。 直到吾辈开始经常运用了 ES6 Proxy 之后,吾辈想到了新的解决方案! 思考问: 之前为什么停止封装树结构...
一、前言 在广告机项目中,角色的权限管理是卡了挺久的一个难点。首先我们确定的权限控制分为两大部分,其中根据粒的大小分的更细: 1、接口访问的权限控制 2、页面的权限控制 菜单中的页面是否能被访问页面中的按钮(增、删、改)的权限控制是否显示下面我们就看一看是如何实现这些个权限控制的。 二、接口访问的权限控制 接口权限就是对用户的校验。正常来说,在用户登录时服务器需要给前台返回一个Token,然后在以后前台每次调用...
背景1、vue项目中的表格需要实现行拖拽功能 2、表格使用element组件库中el-table 方案介绍Sortable.js介绍:Sortable.js是一款轻量级的拖放排序列表的js插件 引用自官方文档:No jQuery required. Supports Meteor, AngularJS, React, Polymer, Vue, Knockout and any CSS library, e.g. Bootstrap. 参考地址: https://github.com/SortableJS/Sortable vuedraggable 介绍:基于Sortable.js的vue组件,用以实现拖拽功能 引用自官方...
本文实例讲述了jquery实现动态创建form并提交的方法。分享给大家供大家参考,具体如下: 有时候在写web 应用的时候,需要临时动态构造一个form 并提交,form 里面的参数以及action,以及是post请求还是get请求,甚至form 的样式都是可以指定的,用原生的javascript 肯定可以做到,我用jquery做了一个测试。 我自己测试的是构造一个分页的post请求, 为了防止csrf 攻击,加入了csrf 验证,不需要的可以去掉. function genSearchObj(u...
本文实例讲述了JS实现从对象获取对象中单个键值的方法。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>www.gxlcms.com JS获取对象中单个键值</title> </head> <body> <script>window.onload = function() {var add = document.getElementById("addArr")var arr = [{aaa: 51, bbb: 174},{aaa: 270, bbb: 174}];obj = {xxx: 51,yyy: 174,zzz: 175,aaa: 1,bbb: "abaabababa...
前言 判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如:121,是回文数。 1221, 是回文数。 1234,不是回文数。 -121,也不是回文数。一些特殊的情况: 0-9的数字,都可以称为回文。不等于0,且尾数是0的数字,都不是回文。负数都不是回文。1. 字符串的转换1.1 简单点,使用高阶函数来完成思路: 先将数字转成字符串A,再经过变成数组,数组反转,数组变成字符串B三步操作之后,比...
本文实例讲述了JS实现处理时间,年月日,星期的公共方法。分享给大家供大家参考,具体如下: 在项目中用到的,用js 来得到年月日,星期,当前多少个周的函数,备忘在这里,以后参考。 Date.prototype.getWeek = function(){var firstDayOfYear = new Date(this.getFullYear(),0,1);var millOfDay = 24*60*60*1000;return Math.ceil((((this - firstDayOfYear) / millOfDay) + firstDayOfYear.getDay()+1)/7); }; /* 01 October 201...
我想实现读取一个本地的xlsx文件(task_list.xlsx)然后显示在网页上, 一开始选择的方法是建个express server, 通过发送axios请求来实现, 但是觉得只是读取一个本地文件还要搞个server太复杂了, 最终还是通过"xlsx"模块 + axios实现了读取本地文件, 无需后端, 步骤如下: 1.通过vue-cli新建项目:2.编写分析excel workbook的脚本/src/scripts/read_xlsx.js const XLSX = require(xlsx)//将行,列转换 function transformSheets(sheets) ...
本文实例讲述了JavaScript遍历查找数组中最大值与最小值的方法。分享给大家供大家参考,具体如下: <script language="javascript"> // 查找数组中最小值 function mathMin(arrs){var min = arrs[0];for(var i = 1, ilen = arrs.length; i < ilen; i+=1) {if(arrs[i] < min) {min = arrs[i];}}return min; } // 代码测试 var rets = [2,4,5,6,7,0,9,10,15,1]; console.log(mathMin(rets));//0 // 在数组中查找最大值 function mat...
背景koa-router路由越来越多,api下的router都要使用下面的方式引入,怎么才能方便快捷的将api下的所有文件都引入呢 这次记录的就是如果将koa-router 一次性循环引入 const book = require(./app/api/v1/book) const classic = require(./app/api/v1/classic) // ... app.use(book.routes(), book.allowedMethods()) app.use(classic.routes(), classic.allowedMethods()) //... 文件目录koa-demo/|-api/|-books.js|-classic.js|-use...
首先附上官方文档地址和授权流程官方地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html流程图: 大致逻辑:授权 -> 发送code到服务器获取session_key - > 保存在小程序缓存内 -> 调用wx.getUserInfo和session_key获取用户信息 -> 登录成功返回访问token -> 记录登录状态 -> 执行登录成功监听(失败则不监听)直接上代码,一下均为小程序组件模式有兴趣的可以看下官方文档 创建components...
背景 前端在调用微信提供的分享、拍照、扫一扫等功能时需要到后台获取配置,主要是签名(signature)。Node 开发可以用朴灵大佬的SDK—— co-wechat-api 。 配置到微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。前提是该域名的项目目录下有微信提供的校验文件。如果需要本地调试或者测试环境调试,可以把IP白名单也顺便配置一下。 开发实例化 WechatAPI 对象 const WECHAT_API = new WechatAPI(appid,secr...
首先,整个项目的创建命令: npm i egg-init -g //安装egg egg-init egg-example --type=simple //初始化一个egg模板例子 后面的type跟的是模板类型这里是简单的 cd egg-example//进入例子 npm i //安装依赖可以去官方教程查看基本配置的讲解。直接说使用,简单看过Egg的文档,官方文档对于入门还是很实用的,再配合一些别人的攻略很容易入门上手就可以使用。首先router.js: use strict;/*** @param {Egg.Application} app - egg ...
本文实例讲述了JS实现的自定义map方法。分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>www.gxlcms.com JS自定义map方法</title> </head> <body> <script>window.onload = function() {function Map() {var obj = {};this.put = function(key, value) {obj[key] = value;//把键值绑定到obj对象上}//size方法,获取Map容器的个数this.size = function() {var count = 0;fo...
项目地址 http server 题目 设计一个模拟HTTP服务端程序 自己设计一个WEB的程序,监听80端口。支持多客户端连接,能满足客户的HTTP请求(浏览器访问),包括以下功能: 1.基本功能:get、post(带数据请求)、head请求 2.模拟登陆访问,页面redirector功能(设计登陆页面login.html、主页index.html,如果直接访问index.html则跳转到登陆页面,只有登陆后才能打开主页) 3.其他(如cookie) 效果展示思路 用户打开网址 127.0.0.1:...