HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

uni-simple-router路由需要重装才能正常导航的问题

我在进行vue项目转uniapp项目重构路由时,使用uni-simple-router^2.0.6来替代vue-router,uni-read-pages^1.0.5附带一起安装。
按照教程下架插件,复制示例项目里的router.js,util.js。在自己项目的main.js导入{router,RouterMount}并按模板应用,导入、应用。
这时我完成了三个页面登录页、重置密码、注册,在我使用路由插件前我有使用uview的跳转组件运行跳转,路由插件导入后替换为this.$Router.push,做完的三个页面在push的时候正常跳转。

问题出在我在新加入了页面,然后想要this.$Router.push({name:"index"}),我发现跳转并没有起作用,还停留在原来的页面,多次点击尝试依然没有成功跳转到index,Hbuilder中也没有报错,在这push这一行下,写了log,也能正常输出,最早的三个页面还是能正确跳转。
仅将index替换为register,这行代码又能成功运行跳转到register页。我怀疑是我在pages的写的不对,在重写后依然无法成功执行this.$Router.push({name:"index"}),检查过确定没有写错,我再新增一个home页面,复制可以成功运行register页pages代码,仅替换路径和name。
再试依然无法成功执行push导航,使用uni-simple-router的routerErrorEach输出导航出错原因,输出error.type=2 ,msg显示正在跳转中,不能再次进行跳转,我在routerErrorEach使用router.$lockStatus=false;强制解锁,依然没有跳转。
只不过从每进行一次push报一次跳转中不能再跳转,变成两次push报一次跳转中不能再跳转,中间我进行了很多次尝试都无法成功跳转到index或home,最后我也不知道怎么想的,删除和重装现有的uni-simple-router和uni-read-pages,就能正常导航了。。。。

是的我确定我在重装插件前this.$Router.push({name:"index"})还是没有反应的,在
npm uninstall uni-simple-router
npm install -s uni-simple-router
后,就可以正常进行导航,之后我有重新建立新的页面和路径也不能成功push,再重装又都可以正常导航了。。。

总结下,现在就是我新建页面后不能正常导航,重装uni-simple-router就又可以了。
我技术能力有限,不知道这是什么问题导致的,如果有知道的朋友麻烦指点一下我。

继续阅读 »

我在进行vue项目转uniapp项目重构路由时,使用uni-simple-router^2.0.6来替代vue-router,uni-read-pages^1.0.5附带一起安装。
按照教程下架插件,复制示例项目里的router.js,util.js。在自己项目的main.js导入{router,RouterMount}并按模板应用,导入、应用。
这时我完成了三个页面登录页、重置密码、注册,在我使用路由插件前我有使用uview的跳转组件运行跳转,路由插件导入后替换为this.$Router.push,做完的三个页面在push的时候正常跳转。

问题出在我在新加入了页面,然后想要this.$Router.push({name:"index"}),我发现跳转并没有起作用,还停留在原来的页面,多次点击尝试依然没有成功跳转到index,Hbuilder中也没有报错,在这push这一行下,写了log,也能正常输出,最早的三个页面还是能正确跳转。
仅将index替换为register,这行代码又能成功运行跳转到register页。我怀疑是我在pages的写的不对,在重写后依然无法成功执行this.$Router.push({name:"index"}),检查过确定没有写错,我再新增一个home页面,复制可以成功运行register页pages代码,仅替换路径和name。
再试依然无法成功执行push导航,使用uni-simple-router的routerErrorEach输出导航出错原因,输出error.type=2 ,msg显示正在跳转中,不能再次进行跳转,我在routerErrorEach使用router.$lockStatus=false;强制解锁,依然没有跳转。
只不过从每进行一次push报一次跳转中不能再跳转,变成两次push报一次跳转中不能再跳转,中间我进行了很多次尝试都无法成功跳转到index或home,最后我也不知道怎么想的,删除和重装现有的uni-simple-router和uni-read-pages,就能正常导航了。。。。

