HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

素与简科技:餐饮外卖小程序功能营销

小程序

餐饮行业属于典型的高频+刚需,外卖将线下餐饮搬到了线上,并通过配送实现了线上线下的连接和商户和用户的连接,极大的方便的我们的生活。

小程序对于餐饮行业的商家来说,是降低了运营的成本,提高了效率,实现线上线下的融合,整合双向流量,并且商家可以自主实现客流量的精细化运营的能力,成为本地商户提升竞争力的关键。

餐饮外卖小程序,为帮助餐饮外卖商户更好地利用移动互联网触达和管理客户,以强大的会员系统和丰富多元的营销方式,帮助餐厅搭建属于自己的外卖平台,实现自主运营和高效管理。

1、为什么餐饮外卖小程序

近几年,越来越多餐企通过接入外卖平台开展外卖业务。外卖业务的开展,帮助商家扩展了经营能力,提升了门店营收。但通过第三方平台获客无法掌握核心的用户数据且需缴纳平台佣金,导致商户失去营销自主性,外卖利润越摊越薄。

为解决商家在外卖业务上的现实难题,小编推出餐饮外卖小程序解决方案,基于小程序,帮助商户搭建属于自己的外卖平台。餐饮外卖小程序打通“点餐-支付-出票-配送”等各个环节,实现一体化的营销管理。商户可自主创建外卖菜单,配置营业时间、配送范围、配送费用等参数,顾客在微信上就能完成下单支付,商户则可通过系统后台接收顾客订单,实现便捷的订单管理。

2、餐饮外卖小程序有哪些营销功能?

在会员营销方面,餐饮外卖小程序,提供了强大的会员营销功能,比如积分商城和优惠买单等,帮助商户深化会员运营,提升会员复购。

比如商户可借助餐饮外卖小程序的会员能力实现会员等级、会员管理、会员社交营销等,进行精准的拓客留存。同时,餐饮外卖小程序还上线了“积分商城”,商户可运用“积分奖励”刺激会员消费,通过积分商城有效沉淀会员,提升用户忠诚度。

另外,餐饮外卖小程序上线了“优惠买单”功能,通过买单场景的“支付即关注”,助力商户沉淀线上线下流量,同时也为外卖顾客提供更加全面的服务。

小程序开发推荐深圳素与简科技有限公司(www.suyujane.com)多年软件开发经验,海量的开发案例可供参考,看得见的开发经验,让客户更加的省心省力。技术团队都是10年开发工程师,完善的售后服务体系,保障项目开发顺利进行。

继续阅读 »

餐饮行业属于典型的高频+刚需,外卖将线下餐饮搬到了线上,并通过配送实现了线上线下的连接和商户和用户的连接,极大的方便的我们的生活。

小程序对于餐饮行业的商家来说,是降低了运营的成本,提高了效率,实现线上线下的融合,整合双向流量,并且商家可以自主实现客流量的精细化运营的能力,成为本地商户提升竞争力的关键。

餐饮外卖小程序,为帮助餐饮外卖商户更好地利用移动互联网触达和管理客户,以强大的会员系统和丰富多元的营销方式,帮助餐厅搭建属于自己的外卖平台,实现自主运营和高效管理。

1、为什么餐饮外卖小程序

近几年,越来越多餐企通过接入外卖平台开展外卖业务。外卖业务的开展,帮助商家扩展了经营能力,提升了门店营收。但通过第三方平台获客无法掌握核心的用户数据且需缴纳平台佣金,导致商户失去营销自主性,外卖利润越摊越薄。

为解决商家在外卖业务上的现实难题,小编推出餐饮外卖小程序解决方案,基于小程序,帮助商户搭建属于自己的外卖平台。餐饮外卖小程序打通“点餐-支付-出票-配送”等各个环节,实现一体化的营销管理。商户可自主创建外卖菜单,配置营业时间、配送范围、配送费用等参数,顾客在微信上就能完成下单支付,商户则可通过系统后台接收顾客订单,实现便捷的订单管理。

2、餐饮外卖小程序有哪些营销功能?

在会员营销方面,餐饮外卖小程序,提供了强大的会员营销功能,比如积分商城和优惠买单等,帮助商户深化会员运营,提升会员复购。

比如商户可借助餐饮外卖小程序的会员能力实现会员等级、会员管理、会员社交营销等,进行精准的拓客留存。同时,餐饮外卖小程序还上线了“积分商城”,商户可运用“积分奖励”刺激会员消费,通过积分商城有效沉淀会员,提升用户忠诚度。

另外,餐饮外卖小程序上线了“优惠买单”功能,通过买单场景的“支付即关注”,助力商户沉淀线上线下流量,同时也为外卖顾客提供更加全面的服务。

小程序开发推荐深圳素与简科技有限公司(www.suyujane.com)多年软件开发经验,海量的开发案例可供参考,看得见的开发经验,让客户更加的省心省力。技术团队都是10年开发工程师,完善的售后服务体系,保障项目开发顺利进行。

收起阅读 »

关于uniapp获取应用版本号

昨天要写app的版本升级,没有找到获取versionCode的方法,也是钻了牛角尖,找了半天发现根本没有这个方法,那怎么办呢。
其实可以这样,手动把版本号与版本名称对应,比如,应用版本名称是1.0.0,版本号就写成100,1.0.1就对应101,这样,用plus.runtime.version就可以获取到版本名称,格式是1.1.1这样,然后(plus.runtime.version).split('.').join('');就是对应的版本号了。

继续阅读 »

昨天要写app的版本升级,没有找到获取versionCode的方法,也是钻了牛角尖,找了半天发现根本没有这个方法,那怎么办呢。
其实可以这样,手动把版本号与版本名称对应,比如,应用版本名称是1.0.0,版本号就写成100,1.0.1就对应101,这样,用plus.runtime.version就可以获取到版本名称,格式是1.1.1这样,然后(plus.runtime.version).split('.').join('');就是对应的版本号了。

收起阅读 »

Windows: sass/scss插件安装问题的解决方案

scss sass sass安装失败 sass无法安装 sass安装报错

如果您不会npm,最省事的解决办法:直接看本文第三节


sass、scss插件在windows下的国内环境,有时会因为连不上npm服务器导致下载失败。解决方案如下:

1. sass安装失败

有的小伙伴安装sass插件,提示如下;

不要着急,根据提示来。

解决方法1:

如果您本机安装了npm,那就执行此步骤。否则参考解决方法2。打开命令行,进入HBuilderX\plugins\compile-node-sass目录

npm install

如果还报错,查看报错日志,有可能是网络原因,也有可能是npm版本的问题。那就试试解决方法2

解决方法2:

在HBuilderX中,按下alt + C,打开终端,进入plugins\compile-node-sass目录,执行npm install

