HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

uniapp 文字滚动栏组件

组件 自定义组件

由于项目需要,公告自动滚动展示,在网上找了下,有些是可以实现的,
例如:

https://ask.dcloud.net.cn/article/35712
但是有点小问题:公共字数过长的话,展示不全。

还有的是使用css的动画效果实现,大家都知道css动画是指定了时间的,如果公告内容过多的话,会展示


所以重新写了一个组件,也有点瑕疵,就是公告滚动完之后再滚动下前会有一段的空白,后面再优化

组件地址:
git@codehub.devcloud.huaweicloud.com:uni-appComponent00001/uni-appDemo.git

使用方法:
1、将 /components/screenTextScroll.vuecopy到自己的项目中(components目录下)
2、在main.js中添加代码

import screenTextScroll from '@/components/screenTextScroll.vue'   
Vue.component('textscroll', screenTextScroll)

3、在需要使用的视图中调用

<textscroll :list="list" />

list为滚动的文字集合

继续阅读 »

由于项目需要,公告自动滚动展示,在网上找了下,有些是可以实现的,
例如:

https://ask.dcloud.net.cn/article/35712
但是有点小问题:公共字数过长的话,展示不全。

还有的是使用css的动画效果实现,大家都知道css动画是指定了时间的,如果公告内容过多的话,会展示


所以重新写了一个组件,也有点瑕疵,就是公告滚动完之后再滚动下前会有一段的空白,后面再优化

组件地址:
git@codehub.devcloud.huaweicloud.com:uni-appComponent00001/uni-appDemo.git

使用方法:
1、将 /components/screenTextScroll.vuecopy到自己的项目中(components目录下)
2、在main.js中添加代码

import screenTextScroll from '@/components/screenTextScroll.vue'   
Vue.component('textscroll', screenTextScroll)

3、在需要使用的视图中调用

<textscroll :list="list" />

list为滚动的文字集合

收起阅读 »

支付宝JSError收集

支付宝小程序

