HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

h5路由不生效

路由 h5

问题:h5路由配置不生效
详情:由HBuildX编辑器新建个uni-app空项目。按文档正确添加路由后,不生效。浏览器直接输入地址,使用 navigator 标签,还是使用 uni.redirectTo 都没反应。没有任何提示,在官方文档中也没有提示。
原因:h5的路由模式,默认是 hash 模式,会自动加上 #。这时要生效的路径应该是:http://localhost:8080/#/pages/xxxxx,怪异的是 # 是添加在 pages 前面。
解决方案:修改 mainfest.json 文件,h5 -> router -> mode 修改为 history
希望文档里在 pages.json 里添加提示,或者直接默认 routerhistory,浪费了3个小时。

继续阅读 »

问题:h5路由配置不生效
详情:由HBuildX编辑器新建个uni-app空项目。按文档正确添加路由后,不生效。浏览器直接输入地址,使用 navigator 标签,还是使用 uni.redirectTo 都没反应。没有任何提示,在官方文档中也没有提示。
原因:h5的路由模式,默认是 hash 模式,会自动加上 #。这时要生效的路径应该是:http://localhost:8080/#/pages/xxxxx,怪异的是 # 是添加在 pages 前面。
解决方案:修改 mainfest.json 文件,h5 -> router -> mode 修改为 history
希望文档里在 pages.json 里添加提示,或者直接默认 routerhistory,浪费了3个小时。

收起阅读 »

大白话+图解uni-push

unipush

什么是push
一种服务端向在线或者离线的客户端, 实时通信的技术。

push现状
ios系统的苹果手机可以直接将push消息从开发者服务器发给苹果服务器,完美送达苹果手机。
而由于Google的Push服务FCM被墙,国内的应用不能通过FCM及时向用户发送营销消息。而第三方推送仅能在APP在线时完成推送,APP一旦被关闭(用户自己手动关闭,或手机的节电设置自动关闭了应用)就收不到消息了。
另一方面安卓手机的厂商多,国内就有5大手机厂商:华为、小米、vivo、oppo、魅族。这些厂家也推出了能在应用处于离线状态也能收到push消息的服务。而对应APP开发者来说每个手机厂家的服务都得集成开发一遍,这么多平台,工作量会非常巨大,管理维护也很麻烦。

什么是uni-push
3.1 技术上:DCloud再uni(统一)了一下,推出uni-push,开发者只需要开发一次。系统会自动在不同手机上选择最可靠的推送通道发送push消息,保障送达率。
3.2 价格上:uni-push的底层是“个推”(A股上市公司),个推的产品vip版是收费的;而个推是DCloud的股东,之间达成战略:将原本收费的个推vip版推送服务,完全免费地开放给DCloud旗下产品开发者使用。
这比市面上同类产品有了根本上绝对的优势,也成为了开发者们选择uni-app的一个理由。

push消息类型
首先消息分在线和离线。在线分透传和非透传,离线只能接收非透传消息。
前者好理解,什么是透传呢?以微信聊天为例,当你打开微信聊天界面时,你收到了好友给你发送消息。而在你的手机消息通知栏没有通知。这就是一种透传的表现。当你把应用切到后台(无论这个时候APP进程是否被杀死)如果你收到push消息,你的手机系统消息通知栏就会出现一条消息通知。你点击它一般就会唤醒app,或打开每个网页。这就是非透传消息通知。
那么透传消息能否也手机消息中心创建通知呢?答案是肯定的,你可以在收到透传消息的时候根据自己的业务设计选择创建。

如何在uni-app下合理地使用push
如图
uni-push流程图

unicloud版uni-push插件
支持:unicloud或传统(PHP、java、python、c等)语言开发为后台的APP。
插件包含前后端代码,前后端用都是js写法的一个APP PUSH消息中心管理系统。
如果你的系统之前非unicloud写的可以将本插件url化为api进行调用访问,转url教程:https://uniapp.dcloud.io/uniCloud/http
如果您使用unicloud为后台,只需要改个config配置就能直接使用了。
链接:https://ext.dcloud.net.cn/plugin?id=1680