如果还安装不上,有可能是npm版本的问题, 使用HBuilderX 自带的npm试试。直接在compile-node-sass目录输入如下命令

 ..\npm\npm install

2. 安装sass插件后,报错,提示:编译scss文件提示:\node-sass-china\vendor\win32-x64-64\binding.node缺失

近来,有部分用户反馈sass/scss插件安装后,编译scss文件提示:\node-sass-china\vendor\win32-x64-64\binding.node缺失。

问题截图:

解决方法1:

打开命令行,进入HBuilderX\plugins\compile-node-sass目录,删除node_modules,执行npm install重新安装

注意: npm不要使用淘宝源,npm淘宝源,安装有问题。

> npm config set registry https://registry.npmjs.org  
> npm install

解决办法2:

  1. 在HBuilderX安装目录下,进入\plugins\compile-node-sass\node_modules\node-sass-china\vendor目录
  2. 手动创建目录
  3. 然后到github node-sass https://github.com/sass/node-sass/releases 手动下载相关版本binding.node
  4. 把下载的文件放到相关目录,然后重命名为:binding.node
  5. 重启hx

3. windows Sass安装终极解决方案:

如果上面的两个解决方案还不行,小编已经将本机安装好的sass插件,打包成压缩包了。下载解压即可。

见附件的zip压缩包: sass压缩包下载地址

将压缩包里的compile-node-sass目录解压到HBuilderX安装目录下的\plugins目录。比如C:\HBuilderX\plugins下。

4. 卸载sass失败

还有小伙伴反应,在插件安装中,卸载sass插件,提示卸载失败

那有可能是node被占用了,关闭HBuilderX,并关闭掉HBuilderX所有相关的进程,特别是node进程。然后重启HBuilderX再试

uni-app cli项目的sass/scss安装

cli项目的编译器是安装在项目下的,不是HBuilderX的插件。

所以cli项目安装scss等插件需要在项目下npm手动安装。这个插件npm安装时确实经常连不上,可能需要翻墙。如果实在搞不定,建议换为HBuilderX创建项目,或把cli项目的src拖入HBuilderX,使用HBuilderX的插件来编译。

继续阅读 »

如果您不会npm,最省事的解决办法:直接看本文第三节


sass、scss插件在windows下的国内环境,有时会因为连不上npm服务器导致下载失败。解决方案如下:

1. sass安装失败

有的小伙伴安装sass插件,提示如下;

不要着急,根据提示来。

解决方法1:

如果您本机安装了npm,那就执行此步骤。否则参考解决方法2。打开命令行,进入HBuilderX\plugins\compile-node-sass目录

npm install

如果还报错,查看报错日志,有可能是网络原因,也有可能是npm版本的问题。那就试试解决方法2

解决方法2:

在HBuilderX中,按下alt + C,打开终端,进入plugins\compile-node-sass目录,执行npm install

如果还安装不上,有可能是npm版本的问题, 使用HBuilderX 自带的npm试试。直接在compile-node-sass目录输入如下命令

 ..\npm\npm install

2. 安装sass插件后,报错,提示:编译scss文件提示:\node-sass-china\vendor\win32-x64-64\binding.node缺失

近来,有部分用户反馈sass/scss插件安装后,编译scss文件提示:\node-sass-china\vendor\win32-x64-64\binding.node缺失。

问题截图:

解决方法1:

打开命令行,进入HBuilderX\plugins\compile-node-sass目录,删除node_modules,执行npm install重新安装

注意: npm不要使用淘宝源,npm淘宝源,安装有问题。

> npm config set registry https://registry.npmjs.org  
> npm install

解决办法2:

  1. 在HBuilderX安装目录下,进入\plugins\compile-node-sass\node_modules\node-sass-china\vendor目录
  2. 手动创建目录
  3. 然后到github node-sass https://github.com/sass/node-sass/releases 手动下载相关版本binding.node
  4. 把下载的文件放到相关目录,然后重命名为:binding.node
  5. 重启hx

3. windows Sass安装终极解决方案:

如果上面的两个解决方案还不行,小编已经将本机安装好的sass插件,打包成压缩包了。下载解压即可。

见附件的zip压缩包: sass压缩包下载地址

将压缩包里的compile-node-sass目录解压到HBuilderX安装目录下的\plugins目录。比如C:\HBuilderX\plugins下。

4. 卸载sass失败

还有小伙伴反应,在插件安装中,卸载sass插件,提示卸载失败

那有可能是node被占用了,关闭HBuilderX,并关闭掉HBuilderX所有相关的进程,特别是node进程。然后重启HBuilderX再试

uni-app cli项目的sass/scss安装

cli项目的编译器是安装在项目下的,不是HBuilderX的插件。

所以cli项目安装scss等插件需要在项目下npm手动安装。这个插件npm安装时确实经常连不上,可能需要翻墙。如果实在搞不定,建议换为HBuilderX创建项目,或把cli项目的src拖入HBuilderX,使用HBuilderX的插件来编译。

收起阅读 »

素与简科技:分享三种不常见的小程序商城系统功能

小程序

小程序商城系统作为一个线上商城系统,商品展示、购买下单、微信支付、后台管理等线上商城的基本功能,这些功能只是基础功能,想要运营好小程序商城这些功能肯定是不够的,而运营商城那我们需要的功能就要有很多了,例如会员管理,分销,积分,砍价,拼团等都是商城运营需要的功能,当然,线下的支持也是少不了的,这里小编要介绍的是小程序商城的其它不常见却极其适用的功能。

1、定位功能

大家都知道小程序开发者开发了“附近的小程序”,而其是在地理位置定位的技术支撑下实现的。

小程序商城系统当然也该有着这种技术来支持,用LBS定位的技术提供最后一公里的服务,会员根据这个定位可以选择周边门店的购物服务,门店就可以提供配送自提或者预约的服务,这种模式就将小程序商城的线上线下定位体现得淋漓尽致。

2、特殊推广功能

各种商城系统都有自己的推广模式,不过大多会存在相同或相似的情况。

而小程序商城系统拥有自己的线上营销推广与营销活动模式,其营销中心除了拥有商品满额或者满件促销、优惠券促销等基本促销模式,还能根据会员等级分级促销、支持店铺推送营销等特别功能,线上的推广渠道较宽,能较好提升用户成单率与回购率。

3、打通供销平台

微信小程序商城系统打造的是采购与销售一体化的平台。

除了供应商与门店资源进行整合之外,还能想消费者推荐附近门店服务,将商家的供应链条与商家跟消费者之间的信息链条打通,用提供服务来获得效益,让信息更能及时传送,商品流通环节减少,为商家以及消费者都带来利益。

小程序开发推荐深圳素与简科技有限公司(www.suyujane.com)多年软件开发经验,海量的开发案例可供参考,看得见的开发经验,让客户更加的省心省力。技术团队都是10年开发工程师,完善的售后服务体系,保障项目开发顺利进行。

