![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
work
Oneshop商城
程序员,高级前端开发,爱编程所以,工作并不枯燥
展开
-
多个promise,依次执行,并返回结果,单例方法避免多次调用
flattenFnArray = function ( fns ) { fns = Array.isArray( fns ) ? fns : [ fns ]; // p.then() -> p1.then() -> p2.then() return function ( props ) { return fns.reduce( ( pre, next, index, arr ) => { return pre.then( () =...原创 2021-07-14 10:21:37 · 422 阅读 · 0 评论 -
npm 深入了解 之 npm run XXX
最近在学习webpack 插件开发,之前只知道用,不知道原理,现在做下笔记!$ npm run二、原理npm 脚本的原理非常简单。每当执行npm run,就会自动新建一个 Shell,在这个 Shell 里面执行指定的脚本命令。因此,只要是 Shell(一般是 Bash)可以运行的命令,就可以写在 npm 脚本里面。比较特别的是,npm run新建的这个 Shell,会将当前目录的...原创 2019-10-30 15:10:39 · 1925 阅读 · 0 评论 -
2019-5-24 函数式调用封装;入门
(function () { // 根据不同的模块环境变量,决定root的值 var root = typeof self == 'object' && self.self === self && self || typeof global =='object' && global.global ===global &a...原创 2019-05-27 18:57:28 · 556 阅读 · 0 评论 -
2019-5-30 个人创业跟在公司上班的区别体验小书
来公司十天了,公司人也不少,项目的话,平台也很大,公司主要做的是医疗SAAS平台的. 架构分了四五层,包括底层,中层模块,业务层,应用层;我所在的部门是前端开发,职位是高级前端开发,薪水在21K; 前端有多个平台前端,有Saas前端,用的好像是jquery传统web前端,有商城系统,也叫业务中台系统,用的是Vue全家桶这一套;我在业务中台系统;所以做得前端也就是Vue这一系列;本系统前端用...原创 2019-05-30 17:14:28 · 570 阅读 · 0 评论 -
2019-5-28 react 文档学习,入门
react理念跟vue很像:1.单向数据流2.props不可修改3. vue slot-scope同款render={ datas=>{<Component :data={datas}/>}}4.Content 嵌套组件共享器5.HOC :高阶组件是参数为组件,返回值为新组件的函数。主要是一些设计模式,其中很多事关于多层数据流共...原创 2019-05-28 15:16:12 · 553 阅读 · 0 评论 -
2019-6-1 六一儿童节,996来公司上班:> 写一个js的继承类,圣杯模式升级版;
function Father() {}Father.prototype.run =function (name) { console.log('father run ')}function Son() {}Son.prototype.lol =function (name) { console.log('son lol ')}function jich...原创 2019-06-01 09:39:40 · 556 阅读 · 0 评论 -
2019-6-1 webpack打包原理理解
这两天看webpack高级教程,有模拟webpack实现webpack的功能,感觉有点吃不透;但是看了一些文字大体知道了怎么回事;市面上好的文章不多,找到了一个看得懂的;所以在这里加一个引用;https://segmentfault.com/a/1190000013610635总结:1.webpack 用递归处理依赖2.webpack根据入口文件开始提取require指令...原创 2019-06-01 16:43:17 · 3659 阅读 · 0 评论 -
2019-5-29 开源缓存Promise,Ajax数据缓存函数封装,并且上传到github上
为了优化前端接口调用,我们可能需要限制访问后台的频率.随意在我们的项目中,使用了一些技术,失效数据首次访问远程后,吧数据存入内存中(闭包实现),### 限制使用了2个方向的优化,一个是Promise的缓存,一个是Ajax返回后的数据缓存;github地址https://github.com/wsxc451/common-util# common-util 通用函数库提取### ...原创 2019-05-29 18:04:46 · 728 阅读 · 0 评论 -
微信公众号插入百度地址导航功能
一键导航代码示例:http://apis.map.qq.com/tools/poimarker?type=0&marker=coord:嗨,我是坐标;title:嗨,我是导航标题;addr:嗨,我是导航说明&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&referer=myapp1、打开:http://lbs.qq.com/tool...原创 2019-06-26 16:38:40 · 3668 阅读 · 0 评论 -
节流防抖函数,做个笔记
debounce( fn ) { var time = null let content = this return function () { clearTimeout( time ) time = setTimeout( () => { fn.apply( content, arguments ...原创 2019-07-09 17:34:31 · 565 阅读 · 0 评论 -
公司开票模块产品用户体验设计流程图
为什么这么复杂了,主要由以下几个产品设计特色导致:<发票类型有2个,一个是电子发票,一个是纸质发票,1.用户首次进入商城,加载默认的发票信息,但是如果是非自营店铺,不能使用电子发票2.用户新增发票时,如果可以开电子发票,那么新增成功后,选中新增的这个发票3.如果首次加载时默认发票不能选中,(因为非自营不能使用电子发票,而用户设置的默认发票为电子发票),当用户编辑的发票...原创 2019-07-15 15:27:22 · 1088 阅读 · 0 评论 -
自己做的商城系统流程图,分享给大家.
流程图 在线processOn 链接https://www.processon.com/view/571c1caae4b005d06ffcd46e原创 2019-07-15 18:03:59 · 10927 阅读 · 0 评论 -
微信支付签名错误: 好坑啊.微信攻城狮前端key字符串长度不带校验的么???
微信支付签名错误: 好坑啊.微信攻城狮前端key字符串长度不带校验的么???一直报签名错误.我保证参数都写对了,结果还是参数错误.调试了一天,最后才发现是商户平台秘钥key 要求设置的是32位的.我之前弄了一长串也不知道那个号来的,我就粘贴上去了,结果一直报错.最后通过源码var_dump突破惊奇发现, key字符串居然是 40位"string:40"!!!!!"strin...原创 2019-07-18 13:41:55 · 821 阅读 · 0 评论 -
2019 -5-23 佛祖代码注释,代码引用
/** * _ooOoo_ * o8888888o * 88" . "88 * (| -_- |) * O\ = ...转载 2019-05-23 10:10:16 · 1992 阅读 · 0 评论 -
2019-5-23 昨天学习新知识打卡-AST 抽象语法树
代码转AST网站地址:可以转JS,CSS,VUE,...https://astexplorer.net/理解昨天看的webpack打包原理,之前一直没考虑过,一直以为是正则匹配,或者自己写的一套反编译,修改,再编译机制;能想象的就是元素之间是通过树形结构嵌套的;看了视频后发现确实是这样的;webpack打包大体机制1.加载配置文件;2.读取入口文件,分析入口文件,...原创 2019-05-23 09:56:34 · 624 阅读 · 0 评论 -
2019-3-13 工作任务规划
昨日任务总结:昨天完成了这个app的首页制作,参考了腾讯视频的app设计风格;1.每个底部tab打开一个窗口;2.每个窗口有多个frame,这里我试用了apicloud 的openFrameGroup方法;3.每个wind的frame焦点图不能设计为自动播放,否则,页面体验会很差劲;今日任务规划:完成首页的界面设计制作;并把下面的列表展示复...原创 2019-03-13 10:48:09 · 141 阅读 · 0 评论 -
JavaScript 之arguments、caller 和 callee 介绍
JavaScript 之arguments、caller 和 callee 介绍1.前言arguments, caller ,callee 是什么?在javascript 中有什么样的作用?本篇会对于此做一些基本介绍。2. argumentsarguments:在函数调用时, 会自动在该函数内部生成一个名为 arguments的隐藏对象。 该对象类似于数组, 但又不...转载 2019-04-04 11:21:51 · 877 阅读 · 0 评论 -
2019-3-27 下周任务部署, 游戏内生态报表分析展示
这些功能是做报表展示,暂时没让做图表展示,只让做列表展示;其实很简单,关键是需要看懂公司的数据库文档;因为之前有数据库操作sql语句,所以,这边应该问题不大;之前数据库比较乱,现在准备做新的数据库规范,做新的数据库,并做迁移,然后可能 要改掉部分字段;!!!自动一改,估计会有很多坑o;拭目以待把;...原创 2019-03-27 17:01:13 · 612 阅读 · 0 评论 -
laravel 项目迁移之大坑,无法启动,不报错!原因是数据库或者redis连接不上!!!
做测试,然后把之前的项目迁移到外网,然后之前一直以为是ngnix或者php源码安装出现问题.然后访问index.php一直出错,然后写其他的php没错,最后排查发现,卡在了开在了handle这块;最后想起来会不会是数据库链接问题,还真的是; php,ngnix 调试了三四个小时,妈的居然是数据库链接问题;而且没报错;为什么之前没想数据库问题呢?因为用的是阿里云的云数据库,以为...原创 2019-03-27 17:08:00 · 1476 阅读 · 0 评论 -
layer frame 点击穿透
使用了layer tab发行,点击第二个tab. 在tab内再打开一个frame,点击frame,会发生点击穿透;所以.我这里只能使用链接跳转的方式,最后发现,是因为我配置了web自动刷新,BrowserSync+gulp;弹框的页面注入了BrowserSync的js,然后父页面也注入的有BrowserSync的js,造成点击上层窗口,就是触发父级窗口出发点击事件;...原创 2019-01-02 00:53:50 · 626 阅读 · 0 评论 -
mysql 大数据迁移出错
写入MySQL报错超出 max_allowed_packet 的问题。MySQL会根据配置文件会限制server接受的数据包的大小。如果写入大数据时,因为默认的配置太小,插入和更新操作会因为 max_allowed_packet 参数限制,而导致失败。修改/etc/my.cnfmax_allowed_packet 如果不设置,默认值在不同的 MySQL 版本表现不同,有的版本默认...原创 2019-03-28 14:09:41 · 748 阅读 · 0 评论 -
mysql 重启 centos下
#关闭数据库先;mysqladmin -uroot -p shutdownmysql_safe &#&是后台运行;直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上...转载 2019-03-28 14:19:35 · 736 阅读 · 0 评论 -
2019-3-29 nginx 配置protected-mode no ,昨天弄了2个小时的laravel-admin 自定义列表,主要是数据查询需要原生sql写
自定义数据列表数据源(grid),需要重写2个方法,目前只知道第一个啥用处,第二个还不清楚为什么重写,为什么重写;public function paginate(){ $perPage = Request::get('per_page', 20); $page = Request::get('page'); $start = ($page-1)*$perPa...原创 2019-03-29 10:08:16 · 948 阅读 · 0 评论 -
2019-5-22 公司项目 代码优化1-webpack DllPlugin/DllReferencePlugin 抽出不常编译的模块单独打包
1.webpackwebpack.DllPlugin/DllReferencePlugin 抽出常用的插件,单独打包成js然后,塞到index.html中webpack.dll.conf.jsconst path = require('path');const webpack = require('webpack');const webpackConfig = { e...原创 2019-05-22 17:32:35 · 672 阅读 · 0 评论 -
2019-5-22 公司vue项目优化2-代码优化,加入一个自定义的订阅发布者类EventBus.js
EventBus.js"use strict";/*** * 自定义事件处理中心 * @author caozhiming <387558862@qq.com> */export default class EventBus { constructor(options={debug:false}) { this.oncesubs = []; //...原创 2019-05-22 17:44:51 · 574 阅读 · 0 评论 -
2019-5-27 Vue slot-scope 意义以及理解 模仿Element ui table实现简单的table组件
最近看了element-ui table封装的源码,发现使用了slot-scope,Vue 2.6新特性;然后找了资料,觉得写的还不错,就备注下:其他的写的不太好,包括官方写的太乱了;https://segmentfault.com/a/1190000015884505 <div class="hello"> <my-table :data="u...原创 2019-05-27 10:55:20 · 1255 阅读 · 0 评论 -
2019-3-12今日工作安排
目前就职在重庆灵翎科技,是一家做游戏研发的公司;1.apicloud界面tab页面加入左右滑动的功能;左右滑动可以切换不同的win,或者frame.但是apicloud有个很难得点,他的win不能自定义高度宽度,所以一打开win直接是全屏的,而frame又没有层次之分,所以打开多个frame会造成,frame层次无法控制;估计要写一些方法,自己来封装控制frame的层次;2.首页...原创 2019-03-12 09:57:36 · 96 阅读 · 0 评论