继续阅读 »

什么是push
一种服务端向在线或者离线的客户端, 实时通信的技术。

push现状
ios系统的苹果手机可以直接将push消息从开发者服务器发给苹果服务器,完美送达苹果手机。
而由于Google的Push服务FCM被墙,国内的应用不能通过FCM及时向用户发送营销消息。而第三方推送仅能在APP在线时完成推送,APP一旦被关闭(用户自己手动关闭,或手机的节电设置自动关闭了应用)就收不到消息了。
另一方面安卓手机的厂商多,国内就有5大手机厂商:华为、小米、vivo、oppo、魅族。这些厂家也推出了能在应用处于离线状态也能收到push消息的服务。而对应APP开发者来说每个手机厂家的服务都得集成开发一遍,这么多平台,工作量会非常巨大,管理维护也很麻烦。

什么是uni-push
3.1 技术上:DCloud再uni(统一)了一下,推出uni-push,开发者只需要开发一次。系统会自动在不同手机上选择最可靠的推送通道发送push消息,保障送达率。
3.2 价格上:uni-push的底层是“个推”(A股上市公司),个推的产品vip版是收费的;而个推是DCloud的股东,之间达成战略:将原本收费的个推vip版推送服务,完全免费地开放给DCloud旗下产品开发者使用。
这比市面上同类产品有了根本上绝对的优势,也成为了开发者们选择uni-app的一个理由。

push消息类型
首先消息分在线和离线。在线分透传和非透传,离线只能接收非透传消息。
前者好理解,什么是透传呢?以微信聊天为例,当你打开微信聊天界面时,你收到了好友给你发送消息。而在你的手机消息通知栏没有通知。这就是一种透传的表现。当你把应用切到后台(无论这个时候APP进程是否被杀死)如果你收到push消息,你的手机系统消息通知栏就会出现一条消息通知。你点击它一般就会唤醒app,或打开每个网页。这就是非透传消息通知。
那么透传消息能否也手机消息中心创建通知呢?答案是肯定的,你可以在收到透传消息的时候根据自己的业务设计选择创建。

如何在uni-app下合理地使用push
如图
uni-push流程图

unicloud版uni-push插件
支持:unicloud或传统(PHP、java、python、c等)语言开发为后台的APP。
插件包含前后端代码,前后端用都是js写法的一个APP PUSH消息中心管理系统。
如果你的系统之前非unicloud写的可以将本插件url化为api进行调用访问,转url教程:https://uniapp.dcloud.io/uniCloud/http
如果您使用unicloud为后台,只需要改个config配置就能直接使用了。
链接:https://ext.dcloud.net.cn/plugin?id=1680

收起阅读 »

人人商城打包app方法总结——给有需要的人

App打包

人人商城V3版本没有app,不过可以使用hbuilderX的wap2app技术进行打包,实测打包出来效果不错,app运行后几乎没有卡顿现象,支付,分享都可以正常使用,而且进一步根据wap2app的教程进行优化,比如加入nview模板等方法,流畅的很。

在打包成app之前首先需要对人人商城进行改造,其实改造的地方主要是:网站根目录/addons/ewei_shopv2/static/js/app/biz/下的有个h5app.js文件,这个文件里涉及了支付,微信登陆,分享等等方法,人人提供的js方法是基于YDB的,我们只需要改造一下,把支付方法改成html5+的,就可以完美实现微信登录,分享,原生微信支付宝支付了。
如果不会写代码推荐去git下载,附带一个地址,这是一个网友写的,已经改造好了h5app.js。还有后端的一些php代码也写好了,可以去下载,直接按照他的教程,覆盖文件,就可以使用hbuilderX打包了。
https://gitee.com/lionjoy/renrenapppay

继续阅读 »

人人商城V3版本没有app,不过可以使用hbuilderX的wap2app技术进行打包,实测打包出来效果不错,app运行后几乎没有卡顿现象,支付,分享都可以正常使用,而且进一步根据wap2app的教程进行优化,比如加入nview模板等方法,流畅的很。

