Skip to content

Instantly share code, notes, and snippets.

View AfterThreeYears's full-sized avatar
🍍
Focusing

shell AfterThreeYears

🍍
Focusing
  • ~
  • china,hangzhou
View GitHub Profile
import React from 'react';
import ReactDOM from 'react-dom';
const style: React.CSSProperties = {
width: 100,
height: 100,
background: 'red',
position: 'absolute',
left: 0,
top: 0,
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<button id="button">下载</button>
<script src="https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.js"></script>
@AfterThreeYears
AfterThreeYears / authority.js
Created September 8, 2019 15:47
权限系统设计
const NO = 0b00000; // 初始没权限
const SYS_SETTING = 0b00010; // 系统重要设置权限
const USER_MANG = 0b00100; // 用户管理权限
const DATA_ADMIN = 0b01000; // 数据库管理权限
const POST_EDIT = 0b00001; // 文章编辑操作权限
const POST_VIEW = 0b10000; // 文章查看权
const user = {
name: "老王",
authority: NO,
@AfterThreeYears
AfterThreeYears / concurrent.js
Created August 23, 2019 13:15
js Concurrent
function concurrent(asyncs, max, callback) {
let i = 0;
let running = 0;
let results = [];
function run() {
if (running === 0 && i === asyncs.length) {
callback(results);
return;
}
function dataURLtoBlob(data) {
const arr = data.split(',');
const mime = arr[0].match(/:(.*?);/)[1];
const bstr = atob(arr[1]);
const n = bstr.length;
const u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n); //转二进制
}
return new Blob([u8arr], {
// 一共有三根柱子a b c
// 假设一共有三个圆盘
// 前两个 a c b
// 第三个 a move c
// 前两个 b a c
// 得出以下规律
// 1. n - 1个盘子从a经过c移动到b
// 2. 把第n个盘子从a移动到c
// 3. 然后把n - 1个盘子从b经过a移动到c
@AfterThreeYears
AfterThreeYears / 计算抛物线点位.js
Created September 30, 2018 22:45
计算抛物线点位
/**
* 参考 https://www.zhangxinxu.com/study/201312/parabola.js
* 公式: y = a*x*x + b*x + c;
* 已知a是常数,抛物线的开口大小,并且移动的物体为0,0那么c是0,得到公式
* b = (y - a * x * x ) / x
* 把移动物品的坐标设置成0,0
* 那么目标坐标是
*
**/
// 移动元素的中心点坐标
// 二进制转十进制
(1111111).toString(2).split('').reverse().reduce((r, c, i) => {
r += Math.pow(2, i) * c;
return r;
}, 0);
@AfterThreeYears
AfterThreeYears / 单例模式.js
Last active January 20, 2018 10:36
设计模式
// Untitled2.js
let Single1;
(function() {
let instance;
Single1 = function Single1() {
if (instance) {
return instance;
}
const ee = new (require('events').EventEmitter);
const cheerio = require('cheerio');
const charset = require('superagent-charset');
const request = charset(require('superagent'));
const writeFile = require('util').promisify(require('fs').writeFile);
let i = 0;
const max = 5;
let list = [];