HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

承接各行业商城及衍生项目, 成熟商城产品, 支持B2C, B2B2C, 社交电商

官方网站
www.ccmao.net

产品体验

联系微信(qinghuiyang-lcq)

1 产品介绍

创创猫电商系统是基于JavaEE技术的企业级电子商务平台系统,以其安全稳定、强大易用、高效专业等优势赢得了用户的广泛好评。创创猫为大、中、小企业提供一个安全、高效、强大的电子商务解决方案,协助企业快速构建、部署和管理其电子商务平台,拓展企业销售渠道,突显电子商务商业价值。

2 产品优势

支持多种电商模式

B2C: 商家自营
B2B2C : 平台商家入驻
社交电商: 会员快速裂变, 分销分润

绚丽风格,极致视觉体验

采用电子商务流行设计元素,给用户以极致的视觉体验,基于uniapp技术开发,提供丰富的组件,让页面设计更加简单。

100%源代码支持

严格遵循Java标准开发规范,全面源代码及注释支持。

优异性能,轻松实现高负载应用

采用多级缓存、全文检索、云存储等技术,使得系统的响应速度和负载能力大大提升。

多重安全防护机制

XSS防御、CSRF防御、SQL安全防御、RSA传输加密、暴力破解防护...针对各类攻击采用多重安全防护措施,有效保障用户的系统及数据安全。

强大功能,丰富的第三方应用扩展

高扩展性插件设计,多种第三方应用集成。微信、支付宝、快捷登录、快递100、站长统计、阿里云存储、FTP存储...

3 技术架构

开发语言: Java

数 据 库 : MySQL

后端框架: Spring、SpringMVC、JPA

前端框架: Uni-app、vue、iview

全文检索: Lucene

依赖管理: Maven

继续阅读 »

官方网站
www.ccmao.net

产品体验

联系微信(qinghuiyang-lcq)

1 产品介绍

创创猫电商系统是基于JavaEE技术的企业级电子商务平台系统,以其安全稳定、强大易用、高效专业等优势赢得了用户的广泛好评。创创猫为大、中、小企业提供一个安全、高效、强大的电子商务解决方案,协助企业快速构建、部署和管理其电子商务平台,拓展企业销售渠道,突显电子商务商业价值。

2 产品优势

支持多种电商模式

B2C: 商家自营
B2B2C : 平台商家入驻
社交电商: 会员快速裂变, 分销分润

绚丽风格,极致视觉体验

采用电子商务流行设计元素,给用户以极致的视觉体验,基于uniapp技术开发,提供丰富的组件,让页面设计更加简单。

100%源代码支持

严格遵循Java标准开发规范,全面源代码及注释支持。

优异性能,轻松实现高负载应用

采用多级缓存、全文检索、云存储等技术,使得系统的响应速度和负载能力大大提升。

多重安全防护机制

XSS防御、CSRF防御、SQL安全防御、RSA传输加密、暴力破解防护...针对各类攻击采用多重安全防护措施,有效保障用户的系统及数据安全。

强大功能,丰富的第三方应用扩展

高扩展性插件设计,多种第三方应用集成。微信、支付宝、快捷登录、快递100、站长统计、阿里云存储、FTP存储...

3 技术架构

开发语言: Java

数 据 库 : MySQL

后端框架: Spring、SpringMVC、JPA

前端框架: Uni-app、vue、iview

全文检索: Lucene

依赖管理: Maven

收起阅读 »

分享mqtt.js插件要用到的package.json

大佬的连接在这里:
https://ext.dcloud.net.cn/plugin?id=854#

大佬的连接在这里:
https://ext.dcloud.net.cn/plugin?id=854#

动态修改TitleNView RedDot,支持App 和 H5

titleNView uniapp

app部分来自于 https://github.com/dcloudio/hello-uniapp

