mtonhuang
mtonhuang
无意看到Grid这个页面应该缺少一个返回按钮,所以pr了一下
楼主于数个月前面了wxg(经验2.5年),前前后后3、4面,几乎每一面都有算法,哈哈哈,不愧是微信事业群,狠重视算法,结果蛮遗憾的,没有能走到GM面[哭的很大声]。 但整个过程下来,还是蛮有收获的。一方面自己对于数据结构有了更深的理解,一方面也对认识了自己的不足。在此也感谢给予我帮助的大佬。再接再厉,下次再战。 以下是一些记录。 #### 一、有印象的几道算法题如下: 1、实现二叉树镜像(翻转) ```JS function treeFun(root) { if (root === null) return null; function treeList(node) { let left = node.left; let right = node.right; node.left = right;...
```JS // tools.js /* 封装 XMLHttpRequest*/ // 序列化参数 function serialize(data) { if (!data) return ""; var pairs = []; for (var name in data) { if (!data.hasOwnProperty(name)) continue; if (typeof...
# git 协同开发,需要注意的几个小点 最近两个月,负责“xxxx”小程序的相关迭代,该项目从16年开发迭代到现在,git操作十分频繁,小小总结了一下该注意的点,希望对你大大有用。 ## 切换现有分支需注意 我们都知道使用 `git checkout branch` 即可去到你想去的分支,这个情况在你当前分支没有修改代码的前提是可以行得通的,但是呢,如果一旦你修改了,`git` 会提示你并不能切换,此时我们有两种方法: 1. commit 我们的相关代码; 2. stash 暂存我们的代码。 第1种方法适用于开发完一个模块,可以提交远程仓库的情况。 第2种方法适用于开发到一半不想提交的情况,但后面在重新切回来时需要 `git stash apply` 恢复暂存区的内容。 ## 创建并且切换分支需注意 在开发过程中,往往有 n 多个分支,每个模块需求都有一个独立的分支,当我在 a...
### 一、在 components 中创建 pullLoad ``` // pullLoad.wxml ``` ``` // pullLoad.less .pull_load { font-size: 0; text-align: center; padding: 20rpx 0; margin-top: 30rpx; } .pull_dot { width: 12rpx; height: 12rpx;...
> 解决繁琐的小程序登录态管理的组件。 [TOC] ### 一、背景 在微信xxx小程序中,用户可以通过多种方式登录xx号,进入对应的业务页面。但是,如果每次登录都需要清除登录态,再根据获得的code重新登录的话,这样代码较冗余,请求较多,性能较差。因此,我们需要写一个dologin组件。 ### 二、业务要求 微信xxx小程序登录账号,一共有几大业务来源,分别是: 1. 公众号模板消息; 2. 外部小程序带登录态跳转; 3. 注册后登录; 4. 切换账号。 其中需要带入参数做跳转登录的业务入口有外部小程序带登录态跳转、注册后登录、公众号模板消息。 dologin组件根据业务来源以及带入的参数,进行重置登录账号或者登录账号。 ### 三、技术难点 1. 业务来源的多样性 业务来源比较多,未来还可能增加,保证dologin组件应对不同来源的兼容与包容性,方便后期各个来源状态管理、维护等。 2. 重置登录的设计 巧妙运用setStorage缓存,请求初始化getStorage获取登录态,对比新旧登录态,如果发现不同,则重置登录,如果相同,则运用当前登录态登录。如果getStorage无值,则直接登录。 ### 四、前端设计 dologin组件的本质是一个登录的过程,具体实现原理如下:...
```JS var gulp = require("gulp"); var path = require("path"); var rename = require("gulp-rename"); var less = require("gulp-less"); var postcss = require("gulp-postcss"); var changed = require("gulp-changed"); var autoprefixer = require("autoprefixer"); var...
# 小程序“微前端”的一些想法 基于微信客户端 6.7.2,基础库 2.3.0 及以上版本的小程序"独立分包"概念,将大型的小程序拆分成n个模块,每个模块是一个独立分包,做到独立开发且不限制框架,如kbone,wepay,uni-app,taro等热门框架,又或者原生开发,独立测试。 但现在做不到的是像h5一样各个模块独立部署,基于此限制,我们可以这样做:各个分包开发完成后打包dist,结合到主包,统一部署发布。  有人可能会问,微前端不是为了实现不同模块独立部署,解耦而存在的吗? 在我的理解里,小程序“微前端”更重要的是基于大型的迭代项目,在新的模块可以采用更新的开发模式,而不受限于原本项目,具备灵活性高,可持续性强的特点。
