HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

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/....

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

收起阅读 »

uniapp开发需求

uni_app项目

现外包一个uniapp开发需求,请有能力的朋友私聊。需求如下:
开发要求:用uniapp开发,需打包成安卓和IOS两个版本APP
APP使用设备:在ipad上使用
页面参考原型:https://1peup3.axshare.com/#id=que1ss&p=%E5%B9%B3%E5%8F%B0%E6%A6%82%E5%86%B5&g=1
原型仅供参考,与实际开发完成的网页版页面差不了多少,最终开发需按照网页版页面来,即将网页版尺寸缩小为ipad尺寸。
工期:一个月内
具体事宜,QQ私聊:339571330

继续阅读 »

现外包一个uniapp开发需求,请有能力的朋友私聊。需求如下:
开发要求:用uniapp开发,需打包成安卓和IOS两个版本APP
APP使用设备:在ipad上使用
页面参考原型:https://1peup3.axshare.com/#id=que1ss&p=%E5%B9%B3%E5%8F%B0%E6%A6%82%E5%86%B5&g=1
原型仅供参考,与实际开发完成的网页版页面差不了多少,最终开发需按照网页版页面来,即将网页版尺寸缩小为ipad尺寸。
工期:一个月内
具体事宜,QQ私聊:339571330

收起阅读 »

uni.createLivePusherContext缺少‘orientation’,‘device-position’等接口

LivePusher直播推流插件配置

uni的推流接口比微信小程序的推流接口少了很多推流的接口
默认摄像头无法设置, 画面方向无法设置等等
https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html

uni的推流接口比微信小程序的推流接口少了很多推流的接口
默认摄像头无法设置, 画面方向无法设置等等
https://developers.weixin.qq.com/miniprogram/dev/component/live-pusher.html

uniapp怎么监听深色模式

如题,有大神研究的吗

如果是深色模式,我要匹配我的深色style

如题,有大神研究的吗

如果是深色模式,我要匹配我的深色style

uniapp app内微信支付和支付宝支付 前端部分

支付

由于文档中写的不清楚,所以走了些弯路,记录下来
前端所要做的就是

  1. 请求后端接口,获取到orderinfo

  2. 调用支付API uni.requestPayment

  3. 处理回调

主要就是orderinfo格式文档写的不够清楚,这里进行说明orderinfo完全是后端返回的,前端不做任何处理,所以orderinfo有问题推给后端,前端不用浪费时间, app的支付不管ios还是android都是string类型

微信orderinfo格式   
 "{\"appid\":\"xxxxxxxx\",\"partnerid\":\"xxxxxxx\",\"prepayid\":\"xxxxxxxxxxxxxxxx\",\"timestamp\":\"1579779903\",\"noncestr\":\"xxxxxxx\",\"package\":\"Sign": "WXPay\",\"sign\":\"xxxxxxxxxxxxxxxxxxxx\"}"  

支付宝orderinfo格式  
app_id=xxxxxxxxx&method=xxxxxxxxxx&format=JSON&charset=UTF-8&sign_type=RSA2&version=1.0&return_url=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&notify_url=xxxxx&timestamp=xxxxxx&sign=xxxxxxx&biz_content=xxxxxxxxxx
uni.requestPayment({  
    provider: 'alipay',  
    orderInfo: '后端返回的orderinfo字符串',  
    success: res => {  
        // 进入此回调说明支付成功  
    },  
    fail: err => {  
        const message = err.errMsg || '';  
        if (message.indexOf('[payment支付宝:62001]') !== -1) {  
            uni.showModal({  
                content: '您已取消支付。如有需要,您可在我的订单里重新付款。30分钟内有效。',  
                showCancel: false  
            });  
        } else {  
            uni.showModal({  
                content: '支付失败,原因为: ' + message,  
                showCancel: false  
            });  
        }  
    },  
    complete: () => {  
        this.submitting = false;  
        }  
    });
继续阅读 »

由于文档中写的不清楚,所以走了些弯路,记录下来
前端所要做的就是

  1. 请求后端接口,获取到orderinfo

  2. 调用支付API uni.requestPayment

  3. 处理回调

主要就是orderinfo格式文档写的不够清楚,这里进行说明orderinfo完全是后端返回的,前端不做任何处理,所以orderinfo有问题推给后端,前端不用浪费时间, app的支付不管ios还是android都是string类型

微信orderinfo格式   
 "{\"appid\":\"xxxxxxxx\",\"partnerid\":\"xxxxxxx\",\"prepayid\":\"xxxxxxxxxxxxxxxx\",\"timestamp\":\"1579779903\",\"noncestr\":\"xxxxxxx\",\"package\":\"Sign": "WXPay\",\"sign\":\"xxxxxxxxxxxxxxxxxxxx\"}"  

支付宝orderinfo格式  
app_id=xxxxxxxxx&method=xxxxxxxxxx&format=JSON&charset=UTF-8&sign_type=RSA2&version=1.0&return_url=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx&notify_url=xxxxx&timestamp=xxxxxx&sign=xxxxxxx&biz_content=xxxxxxxxxx
uni.requestPayment({  
    provider: 'alipay',  
    orderInfo: '后端返回的orderinfo字符串',  
    success: res => {  
        // 进入此回调说明支付成功  
    },  
    fail: err => {  
        const message = err.errMsg || '';  
        if (message.indexOf('[payment支付宝:62001]') !== -1) {  
            uni.showModal({  
                content: '您已取消支付。如有需要,您可在我的订单里重新付款。30分钟内有效。',  
                showCancel: false  
            });  
        } else {  
            uni.showModal({  
                content: '支付失败,原因为: ' + message,  
                showCancel: false  
            });  
        }  
    },  
    complete: () => {  
        this.submitting = false;  
        }  
    });
收起阅读 »