自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(414)
  • 资源 (1)
  • 收藏
  • 关注

原创 小程序富文本中的图片宽度自适应 高度auto

【代码】小程序富文本中的图片宽度自适应 高度auto。

2024-07-18 11:44:30 121

原创 fastadmin最新版导出数据时 表格中会有 html标签的解决办法

D:\laragon\www\weiyuan\public\assets\libs\tableExport.jquery.plugin\tableExport.js (主要是这个文件)这里的 exportOptions 的配置项有哪些呢 , 我找的方法是 全项目查找 export 关键字, 之后, 看到了其中有两个文件。上面的情况我们的解决办法是,在导出的时候,把html 的标签去掉, 只在内容,当我们使用导出功能时, 有些数据, 我们在设计的时候,配置的是 枚举类型的。

2024-07-04 17:36:36 329

原创 easywechat6+微信支付v3

运行完命令之后,就会得到一个 wechatpayXXXXXXXxXXXXX.pem 的文件,我们把它改名为 wechatpay.pem 这个文件就是 平台证书文件。上面的三个文件下载时都可以得到, 以上的三种方法只是用来验证用的,用处不是很大。第二次:默认密钥的操作密码(微信支付设置的六位数操作密码)第二次:默认密钥的操作密码(微信支付设置的六位数操作密码)第三次:重复输入第二次输入的密码。-s ,商户API证书的序列号。需要输入密码:默认密码是商户号。需要输入密码:默认密码是商户号。

2024-05-21 19:32:40 875

原创 windows 查看端口占用,Failed to listen on 0.0.0.0:8000 (reason: 以一种访问权限不允许的方式做了一个访问套接字的尝试。)