继续阅读 »

小程序商城系统作为一个线上商城系统,商品展示、购买下单、微信支付、后台管理等线上商城的基本功能,这些功能只是基础功能,想要运营好小程序商城这些功能肯定是不够的,而运营商城那我们需要的功能就要有很多了,例如会员管理,分销,积分,砍价,拼团等都是商城运营需要的功能,当然,线下的支持也是少不了的,这里小编要介绍的是小程序商城的其它不常见却极其适用的功能。

1、定位功能

大家都知道小程序开发者开发了“附近的小程序”,而其是在地理位置定位的技术支撑下实现的。

小程序商城系统当然也该有着这种技术来支持,用LBS定位的技术提供最后一公里的服务,会员根据这个定位可以选择周边门店的购物服务,门店就可以提供配送自提或者预约的服务,这种模式就将小程序商城的线上线下定位体现得淋漓尽致。

2、特殊推广功能

各种商城系统都有自己的推广模式,不过大多会存在相同或相似的情况。

而小程序商城系统拥有自己的线上营销推广与营销活动模式,其营销中心除了拥有商品满额或者满件促销、优惠券促销等基本促销模式,还能根据会员等级分级促销、支持店铺推送营销等特别功能,线上的推广渠道较宽,能较好提升用户成单率与回购率。

3、打通供销平台

微信小程序商城系统打造的是采购与销售一体化的平台。

除了供应商与门店资源进行整合之外,还能想消费者推荐附近门店服务,将商家的供应链条与商家跟消费者之间的信息链条打通,用提供服务来获得效益,让信息更能及时传送,商品流通环节减少,为商家以及消费者都带来利益。

小程序开发推荐深圳素与简科技有限公司(www.suyujane.com)多年软件开发经验,海量的开发案例可供参考,看得见的开发经验,让客户更加的省心省力。技术团队都是10年开发工程师,完善的售后服务体系,保障项目开发顺利进行。

收起阅读 »

监听状态栏通知代码,android

Native.JS 通知栏 监听
new Vue({  
        el: '#app',  
        data(){  
            return{  
                auth: false,  
                listening: false,  
                main:'',  
                msg: {},  
                callBackUrl:''  

            }  
        },  
        created() {  
            // 初始化  
            this.init()  
        },  
        methods: {  
            init(){  
                var that = this  
                document.addEventListener('plusready', function(){  
                    //  导入android类对象  
                    var Intent = plus.android.importClass("android.content.Intent");  
                    var context = plus.android.importClass("android.content.Context");//获取上下文  
                    var ComponentName = plus.android.importClass("android.content.ComponentName");  
                    var PackageManager = plus.android.importClass("android.content.pm.PackageManager");  
                    var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");  
                    var IntentFilter = plus.android.importClass('android.content.IntentFilter'); //引入过滤器  
                    var Intent = plus.android.importClass('android.content.Intent');  
                    var ActivityManager = plus.android.importClass("android.app.ActivityManager");  
                    plus.android.importClass("java.util.List");  
                    plus.android.importClass("java.util.Set");  
                    // 获取主Activity对象的实例  
                    that.main = plus.android.runtimeMainActivity();  
                    var filter = new IntentFilter();  
                    var intent = new Intent();  
                    //启动短信监听  
                    intent.setClassName(that.main, "com.cnupai.listen.server.WeChatNotificationListenerService");  
                    that.main.startService(intent);   

                    //检测通知权限是否打开  
                    function isNotificationListenerServiceEnabled(){  
                        var packageNames = NotificationManagerCompat.getEnabledListenerPackages(that.main);  
                        if (packageNames.contains(that.main.getPackageName())) {  
                            console.log(1);  
                            that.auth = true;  
                        }else{  
                            console.log(0);  
                            that.auth = false;  
                            var Intent = plus.android.importClass('android.content.Intent');  
                            that.main.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));  
                        }  
                    };  
                    //重新绑定 reBind  
                    var thisComponent = new ComponentName(that.main, "com.cnupai.listen.server.WeChatNotificationListenerService" )  
                    var pm = that.main.getPackageManager();  
                    pm.setComponentEnabledSetting(thisComponent, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);  
                    pm.setComponentEnabledSetting(thisComponent, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);  

                    var receiver = plus.android.implements("io.dcloud.feature.internal.reflect.BroadcastReceiver",{  
                        onReceive:function(context,intent){  
                            plus.android.importClass(intent);  
                            //console.log(intent.getExtra("notificationInfo"));  
                            that.msg = JSON.parse(intent.getExtra("notificationInfo"));  
                            axios.post(that.callBackUrl, that.msg).then(res=>{  
                                console.log(res);  
                            }).catch(e=>{  
                                console.log(e);  
                            });  
                            //that.msgList =  [JSON.parse(intent.getExtra("notificationInfo"))].concat(that.msgList);  
                        }  
                    });   
                    filter.addAction('location.reportsucc') //监听扫码广播  
                    that.main.registerReceiver(receiver, filter); //注册监听        
                    //检测是否在运行  
                    function isServiceRunning(){  
                        var activityManager=that.main.getSystemService(context.ACTIVITY_SERVICE);  
                        that.listening = plus.android.invoke('com.cnupai.listen.server.Util', 'isServiceRunning', activityManager, 'com.cnupai.listen.server.WeChatNotificationListenerService');  
                        if(that.listening){  
                            console.log('监听中');  
                        }else{  
                            console.log('未监听,重新绑定');  
                            //that.main.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));  
                            intent.setClassName(that.main, "com.cnupai.listen.server.WeChatNotificationListenerService");  
                            /** 退出Activity是,停止服务 */  
                            //main.stopService(intent);  
                            that.main.startService(intent);   
                        }  
                    };  
                    setInterval(isServiceRunning, 3000);  
                    setInterval(isNotificationListenerServiceEnabled, 3000);  
                });  
            },  
            openAuth(){  
                var Intent = plus.android.importClass('android.content.Intent');  
                this.main.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));  
            }  
        }  
    })  
