team
team copied to clipboard
Team技术总结
### 问题:微信小程序开发中,发送了一个wx.request请求,返回的数据可以在开发者工具中正常展示,但是在手机端却不能展示 解决办法: - 通过远程调试功能打断点之后,发现手机端可以正常发送request请求,并且接口也返回了数据,但是却无法进入success、fail、complete回调函数中 - 将该接口与其他接口(可以在手机端正常展示的接口)对比,发现该接口的不同之处是响应头中的content-type是“application/x-javascript;charset=gbk” - 查看微信开发者文档,发现微信小程序只支持utf-8的编码方式,对于非UTF-8 编码,小程序会尝试进行转换,但是会有转换失败的可能。如果失败的话,它并没有给出任何响应,也不会进入success、fail、complete回调函数中 **微信开发者文档:[https://developers.weixin.qq.com/miniprogram/dev/api/api-network.html](https://developers.weixin.qq.com/miniprogram/dev/api/api-network.html)**
### 1、访问本地fiddler服务,本机ip+8888(端口号),如下图,下载根证书。  ### 2、双击下载的证书,安装。   完成证书安装。
### 富文本安全前端防御问题 - XSS攻击全名(Cross-Site-Script)跨域脚本攻击,为了跟CSS(Cascading-Style-Sheet)区分开来,所以缩写是XSS。 ### 常见 XSS 遇到的攻击方法 - 普通的XSS JavaScript注入 ``` ``` - IMG标签XSS使用JavaScript命令 ``` ``` - IMG标签无分号无引号 ``` ``` - 嵌入式标签,将Javascript分开 ``` ``` - 双开括号 ```
## 前提 由于小程序暂未提供语音识别相关API的支持,所以如果想在小程序中实现语音识别功能,需要通过某些方式进行中转。本文选择微信JS SDK进行相关功能的实现。 ## 实现思路 第一步:小程序支持`webview`。所以我们可以在小程序中打开一个`webview`来引入微信JS SDK来实现相关功能 第二步:如文档所示,微信JS SDK提供了相关音频接口,包括开始录音、停止录音、监听录音自动停止等接口。我们可以通过这些接口来实现用户语音的录制。 ``` wx.startRecord(); // 开始录音接口 wx.stopRecord({ // 停止录音接口 success: function (res) { var localId = res.localId; } }); wx.onVoiceRecordEnd({ // 监听录音自动停止接口...
## 背景 近期react-hot-loader发布了4.0版本,同时部门大部分产品已经迁移至react 16。为了更好在react16环境下支持热更新,我们将wenke-dev进行了版本升级。前端开发者只需要简单配置,即可在开发中浏览器端实现无刷新更新组件,这样可以避免组件状态的丢失,极大方便开发者开发调试react应用。相比于3.0版本,4.0配置更加简单,方便。 ## 配置步骤 ### 1、设置文件热更新标签 在VM引用文件处设置热更新标签,只需要在文件末尾处加上“?hot=true”即可;例如 ``` ``` ### 2、修改热更新组件引出方式 在热更新组件源代码中,引入hot 函数,引入代码如下: ``` import {hot} from 'react-hot-loader' ``` 组件Component引出方式如下 ``` export default hot(module)(Component) ``` ### 3、使用wenke-dev构建应用 ####...
## React-loadable #### 使用背景 - 当你的项目足够大时,把所有代码打包到一个bundle中的启动时间会非常缓慢。这时就需要把app组件拆分为若干个bundle,按需加载。 #### 异步加载的几种方式 一、基于`webpack`的require.ensure实现code splitting 示例如下(PC略懂商城tab切换) ``` require.ensure(['./goldGuild'], (require) => { let GoldGuild = require('./goldGuild').default; ReactDOM.render(, document.getElementById("container")); }); ``` 二、基于`路由`React-Router的按需加载(PC略懂发布) 示例如下 ``` let App =...
React-loable 基于组件的代码拆分
## 问题描述 jquery 小于3.0.0的版本,在不同的js模块中添加domready,不同代码块中domready中的代码报错会互相影响。 > 小知识:不同代码块中的js代码,如果报错,之间互不影响,同一块中,前面代码执行出错,后面代码不被执行。 ## 场景模拟 * 在jquery版本=3的低版本中。 ```javascript $(function () { //代码块1中添加domready console.log('代码块1,第一次打印数据!');// 可以打印 throw new Error('程序抛出错误!'); console.log('代码块2,第二次打印数据!');// 无法打印,符合js块执行机制 }); $(function () { //代码块2中添加domready console.log('代码块2,第一次打印数据!');// 可以打印 });...
###wenke-dev中webpack-middleware与vue热替换实践 模块热替换是webpack提供的最有用的功能之一,对于vue来说,由vue-cli生成的脚手架工具展示了如何使用webpack-dev-server实现热替换,但是对于前后端没有分离的业务或者有自己定制的打包工具,基于webpack-middleware定制热加载方案更加方便。 对于一般的热替换js代码,业务代码需要侵入一部分代码以实现模块的热替换。如 ``` import _ from 'lodash'; import printMe from './print.js'; function component() { var element = document.createElement('div'); var btn = document.createElement('button'); element.innerHTML = _.join(['Hello', 'webpack'], ' '); btn.innerHTML...