在打包成app之前首先需要对人人商城进行改造,其实改造的地方主要是:网站根目录/addons/ewei_shopv2/static/js/app/biz/下的有个h5app.js文件,这个文件里涉及了支付,微信登陆,分享等等方法,人人提供的js方法是基于YDB的,我们只需要改造一下,把支付方法改成html5+的,就可以完美实现微信登录,分享,原生微信支付宝支付了。
如果不会写代码推荐去git下载,附带一个地址,这是一个网友写的,已经改造好了h5app.js。还有后端的一些php代码也写好了,可以去下载,直接按照他的教程,覆盖文件,就可以使用hbuilderX打包了。
https://gitee.com/lionjoy/renrenapppay

收起阅读 »

你们应该学学apicloud,做个AppLoader,能降低开发门槛

你们应该学学apicloud,做个AppLoader,能降低开发门槛,你们宣传说uniapp无所不能,最后环境都弄不来,还指望用uniapp开发东西吗,一个调试都做不完善咋个开发,这个应该思考一下

你们应该学学apicloud,做个AppLoader,能降低开发门槛,你们宣传说uniapp无所不能,最后环境都弄不来,还指望用uniapp开发东西吗,一个调试都做不完善咋个开发,这个应该思考一下

头部图片上传

<template>
<view class="service">
<view class="content" @click="uploadImg">
<image v-for="(item,index) in imgArr" :src="item" mode="widthFix"></image>
<image src="../../static/img/10.jpg" mode="widthFix" v-show="shows"></image>
</view>
</view>
</template>

<script>
export default {
data() {
return {
imgArr:[],
shows:true
}
},
onLoad() {

        },  
        methods: {  
            uploadImg(){  
                if(this.shows){  
                    this.shows=false  
                }  
                let that = this  
                uni.chooseImage({  
                    success(res) {  
                        console.log(res.tempFilePaths)  
                        that.imgArr = res.tempFilePaths;  
                        console.log(that.imgArr)  
                        }  
                })  
            }  
        }  
    }  

</script>
<style>
.content{width: 100%;text-align: center;}
.content image{width:80px;border-radius: 50%;}
</style>

继续阅读 »

<template>
<view class="service">
<view class="content" @click="uploadImg">
<image v-for="(item,index) in imgArr" :src="item" mode="widthFix"></image>
<image src="../../static/img/10.jpg" mode="widthFix" v-show="shows"></image>
</view>
</view>
</template>

<script>
export default {
data() {
return {
imgArr:[],
shows:true
}
},
onLoad() {

        },  
        methods: {  
            uploadImg(){  
                if(this.shows){  
                    this.shows=false  
                }  
                let that = this  
                uni.chooseImage({  
                    success(res) {  
                        console.log(res.tempFilePaths)  
                        that.imgArr = res.tempFilePaths;  
                        console.log(that.imgArr)  
                        }  
                })  
            }  
        }  
    }  

</script>
<style>
.content{width: 100%;text-align: center;}
.content image{width:80px;border-radius: 50%;}
</style>

收起阅读 »

错误:ERROR ITMS-90085

打包

用的HBuilderX(2.9.8) 在线云打包方式打包

上传包

用的VMware15.5虚拟机安装的 macOS10.14版本(后来升级到了10.15)
通过Transporter这个软件上传。

在10月的时候更新过一次版本,没有遇到问题,一切正常!

但这次12月9日更新版本就遇到问题了,报了这个错误

于是搜索了很多资料,还找到了https://ask.dcloud.net.cn/article/239(Appstore提交错误及解决方案),但还是没看明白,无奈只能接着在虚拟机里面巴拉巴拉!!

网上搜到的大部分都是用的Apple Developer(好像是Xcode的一部分),对于Transporter上传app说的不多,那就先看看这个软件(看是不是他的更新导致的)

首先打开App Store 找到Transporter,查看更新内容,