继续阅读 »
new Vue({  
        el: '#app',  
        data(){  
            return{  
                auth: false,  
                listening: false,  
                main:'',  
                msg: {},  
                callBackUrl:''  

            }  
        },  
        created() {  
            // 初始化  
            this.init()  
        },  
        methods: {  
            init(){  
                var that = this  
                document.addEventListener('plusready', function(){  
                    //  导入android类对象  
                    var Intent = plus.android.importClass("android.content.Intent");  
                    var context = plus.android.importClass("android.content.Context");//获取上下文  
                    var ComponentName = plus.android.importClass("android.content.ComponentName");  
                    var PackageManager = plus.android.importClass("android.content.pm.PackageManager");  
                    var NotificationManagerCompat = plus.android.importClass("android.support.v4.app.NotificationManagerCompat");  
                    var IntentFilter = plus.android.importClass('android.content.IntentFilter'); //引入过滤器  
                    var Intent = plus.android.importClass('android.content.Intent');  
                    var ActivityManager = plus.android.importClass("android.app.ActivityManager");  
                    plus.android.importClass("java.util.List");  
                    plus.android.importClass("java.util.Set");  
                    // 获取主Activity对象的实例  
                    that.main = plus.android.runtimeMainActivity();  
                    var filter = new IntentFilter();  
                    var intent = new Intent();  
                    //启动短信监听  
                    intent.setClassName(that.main, "com.cnupai.listen.server.WeChatNotificationListenerService");  
                    that.main.startService(intent);   

                    //检测通知权限是否打开  
                    function isNotificationListenerServiceEnabled(){  
                        var packageNames = NotificationManagerCompat.getEnabledListenerPackages(that.main);  
                        if (packageNames.contains(that.main.getPackageName())) {  
                            console.log(1);  
                            that.auth = true;  
                        }else{  
                            console.log(0);  
                            that.auth = false;  
                            var Intent = plus.android.importClass('android.content.Intent');  
                            that.main.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));  
                        }  
                    };  
                    //重新绑定 reBind  
                    var thisComponent = new ComponentName(that.main, "com.cnupai.listen.server.WeChatNotificationListenerService" )  
                    var pm = that.main.getPackageManager();  
                    pm.setComponentEnabledSetting(thisComponent, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);  
                    pm.setComponentEnabledSetting(thisComponent, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);  

                    var receiver = plus.android.implements("io.dcloud.feature.internal.reflect.BroadcastReceiver",{  
                        onReceive:function(context,intent){  
                            plus.android.importClass(intent);  
                            //console.log(intent.getExtra("notificationInfo"));  
                            that.msg = JSON.parse(intent.getExtra("notificationInfo"));  
                            axios.post(that.callBackUrl, that.msg).then(res=>{  
                                console.log(res);  
                            }).catch(e=>{  
                                console.log(e);  
                            });  
                            //that.msgList =  [JSON.parse(intent.getExtra("notificationInfo"))].concat(that.msgList);  
                        }  
                    });   
                    filter.addAction('location.reportsucc') //监听扫码广播  
                    that.main.registerReceiver(receiver, filter); //注册监听        
                    //检测是否在运行  
                    function isServiceRunning(){  
                        var activityManager=that.main.getSystemService(context.ACTIVITY_SERVICE);  
                        that.listening = plus.android.invoke('com.cnupai.listen.server.Util', 'isServiceRunning', activityManager, 'com.cnupai.listen.server.WeChatNotificationListenerService');  
                        if(that.listening){  
                            console.log('监听中');  
                        }else{  
                            console.log('未监听,重新绑定');  
                            //that.main.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));  
                            intent.setClassName(that.main, "com.cnupai.listen.server.WeChatNotificationListenerService");  
                            /** 退出Activity是,停止服务 */  
                            //main.stopService(intent);  
                            that.main.startService(intent);   
                        }  
                    };  
                    setInterval(isServiceRunning, 3000);  
                    setInterval(isNotificationListenerServiceEnabled, 3000);  
                });  
            },  
            openAuth(){  
                var Intent = plus.android.importClass('android.content.Intent');  
                this.main.startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));  
            }  
        }  
    })  
收起阅读 »

素与简科技:微信小程序商城开发,必须开发哪些功能模块?

微信 小程序

  业内很多企业都希望进入小程序市场发展,并结合行业特点,很多人会考虑以小程序商城的形式进入。因此,微信小程序商城的发展已成为他们进入这个市场的第一步。但是,在开发之前,我们仍然需要了解必须在商场中开发哪些功能模块?

  在小型程序商城中可以实现哪些功能模块?在了解了功能实现的一般情况后,进行商城开发计划相对容易。

  1、微信小程序商城必须开发哪些功能模块?

  当微信小程序商城被定制用于开发时,必须开发一些不容错过的功能。根据完整的在线购物交易流程分析,我们可以知道必须用于完成整个交易过程的功能是:产品管理、购物结算、订单管理、在线支付、售后管理。只有当这些功能全部可用时,才能实现整个事务处理,因此它们是必须开发的功能。此外,商场管理和会员管理也是必要的。商城的一些基础设施建设需要开发商城管理功能来支持,而用户管理也需要会员管理功能来支持。因此,它们也需要开发和应用。

  2、微信小程序商城开发可以实现功能模块吗?

  除了必须开发的上述功能之外,还可以开发和实现微信小程序商城开发项目。例如,可以在商场中嵌入能够支持三级分发的分发系统;标签管理功能、数据管理功能、营销管理功能、点管理、权限管理等也是可实现的功能模块,可以自行选择,按需定制将更符合实际需要。

  总之,在决定定制微信小程序商城的开发之后,最好首先了解它可以实现哪些功能,需要哪些功能,哪些功能不需要自己,然后根据这些可能分析小程序商城制定发展计划,并制定小规模发展的具体方向。

  微信小程序开发推荐深圳素与简科技有限公司(www.suyujane.com)多年软件开发经验,海量的开发案例可供参考,看得见的开发经验,让客户更加的省心省力。技术团队都是10年开发工程师,完善的售后服务体系,保障项目开发顺利进行。

继续阅读 »

  业内很多企业都希望进入小程序市场发展,并结合行业特点,很多人会考虑以小程序商城的形式进入。因此,微信小程序商城的发展已成为他们进入这个市场的第一步。但是,在开发之前,我们仍然需要了解必须在商场中开发哪些功能模块?

  在小型程序商城中可以实现哪些功能模块?在了解了功能实现的一般情况后,进行商城开发计划相对容易。

  1、微信小程序商城必须开发哪些功能模块?

  当微信小程序商城被定制用于开发时,必须开发一些不容错过的功能。根据完整的在线购物交易流程分析,我们可以知道必须用于完成整个交易过程的功能是:产品管理、购物结算、订单管理、在线支付、售后管理。只有当这些功能全部可用时,才能实现整个事务处理,因此它们是必须开发的功能。此外,商场管理和会员管理也是必要的。商城的一些基础设施建设需要开发商城管理功能来支持,而用户管理也需要会员管理功能来支持。因此,它们也需要开发和应用。

  2、微信小程序商城开发可以实现功能模块吗?

  除了必须开发的上述功能之外,还可以开发和实现微信小程序商城开发项目。例如,可以在商场中嵌入能够支持三级分发的分发系统;标签管理功能、数据管理功能、营销管理功能、点管理、权限管理等也是可实现的功能模块,可以自行选择,按需定制将更符合实际需要。

  总之,在决定定制微信小程序商城的开发之后,最好首先了解它可以实现哪些功能,需要哪些功能,哪些功能不需要自己,然后根据这些可能分析小程序商城制定发展计划,并制定小规模发展的具体方向。

  微信小程序开发推荐深圳素与简科技有限公司(www.suyujane.com)多年软件开发经验,海量的开发案例可供参考,看得见的开发经验,让客户更加的省心省力。技术团队都是10年开发工程师,完善的售后服务体系,保障项目开发顺利进行。