是的我确定我在重装插件前this.$Router.push({name:"index"})还是没有反应的,在
npm uninstall uni-simple-router
npm install -s uni-simple-router
后,就可以正常进行导航,之后我有重新建立新的页面和路径也不能成功push,再重装又都可以正常导航了。。。

总结下,现在就是我新建页面后不能正常导航,重装uni-simple-router就又可以了。
我技术能力有限,不知道这是什么问题导致的,如果有知道的朋友麻烦指点一下我。

收起阅读 »

网约车APP制作核心功能

App

1.多种出行方式:网约车APP的出行选择可以有专车出行、快车出行、拼车出行。
2.预估车费:选择出发地点和出发目的地,可以直接计算出行程、时间和车费。
3.预约用车:若用户在未来几个小时候有需要用车,可以提前预约时间段,可以让司机师傅去上车地点接人。
4.查看司机:打开APP即可查看用户自身离周边最近有多少车辆。
5.账户充值:APP可以出一些优惠活动,引导用户充值,让用户更加省钱车行。
6.评估服务:可以根据用户提供的建议弥补平台的不足,从而更精进app服务。
7.线上支付:用户可以根据自己合适的支付方式,选择扣除车费。
8.地图导航:用可以通过APP定位知道自己当前的位置和要去的目的地,司机师傅可以根据用户定位上车地点前去接客户上车,两者都可以显示具体的距离和时间。

继续阅读 »

1.多种出行方式:网约车APP的出行选择可以有专车出行、快车出行、拼车出行。
2.预估车费:选择出发地点和出发目的地,可以直接计算出行程、时间和车费。
3.预约用车:若用户在未来几个小时候有需要用车,可以提前预约时间段,可以让司机师傅去上车地点接人。
4.查看司机:打开APP即可查看用户自身离周边最近有多少车辆。
5.账户充值:APP可以出一些优惠活动,引导用户充值,让用户更加省钱车行。
6.评估服务:可以根据用户提供的建议弥补平台的不足,从而更精进app服务。
7.线上支付:用户可以根据自己合适的支付方式,选择扣除车费。
8.地图导航:用可以通过APP定位知道自己当前的位置和要去的目的地,司机师傅可以根据用户定位上车地点前去接客户上车,两者都可以显示具体的距离和时间。

收起阅读 »

网约车APP定制开发系统搭建

App

1、地址位置定位功能
一般需要打车服务的人通常都会先了解当前所在的位置,以及目的地的位置,这样才能够了解到到达目的地的具体时间,避免错过一些关键的会议或者是展会等等,网约车APP开发实现了位置的实时定位,让用户快速了解具体位置并进行智能定位功能。
2、具体价格时长展示
用户通过定位之后,可以在网约车APP软件上了解当前路程所需要花费的时间以及所需要支付的金额等等信息,这些透明化的价格服务展示能够方便用户做出判断,确定该路程的使用打车服务的性价比是否合乎自身需求。
3、在线预约功能
网约车APP软件会为用户提供便捷的线上预约服务,预约的车辆型号有多种类型,例如顺风车、专车以及快车等等都会为用户展示出来,让用户可以自由进行关于打车服务的选择预约。
4、打车平台流程管理功能
对于打车平台来说,网约车APP开发能够帮助平台实现多个打车流程的管理,例如订单方面以及出租车接单匹配等等方面,有效提供平台整体的运营效率。

继续阅读 »

1、地址位置定位功能
一般需要打车服务的人通常都会先了解当前所在的位置,以及目的地的位置,这样才能够了解到到达目的地的具体时间,避免错过一些关键的会议或者是展会等等,网约车APP开发实现了位置的实时定位,让用户快速了解具体位置并进行智能定位功能。
2、具体价格时长展示
用户通过定位之后,可以在网约车APP软件上了解当前路程所需要花费的时间以及所需要支付的金额等等信息,这些透明化的价格服务展示能够方便用户做出判断,确定该路程的使用打车服务的性价比是否合乎自身需求。
3、在线预约功能
网约车APP软件会为用户提供便捷的线上预约服务,预约的车辆型号有多种类型,例如顺风车、专车以及快车等等都会为用户展示出来,让用户可以自由进行关于打车服务的选择预约。
4、打车平台流程管理功能
对于打车平台来说,网约车APP开发能够帮助平台实现多个打车流程的管理,例如订单方面以及出租车接单匹配等等方面,有效提供平台整体的运营效率。

