- 博客(11)
- 收藏
- 关注
原创 宏任务是异步还是同步?再谈事件循环
本文对浏览器事件循环做了全面细致的介绍。以早餐店为例,帮助初学者对事件循环有一个具体的印象。在介绍了调用栈与任务队列之后,详细介绍了事件循环的执行顺序,辅以多道代码题与面试题帮助加深理解。
2024-09-16 15:07:35
889
原创 按钮级权限指令 v-auth 内部用户权限异步获取的问题
这标题属实有点长,讲的是这样一个问题:在后台管理系统中,我们常封装一个 Vuev-auth来实现按钮级的权限控制:</假如我们把用户登陆后的权限信息放在 localStroage 中,那么v-auth但实际上登录态持久化的方案有很多。我们也可以只把登录后的 token 存在本地,每次用户打开页面再去请求身份信息,然后存进状态管理(如 Pinia)中。这样更加安全,也能确保身份信息是最新的。然而由于请求是异步的,在接口返回用户信息之前,指令中的mounted钩子就已经执行了。
2024-08-21 15:13:32
827
1
原创 Nuxt3中写Vue自定义指令,以v-auth为例
在后台管理系统中,常需要按钮级权限控制。在常见的访问控制RBAC 模型(用户、角色、权限)中,我们可能需要根据角色或权限来控制某个按钮的显示隐藏。因此,我们期望使用以下方式来控制。
2023-12-11 17:24:18
1393
4
原创 安装nuxt3报错 Error: Failed to download template from registry
或者用vscode打开,保存的时候会提示你用管理员身份重试。在这个文件的末尾添加一句。
2023-07-21 20:18:50
821
1
原创 Video.js的使用
Video.js是一款优秀的HTML5视频播放器库,与另一个主流的视频播放器库Shaka Player相比,它在PC端更加流行,也更适用于高度定制化的场景。不过Shaka Player更适合移动端和低带宽场景,小伙伴们在选择库的时候可以根据自己的场景。这里分享一些Video.js使用的经验。背景:Nuxt 3.3.3,video.js@8.0.4。
2023-04-06 14:55:09
1106
原创 Nginx+Egg.js配置Https
为基于Nginx和Egg.js的后端环境配置https:nginx.conf与config.default.js
2023-01-11 18:10:11
1178
原创 VueUse文档个人翻译——核心方法一览
VueUse是一款优秀的函数工具集,然而它没有中文文档,且作者明确表示短期不会翻译其文档,故个人对VueUse文档进行翻译。这是对应Guide部分,内容持续更新中。
2023-01-01 23:14:56
3959
6
原创 计算分子描述符——使用E-Dragon
介绍计算分子描述符(又称理论分子描述符)不需借助于任何实验信息,只需要分子的结构信息就可以计算出来,例如分子的组成,拓扑结构以及量子化学描述符等等。其优点是对化合物结构的描述更全面细致,物理化学意义更明确,理论性更强。与Abraham描述符相比,无需依靠实验,因此实用性更广,更易于推广。方法有多个软件可以获取物质的计算分子描述符。例如,史新宇采用Accelrys Discovery Studio分子模拟软件作为工具生成化合物的2D和3D分子特征。该工具提供了12中不同类别的分子特征,这些类别
2021-07-18 20:15:08
10153
41
原创 微信支付v3支付结果通知处理(php)
背景微信支付V3与之前的版本相比有了较大的改动,但开发文档并没有demo。目前在网上搜到的多数是旧版本的处理方式,经过一番摸索终于搞定,因此做个记录。开发文档地址在此。后端开发获取支付结果文档说:支付结果通知是以POST 方法访问商户设置的通知url,通知的数据以JSON格式通过请求主体(BODY)传输。通知的数据包括了加密的支付结果详情。那么在php中可以这样获取数据:$data = file_get_contents('php://input');$data = json_dec
2021-02-28 15:54:40
4142
原创 ThinkPHP下向mysql数据库存入emoji表情
背景按许多人的方法将数据库的character设置成utf8mb4后,仍然不能正确存入表情。但诡异的是,在数据库(本人用的是阿里云)的控制台能够直接存入表情,这说明数据库这块已经没问题,那么问题就只能是在服务器了。ThinkPHP配置数据库参数根据《ThinkPHP5.0完全开放手册》,数据库的配置文件为database.php(并非convention.php,还是要多看手册啊!),位置在应用目录或者模块目录下。将该文件中的charset字段由默认的utf8改为utf8mb4即可!折腾
2020-12-17 16:46:39
751
原创 基于websocket的小程序端即时通信系统开发(一):创建wss服务
背景小程序端要求使用wss且不能带端口,因此虽然搭建完websocket,并能在app端运行,但还不能在小程序端运行,需要在后端创建wss。1准备工作本章内容参考《wokerman手册》常见问题-创建wss服务、《GatewayWoker手册》常见问题-创建wss服务。手册提供了一种简单的开启wss服务的方法:直接用GatewayWoker开启SSL。但用这种方法,在前端连接websocket时的url会带端口,小程序并不支持。因此需要使用《wokerman手册》提出的另一种方法:利用n
2020-12-16 10:14:40
640
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人