收起阅读 »

uniapp怎么获取tabbar的单击事件??

uniapp

如题,请教大佬

如题,请教大佬

如何快速开发属于自己的app?|力谱云

5+App开发

“定制一个App,费用好高啊!”
“定制App,周期好长啊”
“我们要组建一个APP开发团队,但是现在的人力成本好高啊!”
条条都在诉说着APP制作的艰难性。
过去开发App门槛高,几十万上百万,伤不起
这几年,移动互联网发展得如火如荼,开发一款APP成为大部分公司所需。然而,技术要求太高、开发人员稀缺、制作成本高、进度太慢、门槛太多等因素,这些问题正是很多中小型企业现阶段的痛点,APP开发并非易事。
几年前,企业制作一款App是土豪和移动开发者的专利。在移动互联网快速发展的这几年,越来越多的开发者努力学习java、C++这些热门开发工具,将一行行代码变成用户青睐的App应用。
而随着移动互联网的快速发展,更多的创业者对App开发要求越来越高,拥有一款属于自己的手机App,是抢占创业先机的重要一步!然而,原生App开发难度大,周期长,成本高,还没上线市场已经被占领了。

市场发展催生App快速制作平台

那么有没有一个平台,可以花很短时间更少预算,制作出一款适合企业的App,并且不断更新版本,后期维护成本也低呢?
回答是肯定的。市场的发展必然会引起新兴产品的诞生,云服务提供商也不断的发展。国内外的SaaS企业纷纷推出了在线制作App的功能,功能强大,操作步骤也比较简单。

快、好、省快速打造企业App

力谱云是由上海力谱宿云信息科技有限公司旗下的一款强大的APP制作平台> 。“无需编程知识,快速制作您的App”这是力谱云(LeapCloud)打出的企业口号。其彻底打破了以往的技术限制,强大之处在于可以让一个不具备编程能力、UI设计能力的人在很短的时间内就能开发出原生的App,最终提交到苹果或Android的应用程序商店。力谱云拥有丰富的应用模块,满足电商、服务、教育、咨询和社交等行业的需求。同时,力谱云还整合微官网、小程序,让商家全面覆盖移动互联网。

力谱云同时为开发者带来了更好的开发解决办法,平台中多种开发工具、全类别的第三方服务商使App开发变得简便、快速。后期的运维费用也相对较低,这也使得企业将精力放在商业模式的制定与运营上,提高了整体效率。

继续阅读 »

“定制一个App,费用好高啊!”
“定制App,周期好长啊”
“我们要组建一个APP开发团队,但是现在的人力成本好高啊!”
条条都在诉说着APP制作的艰难性。
过去开发App门槛高,几十万上百万,伤不起
这几年,移动互联网发展得如火如荼,开发一款APP成为大部分公司所需。然而,技术要求太高、开发人员稀缺、制作成本高、进度太慢、门槛太多等因素,这些问题正是很多中小型企业现阶段的痛点,APP开发并非易事。
几年前,企业制作一款App是土豪和移动开发者的专利。在移动互联网快速发展的这几年,越来越多的开发者努力学习java、C++这些热门开发工具,将一行行代码变成用户青睐的App应用。
而随着移动互联网的快速发展,更多的创业者对App开发要求越来越高,拥有一款属于自己的手机App,是抢占创业先机的重要一步!然而,原生App开发难度大,周期长,成本高,还没上线市场已经被占领了。

市场发展催生App快速制作平台

那么有没有一个平台,可以花很短时间更少预算,制作出一款适合企业的App,并且不断更新版本,后期维护成本也低呢?
回答是肯定的。市场的发展必然会引起新兴产品的诞生,云服务提供商也不断的发展。国内外的SaaS企业纷纷推出了在线制作App的功能,功能强大,操作步骤也比较简单。

快、好、省快速打造企业App

力谱云是由上海力谱宿云信息科技有限公司旗下的一款强大的APP制作平台> 。“无需编程知识,快速制作您的App”这是力谱云(LeapCloud)打出的企业口号。其彻底打破了以往的技术限制,强大之处在于可以让一个不具备编程能力、UI设计能力的人在很短的时间内就能开发出原生的App,最终提交到苹果或Android的应用程序商店。力谱云拥有丰富的应用模块,满足电商、服务、教育、咨询和社交等行业的需求。同时,力谱云还整合微官网、小程序,让商家全面覆盖移动互联网。

力谱云同时为开发者带来了更好的开发解决办法,平台中多种开发工具、全类别的第三方服务商使App开发变得简便、快速。后期的运维费用也相对较低,这也使得企业将精力放在商业模式的制定与运营上,提高了整体效率。

收起阅读 »

HBuliderX html闭合标签

1.写html标签或者自定义标签时希望添加自动闭合;

  1. 比如写class名称,后面输入‘=’,自动带出“”号
    这些是个人优化建议

1.写html标签或者自定义标签时希望添加自动闭合;

  1. 比如写class名称,后面输入‘=’,自动带出“”号
    这些是个人优化建议

HBuilderX技巧:利用外部命令,可以做哪些事?

HBuilderX HBuilderX技巧 外部命令 markdown转pdf

本帖文档已集成到: hx产品文档

外部命令能干什么呢?

外部命令可以让您在HBuilderX中通过菜单、快捷键等方式调用外部程序或命令行

使用场景

  • 压缩文件与解压
  • 压缩图片
  • 文档转换(比如markdown转pdf)
  • 调用python、shell脚本
  • 打开本地的某个程序
  • 传输文件到服务器
  • 操作服务器的某些服务(如启动、停止、重启nginx)
  • 下载文件
  • 安装apk到手机
  • 上传应用到应用分发网站(比如蒲公英)
  • 批量压缩
  • 其它的自动化操作
  • 上传文件到七牛云、阿里云等

外部命令在哪里?

菜单【工具】-->【外部命令】-->【自定义外部命令】

如下图,您可以看到几个例子

外部命令怎么用?

最后再介绍吧,先看几个例子。

例子1:压缩、解压

windows例子:

注意: windows的软件大部分安装在Program Files目录,需要注意空格与斜杠。如下例子

[{  
    "name": "文件: 压缩7z格式",  
    "command": "\"C:/Program\ Files/7-Zip/7z.exe\" a ${file}.7z ${file}",  
    "type": "process",  
    "key": ""  
  },  
  {  
    "name": "文件: 压缩zip格式",  
    "command": [  
      "C:/Program Files/7-Zip/7z.exe",  
      "a",  
      "${file}.zip",  
      "${file}"  
    ],  
    "type": "process",  
    "key": ""  
  },  
  {  
    "name": "文件: 解压",  
    "command": "\"C:/Program Files/7-Zip/7z.exe\" x ${file}",  
    "type": "shell",  
    "key": ""  
  }  
]  