export function setTitleNViewStyle(index, show,text) {  
    let pages = getCurrentPages();  
    let page = pages[pages.length - 1];  
    // #ifdef APP-PLUS  
    let currentWebview = page.$getAppWebview();  
    if(show){  
        if(index === 0){  
            currentWebview.showTitleNViewButtonRedDot({index:index,text:text})  
        }else{  
            currentWebview.setTitleNViewButtonBadge({index:index,text:text})  
        }  
    }else{  
        if(index === 0){  
            currentWebview.hideTitleNViewButtonRedDot({index:index})  
        }else{  
            currentWebview.removeTitleNViewButtonBadge({index:index})  
        }  
    }  
    // #endif  

    // #ifdef H5  
    if(show){  
        if(index === 0){  
            document.querySelectorAll('.uni-page-head-hd .uni-page-head-btn')[1].classList.add('uni-page-head-btn-red-dot');  
        } else {  
            document.querySelector('.uni-page-head-ft .uni-page-head-btn').classList.add('uni-page-head-btn-red-dot');  
        }  
    } else {  
        if(index === 0){  
            document.querySelector('.uni-page-head-btn-red-dot').classList.remove('uni-page-head-btn-red-dot');  
        } else {  
            document.querySelector('.uni-page-head-ft .uni-page-head-btn-red-dot').classList.remove('uni-page-head-btn-red-dot');  
        }  
    }  
    // #endif  
}  
继续阅读 »

app部分来自于 https://github.com/dcloudio/hello-uniapp

export function setTitleNViewStyle(index, show,text) {  
    let pages = getCurrentPages();  
    let page = pages[pages.length - 1];  
    // #ifdef APP-PLUS  
    let currentWebview = page.$getAppWebview();  
    if(show){  
        if(index === 0){  
            currentWebview.showTitleNViewButtonRedDot({index:index,text:text})  
        }else{  
            currentWebview.setTitleNViewButtonBadge({index:index,text:text})  
        }  
    }else{  
        if(index === 0){  
            currentWebview.hideTitleNViewButtonRedDot({index:index})  
        }else{  
            currentWebview.removeTitleNViewButtonBadge({index:index})  
        }  
    }  
    // #endif  

    // #ifdef H5  
    if(show){  
        if(index === 0){  
            document.querySelectorAll('.uni-page-head-hd .uni-page-head-btn')[1].classList.add('uni-page-head-btn-red-dot');  
        } else {  
            document.querySelector('.uni-page-head-ft .uni-page-head-btn').classList.add('uni-page-head-btn-red-dot');  
        }  
    } else {  
        if(index === 0){  
            document.querySelector('.uni-page-head-btn-red-dot').classList.remove('uni-page-head-btn-red-dot');  
        } else {  
            document.querySelector('.uni-page-head-ft .uni-page-head-btn-red-dot').classList.remove('uni-page-head-btn-red-dot');  
        }  
    }  
    // #endif  
}  
收起阅读 »

自己打造

插件功能 纯手工打造,好累呀

插件功能 纯手工打造,好累呀

xinguan2020 - 新冠抗疫开源项目大汇总。出入管理、访客登记、社区管理、健康统计、疫情查询

抗疫

疫情紧急,各地急需it系统,为管控疫情提供强力支撑。

DCloud牵头,组织开发者开发了大量抗疫开源项目:出入人员登记、学生健康情况统计、员工健康统计、消毒管理登记、物资管理系统...

  • 所有项目全部基于木兰宽松许可证,可自由免费的使用项目源码,包括前端和后端。
  • 所有项目前端全部基于uni-app,可以随意发布为app、h5网页和各种小程序版,跨全端使用
  • 所有项目后端全部基于uniCloud(阿里云定制版),云服务全免费、无需请款流程,无需考虑双机热备、瞬时大并发、以及安全DDoS防护。直接用就好了。

如何使用这些开源项目?

  • 如果你是需求单位,找技术人员部署这些项目即可,有必要的话可以修改源码定制。每个项目的readme里有运行和部署的说明文档。
  • 如果你是外包开发商,可以把这些系统快速交付给你的客户。不需要为DCloud付费。
  • 如果你想运营SaaS托管平台,让各个单位可以免部署直接开户,也没问题,欢迎基于这些开源项目改造,自建多账户托管的平台。不需要为DCloud付费。

一句话,代码、服务器,全白用,只为抗疫做贡献!

开源项目总地址:https://gitee.com/dcloud/xinguan2020/