收起阅读 »

【南京】招聘uniapp 开发工程师2年以上工作经验薪资13-18k 非外包!

招聘

【急聘】办公地址:南京栖霞区紫东国际创业园C15栋
双休,不加班!
招聘熟练使用uniapp的工程师,负责app、小程序开发。
学历不限,只看能力!

有兴趣的联系
微信:huasheng600
手机号:13167185077

【急聘】办公地址:南京栖霞区紫东国际创业园C15栋
双休,不加班!
招聘熟练使用uniapp的工程师,负责app、小程序开发。
学历不限,只看能力!

有兴趣的联系
微信:huasheng600
手机号:13167185077

滴滴打车网约车平台定制开发

源码

近年来,在一线城市中出现了打车难的问题,打车APP开发给市场提供了良好的市场发展前景,我们只做高端定制APP,那么常见打车APP主要有哪些功能呢?
  空车列表
  打车APP LBS定位功能为车主、用户定位所在位置,在用户产生达成需求的时候,能够通过设定搜索范围,空车列表会为用户定位显示附近的空车内容,其中包括空车的车牌、司机联系方式、当前位置等。
  打车预约
  用户能够通过在线呼叫电召中心进行预约司机服务,在预约界面中,为用户定位所在位置的定制,电召中心能够为司机标出准确的位置信息。
  设置
  用户可以设置系统的刷新时间与搜索半径,考虑到的士行驶的速度与接通电话所花费的时间,因此推荐将搜索半径设置成500米。
  地图
  打车APP定制开发能够实现调用第三方的地图功能,为用户直观显示出用户与空车之间的位置关系,以及的士行驶的方向等信息,并且帮助司机制定达到用户制定位置的路线,使得位置定位更加准确。

继续阅读 »

近年来,在一线城市中出现了打车难的问题,打车APP开发给市场提供了良好的市场发展前景,我们只做高端定制APP,那么常见打车APP主要有哪些功能呢?
  空车列表
  打车APP LBS定位功能为车主、用户定位所在位置,在用户产生达成需求的时候,能够通过设定搜索范围,空车列表会为用户定位显示附近的空车内容,其中包括空车的车牌、司机联系方式、当前位置等。
  打车预约
  用户能够通过在线呼叫电召中心进行预约司机服务,在预约界面中,为用户定位所在位置的定制,电召中心能够为司机标出准确的位置信息。
  设置
  用户可以设置系统的刷新时间与搜索半径,考虑到的士行驶的速度与接通电话所花费的时间,因此推荐将搜索半径设置成500米。
  地图
  打车APP定制开发能够实现调用第三方的地图功能,为用户直观显示出用户与空车之间的位置关系,以及的士行驶的方向等信息,并且帮助司机制定达到用户制定位置的路线,使得位置定位更加准确。

收起阅读 »

滴打车T3出行APP定制开发

移动APP

滴滴打车APP开发成本做软件手叽壹伍玖玖叁捌柒叁叁伍捌与功能难易、数量有关
  早期的滴滴打车APP仅有打车功能,单一功能开发成本比较低,但是后期慢慢完善,现在增加了很多功能比如滴滴专车、滴滴快车、顺风车、代驾、公交、租车以及滴滴优享功能,这已经是涵盖了多个业务在内的一站式出行平台,所以更名为“滴滴出行”。如果是要开发这么多功能,那么开发成本将会非常高,一般企业也很难去承担。艾艺认为其实大可不必开发一个和滴滴打车一模一样的APP,试想如果两个APP完全一样,为什么别人不去用滴滴打车APP呢?所以企业开发打车APP要根据实际情况,挖掘自身APP产品特色,而不是完全模仿。