新功能那赫然写着“上传app元数据软件包ITMS”,
再结合之间DClound的回复“安装XCode”,
猜测App Store的上架改规则了,需要安装XCode,Transporter才能上传,
XCode安装包11G(想哭)太大了吧,虚拟机才40G,空间不足,又经过一顿折腾扩充到60个G,才顺利安装完XCode

再次打开Transporter上传,见证奇迹的时刻

一次上传成功!

总结:
应该是Transporter改规则了,依赖XCode的功能来上传元数据ITMS。

小白,点到为止!!

继续阅读 »

打包

用的HBuilderX(2.9.8) 在线云打包方式打包

上传包

用的VMware15.5虚拟机安装的 macOS10.14版本(后来升级到了10.15)
通过Transporter这个软件上传。

在10月的时候更新过一次版本,没有遇到问题,一切正常!

但这次12月9日更新版本就遇到问题了,报了这个错误

于是搜索了很多资料,还找到了https://ask.dcloud.net.cn/article/239(Appstore提交错误及解决方案),但还是没看明白,无奈只能接着在虚拟机里面巴拉巴拉!!

网上搜到的大部分都是用的Apple Developer(好像是Xcode的一部分),对于Transporter上传app说的不多,那就先看看这个软件(看是不是他的更新导致的)

首先打开App Store 找到Transporter,查看更新内容,

新功能那赫然写着“上传app元数据软件包ITMS”,
再结合之间DClound的回复“安装XCode”,
猜测App Store的上架改规则了,需要安装XCode,Transporter才能上传,
XCode安装包11G(想哭)太大了吧,虚拟机才40G,空间不足,又经过一顿折腾扩充到60个G,才顺利安装完XCode

再次打开Transporter上传,见证奇迹的时刻

一次上传成功!

总结:
应该是Transporter改规则了,依赖XCode的功能来上传元数据ITMS。

小白,点到为止!!

收起阅读 »

个推十周年大放送!开发工具、爆款产品,全部免费!

SDK

“互动十年,每日鲸彩”。今年是每日互动(个推)成立十周年的日子。

从2010年到2020年,个推从一家创业公司成长为A股上市企业,从深耕消息推送技术到为各垂直行业提供专业的数据智能服务。

走过10年的我们,依然秉持 “每日生活 科技改变” 的初心,带着 “数据让产业更智能” 的使命,继续踏浪前行,创造别样鲸彩!

值个推十周年之际

我们特推出感恩特惠活动

以回馈广大开发者和行业客户

十年有礼,狂欢开启

爆款SDK,免费用1年

热门大数据产品,0门槛试用

个推消息推送VIP、用户画像、应用统计

三大APP开发工具

0元全部配齐

一站式满足多种开发需求

人群洞察、精准投放服务、实时人口数盘
三类热门大数据产品
帮助从业者快速进行数据分析
全方位输出大数据解决方案

个推十周年感恩特惠

限定31天,每天都是“双十一”

快来参与吧!

继续阅读 »

“互动十年,每日鲸彩”。今年是每日互动(个推)成立十周年的日子。

从2010年到2020年,个推从一家创业公司成长为A股上市企业,从深耕消息推送技术到为各垂直行业提供专业的数据智能服务。

走过10年的我们,依然秉持 “每日生活 科技改变” 的初心,带着 “数据让产业更智能” 的使命,继续踏浪前行,创造别样鲸彩!

值个推十周年之际

我们特推出感恩特惠活动

以回馈广大开发者和行业客户

十年有礼,狂欢开启

爆款SDK,免费用1年

热门大数据产品,0门槛试用

个推消息推送VIP、用户画像、应用统计

三大APP开发工具

0元全部配齐

一站式满足多种开发需求

人群洞察、精准投放服务、实时人口数盘
三类热门大数据产品
帮助从业者快速进行数据分析
全方位输出大数据解决方案

个推十周年感恩特惠

限定31天,每天都是“双十一”

快来参与吧!

收起阅读 »

标梵讲解认识HTML

html HTML5

什么是 HTML?
HTML 是用来描述网页的一种语言。
HTML 指的是 超文本标记语言(Hyper Text Markup Language)
HTML 不是一种编程语言,而是一种标记语言 (markup language)