Mac例子:

[  
  {  
    "name": "压缩目录为bz2",  
    "command": "cd ${fileDir} && tar -jcvf ${fileBasename}.tar.bz2 ${fileBasename}",  
    "type": "terminal",  
    "key": "alt+shift+e"  
  },  
  {  
    "name": "解压zip包",  
    "command": "unzip ${file}",  
    "type": "terminal",  
    "key": "alt+shift+e"  
  }  
]

例子2:调用外部python、shell等脚本

[{  
  "name":"调用python脚本",  
  "command":"python script.py",  
  "type" : "terminal",  
  "key":"alt+shift+p"  
  }]

例子3: 调用TinyPNG无损压缩图片

大部分情况下, 图片都是需要压缩的,为了 更快的打开网页,节省流量
推荐:TinyPNGg官网 无损压缩,良心网站,每月500张免费。

如下所示:YOUR_API_KEY是你申请的key, --output 可以指定目录文件名,注意如果和当前图片路径一致,会覆盖原先图片

[{  
      "name":"调用TinyPNG无损压缩图片",  
      "command":"curl --user api:YOUR_API_KEY --data-binary @${file} -i https://api.tinify.com/shrink --output ${file}",  
      "type" : "terminal",  
      "key":"alt+shift+m"  
  }]

注意:curl是mac自带的命令,windows上如需使用curl,请下载curl 安装

例子4:下载文件

mac上下载文件的命令有:wget、curl
windows上下载文件的命令是:bitsadmin.exe

[{  
      "name":"下载文件",  
      "command":"wget -c ${userInput:输入要下载的地址url}",  
      "type" : "terminal",  
      "key":"alt+shift+m"  
  }]

注意: ${userInput:弹框说明} 会在当前屏幕弹框,可以输入内容

例子5: Mac: 复制项目到远程linux服务器

scp是linux和mac上才能用的命令,windows上不可以使用哦

[{  
      "name":"scp传输项目到服务器",  
      "command":"scp -r ${projectDir} 用户名@ip:服务器目录路径",  
      "type" : "terminal",  
      "key":"alt+shift+m"  
  }]

例子6: 远程linux服务器 重启/启动nginx服务

[{  
      "name":"远程服务器重启nginx",  
      "command":"ssh 用户@ip '/opt/nginx/sbin/nginx -s reload'",  
      "type" : "terminal",  
      "key":""  
  },  
{  
      "name":"远程服务器重启nginx",  
      "command":"ssh 用户@ip '/opt/nginx/sbin/nginx'",  
      "type" : "terminal",  
      "key":""  
  }]

例子7: 使用pandoc转markdown为pdf、doc、html

pandoc是什么?
pandoc是一个软件,是一个能把千奇百怪的文档格式互相转换的神器,是一把文档转换的瑞士军刀。
安装后,可以通过命令调用。pandoc官网

pandoc结合外部命令的例子

[{  
    "name": "Pandoc转md为pdf",  
    "command": "pandoc ${file} -o ${fileBasename}.pdf",  
    "type": "terminal",  
    "key": ""  
  },  
  {  
    "name": "Pandoc转md为doc",  
    "command": "pandoc ${file} -o ${fileBasename}.docx",  
    "type": "terminal",  
    "key": ""  
  },  
  {  
    "name": "Pandoc转md为html",  
    "command": "pandoc ${file} -o ${fileBasename}.html",  
    "type": "terminal",  
    "key": ""  
  }  
]

例子8: 安装apk到Android手机

[  
  {  
    "name": "安装apk到android手机",  
    "command": "adb install ${file}",  
    "type": "terminal",  
    "key": ""  
    }  
]

例子9: 【蒲公英】内测应用上传

[  
{  
    "name": "【蒲公英】内测应用上传",  
    "command": "curl -F 'file=@${file}' -F 'uKey=xxxxxxx' -F '_api_key=xxxxxx' https://upload.pgyer.com/apiv1/app/upload",  
    "type": "terminal",  
    "key": "alt+shift+m"  
    }  
]

说明:uKey_api_key需要自己申请。 网址:https://www.pgyer.com/doc/api

例子10:使用ftp

参考网友贡献http://ask.dcloud.net.cn/article/35459

例子11:使用颜色选择器

该插件目前无需外部命令配置,具体见其文档:http://ext.dcloud.net.cn/plugin?id=146

例子12: 批量压缩js文件

find是mac上的命令。windows请自行编写批处理

[{    
    "name": "js批量压缩",    
    "command": "for i in `find ${projectDir} -path ${projectDir}'/unpackage' -prune -o -name '*.js' -and ! -iname '*.min.js'`;do `/Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/compress-babel-minify/node_modules/.bin/minify ${i} --out-file ${i%.js*}.min.js 2>/dev/null`;[ $? -ne 0 ] && echo && echo '压缩错误的文件:'${i}; done",    
    "type": "shell",    
    "key": "alt+shift+e"    
}]  

外部命令通过key配置快捷键

如上的例子,key,可以配置快捷键哦

{  
      "name":"scp传输项目到服务器",  
      "command":"scp -r ${projectDir} 用户名@ip:服务器目录路径",  
      "type" : "terminal",  
      "key":"alt+shift+m"  
  }

外部命令简介

点击菜单【工具】-->【外部命令】-->【自定义外部命令】,就可以自定义外部命令

官方已经提供了非常详细的说明,赶快去探索吧

使用外部命令注意事项

因为变量和快捷键,所以外部命令强大。

//------------外部命令 变量说明------------//  
"command"、"workingDir"中可使用预定义的变量来获取当前文件的路径信息  
${file} 当前文件的完整路径,比如 D:\files\test.txt  
${fileName} 当前文件的文件名,比如 test.txt  
${fileExtension}    当前文件的扩展名,比如 txt  
${fileBasename} 当前文件仅包含文件名的部分,比如 test  
${fileDir} 当前文件所在目录的完整路径,比如 D:\files  
${projectDir} 当前文件所在项目的完整路径,只有当前文件是项目管理器中某个项目下的文件时才起作用

示例传送门

示例传送门,github

复制粘贴即可使用

继续阅读 »

本帖文档已集成到: hx产品文档

外部命令能干什么呢?

外部命令可以让您在HBuilderX中通过菜单、快捷键等方式调用外部程序或命令行

使用场景

  • 压缩文件与解压
  • 压缩图片
  • 文档转换(比如markdown转pdf)
  • 调用python、shell脚本
  • 打开本地的某个程序
  • 传输文件到服务器
  • 操作服务器的某些服务(如启动、停止、重启nginx)
  • 下载文件
  • 安装apk到手机
  • 上传应用到应用分发网站(比如蒲公英)
  • 批量压缩
  • 其它的自动化操作
  • 上传文件到七牛云、阿里云等

