-
zixun
-
js知识点汇总1.本门课的作用(JavaScript的作用)所有基于Web的程序开发基础2.一种计算机客户端脚本语言,主要在Web浏览器解释执行。3.浏览器中Javascript,用于与用户交互,以及实现页面中各种动态特效4.在HTML文件中,任何JavaScript代码必须放到<script>标签中5.把JavaScript代码放到外部文件中,在HTML代码中直接引入该文件(外部文件
-
zixun
-
上海人、职业经理人、CFO 背景,集齐马云三大不喜欢的张勇怎么就成了阿里接班人?作者 | 王琳本文经授权转载自燃财经(ID:rancaijing)9月10日,张勇转正了,他由阿里巴巴董事局候任主席正式成为阿里巴巴董事局主席,这也意味着阿里巴巴将正式开启“逍遥子时代”。从2015年接任CEO开始,张勇已经将阿里巴巴股价拉升了超过200%。但和马云强大的个人光环比,张勇显得尤其低调,至今,网络上从未流
-
hangge
-
前文提到的两种自定义 Error 数据、Error 视图的方式都是对 BasicErrorController 类中的某个环节进行修补。如果需要更加灵活地对 Error 视图和数据进行处理,可以通过继承 BasicErrorController 来实现自己的 ErrorController。三、高级:完全自定义 Error 数据、Error 视图1,自定义 ErrorController 继承我们
-
hangge
-
二、简单地自定义 Error 数据、Error 视图
1,自定义 Error 数据
我们知道 Spring Boot 返回的错误信息一共 5 条,分别是:timestamp、status、error、message、path。如果需要增加自定义的错误信息,只需要自定义一个 ErrorAttributes 即可。
(1)首先继承 DefaultErrorAttributes 创建一个
-
hangge
-
SpringBoot - 自定义错误页1(基础:配置404等错误的静态页面、动态模版页面) 在之前的文章中我介绍了如何使用 @ControllerAdvice 来进行全局异常处理(点击查看),但是这种异常处理方式一般用来处理应用级别的异常,一些容器级别的错误就处理不了,比如 Filter 中抛出的异常。因此,Spring Boot 中对于异常的处理还有另外的方式。 比如默认情况下,当我们通过 Po
-
wechat
-
微信小程序组件cover-view基础库 1.4.0 开始支持,低版本需做兼容处理。覆盖在原生组件之上的文本视图。可覆盖的原生组件包括 map、video、canvas、camera、live-player、live-pusher只支持嵌套 cover-view、cover-image,可在 cover-view 中使用 button。组件属性的长度单位默认为px,2.4.0起支持传入单位(rpx
-
wechat
-
微信小程序组件cover-image基础库 1.4.0 开始支持,低版本需做兼容处理。覆盖在原生组件之上的图片视图。可覆盖的原生组件同cover-view,支持嵌套在cover-view里。属性类型默认值必填说明最低版本srcstring否图标路径,支持临时路径、网络地址(1.6.0起支持)、云文件ID(2.2.3起支持)。暂不支持base64格式。1.4.0bindloadeventhandle
-
wechat
-
小程序生物认证小程序通过 SOTER 提供以下生物认证方式。目前暂时只支持指纹识别认证。设备支持的生物认证方式可使用 wx.checkIsSupportSoterAuthentication 查询调用流程流程步骤说明调用 wx.startSoterAuthentication,获取 resultJSON 和 resultJSONSignature(可选)签名校验。此处 resultJSONSign
-
wechat
-
小程序获取手机号获取微信用户绑定的手机号,需先调用wx.login接口。因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。使用方法需要将 button 组件 open
-
wechat
-
小程序服务端获取开放数据小程序可以通过各种前端接口获取微信提供的开放数据。考虑到开发者服务端也需要获取这些开放数据,微信提供了两种获取方式:方式一:开发者后台校验与解密开放数据方式二:云调用直接获取开放数据(云开发)方式一:开发者后台校验与解密开放数据微信会对这些开放数据做签名和加密处理。开发者后台拿到开放数据后可以对数据进行校验签名和解密,来保证数据不被篡改。签名校验以及数据加解密涉及用户的会话
-
wechat
-
小程序授权部分接口需要经过用户授权同意才能调用。我们把这些接口按使用范围分成多个 scope ,用户选择对 scope 来进行授权,当授权给一个 scope 之后,其对应的所有接口都可以直接使用。此类接口调用时:如果用户未接受或拒绝过此权限,会弹窗询问用户,用户点击同意后方可调用接口;如果用户已授权,可以直接调用接口;如果用户已拒绝授权,则不会出现弹窗,而是直接进入接口 fail 回调。请开发者兼
-
wechat
-
小程序UnionID 机制说明如果开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。UnionID获取途径绑定了开发者帐号的小程序,可以通过以下途径获取
-
wechat
-
小程序登录小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系。登录流程时序说明:调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 和 会话密钥 session_key。之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后
-
wechat
-
微信小程序 Wi-Fi 能力在小程序中支持搜索周边的 Wi-Fi,同时可以针对指定 Wi-Fi,传入密码发起连接。该系列接口为系统原生能力,如需查看「微信连Wi-Fi」能力及配置跳转小程序,请参考文档。连接指定 Wi-Fi 接口调用时序:Android:startWifi —> connectWifi —> onWifiConnectediOS(仅iOS 11及以上版本支持):star
-
wechat
-
微信小程序NFC能力暂仅支持 HCE(基于主机的卡模拟)模式,即将安卓手机模拟成实体智能卡。适用机型:支持 NFC 功能,且系统版本为 Android 5.0 及以上的手机适用卡范围:符合ISO 14443-4 标准的 CPU 卡
-
wechat
-
小程序蓝牙能力iOS 微信客户端 6.5.6 版本开始支持,Android 6.5.7 版本开始支持蓝牙适配器模块生效周期为调用 wx.openBluetoothAdapter 至调用 wx.closeBluetoothAdapter 或小程序被销毁为止。在小程序蓝牙适配器模块生效期间,开发者才能够正常调用蓝牙相关的小程序 API,并收到蓝牙模块相关的事件回调。注意由于系统限制,Android 上
-
wechat
-
小程序周期性更新基础库 2.8.0 开始支持,低版本需做兼容处理。生效条件:用户七天内使用过的小程序周期性更新能够在用户未打开小程序的情况下,也能从服务器提前拉取数据,当用户打开小程序时可以更快地渲染页面,减少用户等待时间,增强在弱网条件下的可用性。使用流程1. 配置数据下载地址登录小程序 MP 管理后台,进入设置 -> 开发设置 -> 数据周期性更新,点击开启,填写数据下载地址。2.
-
wechat
-
微信小程序自定义 tabBar基础库 2.5.0 开始支持,低版本需做兼容处理。自定义 tabBar 可以让开发者更加灵活地设置 tabBar 样式,以满足更多个性化的场景。在自定义 tabBar 模式下为了保证低版本兼容以及区分哪些页面是 tab 页,tabBar 的相关配置项需完整声明,但这些字段不会作用于自定义 tabBar 的渲染。此时需要开发者提供一个自定义组件来渲染 tabBar,所有
-
wechat
-
小程序后端 API小程序还提供了一系列在后端服务器使用 HTTPS 请求调用的 API,帮助开发者在后台完成各类数据分析、管理和查询等操作。如 getAccessToken,code2Session 等。详细介绍请参考 API 文档。access_tokenaccess_token 是小程序全局唯一后台接口调用凭据,调用绝大多数后台接口时都需使用。开发者可以通过 getAccessToken 接口
-
wechat
-
微信小程序多线程 Worker一些异步处理的任务,可以放置于 Worker 中运行,待运行结束后,再把结果返回到小程序主线程。Worker 运行于一个单独的全局上下文与线程中,不能直接调用主线程的方法。Worker 与主线程之间的数据传输,双方使用 Worker.postMessage() 来发送数据,Worker.onMessage() 来接收数据,传输的数据并不是直接共享,而是被复制的。使用流