Failed to listen on 0.0.0.0:8000 (reason: 以一种访问权限不允许的方式做了一个访问套接字的尝试。今天在启动 buildadmin 的时候,使用 php think run 居然给我报错。找了半天,感觉可能是端口被占用了, 但我没有其它程序在运行这个端口呀。可以看到 KGService.exe 原来是酷狗。查看 windows 的端口占用情况的命令。可以看到, 是7568 的 pid 点用了。根据 pid 找到占用端口的程序。果断关闭它,就OK了。

2024-05-21 15:56:47 320

原创 uniapp中使用 iconfont字体

5. 使用iconfont 使用 iconfont 有两种方式, 一种是 class 方式, 一种是使用 unicode 的方式。5.2 使用 unicode 的方式。5.1 使用 class 的方式。

2024-05-20 15:04:35 481

原创 workerman 实现推送实时数据到前端

最后在这里说明一下, 为什么 在 php 客户端中使用的是 stream_socket_client 函数创建的,而不是用 workerman 来创建客户端, 我们知道 workerman 也可以创建客户端,也可以创建服务端, 那么我们为什么没有 在 api 接口中,使用workerman 创建客户端呢?以上就是 服务端的代码, 使用时 在命令行中 php Testwroker.php就可以了, 它是一个挂起的窗口,我们实际上线时可以让它在后台运行就可以了。php 的创建的客户端的用法。

2024-05-15 15:37:41 581

原创 fastadmin + laragon + nginx的后台访问路径配置

使用过fastadmin的小朋友都知道, fastadmin 默认的是不能访问admin模块的, 它在public 文件夹中又新建了一个 XXX.php 来指向 admin 模块的,作用像 index.php 的文件。以前我每次使用的时候,直接就到 config配置文件中把 admin 模块打开就可以了。对nginx 来说, 我们要修改一下nginx的配置文件。以上就是其中的一种方法,下面说另一种方法。

2024-04-11 10:13:17 659

原创 uni-data-picker的回显问题

后来,发现,我们使用 uni-data-picker 中的 v-model 使用错了, 原本以为 v-model 对应的是 用户选择的地址名, 如:湖北/襄阳/老河口,但其它不是这样了的, v-model 记录的是 老河口市的 value 值,今天使用了uni-data-picker来选择用户的地区信息,但是当用户需要修改信息是的回显,就出问题了, v-model 绑字的字符中根本不会显示。

2024-04-09 09:47:40 1022

原创 uniapp微信小程序中的地图

uniapp的文档中, 一个是地图api 一个是地图的 map 组件,两个有些地方是相通的,不好区分。api的某些方法是需要在 manifest.json 中配置小程序的 getLocation的权限。uni.openLocation() 这个api 的参数 一这是 number 不然无效。它可以传入一个 经纬度, 显示位置,并可以调起高德地图导航去位置上去。而map组件是用来在 地图上 画marker 路线图等用的。比如我们常用的 查看位置的 api。

2024-04-03 16:45:43 737

原创 z-paging 的使用 uniapp+vue3脚手架

说明, z-paging 默认是占满整个页面的,它会挡住页面的其它元素, 所以, 我们要把所有的元素写在 z-paging 的组件里。uniapp 中没有合适的分页插件, 所以找到了 z-paging的分页插件使用,这里记录一下用法。上面的例子中使用的是 HbuilderX 来引入的, 本人使用的是 脚手架, 所以是这样的。一种方法是 设置 use-page-scroll 这种方式还要引入另外一个组件。第二种方法 (也是我项目中使用方法)第一次进入时加载了两次。项目中没有问题的代码。

2024-04-03 11:27:39 1657

原创 uniapp+vue3+setup语法糖开发微信小程序时不能定义globalData的解决方法

在使用 uniapp 开发小程序的时候, 发现使用了setup 语法糖 ,定义 globalData 时,要不是定义不了, 要不就是使用 getApp()取不到,后来想到一个不伦不类的方法解决了, 这个方法有点难看, 但是解决了问题。

2024-03-18 18:42:03 1127 2

原创 pinia 的选项式和组合式的不同写法和持久化的方法

pinia 创建仓库的方法有两中写法, 一种是选项式的api 一种是组合式的api。当我们刷新页面的时候,pinia中的数据就会清空, 所以有时我们是想要把它持久化的。说明:action 不要使用 箭头函数, 这样会使 this 的指向错误。说明:action 不要使用 箭头函数, 这样会使 this 的指向错误。说明:action 不要使用 箭头函数, 这样会使 this 的指向错误。getter 方法, 是用的 computed 方法来实理的。defineStore 的第二个参数是一个函数。

2024-03-17 17:10:48 1195

原创 vite打包时发布时,放在服务器的二级目录中

如果我们的站点根目录为 public , 我们访问的时候使用的是 http://www.abc.com/ 访问到了站点的根目当,现在我们要访问 http://www.abc.com/mysite/#/在history模式下,使用 http://www.abc.com/mysite/index.html 来访问是错误的。说明一下, hash 模式下的访问路径是:http://www.abc.com/mysite/index.html。

2024-03-16 17:18:38 1261

原创 printjs 在vue中的使用

今天遇到项目中的一个功能, 要求在后台管理端打印一下书信,单纯的打印书信是小事,关建是信纸是图案是自定义的,用户上传一个图片做为信纸的背景图所以我们找到了 print-js 插件。

2024-03-12 15:30:01 445

原创 buildadmim生成代码时让菜单有层级

当我们使用buildadmin生成代码的时候,在菜单的部分, 有时希望它生的是一个带有层级的菜单,有时候则想生成一个没有层级的菜单。我们可以在高级设置中的 相对位置处更改,同时可以更改一个生成的文件的名称。比如我设计了一个 优惠券类型的表 想生成一个带有层级的菜单。然后, 上层的菜单名称叫 coupon 我们怎么改成汉字呢。这样生成出来的菜单就是一个 两层的了。在这里把菜单名称改成中文的就可以了。如果我们要生成没有层级的菜单。

2024-03-07 15:02:29 254

原创 css grid布局使用说明

2024-03-06 14:15:19 454

原创 fastadmin自定义弹出框的回调问题

上面的代码有点不如意的地方,就是 当我们新增完成之后, 在关闭弹出窗时,想让当前页面刷新,但是上面的 callback 中的代码是不执行了。要注意的是, 我们open 的是 add 方法,所以 我们调用的 close方法是写在 add的js 使码中。但是,当点击 添加时, 弹出 fastadmin 的弹出框,添加也是fastadmin 自带的。通过上面的操作, open中的 callback方法就执行了, 我们就可以在其中刷新页面了。使用了 vue 更改了 fastadmin 项目的列表页面。

2024-03-05 13:44:36 532

原创 fastadmin中引入 elementui

把下载的代码放入 public/assets/libs/elementui/elementui.js 和 public/assets/libs/elementui/elementui.css。通过以上的配置,就可以使用 element ui了。shim: 在末尾插入。path:在末尾插入。

2024-03-05 09:31:39 1069

原创 fastadmin页面中引入vue2的方法

在 /public/assets/js/backend-init.js中添加代码。把代码放在 public/assets/libs/vue2/vue2.js。三 完成了上面的,就可以在页面中引入了。四, 在相应的页面中 添加根节点就好了。二 配置 require.js。这里我们下载生产环境的版本。把代码全部 复制下来。

2024-03-04 14:44:36 622

原创 buildadmin 入口文件index.php的代码解析

buildadmin的入口文件和一般的tp8的入口文件是不一样的,参考这个入口文件的写法,我们可以大至了解, 为什么,前端的 index.html 和 php的入口文件同在 public 的目录下,而可以不冲突。先看一下 buildadmin的入口文件。我们来会段看下代码的意思。

2024-03-04 08:22:32 343

原创 vue3+vite 项目的创建

我们要使用的话, 还要安装 vue-router sass sass-loader pinia 都要自已装上。之前用 vue-cli 创建的 vue2项目很方便的, 但是,它所使用的是webpack 的工具,不是 vite。说明一下, vite 的 index.html 文件不是在 public 目录下, 不影响,一样的用。首选创建一个 vite 项目 ,创建的时候,会让你选择使用 vue 还是 react。以上只是一个单纯的 vue + vite 项目。输入项目的名称,之后选择 vue。

2024-03-01 17:10:07 424

原创 buildadmin自动生成表格和表单的修改(switch组件)

显然,这不是我们想要的,但如果删除掉生成的再重新生成又不方便, 所以, 我们可以自己改代码。本人在设计时, id 字段的注释忘记写了, 结果生成的数据表的表头是这样的。本文中说的是修改swich 组件的样式,但也适用于其它的组件。首先,按照数据表生成规范,生成数据表。这里也是一个空的,没有开, 关两个字。根据上面的添加就可以了。

2024-02-29 10:42:49 269

原创 微信小程序订阅消息前后端示例

订阅消息成功以后, 后台服务端是要发送消息给用户的。这里我们使用了 easywechat6 的功能。页面点击订阅按钮,弹出订阅框。以上就是小程序端的订阅消息。

2024-02-28 10:31:03 700

原创 vue 公众号开发,调用jssdk封装

vue 公众号开发,经常会使用到 转发朋友,朋友圈,调用扫一扫等功能,这时就要使用微信的 jssdk。

2024-01-11 15:55:53 1012

原创 Vue 封装的 axios 类的使用(小bug 改进)

改进方法, 每一次都来 new api()的实例有点麻烦,所以, 我在 api 的类中添加了一个静态方法。有了静态方法,就不用每次使用时就要new了。业务类 api 继承 http。

2024-01-09 10:38:14 1166

原创 微信小程序使用 节流函数的写法

在工具类中添加节流函数找到需 要节流的按钮

2023-12-22 10:18:28 399

原创 crmeb v5新增一个功能的完整示例记录

我们在小程序端已经可以走到页面上了,但是还需要接口实现功能, 对提交回收数据的功能, 我设计的接口 地址是 http://crmeb.test/api/recovery/save 的路由。首页的页面配置好之后,就要在 前端的展示程序中 配置相应的路由和文件了。后台相要的页面如下, 回收是一个大的菜单,回收菜单下有一个回收记录的菜单。工作中的二开需求是这样的,修改首页的装修,并新增回收报价的功能。路由配置好了之后,就是文件了,要相应的目录下,建相应的文件。然后,就是对生成出来的路由文件稍加修改。

2023-12-16 14:34:58 539

原创 crmeb v5自动生成代码报错(adminInfo方法或404路由不存在的问题)

adminInfo方法不存在或404

2023-12-13 16:14:40 657

原创 crmeb后台自定义菜单并生成代码

进入后台界面之后,我们可以看到界面如下 找到 维护->开发配置->权限维护->添加规则按扭。我们的目的是 想要在基础配置的下方 再生成一个 菜单,用来对一个表进行 增删改查的页面操作。如果我们还想在 新增的条目下再添加 子级, 可以后到有一个添加下级的选项。这样我们的crud 代码就生成出来的,数据库中相应的表也会对应的生成。我们要在设置的 菜单之下,添加一个 基础配置的 子菜单。找到 维护->开发工具->代码生成->添加功能。提交之后,刷新页面就会在列表中出现菜单了。这里我们就不添加了。

2023-12-12 17:50:05 921

原创 vue2和vue3中注册全局属性的区别(例如全局使用axios )

以上两种方法都是通过 getCurrentInstance()的方法,获取到的全局属性,官方强烈不推荐,并没有说它不可以使用。在vue2中注册全局属性是很方便的, 只需要使用 vue.prototype.XXXX = XXXX就可以了,如下面的代码。如果说以上的两个方法, 不是太好, 我们也可以合使用 provide, injecdt 的依赖注入的方法引入全局属性。然后在子页面中,就可以使用 this.$axios() 的方法了。在这种方法中, proxy 就相当于 vue2中的this。

2023-12-11 16:35:05 513

原创 vite项目报错 This file is being treated as an ES module because it has a ‘.js‘ file extension

NodeJS默认以CommonJS的规范来执行JavaScript代码,使用CommonJS模块的导出和导入方式,也就是对应代码中的module.exports和require关键字,如下所示。

2023-12-11 09:48:17 1662

原创 crmeb本地开发配置代理

crmeb 是一个开源的商城系统, v5 版本是一个前后端分离的项目, 我们从git仓库中下载下来的是一个文件夹,其结构是这样的。我的系统没有使用docker ,使用的是 laragon 的系统。之后, 我们打开 pc 端前端的代码,配置代码。所以首先我们要在 nginx 中配置。

2023-12-07 14:59:06 599

原创 小程序云开发中引入vant

首先看一下云开发中的小程序的目录结构。具体到我们的项目是这样子的。最后,构建一下就可以了。

2023-11-30 11:15:43 419

原创 tp8 使用rabbitMQ(4)路由模式

在第三节中我们使用的 交换机的 fanout 把生产者的消息广播到了所有与它绑定的队列中处理,但是我们能不能把特定的消息,发送给指定的队列,而不是广播给所有队列呢?代码和发布订阅模式的代码差不多,主要是 exchange的模式要改成直联, 然后在消费者的代码中binding 时,指名 routing_key。如图,交换机把 orange 类型的消息发送给了 队列1处理, 而带有 black 和 green标记的数据发送给了队列2来处理。这时就要使用路由模式了。

2023-11-23 17:40:28 264 1

原创 tp8 使用rabbitMQ(3)发布/订阅

当我们使用RabbitMQ时,如果不指定交换机的类型,那么Rabbit会使用默认的一个交换机,这个默认的交换机类型是一个直连交换机(direct),后续新建的队列(queue)都会自动绑定到这个默认交换机上,绑定的路由键就是队列的名称,注意这个默认交换机的名称是一个空字符串 " "当我们想把一个消息,发送给 多个消费者的时候,我们把这种模式叫做发布/订阅模式,比如我们做两个消费者,其中一个消费者把消息写入磁盘中,别一个消费者把消息结果输出到屏幕上,就要用到发布订阅模式。头交换机的性能不好, 基本不用。

2023-11-23 16:41:31 300

原创 tp8 使用rabbitMQ(2)工作队列

代码的参数说明在 第一小节的代码中,如果需要可移步到第一节中查看。

2023-11-23 15:15:05 248

原创 tp8 使用rabbitMQ(1)简单队列

php8.0 使用 rabbitmq 要使用 3.6版本以上的, 并且还要开启 php.ini中的 socket 扩展php think make:command SimpleMQProduce //创建一个生产者命令行php think make:command SimpleMQConsumer //创建一个消费者命令行。

2023-11-23 11:33:10 1122 2

原创 RabbitMQ 的网页界面操作说明

先手动创建两个队列,然后再把这两个队列和交换机绑定,就可以发布消息。上面给用户添加了角色和权限, 我们就可以登录了。再看一下队列中发生的变化。可以看到队列中收到了信息。队列中显示绑定了交换机。

2023-11-22 14:19:31 761

原创 buildAdmin 后端控制器的代码分析

在追代码的过程中,我没有看到 跨域的操作, 因为fastadmin 在这里面是有跨域操作的一段代码的,后来经过 整块代码搜索, 才想起来, 这是tp8了, 是有中间键的,而fastadmin中是tp5.0,没有中间键的。buildAdmin的代码生成,很像是 fastadmin 的生成模式,当我们利用数据库生成了一个控制器的时候,我们可以看到, 它的生成代码很简洁。真正的 增,删,改,查的代码 就在traits中。接着我们来到,父类, backend。

2023-11-20 16:35:45 793

原创 buildadmin+tp8表格操作(9)预设的表格渲染

buildadmin中,为我们预设了很多 单元格的渲染方式,我们在使用的时候,只需要在定义中写好预设的名称就可以了。这些效果其实我们也有其它的方法来实现,比如使用 table 中的 插槽来实现。有了这种操作方式, 单元格理论上可以供开发者任意变换样式了。首先在table中使用 template 的插槽。当我们使用的时候,我们只需要添加相应的名称就可以了。

2023-11-20 15:46:32 145

谷歌 vue开发插件

谷歌vue开发插件,解压后的 .crx 文件 直接拖放到 谷歌的插件管理器中就可以了,网上说的安装方法都太烦了, 这个最简单

2020-12-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除