案例汇总地址:http://xinguan2020.dcloud.net.cn/

交流QQ群:797192690

继续阅读 »

疫情紧急,各地急需it系统,为管控疫情提供强力支撑。

DCloud牵头,组织开发者开发了大量抗疫开源项目:出入人员登记、学生健康情况统计、员工健康统计、消毒管理登记、物资管理系统...

  • 所有项目全部基于木兰宽松许可证,可自由免费的使用项目源码,包括前端和后端。
  • 所有项目前端全部基于uni-app,可以随意发布为app、h5网页和各种小程序版,跨全端使用
  • 所有项目后端全部基于uniCloud(阿里云定制版),云服务全免费、无需请款流程,无需考虑双机热备、瞬时大并发、以及安全DDoS防护。直接用就好了。

如何使用这些开源项目?

  • 如果你是需求单位,找技术人员部署这些项目即可,有必要的话可以修改源码定制。每个项目的readme里有运行和部署的说明文档。
  • 如果你是外包开发商,可以把这些系统快速交付给你的客户。不需要为DCloud付费。
  • 如果你想运营SaaS托管平台,让各个单位可以免部署直接开户,也没问题,欢迎基于这些开源项目改造,自建多账户托管的平台。不需要为DCloud付费。

一句话,代码、服务器,全白用,只为抗疫做贡献!

开源项目总地址:https://gitee.com/dcloud/xinguan2020/

案例汇总地址:http://xinguan2020.dcloud.net.cn/

交流QQ群:797192690

收起阅读 »

HBuilderX内置控制台在插件安装了npm情况下 无法运行命令npm和Node 但是明明已经插件中安装了npm

HBuilderX

HBuilderX内置控制台在插件安装了npm情况下 无法运行命令npm和Node 但是明明已经插件中安装了npm
这个需要安装NODE和NPM在电脑里面而不是直接使用插件里面的那个NPM
哪位可以实验一下

HBuilderX内置控制台在插件安装了npm情况下 无法运行命令npm和Node 但是明明已经插件中安装了npm
这个需要安装NODE和NPM在电脑里面而不是直接使用插件里面的那个NPM
哪位可以实验一下

Hx alpha 最新版,无法播放拉流

HBuilderX

Hx alpha最新版 ios 12.4.5 无法播放拉流 普通视频没问题,切换到上一版本就可以播放了 android 没有这问题

Hx alpha最新版 ios 12.4.5 无法播放拉流 普通视频没问题,切换到上一版本就可以播放了 android 没有这问题

仿vscode的material的暗黑色主题

注意 需要切换主题到 雅蓝