外部命令在哪里?

菜单【工具】-->【外部命令】-->【自定义外部命令】

如下图,您可以看到几个例子

外部命令怎么用?

最后再介绍吧,先看几个例子。

例子1:压缩、解压

windows例子:

注意: windows的软件大部分安装在Program Files目录,需要注意空格与斜杠。如下例子

[{  
    "name": "文件: 压缩7z格式",  
    "command": "\"C:/Program\ Files/7-Zip/7z.exe\" a ${file}.7z ${file}",  
    "type": "process",  
    "key": ""  
  },  
  {  
    "name": "文件: 压缩zip格式",  
    "command": [  
      "C:/Program Files/7-Zip/7z.exe",  
      "a",  
      "${file}.zip",  
      "${file}"  
    ],  
    "type": "process",  
    "key": ""  
  },  
  {  
    "name": "文件: 解压",  
    "command": "\"C:/Program Files/7-Zip/7z.exe\" x ${file}",  
    "type": "shell",  
    "key": ""  
  }  
]  

Mac例子:

[  
  {  
    "name": "压缩目录为bz2",  
    "command": "cd ${fileDir} && tar -jcvf ${fileBasename}.tar.bz2 ${fileBasename}",  
    "type": "terminal",  
    "key": "alt+shift+e"  
  },  
  {  
    "name": "解压zip包",  
    "command": "unzip ${file}",  
    "type": "terminal",  
    "key": "alt+shift+e"  
  }  
]

例子2:调用外部python、shell等脚本

[{  
  "name":"调用python脚本",  
  "command":"python script.py",  
  "type" : "terminal",  
  "key":"alt+shift+p"  
  }]

例子3: 调用TinyPNG无损压缩图片

大部分情况下, 图片都是需要压缩的,为了 更快的打开网页,节省流量
推荐:TinyPNGg官网 无损压缩,良心网站,每月500张免费。

如下所示:YOUR_API_KEY是你申请的key, --output 可以指定目录文件名,注意如果和当前图片路径一致,会覆盖原先图片

[{  
      "name":"调用TinyPNG无损压缩图片",  
      "command":"curl --user api:YOUR_API_KEY --data-binary @${file} -i https://api.tinify.com/shrink --output ${file}",  
      "type" : "terminal",  
      "key":"alt+shift+m"  
  }]

注意:curl是mac自带的命令,windows上如需使用curl,请下载curl 安装

例子4:下载文件

mac上下载文件的命令有:wget、curl
windows上下载文件的命令是:bitsadmin.exe

[{  
      "name":"下载文件",  
      "command":"wget -c ${userInput:输入要下载的地址url}",  
      "type" : "terminal",  
      "key":"alt+shift+m"  
  }]

注意: ${userInput:弹框说明} 会在当前屏幕弹框,可以输入内容

例子5: Mac: 复制项目到远程linux服务器

scp是linux和mac上才能用的命令,windows上不可以使用哦

[{  
      "name":"scp传输项目到服务器",  
      "command":"scp -r ${projectDir} 用户名@ip:服务器目录路径",  
      "type" : "terminal",  
      "key":"alt+shift+m"  
  }]

例子6: 远程linux服务器 重启/启动nginx服务

[{  
      "name":"远程服务器重启nginx",  
      "command":"ssh 用户@ip '/opt/nginx/sbin/nginx -s reload'",  
      "type" : "terminal",  
      "key":""  
  },  
{  
      "name":"远程服务器重启nginx",  
      "command":"ssh 用户@ip '/opt/nginx/sbin/nginx'",  
      "type" : "terminal",  
      "key":""  
  }]

例子7: 使用pandoc转markdown为pdf、doc、html

pandoc是什么?
pandoc是一个软件,是一个能把千奇百怪的文档格式互相转换的神器,是一把文档转换的瑞士军刀。
安装后,可以通过命令调用。pandoc官网

pandoc结合外部命令的例子

[{  
    "name": "Pandoc转md为pdf",  
    "command": "pandoc ${file} -o ${fileBasename}.pdf",  
    "type": "terminal",  
    "key": ""  
  },  
  {  
    "name": "Pandoc转md为doc",  
    "command": "pandoc ${file} -o ${fileBasename}.docx",  
    "type": "terminal",  
    "key": ""  
  },  
  {  
    "name": "Pandoc转md为html",  
    "command": "pandoc ${file} -o ${fileBasename}.html",  
    "type": "terminal",  
    "key": ""  
  }  
]

例子8: 安装apk到Android手机

[  
  {  
    "name": "安装apk到android手机",  
    "command": "adb install ${file}",  
    "type": "terminal",  
    "key": ""  
    }  
]

例子9: 【蒲公英】内测应用上传

[  
{  
    "name": "【蒲公英】内测应用上传",  
    "command": "curl -F 'file=@${file}' -F 'uKey=xxxxxxx' -F '_api_key=xxxxxx' https://upload.pgyer.com/apiv1/app/upload",  
    "type": "terminal",  
    "key": "alt+shift+m"  
    }  
]

说明:uKey_api_key需要自己申请。 网址:https://www.pgyer.com/doc/api

例子10:使用ftp

参考网友贡献http://ask.dcloud.net.cn/article/35459

例子11:使用颜色选择器

该插件目前无需外部命令配置,具体见其文档:http://ext.dcloud.net.cn/plugin?id=146

例子12: 批量压缩js文件

find是mac上的命令。windows请自行编写批处理

[{    
    "name": "js批量压缩",    
    "command": "for i in `find ${projectDir} -path ${projectDir}'/unpackage' -prune -o -name '*.js' -and ! -iname '*.min.js'`;do `/Applications/HBuilderX-Alpha.app/Contents/HBuilderX/plugins/compress-babel-minify/node_modules/.bin/minify ${i} --out-file ${i%.js*}.min.js 2>/dev/null`;[ $? -ne 0 ] && echo && echo '压缩错误的文件:'${i}; done",    
    "type": "shell",    
    "key": "alt+shift+e"    
}]  

外部命令通过key配置快捷键

如上的例子,key,可以配置快捷键哦

{  
      "name":"scp传输项目到服务器",  
      "command":"scp -r ${projectDir} 用户名@ip:服务器目录路径",  
      "type" : "terminal",  
      "key":"alt+shift+m"  
  }

外部命令简介

点击菜单【工具】-->【外部命令】-->【自定义外部命令】,就可以自定义外部命令

官方已经提供了非常详细的说明,赶快去探索吧

使用外部命令注意事项

因为变量和快捷键,所以外部命令强大。

