置顶沉梦云全新生态系统诚招开发者

为了打造更全面的商城,提供更全面更优质成本更低的全新商城管理系统为大众服务,于2021年启动了全新商城开发计划,目前商城客户端程序和控制端已经完备,于2023年2月10日推出了采用thinkphp6+workerman+vue2开发的沉梦云Pro,接着在同年9月12日推出了采用thinkphp6+workerman+vue+vite开发的沉梦云SUP权益实物系统,版本和功能更完善,深度开发适配的插件系统,支持各种复杂功能实现,帮助客户有更多选择的同时,还能给各大开发者带来收益

【Js小技巧】如何使用JavaScript生成指定随机范围的随机数字

给大家带来一个很简单的指定数字大小范围的数字随机生成函数原理就是利用到js对象中内置的Math.random()函数function randomNumber(min, max) {    if (min > max) {       return 0;    }  let Rx = (Math.random()).toFixed(7);  if (Rx > 0.85505 && Rx < 0.86501) {    Rx = 1;  }  return Math.ceil(min + Rx * (max - min));}console.log(randomNumber(111111,  999999));

【搬站干货】宝塔面板站点太多如何快速免费迁移网站列表和数据库列表数据

如果宝塔面板的网站有多达几十上百个,又不想使用宝塔的迁移工具,那么应该如何实现快速迁移网站数据呢一.迁移网站数据  进入文件管理,将所有网站打包下载,在将压缩包上传到新的宝塔面板/www/wwwroot/目录下。然后解压即可二.迁移宝塔中网站列表和数据库列表的数据1. 首先进入旧的宝塔面板,当前文件目录定位到如下路径

【js干货笔记】谈谈JavaScript里面的指针是什么有什么用

一.前言关于JavaScript里的指针,似乎这个话题已经超出了初、中级前端程序员的理解范围,实际上所有真正的编程语言都是会接触到内存指针,指针的意思可以理解为数组中的索引(index)和对象中的属性名(key),只不过这个指针(或者叫索引)是给内存服务的,那么问题来了,指针又在js里面有什么作用,为什么要去了解它,下面开始谈谈我对js指针的看法和用途二.正文不知道有没有老哥遇到过类似的如下问题(看代码),我定义了一个变量obj,直接给它赋值为一个对象,包含属性a和b,然后再定义一个函数,调用这个函数后,你猜猜这时候发生了什么?

【layer】关于layer插件单独引用部分情况下layer.css加载不到缺失的解决办法

由于业务需求,只需要用到layer,我就单独引用了layer模块,但是出现了加载不到layer.css的问题一看源代码,原来是默认读取document文档最后一个script标签的src路径来加载layer.css的,这样有时候当然会出问题!!为了解决这个问题,于是便有了这篇博客!下面看干货,怎么改代码解决这个问题首先找到layer.js中要改的代码部分(见下图),注意每个layer版本修改位置和代码可能不完全一样,不用在意!

【swoole】使用swoole项目启动失败各种报错的总结

一.composer版本要对上# composer降级composer self-update --1# 再更新到指定版本(您项目支持的那个版本)composer self-update 2.4.0二.swoole无法使用openssl该问题是宝塔自带的安装时,swoole新版本默认不会安装openssl扩展

【thinkphp】一个自用的.env环境变量动态配置php函数

由于各种问题,动态配置环境变量不一定好使,于是写了个~    /**     * 动态配置.env环境变量     *     * @param string $key 变量名 支持组     * @param string $value 变量值     * @return void     */    public function setEnv(string $key = '', string $value = '') {        $file = root_path() . '.env';        $data = '';        if (is_file($file)) {            $data = trim(file_get_contents($file));        }        if ($data == '') {            // 没有内容就直接创建            $data = <<<Env           APP_DEBUG = false           [APP]           DEFAULT_TIMEZONE = Asia/Shanghai           [DATABASE]           TYPE = mysql           HOSTNAME =           HOSTPORT = 3306           USERNAME =           PASSWORD =           DATABASE =           PREFIX =            CHARSET = utf8           DEBUG = true           [LANG]           default_lang = zh-cn           [REDIS]           REDIS_HOSTNAME =           PORT = 6379           REDIS_PASSWORD =           SELECT = 0           [QUEUE]           QUEUE_NAME =Env;        }        // 修改配置        $key = strtoupper($key);        if (strpos($key, '.')) {            $arr   = explode('.', $key, 2);            $key1  = $arr[0];            $key2  = $arr[1];            $start = mb_strpos($data, '[' . $key1 . ']');            if ($start !== false) {                // 找到配置组                $str_up    = mb_substr($data, 0, $start);                $str_lower = mb_substr($data, $start);                if (preg_match('/' . $key2 . '  =/', $str_lower)) {                    // 找到就直接替换                    $str_lower = preg_replace('/(\n' . $key2 . '  =(.*)|\n' . $key2 . '  =)/', "\n" . $key2 . '  =  ' . $value, $str_lower);                    $data      = $str_up . $str_lower;                } else {                    // 未找到直接在组下面追加                    $str_q     = '/\[' . $key1 . '\]/';                    $str_h     = "\[" . $key1 . "\]\n" . $key2 . "  =  " . $value;                    $str_lower = preg_replace($str_q, $str_h, $str_lower);                    $data      = $str_up . $str_lower;                }            } else {                // 未找到配置组 追加                $data = $data . "\n[" . $key1 . "]\n" . $key2 . "  =  " . $value;            }        } else {            // 说明是顶层配置            if (preg_match('/' . $key . '  =/', $data)) {                // 直接替换数据                $data = preg_replace('/([\n]{0,1}' . $key . '  =  (.*)|[\n]{0,1}' . $key . '  =)/', "\n" . $key . '  =  ' . $value, $data);            } else {                // 追加                $data = $key . "  =  " . $value . "\n" . $data;            }        }        file_put_contents($file, $data);    }

【vue开发】开发UI库&插件汇总

一、UI组件及框架element-饿了么出品的Vue2的webUI工具套件mint-ui-Vue2的移动UI元素iview-基于Vuejs的开源UI组件库Keen-UI-轻量级的基本UI组件合集vue-material-通过VueMaterial和Vue2建立精美的app应用muse-ui-三端样式一致的响应式UI库vuetify-为移动而生的VueJS2组件框架

【php扩展】thinkphp防火墙插件web防火墙一键安装即用

说明这里为大家带来一款自用的web防火墙,全开源,可放心使用至于为什么要写一个,无非就是现在遵循psr规范自动加载的项目越多越多,同时包括现有项目或者以后的项目,针对防御方面的轮子都比较少现在有了这个,一键安装即用,省心省力,岂不美哉#安装命令如下 注意,需要在服务器命令行的项目下执行cd "自己的项目路径"composer require chenm/websafe附录觉得好用麻烦点个Star哦gitee传送门:https://g

目录[+]