{  
    "editor.caretWidth": 1,  
    "editor.colorScheme": "Atom One Dark",  
    "explorer.autoReveal": true,  
    "editor.renderWhitespace": false,  
    "editor.codeassistFontSize": 14,  
    "editor.viewIndentationGuides": false,//是否显示代码缩进对齐线  
    "explorer.iconTheme": "vs-seti",  
    "workbench.colorCustomizations": {  
        "[Atom One Dark]": {  
            //标题栏  
            "titleBar.activeBackground":"#263238",  
            //工具栏  
            "toolBar.background": "#263238", //工具条背景  
            "toolBar.border": "#263238",  
            "toolBar.hoverBackground": "#263238",  

            //按钮  
            "button.background": "#80CBC420", //按钮背景  
            "button.foreground": "#ffffff", //按钮前景  

            //文本框  
            "input.background": "#303C41", //文本框背景颜色  
            "input.foreground": "#ffffff", //前景颜色  
            "focusBorder": "#FFFFFF00", //文本框有焦点时边框颜色  
            "input.border": "#FFFFFF10",  
            "input.hoverBackground": "#263238",  

            //列表控件  
            "list.foreground": "#495C66", //前景颜色  
            "list.activeSelectionBackground": "#263238",  
            "list.activeSelectionForeground": "#80CBC4",  
            "list.hoverBackground": "#263238",  
            "list.inactiveSelectionBackground": "#00000030",  

            //项目资源管理器  
            "sideBar.background": "#263238",  
            "sideBarSectionHeader.background": "#263238",  

            // 标签卡  
            // "tab.Background":"#263238",  
            "editorGroupHeader.tabsBackground": "#263238", //背景颜色  
            "tab.border": "#263238", //边框颜色  
            "tab.activeBorder": "#263238", //选中时的边框颜色  
            "tab.activeBackground":"#263238",  
            "tab.activeForeground": "#FFFFFF",  
            "tab.inactiveBackground": "#263238", //未选中时的背景颜色  
            "tab.inactiveForeground": "#607a86",  
            "tab.hoverBackground": "#263238",  
            "tab.unfocusedActiveBorder": "#546E7A",  

            //代码助手  
            "editorSuggestWidget.background": "#263238", //助手弹窗背景颜色  
            "editorSuggestWidget.border": "#263238", //助手边框颜色  
            "editorSuggestWidget.foreground": "#495C66", //前景颜色  
            "editorSuggestWidget.highlightForeground": "#80CBC4",  
            "editorSuggestWidget.selectedBackground": "#00000050", //助手弹窗选中条目时背景颜色  

            //预览按钮  
            "extensionButton.prominentBackground": "#263238",  
            "extensionButton.prominentForeground": "#495C66",  
            "extensionButton.border": "#263238",  
            "extensionButton.prominentHoverBackground": "#263238",  

            // 分栏  
            "editorGroup.border": "#495C66", //分割线颜色  
            "tab.unfocusedActiveForeground": "#EEFFFF", //未激活分组里选中标签前景色  

            //滚动条  
            "scrollbarSlider.background": "#495C66",  
            "scrollbarSlider.hoverBackground": "#495C66",  

            //搜索下拉框  
            "inputValidation.infoBorder": "#82AAFF50",  

            //编辑区  
            "editor.background": "#263238",  
            // "editor.foreground": "#EEFFFF",  
            // "editorLineNumber.foreground": "#37474F",  
            "editorLineNumber.activeForeground": "#607a86",  
            // "editor.lineHighlightBorder": "#00000000",  
            "editor.rangeHighlightBackground": "#FFFFFF0d",  
            // "editorWhitespace.foreground": "#EEFFFF40",  

            //设置  
            "settings.dropdownForeground": "#EEFFFF",  
            "settings.dropdownBackground": "#263238",  
            "settings.textInputForeground": "#ffffff",  
            "settings.textInputBackground": "#263238",  
            "settings.dropdownBorder": "#263238",  
            "settings.dropdownListBorder": "#263238", //下拉列表item边框  
            "settings.dropdownForeground": "#ffffff", //下拉列表前景颜色  

            //终端  
            "terminal.background": "#263238",  
            "terminal.foreground": "#ffffff",  
            "panelTitle.activeForeground": "#ffffff",  
            "console.background": "#263238",  
            "debug.background": "#263238",  

            //底部状态栏  
            "statusBar.background": "#263238",  
            "statusBar.foreground": "#495C66",  
            "statusBar.border": "#495C66",  

            "minimap.handle.background": "#495C66"  
        }  
    }  
}

继续阅读 »

注意 需要切换主题到 雅蓝