开发做软件手叽壹伍玖玖叁捌柒叁叁伍捌类似滴滴打车APP成本
  如果一个打车APP功能包含实时定位、一键叫车、专车分类、预估价格、在线支付、订单评价/投诉;注册司机、接受派单、申请改派、个人中心等,那么开发这些功能的打车APP的成本不低于25万,如果再加上后期维护和修改费用,后期的报价要30万左右。当然如果采用模板直接来制作的话,可能需要10万左右,但是采用套版的方式来开发APP弊端更多,一般APP都是原生开发。

继续阅读 »

滴滴打车APP开发成本做软件手叽壹伍玖玖叁捌柒叁叁伍捌与功能难易、数量有关
  早期的滴滴打车APP仅有打车功能,单一功能开发成本比较低,但是后期慢慢完善,现在增加了很多功能比如滴滴专车、滴滴快车、顺风车、代驾、公交、租车以及滴滴优享功能,这已经是涵盖了多个业务在内的一站式出行平台,所以更名为“滴滴出行”。如果是要开发这么多功能,那么开发成本将会非常高,一般企业也很难去承担。艾艺认为其实大可不必开发一个和滴滴打车一模一样的APP,试想如果两个APP完全一样,为什么别人不去用滴滴打车APP呢?所以企业开发打车APP要根据实际情况,挖掘自身APP产品特色,而不是完全模仿。
开发做软件手叽壹伍玖玖叁捌柒叁叁伍捌类似滴滴打车APP成本
  如果一个打车APP功能包含实时定位、一键叫车、专车分类、预估价格、在线支付、订单评价/投诉;注册司机、接受派单、申请改派、个人中心等,那么开发这些功能的打车APP的成本不低于25万,如果再加上后期维护和修改费用,后期的报价要30万左右。当然如果采用模板直接来制作的话,可能需要10万左右,但是采用套版的方式来开发APP弊端更多,一般APP都是原生开发。

收起阅读 »

解决uniapp打包微信小程序无法在新版微信开发者工具预览问题


本来上周还好好的,今天更新了微信开发者工具后突然发现小程序无法预览了,搞了半天才从微信文档得知原因原来是增强编译的锅,从微信开发者工具更新日志可知,增强编译会导致压缩包体积过大从而无法预览,真的坑爹!!
解决办法有两种要么下载安装最新开发版的微信开发者工具,如果使用最新稳定版的就用下面的方法


由于最新稳定版的微信开发者工具已经没有了增强编译这个选项,所幸微信也提供了配置改回以前的版本,请看下图


"showES6CompileOption": true,//打开旧版 es6转es5以及增强编译选项模式
"enhance": false,//关闭增强编译
所以说,uniapp开发的话可以通过修改manifest.json里的配置实现以上操作


或者说直接从开发者工具中修改配置也行

继续阅读 »


本来上周还好好的,今天更新了微信开发者工具后突然发现小程序无法预览了,搞了半天才从微信文档得知原因原来是增强编译的锅,从微信开发者工具更新日志可知,增强编译会导致压缩包体积过大从而无法预览,真的坑爹!!
解决办法有两种要么下载安装最新开发版的微信开发者工具,如果使用最新稳定版的就用下面的方法


由于最新稳定版的微信开发者工具已经没有了增强编译这个选项,所幸微信也提供了配置改回以前的版本,请看下图


"showES6CompileOption": true,//打开旧版 es6转es5以及增强编译选项模式
"enhance": false,//关闭增强编译
所以说,uniapp开发的话可以通过修改manifest.json里的配置实现以上操作


或者说直接从开发者工具中修改配置也行

收起阅读 »

Android端通过plus.runtime.launchApplication启动其他APP时,参数传递及接收

Android端通过plus.runtime.launchApplication启动其他APP时,传参及接收参数:

1、启动应用并传递参数

      if (plus.runtime.isApplicationExist({ //根据包名判断应用是否安装  
                    pname: 'com.example.testbluetooth',  
                })) {  
                plus.runtime.launchApplication({ //根据包名启动Android原生开发的App  
                        pname: 'com.example.testbluetooth',  
                        extra:{  //要传递过去的参数  
                            title:'该参数由桥梁APP启动时传递'  
                        }  
                    },  
                    function(e) {  
                        console.log('Open system default browser failed: ' + e.message);  
                    }  
                );  
            }

2、原生APP端参数接收
uni-app应用启动时传递的参数在原生App启动页的onNewIntent(intent: Intent?)方法中接收

override fun onNewIntent(intent: Intent?) { //Uni-app通过包名启动时,传递的参数在该方法中获取  
        super.onNewIntent(intent)  
        Log.v("test","参数 title = "+intent!!.getStringExtra("title"))  
        Log.v("test",intent.extras.toString())  
    }

3、uni-app在APP.vue的onLaunch方法中通过plus.runtime.arguments获取启动时传递的参数

继续阅读 »

Android端通过plus.runtime.launchApplication启动其他APP时,传参及接收参数:

1、启动应用并传递参数

      if (plus.runtime.isApplicationExist({ //根据包名判断应用是否安装  
                    pname: 'com.example.testbluetooth',  
                })) {  
                plus.runtime.launchApplication({ //根据包名启动Android原生开发的App  
                        pname: 'com.example.testbluetooth',  
                        extra:{  //要传递过去的参数  
                            title:'该参数由桥梁APP启动时传递'  
                        }  
                    },  
                    function(e) {  
                        console.log('Open system default browser failed: ' + e.message);  
                    }  
                );  
            }

2、原生APP端参数接收
uni-app应用启动时传递的参数在原生App启动页的onNewIntent(intent: Intent?)方法中接收

override fun onNewIntent(intent: Intent?) { //Uni-app通过包名启动时,传递的参数在该方法中获取  
        super.onNewIntent(intent)  
        Log.v("test","参数 title = "+intent!!.getStringExtra("title"))  
        Log.v("test",intent.extras.toString())  
    }

3、uni-app在APP.vue的onLaunch方法中通过plus.runtime.arguments获取启动时传递的参数

收起阅读 »

非登录 tabbar跳转登录,

公司开发一套软件,用户未登录可以访问首页,未登录点击我的,未登录跳转登录页面,登录了就跳转我的,在我的里面做了判断,会闪一下我的界面在进入登录页,这样体验效果不是太好,这里只提供了 app
下面上代码:
uni.getSystemInfo({
success: (res) => {
this.view = new plus.nativeObj.View('test', {
bottom: '0px',
left: '0px',
height: (res.screenHeight - res.windowHeight)+'px',
width: '100%'
});
this.view.show();
// this.view.interceptTouchEvent(true)
// this.view.setTouchEventRect([{left: '0px',bottom: '0px'}])
this.view.addEventListener('click',() => {
uni.navigateTo({
url: '../sign/sign',
success: () => {
console.log(this)
this.view.hide();
this.view = null;
}
})
},false)
}
})

这样子未登录的时候就可以跳转到登录页面了

继续阅读 »

公司开发一套软件,用户未登录可以访问首页,未登录点击我的,未登录跳转登录页面,登录了就跳转我的,在我的里面做了判断,会闪一下我的界面在进入登录页,这样体验效果不是太好,这里只提供了 app
下面上代码:
uni.getSystemInfo({
success: (res) => {
this.view = new plus.nativeObj.View('test', {
bottom: '0px',
left: '0px',
height: (res.screenHeight - res.windowHeight)+'px',
width: '100%'
});
this.view.show();
// this.view.interceptTouchEvent(true)
// this.view.setTouchEventRect([{left: '0px',bottom: '0px'}])
this.view.addEventListener('click',() => {
uni.navigateTo({
url: '../sign/sign',
success: () => {
console.log(this)
this.view.hide();
this.view = null;
}
})
},false)
}
})

这样子未登录的时候就可以跳转到登录页面了

收起阅读 »

uniap unicloud npro mypui开发教学与经验分享

nvue