Uncaught TypeError: Cannot set property 'value' of undefined(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

undefined is not an object (evaluating 'this. vm. refs')(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

this.parent.setValue is not a function. (In 'this.parent.setValue(this.name)'; 'this.parent.setValue' is undefined)(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

e.split is not a function. (In 'e.split("_")'; 'e.split' is undefined)(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

TypeError: n.unshift is not a function. (In 'n.unshift(e.toUpperCase())'; 'n.unshift' is undefined)(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

TypeError: t.setNavigationBarTitle is not a function. (In 't.setNavigationBarTitle({title:e.getNavigateTitle()})'; 't.setNavigationBarTitle' is undefined)(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

继续阅读 »

Uncaught TypeError: Cannot set property 'value' of undefined(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

undefined is not an object (evaluating 'this. vm. refs')(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

this.parent.setValue is not a function. (In 'this.parent.setValue(this.name)'; 'this.parent.setValue' is undefined)(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

e.split is not a function. (In 'e.split("_")'; 'e.split' is undefined)(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

TypeError: n.unshift is not a function. (In 'n.unshift(e.toUpperCase())'; 'n.unshift' is undefined)(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

TypeError: t.setNavigationBarTitle is not a function. (In 't.setNavigationBarTitle({title:e.getNavigateTitle()})'; 't.setNavigationBarTitle' is undefined)(版本:1.1.46,文件:-,行:-,列:-,变量名:-,源代码:-)

收起阅读 »

抓包了几个影视接口,实现了一个简单影视加vip视频解析app!

下面分享几个效果图:


稍后我将把页面源码上传到插件市场
如有兴趣的欢迎交流:wx:ZHT131572

下面分享几个效果图:


稍后我将把页面源码上传到插件市场
如有兴趣的欢迎交流:wx:ZHT131572

关于uniapp 引用小程序发券插件的使用经验

参考 https://segmentfault.com/a/1190000021597074
参考 https://ask.dcloud.net.cn/question/101776

step 1:

在 manifest.json 中点击源码视图, 在 mp-weixin 里添加:

"plugins": {  
    "sendCoupon": {  
        "version": "1.1.5",  
        "provider": "wxf3f436ba9bd4be7b"  
    }  
}

step2:

在 pages.json 的 globalStyle 里添加

"usingComponents": {  
    "send-coupon": "plugin://sendCoupon/send-coupon"  
}

step3:

在需要调用插件的页面中调用, 按照微信的对接文档对接即可. 唯一需要注意的是, 发券的事件bindcustomevent改为 @customevent

<template>  
    <send-coupon  
        @customevent="getcoupon"  
        :send_coupon_params="send_coupon_params"  
        :sign="sign"  
        :send_coupon_merchant="send_coupon_merchant">  
        <view>领取</view>  
    </send-coupon>  
</template>
继续阅读 »

参考 https://segmentfault.com/a/1190000021597074
参考 https://ask.dcloud.net.cn/question/101776

step 1:

在 manifest.json 中点击源码视图, 在 mp-weixin 里添加:

"plugins": {  
    "sendCoupon": {  
        "version": "1.1.5",  
        "provider": "wxf3f436ba9bd4be7b"  
    }  
}

step2:

在 pages.json 的 globalStyle 里添加

"usingComponents": {  
    "send-coupon": "plugin://sendCoupon/send-coupon"  
}

step3:

在需要调用插件的页面中调用, 按照微信的对接文档对接即可. 唯一需要注意的是, 发券的事件bindcustomevent改为 @customevent

<template>  
    <send-coupon  
        @customevent="getcoupon"  
        :send_coupon_params="send_coupon_params"  
        :sign="sign"  
        :send_coupon_merchant="send_coupon_merchant">  
        <view>领取</view>  
    </send-coupon>  
</template>
收起阅读 »

移动端持续性后台定位

后台定位
                                                                                  **关于后台持续性定位几种方法**  

定时器

setInterval(callback, delay, rest)
Android ios 前台进程可以
后台 (锁屏)Android 没问题 ios 两分钟就会被kill(定时器) 但是APP没有被kill 从后台进入前台 立马被激活 原因放在最后面

递归

问题同上

H5+

废话不多说 上代码

第一步

实时监听地理位置
plus.geolocation.watchPosition(function(p) {
// 参数一 经度 参数二 纬度
that.sendMsgToWs(p.coords.latitude, p.coords.longitude);
uni.hideLoading()
}, function(e) {
console.log("监听位置变化信息失败:" + e.message);
}, {
'enableHighAccuracy': true,
'geocode': false,
'maximumAge': 2000,
});

enableHighAccuracy: (Boolean 类型 )是否高精确度获取位置信息
高精度获取表示需要使用更多的系统资源,默认值为false。

timeout: (Number 类型 )获取位置信息的超时时间
单位为毫秒(ms),默认值为不超时。如果在指定的时间内没有获取到位置信息则触发错误回调函数。

maximumAge: (Number 类型 )获取位置信息的间隔时间
单位为毫秒(ms),默认值为5000(即5秒)。调用plus.geolocation.watchPosition时为更新位置信息的间隔时间。 注意:在不同定位模块下支持范围值可能不同,如百度
定位模块的间隔范围为大于等于1秒,如果设置的值小于最小值则使用最小值。

provider: (String 类型 )优先使用的定位模块
可取以下供应者: "system":表示系统定位模块,支持wgs84坐标系; "baidu":表示百度定位模块,支持gcj02/bd09/bd09ll坐标系; "amap":表示高德定位模块,支持
gcj02坐标系。 默认值按以下优先顺序获取(amap>baidu>system),若指定的provider不存在或无效则返回错误回调。 注意:百度/高德定位模块需要配置百度/高德地图相
关参数才能正常使用。

第二步

第三步

自定义打包

第四部

提交到app store 可能会存在问题 原因就是后台持续性运行 苹果审核会不通过 解决了 会更新
2020年10月2日13:34:06 更新 (长时间使用GPS在后台运行可能显著减少电池寿命)加这么一句 要不appstore 会拒绝

                                                                                                                                                                                               97272442@qq.com  

                                                                                                                                                                                               HBuildx 2.8.8.20200820  

                                                                                                                                                                                              下回写window系统ios打包到App store  

                                                                                                                                                                                               2020年9月17日09:09:01  

苹果不支持后台运行的原因:

这是苹果bai的ios系统后台运行机制du问题,就因为这样,苹果系zhi统运行流畅不易卡顿。但不是说dao所有程序都是不支持后台运行的。
iOS中,实际上APP拥有四种后台模式,无论是哪一种后台机制,均需要利用苹果给予的相应后台接口实现。新系统中,开发者可以灵活利用多种后台接口(API)实现更加智能的应用操作。
无后台仅推送
  第一种后台方式为传统的无后台操作,仅有苹果推送机制,这种方式出现在iOS 3.x以下的大部分系统版本上。这个方式下,应用在按下Home键后即会关闭退出,其数据通过苹果搭建的推送服务器传输,并不需要应用后台运行。这种方式不太好的原因在于,每次推出后,重新进入均需要重新加载,虽然推送能够统一解决数据和信息的传输,但遇到需要频繁进入应用(如聊天APP)的时候便会显得体验不好。
墓碑式
  第二种方式为墓碑式的后台机制,这在iOS 4后被大量采用,也就是人们所说的伪多任务。这方式相比较第一种改进的地方在于,按下Home键至主界面后,应用随即进入后台,但其被冻结,并不能进行任何操作。
智能调度后台
  第三种为系统智能调度的后台,iOS 7新增的background fetch,这个后台接口在苹果WWDC 2013上有提及,其会根据用户行为自动调整达到效率最优的后台模式,能够处理不是很有时效性的信息获取。例如一些社交、新闻类的应用的后台信息更新,iOS系统便会根据应用启动频率、时间和当前网络和电量的状况来智能分配每个应用的后台获取频率和启动时长。
由于拥有该接口的应用的数据后台刷新操作是统一调度的,因此系统可以在一个进程里面获得多个应用的数据,类似统一的推送机制,这样就能够最大限度地省电。不过这个方式也有一个缺点,那便是开发者不能设定数据具体什么时候更新,因此这个后台方式只能应用在一些时效性和敏感度不高的地方。
真后台
  第四种方式便是真后台机制,但iOS的真后台与Android的后台机制是不一样的,为了兼顾系统体验和统一进程管理,iOS在这上面加入了众多的限制。大致拥有以下几个后台接口模式:
  1、Background Audio,这是后台的音频,这个很早之前便有,也是iOS设备中用得最多的后台应用,调用这个接口可以实现后台的音乐播放。
2、Location Services,这是后台的定位,系统会拥有统一页面进行管理。
  3、VoIP,后台语音服务,类似Skype通话应用需要调用,可进行后台的语音通话。
  4、Newsstand,报刊杂志后台自动下载更新,其能够自动实时更新。
5、Background Task Completion,这个接口早在iOS 4时候便拥有,其可以供任意类型的APP使用,不过在旧系统中,这个接口的后台限制运行时间仅为10分钟,意味着当应用退至后台,其后台运行仅能持续10分钟便会转至休眠状态。iOS 7中对这个接口作出了改变,原来的为连续10分钟,即不论你这10分钟内用户是否关闭屏幕进入休眠状态,应用仍然会在后台等待10分钟完结后推出,而新的改进为假如遇到关闭屏幕休眠的情况,这后台运行的10分钟便会跟随一同休眠,剩余的后台时间将会留待用户再一次唤醒设备才计算。这样后台运行的时间仍然为10分钟,但并不连续,这样做的优点为省电。
如现在有一些词典应用带有后台复制选词功能,实际上其是利用了这个接口,如果用户开启词典后并推出,即使屏幕关闭,但词典仍然在后台运行,电量消耗还是比较大的,在iOS 7上,这个问题可以得到解决。
  6、 Remote Notification,这是本次较大的一个改进接口,以往聊天类应用接受推送后点进去需要再收一次信息,这情况在QQ、微信等应用上最为明显。不过拥有了这个接口后,这情况将不复存在,以后推送将能够直接启动后台任务。值得注意的是remote notification支持silent notification(静默推送),这样dropbox这类同步应用可以在后台以最节能的模式实时静默同步了,类似布卡漫画这种也可以推送正在追的漫画的新章节并在后台静默下载,待到下载好再给用户发送一个本地推送,用户点开即看无需再联网。
  7、Background Transfer Service,后台上传下载。iOS最接近传统多任务的后台接口,可供任意类型的app调用,无时间限制。应用场景包括后台上传和下载数据,这使得游戏后台更新数据包,后台上传视频等等都成为可能,但是正如其名字,它只能用于处理上传下载这种传输类的任务,类似后台剪切板监控这种它就无能为力了。
总结
  以上便是iOS 7系统中最主要的后台机制,有部分是旧版iOS系统已经存在,现在也被沿用下来,而新增加的几个后台接口,进一步开放iOS设备的后台权限,不过为了继续保持iOS移动设备的优秀体验,苹果是逐步放开,并且加入了相应的限制。background fetch、Remote Notification、Background Transfer Service是三个比较有看头的后台接口,实际中,开发者可以灵活运用这些接口实现应用的智能后台服务,例如常见的地图应用可以开启定位(Location),其检测到用户进入到另外的城市便会自动进行后台的离线地图下载,通过Background Transfer Service接口。

继续阅读 »
                                                                                  **关于后台持续性定位几种方法**  

定时器

setInterval(callback, delay, rest)
Android ios 前台进程可以
后台 (锁屏)Android 没问题 ios 两分钟就会被kill(定时器) 但是APP没有被kill 从后台进入前台 立马被激活 原因放在最后面

递归

问题同上

H5+

废话不多说 上代码

第一步

实时监听地理位置
plus.geolocation.watchPosition(function(p) {
// 参数一 经度 参数二 纬度
that.sendMsgToWs(p.coords.latitude, p.coords.longitude);
uni.hideLoading()
}, function(e) {
console.log("监听位置变化信息失败:" + e.message);
}, {
'enableHighAccuracy': true,
'geocode': false,
'maximumAge': 2000,
});

enableHighAccuracy: (Boolean 类型 )是否高精确度获取位置信息
高精度获取表示需要使用更多的系统资源,默认值为false。

timeout: (Number 类型 )获取位置信息的超时时间
单位为毫秒(ms),默认值为不超时。如果在指定的时间内没有获取到位置信息则触发错误回调函数。

maximumAge: (Number 类型 )获取位置信息的间隔时间
单位为毫秒(ms),默认值为5000(即5秒)。调用plus.geolocation.watchPosition时为更新位置信息的间隔时间。 注意:在不同定位模块下支持范围值可能不同,如百度
定位模块的间隔范围为大于等于1秒,如果设置的值小于最小值则使用最小值。

provider: (String 类型 )优先使用的定位模块
可取以下供应者: "system":表示系统定位模块,支持wgs84坐标系; "baidu":表示百度定位模块,支持gcj02/bd09/bd09ll坐标系; "amap":表示高德定位模块,支持
gcj02坐标系。 默认值按以下优先顺序获取(amap>baidu>system),若指定的provider不存在或无效则返回错误回调。 注意:百度/高德定位模块需要配置百度/高德地图相
关参数才能正常使用。

第二步

第三步

自定义打包

第四部

提交到app store 可能会存在问题 原因就是后台持续性运行 苹果审核会不通过 解决了 会更新
2020年10月2日13:34:06 更新 (长时间使用GPS在后台运行可能显著减少电池寿命)加这么一句 要不appstore 会拒绝

                                                                                                                                                                                               97272442@qq.com  

                                                                                                                                                                                               HBuildx 2.8.8.20200820  

                                                                                                                                                                                              下回写window系统ios打包到App store  

                                                                                                                                                                                               2020年9月17日09:09:01  

苹果不支持后台运行的原因:

这是苹果bai的ios系统后台运行机制du问题,就因为这样,苹果系zhi统运行流畅不易卡顿。但不是说dao所有程序都是不支持后台运行的。
iOS中,实际上APP拥有四种后台模式,无论是哪一种后台机制,均需要利用苹果给予的相应后台接口实现。新系统中,开发者可以灵活利用多种后台接口(API)实现更加智能的应用操作。
无后台仅推送
  第一种后台方式为传统的无后台操作,仅有苹果推送机制,这种方式出现在iOS 3.x以下的大部分系统版本上。这个方式下,应用在按下Home键后即会关闭退出,其数据通过苹果搭建的推送服务器传输,并不需要应用后台运行。这种方式不太好的原因在于,每次推出后,重新进入均需要重新加载,虽然推送能够统一解决数据和信息的传输,但遇到需要频繁进入应用(如聊天APP)的时候便会显得体验不好。
墓碑式
  第二种方式为墓碑式的后台机制,这在iOS 4后被大量采用,也就是人们所说的伪多任务。这方式相比较第一种改进的地方在于,按下Home键至主界面后,应用随即进入后台,但其被冻结,并不能进行任何操作。
智能调度后台
  第三种为系统智能调度的后台,iOS 7新增的background fetch,这个后台接口在苹果WWDC 2013上有提及,其会根据用户行为自动调整达到效率最优的后台模式,能够处理不是很有时效性的信息获取。例如一些社交、新闻类的应用的后台信息更新,iOS系统便会根据应用启动频率、时间和当前网络和电量的状况来智能分配每个应用的后台获取频率和启动时长。
由于拥有该接口的应用的数据后台刷新操作是统一调度的,因此系统可以在一个进程里面获得多个应用的数据,类似统一的推送机制,这样就能够最大限度地省电。不过这个方式也有一个缺点,那便是开发者不能设定数据具体什么时候更新,因此这个后台方式只能应用在一些时效性和敏感度不高的地方。
真后台
  第四种方式便是真后台机制,但iOS的真后台与Android的后台机制是不一样的,为了兼顾系统体验和统一进程管理,iOS在这上面加入了众多的限制。大致拥有以下几个后台接口模式:
  1、Background Audio,这是后台的音频,这个很早之前便有,也是iOS设备中用得最多的后台应用,调用这个接口可以实现后台的音乐播放。
2、Location Services,这是后台的定位,系统会拥有统一页面进行管理。
  3、VoIP,后台语音服务,类似Skype通话应用需要调用,可进行后台的语音通话。
  4、Newsstand,报刊杂志后台自动下载更新,其能够自动实时更新。
5、Background Task Completion,这个接口早在iOS 4时候便拥有,其可以供任意类型的APP使用,不过在旧系统中,这个接口的后台限制运行时间仅为10分钟,意味着当应用退至后台,其后台运行仅能持续10分钟便会转至休眠状态。iOS 7中对这个接口作出了改变,原来的为连续10分钟,即不论你这10分钟内用户是否关闭屏幕进入休眠状态,应用仍然会在后台等待10分钟完结后推出,而新的改进为假如遇到关闭屏幕休眠的情况,这后台运行的10分钟便会跟随一同休眠,剩余的后台时间将会留待用户再一次唤醒设备才计算。这样后台运行的时间仍然为10分钟,但并不连续,这样做的优点为省电。
如现在有一些词典应用带有后台复制选词功能,实际上其是利用了这个接口,如果用户开启词典后并推出,即使屏幕关闭,但词典仍然在后台运行,电量消耗还是比较大的,在iOS 7上,这个问题可以得到解决。
  6、 Remote Notification,这是本次较大的一个改进接口,以往聊天类应用接受推送后点进去需要再收一次信息,这情况在QQ、微信等应用上最为明显。不过拥有了这个接口后,这情况将不复存在,以后推送将能够直接启动后台任务。值得注意的是remote notification支持silent notification(静默推送),这样dropbox这类同步应用可以在后台以最节能的模式实时静默同步了,类似布卡漫画这种也可以推送正在追的漫画的新章节并在后台静默下载,待到下载好再给用户发送一个本地推送,用户点开即看无需再联网。
  7、Background Transfer Service,后台上传下载。iOS最接近传统多任务的后台接口,可供任意类型的app调用,无时间限制。应用场景包括后台上传和下载数据,这使得游戏后台更新数据包,后台上传视频等等都成为可能,但是正如其名字,它只能用于处理上传下载这种传输类的任务,类似后台剪切板监控这种它就无能为力了。
总结
  以上便是iOS 7系统中最主要的后台机制,有部分是旧版iOS系统已经存在,现在也被沿用下来,而新增加的几个后台接口,进一步开放iOS设备的后台权限,不过为了继续保持iOS移动设备的优秀体验,苹果是逐步放开,并且加入了相应的限制。background fetch、Remote Notification、Background Transfer Service是三个比较有看头的后台接口,实际中,开发者可以灵活运用这些接口实现应用的智能后台服务,例如常见的地图应用可以开启定位(Location),其检测到用户进入到另外的城市便会自动进行后台的离线地图下载,通过Background Transfer Service接口。

收起阅读 »

解决uni.report is not a function,uni.report()报错

uniapp

一般这个错误都是vue-cli安装 + npm开发时出现的

manifest.json里面加上

"uniStatistics": {
"enable": true
}

然后重新npm run就行

一般这个错误都是vue-cli安装 + npm开发时出现的

manifest.json里面加上

"uniStatistics": {
"enable": true
}

然后重新npm run就行

寻技术大牛vue开发视频网站 预算2w以内

Vue 短视频

用vue开发移动端的视频点播网站 有相关案例也可以来 预算2w以内

qq 1084717488

用vue开发移动端的视频点播网站 有相关案例也可以来 预算2w以内

qq 1084717488

推荐一个超好用的编程学习网站

后端

jsrun 小白教程 可以搜索jsrun ,JSRUN 里面有四十多种编程相关教程 ,免费学习

jsrun 小白教程 可以搜索jsrun ,JSRUN 里面有四十多种编程相关教程 ,免费学习

【大白话讲解】什么是push和传统的http、websocket有什么区别。

uniCloud Runtime Push

什么是push
1.我们先聊一下互联网通讯的三种方式:

  • http、websocket、push
  • http
最为常见;就像生活中去信箱找信件,找之前不确定是否存在,反复查看。就如同网页等待最新消息需要不断的刷新。即一次请求一次响应,不请求则无响应。通讯简单确定不能被动接受到最新数据状态。


  • websocket
允许服务端主动向客户端推送数据。APP和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。优点:可被动接受到最新数据状态。


  • push
因websocket在移动端应用有局限性。手机会因为电量、网络、手机内存等原因让手机APP处于休眠或停止状态,从而断开持久性连接。而push是一种服务端与手机系统与APP三者之间的持久性连接。即使应用与服务端断开连接,服务端可以将消息push给手机系统重新激活与APP的通讯。


  • so? why? what?那么什么是unipush呢?
我们都知道苹果手机的硬件厂商就苹果公司一家。而安卓手机单国内就有:华为、小米、vivo、oppo、魅族,这五大手机生产厂家。那push应该如何去和各大手机产生连接呢?让程序员写5种代码分别去给这5家标准不同的厂家推送消息?因此就诞生了unipush它就是个万金油,开发者只需要将消息推给unipush,就能实现对这5款手机品牌的消息推送。另外他还集成了FCM。

快速使用unipush可用看一下这个插件:
https://ext.dcloud.net.cn/plugin?id=1680

机智的你肯定还想到用push做一个永久免费的im吧!请看这个插件:https://ext.dcloud.net.cn/plugin?id=2670

案例的APK下载地址: https://vkceyugu.cdn.bspapp.com/VKCEYUGU-uchat/5b202710-ef99-11ea-b680-7980c8a877b8.apk

继续阅读 »

什么是push
1.我们先聊一下互联网通讯的三种方式:

  • http、websocket、push
  • http
最为常见;就像生活中去信箱找信件,找之前不确定是否存在,反复查看。就如同网页等待最新消息需要不断的刷新。即一次请求一次响应,不请求则无响应。通讯简单确定不能被动接受到最新数据状态。


  • websocket
允许服务端主动向客户端推送数据。APP和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。优点:可被动接受到最新数据状态。


  • push
因websocket在移动端应用有局限性。手机会因为电量、网络、手机内存等原因让手机APP处于休眠或停止状态,从而断开持久性连接。而push是一种服务端与手机系统与APP三者之间的持久性连接。即使应用与服务端断开连接,服务端可以将消息push给手机系统重新激活与APP的通讯。


  • so? why? what?那么什么是unipush呢?
我们都知道苹果手机的硬件厂商就苹果公司一家。而安卓手机单国内就有:华为、小米、vivo、oppo、魅族,这五大手机生产厂家。那push应该如何去和各大手机产生连接呢?让程序员写5种代码分别去给这5家标准不同的厂家推送消息?因此就诞生了unipush它就是个万金油,开发者只需要将消息推给unipush,就能实现对这5款手机品牌的消息推送。另外他还集成了FCM。

快速使用unipush可用看一下这个插件:
https://ext.dcloud.net.cn/plugin?id=1680

机智的你肯定还想到用push做一个永久免费的im吧!请看这个插件:https://ext.dcloud.net.cn/plugin?id=2670

案例的APK下载地址: https://vkceyugu.cdn.bspapp.com/VKCEYUGU-uchat/5b202710-ef99-11ea-b680-7980c8a877b8.apk

收起阅读 »

dcloud scss/sass 编译失败

sass无法安装

1.安装插件 https://ext.dcloud.net.cn/plugin?id=2046

  1. 下载 解压 到 /Applications/HBuilderX.app/Contents/HBuilderX/plugins
  2. 改名 compile-node-sass
  3. 执行
    5.>mkdir -p /Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass/node_modules/node-sass-china/vendor/darwin-x64-57
    6.>cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass/node_modules/node-sass-china/vendor/darwin-x64-57
    7.>curl -o binding.node http://cdn.npm.taobao.org/dist/node-sass/v4.7.2/darwin-x64-57_binding.node
  4. 完成
继续阅读 »

1.安装插件 https://ext.dcloud.net.cn/plugin?id=2046

  1. 下载 解压 到 /Applications/HBuilderX.app/Contents/HBuilderX/plugins
  2. 改名 compile-node-sass
  3. 执行
    5.>mkdir -p /Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass/node_modules/node-sass-china/vendor/darwin-x64-57
    6.>cd /Applications/HBuilderX.app/Contents/HBuilderX/plugins/compile-node-sass/node_modules/node-sass-china/vendor/darwin-x64-57
    7.>curl -o binding.node http://cdn.npm.taobao.org/dist/node-sass/v4.7.2/darwin-x64-57_binding.node
  4. 完成
收起阅读 »

Android平台云端打包 - DCloud公用证书

DCloud

由于老版DCloud证书包含了DCloud公司名称信息,最近发现开发者使用此证书发布违规违法APP,牵连了DCloud。
应政府要求,HBuilderX将不再推荐使用老版DCloud公用证书,请开发者使用自己的证书打包发布应用,参考生成Android签名证书

云端打包
老版DCloud公用证书将于2020年3月1日过期,过期后再使用本证书需实名认证。
离线打包
从即日起不再提供老版DCloud公用证书的下载,请开发者更换为自己的证书。如继续使用需实名认证,先用其它证书打包生成apk,然后使用通过实名认证的邮箱将apk发送到service@dcloud.io,我们签名后通过邮件回复。

继续阅读 »

由于老版DCloud证书包含了DCloud公司名称信息,最近发现开发者使用此证书发布违规违法APP,牵连了DCloud。
应政府要求,HBuilderX将不再推荐使用老版DCloud公用证书,请开发者使用自己的证书打包发布应用,参考生成Android签名证书

云端打包
老版DCloud公用证书将于2020年3月1日过期,过期后再使用本证书需实名认证。
离线打包
从即日起不再提供老版DCloud公用证书的下载,请开发者更换为自己的证书。如继续使用需实名认证,先用其它证书打包生成apk,然后使用通过实名认证的邮箱将apk发送到service@dcloud.io,我们签名后通过邮件回复。

收起阅读 »

px转rpx跟rpx转px

qwpxz rpx

1.如果是rpx转px。则调用uni.upx2px()即可

  1. 如果是px转rpx,公式为:rpx = px / uni.getSystemInfoSync().windowWidth * 750

1.如果是rpx转px。则调用uni.upx2px()即可

  1. 如果是px转rpx,公式为:rpx = px / uni.getSystemInfoSync().windowWidth * 750