{  
    "editor.caretWidth": 1,  
    "editor.colorScheme": "Atom One Dark",  
    "explorer.autoReveal": true,  
    "editor.renderWhitespace": false,  
    "editor.codeassistFontSize": 14,  
    "editor.viewIndentationGuides": false,//是否显示代码缩进对齐线  
    "explorer.iconTheme": "vs-seti",  
    "workbench.colorCustomizations": {  
        "[Atom One Dark]": {  
            //标题栏  
            "titleBar.activeBackground":"#263238",  
            //工具栏  
            "toolBar.background": "#263238", //工具条背景  
            "toolBar.border": "#263238",  
            "toolBar.hoverBackground": "#263238",  

            //按钮  
            "button.background": "#80CBC420", //按钮背景  
            "button.foreground": "#ffffff", //按钮前景  

            //文本框  
            "input.background": "#303C41", //文本框背景颜色  
            "input.foreground": "#ffffff", //前景颜色  
            "focusBorder": "#FFFFFF00", //文本框有焦点时边框颜色  
            "input.border": "#FFFFFF10",  
            "input.hoverBackground": "#263238",  

            //列表控件  
            "list.foreground": "#495C66", //前景颜色  
            "list.activeSelectionBackground": "#263238",  
            "list.activeSelectionForeground": "#80CBC4",  
            "list.hoverBackground": "#263238",  
            "list.inactiveSelectionBackground": "#00000030",  

            //项目资源管理器  
            "sideBar.background": "#263238",  
            "sideBarSectionHeader.background": "#263238",  

            // 标签卡  
            // "tab.Background":"#263238",  
            "editorGroupHeader.tabsBackground": "#263238", //背景颜色  
            "tab.border": "#263238", //边框颜色  
            "tab.activeBorder": "#263238", //选中时的边框颜色  
            "tab.activeBackground":"#263238",  
            "tab.activeForeground": "#FFFFFF",  
            "tab.inactiveBackground": "#263238", //未选中时的背景颜色  
            "tab.inactiveForeground": "#607a86",  
            "tab.hoverBackground": "#263238",  
            "tab.unfocusedActiveBorder": "#546E7A",  

            //代码助手  
            "editorSuggestWidget.background": "#263238", //助手弹窗背景颜色  
            "editorSuggestWidget.border": "#263238", //助手边框颜色  
            "editorSuggestWidget.foreground": "#495C66", //前景颜色  
            "editorSuggestWidget.highlightForeground": "#80CBC4",  
            "editorSuggestWidget.selectedBackground": "#00000050", //助手弹窗选中条目时背景颜色  

            //预览按钮  
            "extensionButton.prominentBackground": "#263238",  
            "extensionButton.prominentForeground": "#495C66",  
            "extensionButton.border": "#263238",  
            "extensionButton.prominentHoverBackground": "#263238",  

            // 分栏  
            "editorGroup.border": "#495C66", //分割线颜色  
            "tab.unfocusedActiveForeground": "#EEFFFF", //未激活分组里选中标签前景色  

            //滚动条  
            "scrollbarSlider.background": "#495C66",  
            "scrollbarSlider.hoverBackground": "#495C66",  

            //搜索下拉框  
            "inputValidation.infoBorder": "#82AAFF50",  

            //编辑区  
            "editor.background": "#263238",  
            // "editor.foreground": "#EEFFFF",  
            // "editorLineNumber.foreground": "#37474F",  
            "editorLineNumber.activeForeground": "#607a86",  
            // "editor.lineHighlightBorder": "#00000000",  
            "editor.rangeHighlightBackground": "#FFFFFF0d",  
            // "editorWhitespace.foreground": "#EEFFFF40",  

            //设置  
            "settings.dropdownForeground": "#EEFFFF",  
            "settings.dropdownBackground": "#263238",  
            "settings.textInputForeground": "#ffffff",  
            "settings.textInputBackground": "#263238",  
            "settings.dropdownBorder": "#263238",  
            "settings.dropdownListBorder": "#263238", //下拉列表item边框  
            "settings.dropdownForeground": "#ffffff", //下拉列表前景颜色  

            //终端  
            "terminal.background": "#263238",  
            "terminal.foreground": "#ffffff",  
            "panelTitle.activeForeground": "#ffffff",  
            "console.background": "#263238",  
            "debug.background": "#263238",  

            //底部状态栏  
            "statusBar.background": "#263238",  
            "statusBar.foreground": "#495C66",  
            "statusBar.border": "#495C66",  

            "minimap.handle.background": "#495C66"  
        }  
    }  
}

收起阅读 »

uniapp从app端拉起微信小程序,打开小程序的一些经验

小程序

我是新手,从app端拉起打开微信小程序,这个功能困扰了我一个星期,在这感谢NO.3389师傅的指导,在他的要求下特写此经验帖给大家分享下!

onload里的代码:

// #ifdef APP-PLUS  
    console.log("plus");  
    plus.share.getServices(function(s){  
            var shares={};  
            for (var i = 0; i < s.length; i++) {  
                var t=s[i];  
                console.log(t);  
                shares[t.id]=t;  
                console.log(t.id);  
            }  

            var sweixin=shares['weixin'];  
            that.setData({  
                sweixin:sweixin  
            })  

        }, function(e){  
            console.log("获取分享服务列表失败:"+e.message);  
        });  
    //#endif