mypUI和nPro的作者不定时直播。讲解uniapp、unicloud、npro、mypUI的使用。有直播的时候会在此提前发布消息。谢谢各位支持。

wx:pptpdf

qq:382006503

视频号:马三又的又

前往nPro

7月3日直播回放

继续阅读 »

mypUI和nPro的作者不定时直播。讲解uniapp、unicloud、npro、mypUI的使用。有直播的时候会在此提前发布消息。谢谢各位支持。

wx:pptpdf

qq:382006503

视频号:马三又的又

前往nPro

7月3日直播回放

收起阅读 »

加油话费软件开发的弊端

小程序

:招募代理商,你有系统源码,你是零成本的,你可以往下把卡批发给你的代理商,自定义的设置不同面值,不同金额。以100面值的加油卡为例,起订2000张,单价3元每张,那纯利润6000。有的大客户,有很多资源的,你可以根据他的拿卡量自定义的设置价格,你是零成本的,只要赚进来的都是利润。
第二:零售给有车,需要经常加油的朋友。假如一张卡可以帮他们加油省下来100元,卖给他们一张20元。这个对车主是非常有吸引力的,就是大家要思考通过什么样的方式和渠道去让有需求的车主知道并找你买单。不过这个方法并不是多挣钱的途径。
第三:为实体店引流赋能。大家都知道,今年受疫情影响,很多线下实体店都举步维艰,面临生存发展的困难,甚至出现整条街大面积的店铺转让退租的情况!那么在这样的情况下,实体店可以如何通过一些活动,来拓客引流,如何通过一些方案提升店面消费,在2020年的大环境中求生发展呢?
抓住实体店当下需要拓客引流的痛点,我开始大批量的找到线下实体门店去谈合作。通过油卡来帮助他们做活动,刺激消费。

继续阅读 »

:招募代理商,你有系统源码,你是零成本的,你可以往下把卡批发给你的代理商,自定义的设置不同面值,不同金额。以100面值的加油卡为例,起订2000张,单价3元每张,那纯利润6000。有的大客户,有很多资源的,你可以根据他的拿卡量自定义的设置价格,你是零成本的,只要赚进来的都是利润。
第二:零售给有车,需要经常加油的朋友。假如一张卡可以帮他们加油省下来100元,卖给他们一张20元。这个对车主是非常有吸引力的,就是大家要思考通过什么样的方式和渠道去让有需求的车主知道并找你买单。不过这个方法并不是多挣钱的途径。
第三:为实体店引流赋能。大家都知道,今年受疫情影响,很多线下实体店都举步维艰,面临生存发展的困难,甚至出现整条街大面积的店铺转让退租的情况!那么在这样的情况下,实体店可以如何通过一些活动,来拓客引流,如何通过一些方案提升店面消费,在2020年的大环境中求生发展呢?
抓住实体店当下需要拓客引流的痛点,我开始大批量的找到线下实体门店去谈合作。通过油卡来帮助他们做活动,刺激消费。

收起阅读 »

uniapp使用jsonp解决跨域请求jsonp接口

第一步首先安装npm i vue-isonp -save

第二步 在main.js中引入
import {VueJsonp} from 'vue-jsonp'不好使就试试import VueJsonp from 'vue-jsonp'
Vue.use(VueJsonp)

第三步 接口调用时
getList() {
var that = this
var data={
你的传参
}
let url = "你的地址";
this.$jsonp(url, data) //jsonp请求
.then(res => {
console.log('+++++++++++',res)
})
.catch(error => {
console.log(error);
})
},

继续阅读 »

第一步首先安装npm i vue-isonp -save

第二步 在main.js中引入
import {VueJsonp} from 'vue-jsonp'不好使就试试import VueJsonp from 'vue-jsonp'
Vue.use(VueJsonp)

第三步 接口调用时
getList() {
var that = this
var data={
你的传参
}
let url = "你的地址";
this.$jsonp(url, data) //jsonp请求
.then(res => {
console.log('+++++++++++',res)
})
.catch(error => {
console.log(error);
})
},

收起阅读 »