//------------外部命令 变量说明------------//  
"command"、"workingDir"中可使用预定义的变量来获取当前文件的路径信息  
${file} 当前文件的完整路径,比如 D:\files\test.txt  
${fileName} 当前文件的文件名,比如 test.txt  
${fileExtension}    当前文件的扩展名,比如 txt  
${fileBasename} 当前文件仅包含文件名的部分,比如 test  
${fileDir} 当前文件所在目录的完整路径,比如 D:\files  
${projectDir} 当前文件所在项目的完整路径,只有当前文件是项目管理器中某个项目下的文件时才起作用

示例传送门

示例传送门,github

复制粘贴即可使用

收起阅读 »

HBuilderX外部命令+flashfxp实现FTP上传文件和目录

HBuilderX FTP

HX非常好用,但是FTP插件一直没出来,好在可以用外部命令功能做一个。其实就是唤醒flashfxp实现FTP上传文件和目录,高手请绕路。
第一步:在HX的外部命令中增加一项

[  
    {  
        "name":"上传",  
        "command":["D:/test.bat(第二步的bat文件的绝对路径)", "输入你的FTP账号", "输入你的FTP密码", "输入你的FTP服务器IP", "端口", "/", "${fileName}", "${file}", "${fileExtension}", "${projectDir}"],  
        "type": "shell"  
    }  
]

第二步:把下面的命令保存为bat文件

@echo off  
set path=这里替换成你的flashfxp的安装路径;%path%  
setlocal enabledelayedexpansion  
set wjmc=%6  
set xmlj=%9  
if "%8"=="""" (  
set bdlj=%7\  
) else (  
set bdlj=%7  
)  
set yclj=!bdlj:%xmlj%=!  
set yclj=%yclj:\=/%  
flashfxp.exe -c2 -upload ftp://%1:%2@%3:%4 -localpath="%bdlj%"  -remotepath="%yclj%"  
exit

完成之后在项目管理器中点文件右键--外部命令--上传

选择的是文件就是上传文件,选择的是目录就会上传整个目录和子目录里的所有文件。
下载的功能也差不多,我就不放出来了。本来想用ftp命令做的,但被动模式没搞定。
希望官方尽快出个ftp插件,最好有同步功能,毕竟对于运行在虚拟主机里的普通企业网站来说,ftp是最省事的了。

继续阅读 »

HX非常好用,但是FTP插件一直没出来,好在可以用外部命令功能做一个。其实就是唤醒flashfxp实现FTP上传文件和目录,高手请绕路。
第一步:在HX的外部命令中增加一项

[  
    {  
        "name":"上传",  
        "command":["D:/test.bat(第二步的bat文件的绝对路径)", "输入你的FTP账号", "输入你的FTP密码", "输入你的FTP服务器IP", "端口", "/", "${fileName}", "${file}", "${fileExtension}", "${projectDir}"],  
        "type": "shell"  
    }  
]

第二步:把下面的命令保存为bat文件

@echo off  
set path=这里替换成你的flashfxp的安装路径;%path%  
setlocal enabledelayedexpansion  
set wjmc=%6  
set xmlj=%9  
if "%8"=="""" (  
set bdlj=%7\  
) else (  
set bdlj=%7  
)  
set yclj=!bdlj:%xmlj%=!  
set yclj=%yclj:\=/%  
flashfxp.exe -c2 -upload ftp://%1:%2@%3:%4 -localpath="%bdlj%"  -remotepath="%yclj%"  
exit

完成之后在项目管理器中点文件右键--外部命令--上传

选择的是文件就是上传文件,选择的是目录就会上传整个目录和子目录里的所有文件。
下载的功能也差不多,我就不放出来了。本来想用ftp命令做的,但被动模式没搞定。
希望官方尽快出个ftp插件,最好有同步功能,毕竟对于运行在虚拟主机里的普通企业网站来说,ftp是最省事的了。

收起阅读 »

如何开发一个会展小程序?

小程序

随着小程序市场反映效果特别好,越来越多企业和商家都会选择小程序开发,来达到自己某些目的。像会展小程序开发,都特别适合举办方和参展商。那么,会展小程序开发优势都有哪些?

1、参展商优势

参加展会的商家在交完场地费之后,肯定是想着营销参展客户。由于展会上面竞争对手特别多,为了比竞争对手更有产品卖点,肯定是要对自己参展位置精心布置一翻。通过举办方小程序当中展会参展商位置可以清楚看到,自己附近同行竞争对手,定制好作战方案,并且自己开发小程序。通过小程序推广来更多客户找到自己展位,自己的产品。

2、举办方优势

会展小程序其实就是一种特别好的营销工具,举办方在会展举行之前,提前推广这个小程序,让更多的人通过二维码扫描进入到小程序当中

3、会展小程序紧跟时代

现在人们都处于互联网时代,一个会展只通过线下推广肯定是没有特别好效果,到时候参展人员肯定不是很多,但是用小程序就不一样了,线下海报、宣传单、报纸等等印上带有小程序二维码,让更多人了解道,最近有一个展会要开办,有些人就会把这个消息宣传出去。可以说不进行小程序开发,等于被时代抛弃了。

小程序开发推荐深圳素与简科技有限公司(微电:18565892738)多年软件开发经验,海量的开发案例可供参考,看得见的开发经验,让客户更加的省心省力。技术团队都是10年开发工程师,完善的售后服务体系,保障项目开发顺利进行。

继续阅读 »

随着小程序市场反映效果特别好,越来越多企业和商家都会选择小程序开发,来达到自己某些目的。像会展小程序开发,都特别适合举办方和参展商。那么,会展小程序开发优势都有哪些?

1、参展商优势

参加展会的商家在交完场地费之后,肯定是想着营销参展客户。由于展会上面竞争对手特别多,为了比竞争对手更有产品卖点,肯定是要对自己参展位置精心布置一翻。通过举办方小程序当中展会参展商位置可以清楚看到,自己附近同行竞争对手,定制好作战方案,并且自己开发小程序。通过小程序推广来更多客户找到自己展位,自己的产品。

2、举办方优势

会展小程序其实就是一种特别好的营销工具,举办方在会展举行之前,提前推广这个小程序,让更多的人通过二维码扫描进入到小程序当中

3、会展小程序紧跟时代

现在人们都处于互联网时代,一个会展只通过线下推广肯定是没有特别好效果,到时候参展人员肯定不是很多,但是用小程序就不一样了,线下海报、宣传单、报纸等等印上带有小程序二维码,让更多人了解道,最近有一个展会要开办,有些人就会把这个消息宣传出去。可以说不进行小程序开发,等于被时代抛弃了。

小程序开发推荐深圳素与简科技有限公司(微电:18565892738)多年软件开发经验,海量的开发案例可供参考,看得见的开发经验,让客户更加的省心省力。技术团队都是10年开发工程师,完善的售后服务体系,保障项目开发顺利进行。

收起阅读 »