sweixin需要放到data里去

data() {  
    return {  
         sweixin:''  
          };  
      }

method里:

kanshipin: function () {  
      var n = this;  
      //#ifdef APP-PLUS  
        console.log(n.sweixin);  
        n.sweixin?n.sweixin.launchMiniProgram({  
            id:'这个是你要打开的那个小程序原始id,长这样做gh_c306838810e9'  
        }):plus.nativeUI.alert('当前环境不支持微信操作!');  

      //#endif  
}

第一次发帖,请多包涵,目前还不知道怎么打开指定页面 怎么传参数 还得研究

继续阅读 »

我是新手,从app端拉起打开微信小程序,这个功能困扰了我一个星期,在这感谢NO.3389师傅的指导,在他的要求下特写此经验帖给大家分享下!

onload里的代码:

// #ifdef APP-PLUS  
    console.log("plus");  
    plus.share.getServices(function(s){  
            var shares={};  
            for (var i = 0; i < s.length; i++) {  
                var t=s[i];  
                console.log(t);  
                shares[t.id]=t;  
                console.log(t.id);  
            }  

            var sweixin=shares['weixin'];  
            that.setData({  
                sweixin:sweixin  
            })  

        }, function(e){  
            console.log("获取分享服务列表失败:"+e.message);  
        });  
    //#endif

sweixin需要放到data里去

data() {  
    return {  
         sweixin:''  
          };  
      }

method里:

kanshipin: function () {  
      var n = this;  
      //#ifdef APP-PLUS  
        console.log(n.sweixin);  
        n.sweixin?n.sweixin.launchMiniProgram({  
            id:'这个是你要打开的那个小程序原始id,长这样做gh_c306838810e9'  
        }):plus.nativeUI.alert('当前环境不支持微信操作!');  

      //#endif  
}

第一次发帖,请多包涵,目前还不知道怎么打开指定页面 怎么传参数 还得研究

收起阅读 »

wap2app 封装打包后如何实现长按保存图片到相册。支持多图预览保存。值得收藏

本人小白一枚,如果是大神请忽略,只提供给新手。一直在网上找方法,结果啰嗦了一大堆什么也没得到结果。浪费时间
第一步:下载附件里的文件:
解压后得到这些文件:这里不支持上传图片大概是这些
wap2app_longtap-master

第二步:双击打开 wap2app_longtap-master 文件夹,把里面的 css文件夹和 js文件夹上传到自己的网站任何一个文件夹内
比如上传到D:/wwwroot/tpod 注意这个tpod是自己新建立的文件,自己随便建立一个,然后方便在后面调用。

第三步:修改自己需要长按图片保存的那个网页代码。怎么修改在附件里有个index.html 做参考 代码修改的时候一定记得
你当时上传的js和css文件的路径,当然是tpod/css/... tpod/js/....

其实很简单的一个问题就这样解决了。效果还不错。
不知道写了这些你看明白了吗?希望可以帮助到你。

继续阅读 »

本人小白一枚,如果是大神请忽略,只提供给新手。一直在网上找方法,结果啰嗦了一大堆什么也没得到结果。浪费时间
第一步:下载附件里的文件:
解压后得到这些文件:这里不支持上传图片大概是这些
wap2app_longtap-master

第二步:双击打开 wap2app_longtap-master 文件夹,把里面的 css文件夹和 js文件夹上传到自己的网站任何一个文件夹内
比如上传到D:/wwwroot/tpod 注意这个tpod是自己新建立的文件,自己随便建立一个,然后方便在后面调用。

第三步:修改自己需要长按图片保存的那个网页代码。怎么修改在附件里有个index.html 做参考 代码修改的时候一定记得
你当时上传的js和css文件的路径,当然是tpod/css/... tpod/js/....

其实很简单的一个问题就这样解决了。效果还不错。
不知道写了这些你看明白了吗?希望可以帮助到你。

收起阅读 »