什么是超文本?
“超文本”是超级文本的中文缩写,英文名Hyper Text,缩写HT。
超文本是一种组织信息的方式。超文本是用超链接的方法,将各种不同空间的文字信息(文本中的文字、图表及其他信息媒体)组织在一起的网状文本。这些组织在一起的信息媒体可能在同一文本中,也可能是其他文件,或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接,为人们查找,检索信息提供方便。

什么是标记语言?
标记语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识。
标记语言是一套标记标签 (markup tag)
HTML 使用标记标签来描述网页

什么是标记标签?
HTML 标记标签通常被称为 HTML标签 (HTML tag)
HTML 标签是由尖括号包围的关键词,比如 <html>
HTML 标签通常是成对出现的,比如<b> 和 </b>
标签对中的第一个标签是 开始标签,第二个标签是 结束标签
开始和结束标签也被称为开放标签和闭合标签

文章编辑:标梵互动(https://www.biaofun.com/)

继续阅读 »

什么是 HTML?
HTML 是用来描述网页的一种语言。
HTML 指的是 超文本标记语言(Hyper Text Markup Language)
HTML 不是一种编程语言,而是一种标记语言 (markup language)

什么是超文本?
“超文本”是超级文本的中文缩写,英文名Hyper Text,缩写HT。
超文本是一种组织信息的方式。超文本是用超链接的方法,将各种不同空间的文字信息(文本中的文字、图表及其他信息媒体)组织在一起的网状文本。这些组织在一起的信息媒体可能在同一文本中,也可能是其他文件,或是地理位置相距遥远的某台计算机上的文件。这种组织信息方式将分布在不同位置的信息资源用随机方式进行连接,为人们查找,检索信息提供方便。

什么是标记语言?
标记语言,是一种将文本以及文本相关的其他信息结合起来,展现出关于文档结构和数据处理细节的电脑文字编码。与文本相关的其他信息(包括文本的结构和表示信息等)与原来的文本结合在一起,但是使用标记进行标识。
标记语言是一套标记标签 (markup tag)
HTML 使用标记标签来描述网页

什么是标记标签?
HTML 标记标签通常被称为 HTML标签 (HTML tag)
HTML 标签是由尖括号包围的关键词,比如 <html>
HTML 标签通常是成对出现的,比如<b> 和 </b>
标签对中的第一个标签是 开始标签,第二个标签是 结束标签
开始和结束标签也被称为开放标签和闭合标签

文章编辑:标梵互动(https://www.biaofun.com/)

收起阅读 »

网站开发技术的小白学习之路

外部网站

WWW服务器上相互链接的的一系列网页组成一个网站,通常把网站称作WWW网店或Web站点。广义上说,网站有硬件与软件两大部分组成。硬件主要是指服务器(计算机),软件则只操作系统、Web服务器软件和应用程序(包括静态和动态网页文件以及数据库)等。从狭义上说,网站则是指基于Web服务器的应用程序。网站的体系结构如:

网站的工作流程
客户端通过浏览器来显示数据并实现与服务器的交互。在服务器端由Web服务器通过HTTP协议与客户端的浏览器交互,Web服务器和应用服务器(这里的应用服务器通常是指某种软件环境)也使用HTTP作为他们之间的通信协议。而应用服务器与数据库服务器之间采用的机制进行通信,如ODBC(open dtabase connectiviy,开放数据库链接)、JDBC(java database connectivity,java数据库连接)、SQL(structure query language,结构化查询语言)等。通常Web服务器接受应用服务器处理。应用服务器接受由Web服务器传来的处理请求,并根据需要查询或更新数据库,进行应用逻辑的处理,然后将处理结果传回给Web服务器。数据库服务器实现数据的存取功能,负责数据库的组织并向应用逻辑提供接口。

文章编辑:标梵互动(https://www.biaofun.com/)

继续阅读 »

WWW服务器上相互链接的的一系列网页组成一个网站,通常把网站称作WWW网店或Web站点。广义上说,网站有硬件与软件两大部分组成。硬件主要是指服务器(计算机),软件则只操作系统、Web服务器软件和应用程序(包括静态和动态网页文件以及数据库)等。从狭义上说,网站则是指基于Web服务器的应用程序。网站的体系结构如:

网站的工作流程
客户端通过浏览器来显示数据并实现与服务器的交互。在服务器端由Web服务器通过HTTP协议与客户端的浏览器交互,Web服务器和应用服务器(这里的应用服务器通常是指某种软件环境)也使用HTTP作为他们之间的通信协议。而应用服务器与数据库服务器之间采用的机制进行通信,如ODBC(open dtabase connectiviy,开放数据库链接)、JDBC(java database connectivity,java数据库连接)、SQL(structure query language,结构化查询语言)等。通常Web服务器接受应用服务器处理。应用服务器接受由Web服务器传来的处理请求,并根据需要查询或更新数据库,进行应用逻辑的处理,然后将处理结果传回给Web服务器。数据库服务器实现数据的存取功能,负责数据库的组织并向应用逻辑提供接口。

文章编辑:标梵互动(https://www.biaofun.com/)

收起阅读 »

学习了一下原生插件开发 分享一个小工具,测试支付宝支付,支持沙箱,有源码

原生插件 支付 支付宝

android代码有点大上传不了

# uni代码包 包括aar本地插件和java主要文件

迫于官方的支付只有 requestpayment error,这个项目为了方便测试直接返回sdk的结果,没有结构化数据

上图

<img width="240" src="https://img-cdn-tc.dcloud.net.cn/uploads/article/20201209/f1f72fd07216da23661951ca3a297fdb.jpg"/>

<img width="240" src="https://img-cdn-tc.dcloud.net.cn/uploads/article/20201209/532e5113df548bf2244d6af7f7f5af01.jpg"/>
<img width="240" src="https://img-cdn-tc.dcloud.net.cn/uploads/article/20201209/3f1351184176b99a7557ff945606178b.jpg"/>
<img width="240" src="https://img-cdn-tc.dcloud.net.cn/uploads/article/20201209/6d7162fea08b0f3376c28c0bbbe21beb.jpg"/>

补个打包好的app:https://474b.com/file/13908934-475066729

继续阅读 »

android代码有点大上传不了

# uni代码包 包括aar本地插件和java主要文件

迫于官方的支付只有 requestpayment error,这个项目为了方便测试直接返回sdk的结果,没有结构化数据

上图

<img width="240" src="https://img-cdn-tc.dcloud.net.cn/uploads/article/20201209/f1f72fd07216da23661951ca3a297fdb.jpg"/>

<img width="240" src="https://img-cdn-tc.dcloud.net.cn/uploads/article/20201209/532e5113df548bf2244d6af7f7f5af01.jpg"/>
<img width="240" src="https://img-cdn-tc.dcloud.net.cn/uploads/article/20201209/3f1351184176b99a7557ff945606178b.jpg"/>
<img width="240" src="https://img-cdn-tc.dcloud.net.cn/uploads/article/20201209/6d7162fea08b0f3376c28c0bbbe21beb.jpg"/>

补个打包好的app:https://474b.com/file/13908934-475066729

收起阅读 »

uni api的真正同步写法实现await-input

有经验的开发者都会发现小程序的回掉写法嵌套太深,不利维护;

fail忘写,导致白屏异常。对比,部分同学实现了then的写法,却又觉得仍然不够sync。

工欲善其事,必先利其器。

那么推荐个结合了nodejs思想的小工具

有经验的开发者都会发现小程序的回掉写法嵌套太深,不利维护;

fail忘写,导致白屏异常。对比,部分同学实现了then的写法,却又觉得仍然不够sync。

工欲善其事,必先利其器。

那么推荐个结合了nodejs思想的小工具

canvasToTempFilePath。在ios上面截图白屏的问题

1.设置canvasToTempFilePath的宽高的数值为number,

  1. 如果报错,添加适当的延时

1.设置canvasToTempFilePath的宽高的数值为number,

  1. 如果报错,添加适当的延时