摘要: 2023 是 AI 大爆发的一年,这一年我在我的生产力工具中(一个叫 lowcode 的 vscode 插件)接入了 ChatGPT API,插件也进行了重构,日常搬砖也因为 ChatGPT 的引入发生了很大的变化。 在介绍 ChatGPT 是如何与 lowcode 插件结合之前,先说说 lowco 阅读全文
posted @ 2024-01-18 10:12 若邪 阅读(517) 评论(0) 推荐(4) 编辑
摘要: 之前写过一篇文章 我理想中的低代码开发工具的形态,已经吐槽了各种封装 xxxForm,xxxTable 的行为,这里就不啰嗦了。今天再来看看我的工具达到了什么程度。 多图预警。。。 以管理后台一个列表页为例 选择对应的模板 截图查询区域,使用 OCR 初始化查询表单的配置 截图表头,使用 OCR 初 阅读全文
posted @ 2024-01-11 19:46 若邪 阅读(541) 评论(0) 推荐(5) 编辑
摘要: TypeChat 用一句话概括,就是用了它你可以让大语言模型(比如 ChatGPT)将自然语言转换成特定类型的 JSON 数据。 我们在使用 ChatGPT 的时候,大致流程如下: 假如我们需要 ChatGPT 按照我们输入的 prompt,输出指定格式的 JSON 数据,我们在 prompt 里将 阅读全文
posted @ 2024-01-09 14:03 若邪 阅读(317) 评论(1) 推荐(0) 编辑
摘要: 上一篇文章 [我在 vscode 插件里接入了 ChatGPT,解决了代码变量命名的难题](https://www.cnblogs.com/jaycewu/p/17476198.html) 中,展示了如何在 vscode 插件中使用 ChatGPT 解决代码变量命名的问题。vscode 插件市场中有 阅读全文
posted @ 2023-06-23 19:27 若邪 阅读(2748) 评论(2) 推荐(10) 编辑
摘要: ![gpt1.gif](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c30eede4784e4f81a61102c3e85ed06c~tplv-k3u1fbpfcp-zoom-1.image?) [lowcode 插件](https://mar 阅读全文
posted @ 2023-06-12 21:48 若邪 阅读(1019) 评论(1) 推荐(3) 编辑
摘要: 工程化配置 还是开发体验的问题,跟开发体验有关的项目配置无非就是使用 eslint、prettier、stylelint 统一代码风格。 formatting and lint eslint、prettier、stylelint 怎么配这里就不说了,网上文章太多了。想说的是eslint rule ' 阅读全文
posted @ 2022-09-07 23:50 若邪 阅读(495) 评论(0) 推荐(2) 编辑
摘要: 上一篇文章介绍了整体架构,接下来说说怎么按照上图的分层结构实现下面的增删改查的功能。 代码结构 vue userManage └── List ├── api.ts ├── EditModal │ ├── index.tsx │ ├── index.vue │ ├── model.ts │ ├── 阅读全文
posted @ 2022-09-06 21:00 若邪 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 本文不详细介绍什么是整洁架构以及 MVP 模式,自行查看文章结尾相关链接文章。 整洁架构粗略介绍 下图为整洁架构最原始的结构图: Entities/Models:实体层,官方说法就是封装了企业里最通用的一部分逻辑,也可以叫 Models, 可能是只包含数据字段的对象,也可能包含方法,具有一部分业务逻 阅读全文
posted @ 2022-08-28 17:18 若邪 阅读(567) 评论(0) 推荐(1) 编辑
摘要: 提到脚手架,大家想到的可能就是各种 xxx-cli,本文介绍的是另一种方式:以 vscode 插件的形式实现,提供 web 可视化操作,如下图: 下面介绍如何安装使用,以及实现原理。 安装使用 vscode 安装 lowcode 插件,此插件是一个效率工具,脚手架只是其中一个功能,更多功能可以查看文 阅读全文
posted @ 2022-03-30 21:39 若邪 阅读(1496) 评论(0) 推荐(2) 编辑
摘要: install yarn create @lowcoding/mock start yarn start mock server 默认在本地 3000 端口启动,访问 http://localhost:3000/ 即可。 lowcode-mock 默认支持跨域,前端项目中可不必再配置代理,直接请求 阅读全文
posted @ 2020-09-16 14:06 若邪 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 背景 第一次接触代码生成器用的是动软代码生成器,数据库设计好之后,一键生成后端 curd代码。之后也用过 CodeSmith , T4。目前市面上也有很多优秀的代码生成器,而且大部分都提供可视化界面操作。 自己写一个的原因是因为要集成到自己写的一个小工具中,而且使用 Node.js 这种动态脚本语言 阅读全文
posted @ 2019-05-10 08:51 若邪 阅读(4559) 评论(1) 推荐(2) 编辑
摘要: 前两篇关于vue权限路由文章的填坑,说了一堆理论,是时候操作一波了。 "vue权限路由实现方式总结" "vue权限路由实现方式总结二" 选择 "d2 admin" 是因为element ui的相关开源项目里,d2 admin的结构和代码是让我感到最舒服的,而且基于d2 admin实现RBAC权限管理 阅读全文
posted @ 2019-01-06 14:46 若邪 阅读(2722) 评论(5) 推荐(4) 编辑
摘要: 之前已经写过一篇关于 的文章,经过一段时间的踩坑和总结,下面说说目前我认为比较“完美”的一种方案: 菜单与路由完全由后端提供 。 菜单与路由完全由后端返回 这种方案前文也有提过,现在更加具体的说一说。 很多人喜欢把路由处理成菜单,或者把菜单处理成路由(我之前也是这样做的),最后发现挖的坑越来越深。 阅读全文
posted @ 2018-12-08 19:52 若邪 阅读(3803) 评论(0) 推荐(1) 编辑
摘要: 上一篇文章介绍了在浏览器端以中间件,路由,跨进程事件的姿势使用原生WebSocket。这篇文章将介绍如何使用Node.js以相同的编程模式来实现WebSocket服务端。 Node.js中比较流行的两个WebSocket库分别是 "socket.io" 与 "ws" 。其中socket.io已经实现 阅读全文
posted @ 2018-11-09 20:17 若邪 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 通过参考koa中间件,socket.io远程事件调用,以一种新的姿势来使用WebSocket。 浏览器端 浏览器端使用WebSocket很简单 "MDN" 关于WebSocket的介绍 能注册的事件有onclose,onerror,onmessage,onopen。用的比较多的是onmessage, 阅读全文
posted @ 2018-11-05 22:51 若邪 阅读(1414) 评论(1) 推荐(2) 编辑
摘要: 最近需要单独使用到koa compose这个模块,虽然使用koa的时候大致知道中间件的执行流程,但是没仔细研究过源码用起来还是不放心(主要是这个模块代码少,多的话也没兴趣去研究了)。 koa compose看起来代码少,但是确实绕。闭包,递归,Promise。。。看了一遍脑子里绕不清楚。看了网上几篇 阅读全文
posted @ 2018-10-29 23:06 若邪 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 前段时间分别用vue和react写了两个后台管理系统的模板 "vue quasar admin" 和 "3YAdmin" 。两个项目中都实现了基于RBAC的权限控制。因为本职工作是后端开发,比较清楚权限控制一个管理系统应该必须具备的核心功能,而且是可以做到通用的。打算写写关于管理系统前后端分离方面的 阅读全文
posted @ 2018-10-22 21:31 若邪 阅读(4046) 评论(4) 推荐(11) 编辑
摘要: 使用全局路由守卫 实现 前端定义好路由,并且在路由上标记相应的权限信息 全局路由守卫每次都判断用户是否已经登录,没有登录则跳到登录页。已经登录(已经取得后台返回的用户的权限信息(角色之类的)),则判断当前要跳转的路由,用户是否有权限访问(根据路由名称到全部路由里找到对应的路由,判断用户是否具备路由上 阅读全文
posted @ 2018-07-28 17:48 若邪 阅读(9712) 评论(2) 推荐(3) 编辑
摘要: "3YAdmin" 基于React+Antd构建。GitHub搜索React+Antd+Admin出来的结果没有上百也有几十个,为什么还要写这个东西呢? 一个后台管理系统的核心我认为应该是权限控制,表单以及错误信息收集这三大块,前两个最为重要。而GitHub上的大多数项目关注点都不在这里,各种第三方 阅读全文
posted @ 2018-07-17 23:34 若邪 阅读(3328) 评论(2) 推荐(2) 编辑
摘要: lazy mock    "lazy mock" 是基于 "koa2" 构建的,使用 "lowdb" 持久化数据到JSON文件。只需要简单的配置就可以实现和 "json server" 差不多的功能,但是比json server更加灵活,后期可配置性更强,完全可以模拟真实后端业务 阅读全文
posted @ 2018-06-30 15:30 若邪 阅读(3407) 评论(1) 推荐(1) 编辑
摘要: vue quasar admin    "Quasar Framework" 是一款基于vue.js开发的开源的前端框架, 它能帮助web开发者快速创建以下网站:响应式网站,渐进式应用,手机应用(通过Cordova),跨平台应用(通过Electron)。    阅读全文
posted @ 2018-05-17 15:24 若邪 阅读(6585) 评论(0) 推荐(2) 编辑
摘要: 参考文章: "深入了解CSS的line height属性" "Vertical Align: 你需要知道的所有事【译】" "Vertical Align: All You Need To Know" 1、什么是行间距或者行高(line height) line height是指文本行基线间的垂直距离 阅读全文
posted @ 2017-12-19 22:47 若邪 阅读(839) 评论(6) 推荐(0) 编辑
摘要: 相关知识点 不再对IdentityServer4做相关介绍,博客园上已经有人出了相关的系列文章,不了解的可以看一下: 蟋蟀大神的: "小菜学习编程 IdentityServer4" 晓晨Master: "IdentityServer4" 以及Identity,Claim等相关知识: Savorboa 阅读全文
posted @ 2017-11-06 08:07 若邪 阅读(29718) 评论(23) 推荐(21) 编辑
摘要: 先看一下效果,带接口层的三层架构: BL层: 假设GetStudentList方法里的mStudentDa.GetStudents和mValueService.FindAll不是查询操作,而是更新操作,当一个失败另一个需要回滚,就需要在同一个事务里,当一个出现异常就要回滚事务。 特性Transact 阅读全文
posted @ 2017-10-25 23:52 若邪 阅读(5654) 评论(1) 推荐(2) 编辑
摘要: 一、布局方式 1、内容与tab分离 2、内容与tab一体 利用负margin,将内容区对齐,然后内容去添加背景色,避免不同tab对应的区域透视重叠。 二、CSS实现交互 1、锚点实现(target) (1)针对布局一 :item从上往下排列,父元素tab content加上overflow:hidd 阅读全文
posted @ 2017-04-13 01:08 若邪 阅读(1079) 评论(0) 推荐(0) 编辑
摘要: 开门见山 1.打包单一模块 webpack.config.js chunk1.js 打包后,main.js(webpack生成的一些注释已经去掉) 这其实就是一个立即执行函数,简化一下就是: OK,看一下自运行的匿名函数里面干了什么: 整个函数里就声明了一个变量installedModules 和函 阅读全文
posted @ 2016-10-29 14:57 若邪 阅读(6873) 评论(3) 推荐(2) 编辑
摘要: 1.demo结构: 2.package.json配置: 3.多种打包情况(未使用CommonsChunkPlugin) (1)单一入口,模块单一引用 webpack.config.js main.js demo目录下运行命令行 webpack或npm run webpack jquery模块被一起打 阅读全文
posted @ 2016-10-29 14:52 若邪 阅读(10750) 评论(4) 推荐(3) 编辑
摘要: 一、变量的作用域 要理解闭包,首先必须理解Javascript特殊的变量作用域。 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 Js代码 var n=999; function f1(){ alert(n); } f1(); 阅读全文
posted @ 2015-08-10 14:37 若邪 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 1、同级存在浮动,如mid的前面left浮动(mid不浮动),margin则相对于父元素,mid的margin-left不是相对于left,而是相对于con(可以想象,如果left不浮动,则mid和left不在同一行,margin的参考对象自然是父元素)。但是如果margin-left的值小于lef 阅读全文
posted @ 2015-08-01 23:07 若邪 阅读(1504) 评论(0) 推荐(1) 编辑
摘要: 在做的过程中,发现了一个很简单却又很多人应该碰到的问题,设置Z-INDEX属性无效。在CSS中,只能通过代码改变层级,这个属性就是z- index,要让z-index起作用有个小小前提,就是元素的position属性要是relative,absolute或是fixed。 1.第一种情况(z-inde 阅读全文
posted @ 2015-08-01 22:23 若邪 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 当父元素的宽度确定,多个span换行写,span加起来占的宽度比预设的大 阅读全文
posted @ 2015-07-28 19:35 若邪 阅读(478) 评论(0) 推荐(0) 编辑