HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

textarea 如录入有换行 显示时就不能显示换行,这个问题怎么解决

textarea 如录入有换行 显示时就不能显示换行,这个问题怎么解决

textarea 如录入有换行 显示时就不能显示换行,这个问题怎么解决

新人报道

HBuilder

新人报道,多多支持

新人报道,多多支持

关于resolveLocalFileSystemURL中使用createDownload,下载多个文件时,会出现文件名为GetUrl,而不是自定义文件名的问题

HTML5+ mui

最近不清楚是更新了HBuilder的版本问题,还是更新了android版本的问题,重新在本地发布apk后,进行图片下载。发现读取的时候,文件名读取不到,后面在模拟器中,测试后,发现文件名都变成GetUrl的文件,之后看了下官方文档。怀疑是未指定路径导致的。直接上代码:
旧代码:
plus.io.resolveLocalFileSystemURL(
'_downloads/'+item.FileName,
function(entry){
entry.remove(function(entry) {
var dtask = plus.downloader.createDownload(item.Path, {retry:1}**, function(d, status) {
if (status == 200) { // 下载成功
console.log("下载成功:"+item.Path)
} else { //下载失败
console.log("下载失败:"+item.Path)
}
});
dtask.start();
}, function(e) {
var dtask = plus.downloader.createDownload(item.Path, {retry:1}**, function(d, status) {
if (status == 200) { // 下载成功
console.log("下载成功2:"+item.Path)
} else { //下载失败
console.log("下载失败2:"+item.Path)
}
});
dtask.start();
});
},
function(e){
var dtask = plus.downloader.createDownload(item.Path, {retry:1}**, function(d, status) {
if (status == 200) { // 下载成功
console.log("下载成功3:"+item.Path)
} else { //下载失败
console.log("下载失败3:"+item.Path)
}
});
dtask.start();
}
);

新代码:
var dtask = plus.downloader.createDownload(item.Path, {retry:1,filename:'_downloads/'+item.FileName}, function(d, status) {
if (status == 200) { // 下载成功
console.log("下载成功2:"+item.Path)
} else { //下载失败
console.log("下载失败2:"+item.Path)
}
});
dtask.start();

主要是在createDownload的参数区别,不清楚各位有没有遇到,就当给自己做个记录吧。

继续阅读 »

最近不清楚是更新了HBuilder的版本问题,还是更新了android版本的问题,重新在本地发布apk后,进行图片下载。发现读取的时候,文件名读取不到,后面在模拟器中,测试后,发现文件名都变成GetUrl的文件,之后看了下官方文档。怀疑是未指定路径导致的。直接上代码:
旧代码:
plus.io.resolveLocalFileSystemURL(
'_downloads/'+item.FileName,
function(entry){
entry.remove(function(entry) {
var dtask = plus.downloader.createDownload(item.Path, {retry:1}**, function(d, status) {
if (status == 200) { // 下载成功
console.log("下载成功:"+item.Path)
} else { //下载失败
console.log("下载失败:"+item.Path)
}
});
dtask.start();
}, function(e) {
var dtask = plus.downloader.createDownload(item.Path, {retry:1}**, function(d, status) {
if (status == 200) { // 下载成功
console.log("下载成功2:"+item.Path)
} else { //下载失败
console.log("下载失败2:"+item.Path)
}
});
dtask.start();
});
},
function(e){
var dtask = plus.downloader.createDownload(item.Path, {retry:1}**, function(d, status) {
if (status == 200) { // 下载成功
console.log("下载成功3:"+item.Path)
} else { //下载失败
console.log("下载失败3:"+item.Path)
}
});
dtask.start();
}
);

新代码:
var dtask = plus.downloader.createDownload(item.Path, {retry:1,filename:'_downloads/'+item.FileName}, function(d, status) {
if (status == 200) { // 下载成功
console.log("下载成功2:"+item.Path)
} else { //下载失败
console.log("下载失败2:"+item.Path)
}
});
dtask.start();

主要是在createDownload的参数区别,不清楚各位有没有遇到,就当给自己做个记录吧。

收起阅读 »

AES加密教程

加密

使用yarn安装至uniapp(同vue)项目

yarn add jsencrypt --dep
或者使用npm

npm install jsencrypt --dep
引入jsencrypt

项目中会出现node_modules文件见进入文件,再进jsencrypt***,再进bin文件用下面的附件解压出来替换jsencrypt.js文件

引入jsencrypt
import { JSEncrypt } from 'jsencrypt'

公钥或私钥跟后台要

methods: {  
    //  加密  
    encryptedData(publicKey, data) {  
      // 新建JSEncrypt对象  
      let encryptor = new JSEncrypt();  
      // 设置公钥  
      encryptor.setPublicKey(publicKey);  
      // 加密数据  
      return encryptor.encrypt(data);  
    },  
    // 解密  
    decryptData(privateKey,data){  
      // 新建JSEncrypt对象  
      let decrypt= new JSEncrypt();  
      // 设置私钥  
      decrypt.setPrivateKey(privateKey);  
      // 解密数据  
      return decrypt.decrypt(secretWord);  
    }  
  }
继续阅读 »

使用yarn安装至uniapp(同vue)项目

yarn add jsencrypt --dep
或者使用npm

npm install jsencrypt --dep
引入jsencrypt

项目中会出现node_modules文件见进入文件,再进jsencrypt***,再进bin文件用下面的附件解压出来替换jsencrypt.js文件

引入jsencrypt
import { JSEncrypt } from 'jsencrypt'

公钥或私钥跟后台要

methods: {  
    //  加密  
    encryptedData(publicKey, data) {  
      // 新建JSEncrypt对象  
      let encryptor = new JSEncrypt();  
      // 设置公钥  
      encryptor.setPublicKey(publicKey);  
      // 加密数据  
      return encryptor.encrypt(data);  
    },  
    // 解密  
    decryptData(privateKey,data){  
      // 新建JSEncrypt对象  
      let decrypt= new JSEncrypt();  
      // 设置私钥  
      decrypt.setPrivateKey(privateKey);  
      // 解密数据  
      return decrypt.decrypt(secretWord);  
    }  
  }
收起阅读 »

微信小程序跳转 配置 navigateToMiniProgramAppIdLis 如图

uni-app 中在manifest.json 配置 navigateToMiniProgramAppIdLis

uni-app 中在manifest.json 配置 navigateToMiniProgramAppIdLis

WordPress+uni-app:实战今日头条前言

WordPress

WordPress开发APP系列教程:UNI、Flutter、Ionic、各种小程序,这次一网打尽

uni-app

既然帖子发在了这儿,我相信大家都知道uni-app是什么了。

但是在这里我还是要提一下,就是uni-app的确很6,主要是它解决了当下行业产品快速上线的痛点。总所周知当下移动应用四分五裂,这家出个原生的,那家出个自己平台的小程序等等。

而现在软件市场上的需求也是各有各的想法,这个要app又能H5的,那家要app又能小程序的,而且小程序平台还不一致(QQ、微信、今日头条)等等。而uni-app的出现就直接解决了这一系列技术重新开始的痛点。看了看论坛,虽然现在bug和体验性还美中不足,但是我相信uni-app是会越来越好的,因为它在软件市场上在逐渐的成为一种开发模式(我在公司面试招人的时候首先就是问会不会vue、搞没搞过un-app,如果没搞过这,上报上去基本就是不要的)。

所以没事多折腾折腾,是很有必要的。

一句话就是无论6不6,无论有用没用,大家都在折腾,大家都在学,自己学点儿也没啥。

WordPress

当然也许你知道uni-app但并不知道WordPress,所以我这里会说一下。

WordPress是一个款国外开源的著名【博客】程序,它由全世界的开源贡献者一起开发,现在已经成为了一个款CMS建站系统首选的程序。据不完全统计每十个网站中起码有一个使用WordPress开发的!

请注意我这里将这个博客打了个符号关起来了。因为经过我多年折腾,我发现将WordPress定义为博客程序实在是太狭隘了。我觉得那仅仅是没用用好的说法,用得好了WordPress可以做任何事情,用得好了WordPress就仅仅是一个类似于其他php开发框架的框架!

并且它比任何php框架开发起来都要迅速,因为它封装了数以万计开箱即用的函数、钩子。

而且,它是由全世界的开源贡献者一起开发的,在安全性方面也是毫不逊色。

WordPress+uni-app

试想一下如果你现在要用uni-app开发app你需要什么?

api接口?

做api接口又得用php框架写一个后台管理系统?

然后自己再从0到1开发一系列的接口?

那么你有么有想过用WordPress来当做后台管理系统,而你只负责ap接口的输出层?

这个方法也是从0到1?不不不,使用这套组合你可以调用WordPress数以万计的函数来加快你的开发!

关于本系列教程

相信想要折腾WordPress+uni-app的人肯定意见看见过我前面做的那套教程。

原本上套教程我只想抛个砖,让大家自己折腾折腾,但根据收集而来的五花八门的问题来看,大家好想并不太了解我这块砖。大家想要的是有用的、能上线的真正的项目。

因此我决定放弃那套教程,从0开始实战。从api接口开发开始。保证开发出来的项目能上线,教程中没一小节都拥有干货,且代码能复用!

继续阅读 »

WordPress开发APP系列教程:UNI、Flutter、Ionic、各种小程序,这次一网打尽

uni-app

既然帖子发在了这儿,我相信大家都知道uni-app是什么了。

但是在这里我还是要提一下,就是uni-app的确很6,主要是它解决了当下行业产品快速上线的痛点。总所周知当下移动应用四分五裂,这家出个原生的,那家出个自己平台的小程序等等。

而现在软件市场上的需求也是各有各的想法,这个要app又能H5的,那家要app又能小程序的,而且小程序平台还不一致(QQ、微信、今日头条)等等。而uni-app的出现就直接解决了这一系列技术重新开始的痛点。看了看论坛,虽然现在bug和体验性还美中不足,但是我相信uni-app是会越来越好的,因为它在软件市场上在逐渐的成为一种开发模式(我在公司面试招人的时候首先就是问会不会vue、搞没搞过un-app,如果没搞过这,上报上去基本就是不要的)。

所以没事多折腾折腾,是很有必要的。

一句话就是无论6不6,无论有用没用,大家都在折腾,大家都在学,自己学点儿也没啥。

WordPress

当然也许你知道uni-app但并不知道WordPress,所以我这里会说一下。

WordPress是一个款国外开源的著名【博客】程序,它由全世界的开源贡献者一起开发,现在已经成为了一个款CMS建站系统首选的程序。据不完全统计每十个网站中起码有一个使用WordPress开发的!

请注意我这里将这个博客打了个符号关起来了。因为经过我多年折腾,我发现将WordPress定义为博客程序实在是太狭隘了。我觉得那仅仅是没用用好的说法,用得好了WordPress可以做任何事情,用得好了WordPress就仅仅是一个类似于其他php开发框架的框架!

并且它比任何php框架开发起来都要迅速,因为它封装了数以万计开箱即用的函数、钩子。

而且,它是由全世界的开源贡献者一起开发的,在安全性方面也是毫不逊色。

WordPress+uni-app

试想一下如果你现在要用uni-app开发app你需要什么?

api接口?

做api接口又得用php框架写一个后台管理系统?

然后自己再从0到1开发一系列的接口?

那么你有么有想过用WordPress来当做后台管理系统,而你只负责ap接口的输出层?

这个方法也是从0到1?不不不,使用这套组合你可以调用WordPress数以万计的函数来加快你的开发!

关于本系列教程

相信想要折腾WordPress+uni-app的人肯定意见看见过我前面做的那套教程。

原本上套教程我只想抛个砖,让大家自己折腾折腾,但根据收集而来的五花八门的问题来看,大家好想并不太了解我这块砖。大家想要的是有用的、能上线的真正的项目。

因此我决定放弃那套教程,从0开始实战。从api接口开发开始。保证开发出来的项目能上线,教程中没一小节都拥有干货,且代码能复用!

收起阅读 »

适配暗黑模式/夜间模式/深色模式/暗黑主题(DarkMode)

DarkMode 深色外观 暗黑模式 iOS13 iOS

此文档仅描述5+ App项目如何适配暗黑模式,uni-app项目请参考:https://uniapp.dcloud.net.cn/tutorial/darkmode

iOS13开始引入了暗黑模式(DarkMode),Android10 引入暗黑模式,在暗黑模式下,系统界面配色都会相应变暗,同时App也需要进行适配。

HBuilderX2.6.3+支持iOS平台适配暗黑模式
HBuilderX3.6.9+支持Android平台适配暗黑模式

特别说明

iOS平台

苹果近日对App Store商店的审核指南做了一次更新并发了一份公告,要求所有的APP 在4月30号前使用iOS 13 SDK开发应用,很多开发者错误理解成使用iOS 13 SDK开发应用就必须适配暗黑模式,实际上苹果的官方开发者文档从未强制要求应用必须适配深色样式(暗黑模式),完整解读参考:https://ask.dcloud.net.cn/article/37037
重点:不适配暗黑模式,一样可以正常上Appstore。但是适配了暗黑模式,没适配利索,页面有黑有白,就可能会被拒绝上架。

注意:必须iOS13+设备上才支持

Android平台

注意:必须Android10+设备上才支持

开启适配暗黑模式(DarkMode)

为了保证应用的兼容性,HBuilderX打包生成的App默认已关闭兼容暗黑模式,需按以下方法配置开启适配暗黑模式。
开启适配暗黑模式后,弹出系统授权框将按当前系统设置的外观样式显示(可在 "设置" -> "显示与亮度" -> "外观" 中更改),应用中的页面则需要开发者根据下面的API获取当前系统外观模式进行适配处理。
注意:如果未开启适配黑暗模式,将无法获取当前系统的外观样式
打开项目的manifest.json文件,切换到“源码视图”项

  • iOS平台
    在 "plus" -> "distribute" -> "apple" 节点下添加 defaultTheme 节点

    "plus": {  
    "distribute": {  
      "apple": {  
       "UIUserInterfaceStyle": "Automatic",   //不推荐使用,设置light或dark后将无法跟随系统  
       "defaultTheme": "light" | "dark" | "auto"   //HBuilderX 3.6.10及以上版本支持  
        //...  
      },  
      //...  
    },  
    //...
  • Android平台
    在 "plus" -> "distribute" -> "google" 节点下添加 defaultNightMode 节点

    "plus": {  
    "distribute": {  
      "google": {  
        "defaultNightMode": "light" | "dark" | "auto"  
        //...  
      },  
      //...  
    },  
    //...

保存后,提交云端打包后生效

暗黑模式适配主要包括启动界面,应用中的页面,另一部分是特定功能弹出系统原生界面(如alert提示框)和iOS平台安全区域外背景颜色,下面会详细说明分别如何适配。

启动页

官方提供的默认启动页已适配 '暗黑模式',会自动跟随系统模式改变背景颜色;自定义启动页请参考文档 自定义启动页

<a id="safearea"/>

iOS安全区域适配

开启安全区域占位

在 manifest.json文件的"plus" 节点下添加 "safearea" 适配iOS的安全区域,"background" 对应正常模式下安全区域外的背景颜色,"backgroundDark"对应暗黑模式下安全区域外的背景颜色

"plus" : {  
    "safearea": { //iOS平台的安全区域  
        "background": "#ffffff",  
        "backgroundDark": "#2f0508", // HX 3.1.19+支持  
        "bottom": {  
            "offset": "auto"  
        }  
    }  
...  
}

关闭安全区域占位

将 "offset" 置为 “none” 关闭安全区域的占位,注:关闭安全区域占位在刘海屏页面内容可能会被 “homeBar” 挡住,需要自行适配,具体请参考文档 iOS刘海屏适配

"safearea": {    
    "bottom": {    
        "offset": "none"    
    }    
}

更多关于 "safearea" 的说明请参考 manifest.json 说明

应用中页面适配暗黑模式

在应用中需要获取当前系统设置的外观模式格是否为暗黑模式,如果是则需要调整应用整体UI风格样式进行适配。

html页面可通过CSS适配

推荐使用CSS中的媒体查询 prefers-color-scheme 进行适配

@media (prefers-color-scheme: dark){  
    .content {  
        background-color: #1B1C1E;  
        color: white;  
    }  
}

注意:如果未开启适配黑暗模式,以上媒体查询样式将不会生效

获取当前系统外观模式

对于页面中的原生标题栏(TitleNView),则需获取当前的外观模式,动态修改样式进行适配。

5+ API:plus.navigator.getUIStyle获取当前系统外观模式。
返回"dark"表示当前为深色样式(DarkMode),即暗黑模式;"light"表示当前为浅色样式(LightMode),即普通模式。

function getUIStyle(){  
  var style = plus.navigator.getUIStyle();  
  if('dark'==style){  
    console.log('当前为暗黑模式');  
  }else{  
    console.log('当前为普通模式');  
  }  
}

监听系统外观模式改变

应用启动后,用户有可能改变系统外观,这时候可以通过监听切换暗黑模式事件进行处理。
5+ App(WAP2APP)项目,可在在页面中监听"uistylechange"事件

  document.addEventListener('uistylechange', function(){  
    var style = plus.navigator.getUIStyle();  
    console.log(('dark'==plus.navigator.getUIStyle())?'切换为暗黑模式':'切换为普通模式');  
  }, false);

系统原生界面适配暗黑模式

应用开启适配暗黑模式后,系统原生界面(plus.nativeUI)默认会自动适配系统设置的外观样式。
如果系统当前设置为深色外观(暗黑模式),则plus.nativeUI弹出的所有界面自动显示为深色(暗黑模式)样式;如果系统当前设置为浅色外观,则plus.nativeUI弹出的所有界面显示为浅色样式。

如系统提示框(plus.nativeUI.alert)

  • 深色(暗黑模式)样式效果
  • 浅色(普通模式)样式效果

如果不想自动适配系统设置的外观样式,可以调用plus.nativeUI.setUIStyle强制设置原生界面的外观样式。
以下示例强制应用弹出原生界面为深色(暗黑模式)外观样式,即使系统没有设置为深色外观(暗黑模式):

plus.nativeUI.setUIStyle('dark');  // ‘light’表示浅色外观样式

即使应用没有开启适配暗黑模式,此API也可生效

受影响的5+ API弹出系统原生界面

受影响的uni-app弹出系统原生界面

继续阅读 »

此文档仅描述5+ App项目如何适配暗黑模式,uni-app项目请参考:https://uniapp.dcloud.net.cn/tutorial/darkmode

iOS13开始引入了暗黑模式(DarkMode),Android10 引入暗黑模式,在暗黑模式下,系统界面配色都会相应变暗,同时App也需要进行适配。

HBuilderX2.6.3+支持iOS平台适配暗黑模式
HBuilderX3.6.9+支持Android平台适配暗黑模式

特别说明

iOS平台

苹果近日对App Store商店的审核指南做了一次更新并发了一份公告,要求所有的APP 在4月30号前使用iOS 13 SDK开发应用,很多开发者错误理解成使用iOS 13 SDK开发应用就必须适配暗黑模式,实际上苹果的官方开发者文档从未强制要求应用必须适配深色样式(暗黑模式),完整解读参考:https://ask.dcloud.net.cn/article/37037
重点:不适配暗黑模式,一样可以正常上Appstore。但是适配了暗黑模式,没适配利索,页面有黑有白,就可能会被拒绝上架。

注意:必须iOS13+设备上才支持

Android平台

注意:必须Android10+设备上才支持

开启适配暗黑模式(DarkMode)

为了保证应用的兼容性,HBuilderX打包生成的App默认已关闭兼容暗黑模式,需按以下方法配置开启适配暗黑模式。
开启适配暗黑模式后,弹出系统授权框将按当前系统设置的外观样式显示(可在 "设置" -> "显示与亮度" -> "外观" 中更改),应用中的页面则需要开发者根据下面的API获取当前系统外观模式进行适配处理。
注意:如果未开启适配黑暗模式,将无法获取当前系统的外观样式
打开项目的manifest.json文件,切换到“源码视图”项

  • iOS平台
    在 "plus" -> "distribute" -> "apple" 节点下添加 defaultTheme 节点

    "plus": {  
    "distribute": {  
      "apple": {  
       "UIUserInterfaceStyle": "Automatic",   //不推荐使用,设置light或dark后将无法跟随系统  
       "defaultTheme": "light" | "dark" | "auto"   //HBuilderX 3.6.10及以上版本支持  
        //...  
      },  
      //...  
    },  
    //...
  • Android平台
    在 "plus" -> "distribute" -> "google" 节点下添加 defaultNightMode 节点

    "plus": {  
    "distribute": {  
      "google": {  
        "defaultNightMode": "light" | "dark" | "auto"  
        //...  
      },  
      //...  
    },  
    //...

保存后,提交云端打包后生效

暗黑模式适配主要包括启动界面,应用中的页面,另一部分是特定功能弹出系统原生界面(如alert提示框)和iOS平台安全区域外背景颜色,下面会详细说明分别如何适配。

启动页

官方提供的默认启动页已适配 '暗黑模式',会自动跟随系统模式改变背景颜色;自定义启动页请参考文档 自定义启动页

<a id="safearea"/>

iOS安全区域适配

开启安全区域占位

在 manifest.json文件的"plus" 节点下添加 "safearea" 适配iOS的安全区域,"background" 对应正常模式下安全区域外的背景颜色,"backgroundDark"对应暗黑模式下安全区域外的背景颜色

"plus" : {  
    "safearea": { //iOS平台的安全区域  
        "background": "#ffffff",  
        "backgroundDark": "#2f0508", // HX 3.1.19+支持  
        "bottom": {  
            "offset": "auto"  
        }  
    }  
...  
}

关闭安全区域占位

将 "offset" 置为 “none” 关闭安全区域的占位,注:关闭安全区域占位在刘海屏页面内容可能会被 “homeBar” 挡住,需要自行适配,具体请参考文档 iOS刘海屏适配

"safearea": {    
    "bottom": {    
        "offset": "none"    
    }    
}

更多关于 "safearea" 的说明请参考 manifest.json 说明

应用中页面适配暗黑模式

在应用中需要获取当前系统设置的外观模式格是否为暗黑模式,如果是则需要调整应用整体UI风格样式进行适配。

html页面可通过CSS适配

推荐使用CSS中的媒体查询 prefers-color-scheme 进行适配

@media (prefers-color-scheme: dark){  
    .content {  
        background-color: #1B1C1E;  
        color: white;  
    }  
}

注意:如果未开启适配黑暗模式,以上媒体查询样式将不会生效

获取当前系统外观模式

对于页面中的原生标题栏(TitleNView),则需获取当前的外观模式,动态修改样式进行适配。

5+ API:plus.navigator.getUIStyle获取当前系统外观模式。
返回"dark"表示当前为深色样式(DarkMode),即暗黑模式;"light"表示当前为浅色样式(LightMode),即普通模式。

function getUIStyle(){  
  var style = plus.navigator.getUIStyle();  
  if('dark'==style){  
    console.log('当前为暗黑模式');  
  }else{  
    console.log('当前为普通模式');  
  }  
}

监听系统外观模式改变

应用启动后,用户有可能改变系统外观,这时候可以通过监听切换暗黑模式事件进行处理。
5+ App(WAP2APP)项目,可在在页面中监听"uistylechange"事件

  document.addEventListener('uistylechange', function(){  
    var style = plus.navigator.getUIStyle();  
    console.log(('dark'==plus.navigator.getUIStyle())?'切换为暗黑模式':'切换为普通模式');  
  }, false);

系统原生界面适配暗黑模式

应用开启适配暗黑模式后,系统原生界面(plus.nativeUI)默认会自动适配系统设置的外观样式。
如果系统当前设置为深色外观(暗黑模式),则plus.nativeUI弹出的所有界面自动显示为深色(暗黑模式)样式;如果系统当前设置为浅色外观,则plus.nativeUI弹出的所有界面显示为浅色样式。

如系统提示框(plus.nativeUI.alert)

  • 深色(暗黑模式)样式效果
  • 浅色(普通模式)样式效果

如果不想自动适配系统设置的外观样式,可以调用plus.nativeUI.setUIStyle强制设置原生界面的外观样式。
以下示例强制应用弹出原生界面为深色(暗黑模式)外观样式,即使系统没有设置为深色外观(暗黑模式):

plus.nativeUI.setUIStyle('dark');  // ‘light’表示浅色外观样式

即使应用没有开启适配暗黑模式,此API也可生效

受影响的5+ API弹出系统原生界面

受影响的uni-app弹出系统原生界面

收起阅读 »

希望得到优化

HBuilderX

Hbuilder X内置浏览器和终端调节宽度或者高度的体验有点不好,需要鼠标恰好移到位置才能调节,容差太小

Hbuilder X内置浏览器和终端调节宽度或者高度的体验有点不好,需要鼠标恰好移到位置才能调节,容差太小

WordPress开发APP系列教程:UNI、Flutter、Ionic、各种小程序,这次一网打尽

WordPress

前言

WordPress做为最火的一个建站程序,相信现在在折腾网站的人肯定都是人手一个了。但是有了网站就够了吗?谁都知道,现在是移动端的天下,所以这个时候将你的WordPress网站转成一个app就颇为重要了!

而对于移动端开发,在很久以前也许这还是一个难题,但现在有了各种混合开发的技术栈,这一切都将迎刃而解,只要你掌握了api的开发方式、掌握了HTML、JS你就可以迅速做出一个app。(本人做的app 一隅 IONIC版只用了两周,flutter版只用了一周)。

于是折腾多年WordPress的本人,且尤其喜欢混合开发技术的我决定做一系列的WordPress开发app的实战教程,记住,是实战,是真实的可以上线的app,什么安全性问题、用户体验性问题等等这次都会涉及。

不再是像上个教程那样只是让你窥窥门径。

且通过上个教程我发现,你们要的是实战,是真正能用能上线的。

所以在本系列教程中,这些都将满足你们!

关于这个系列

既然是一个系列那么它就不简简单单的只是UNI-APP了,还包括了所有移动端。如下:

  1. WordPress+uni-app打造cms资讯系统
  2. WordPress+flutter打造cms系统。
  3. WordPress+微信小程序打造CMS系统
  4. WordPress+QQ小程序打造CMS系统
  5. WordPress+IONIC 打造CMS系统

教程展现形式

为了通俗易懂本教程将以视频、文档+源码的方式展现

适合什么人

  1. 会HTML、JS
  2. 起码掌握NG、VUE其中一种开发思想
  3. 起码能看懂PHP代码
  4. 建议看本系列教程之前可以先看一下WordPress主题开发系列教程

实战项目

这次实战项目我将选择最火的资讯app 今日头条。当然,今日头条这么大一个app肯定不是我一个人所能完成的,所以在此教程中我将只实现app内以下功能:

首页
搜索
收藏
分享
阅读详情页
个人中心、登录注册
点赞、关注、评论
用户反馈
视频模块
作者个人主页
个人中心文章列表
个人中心投稿
更多待补充……

可以看出,即便只是实现了以上这些部分功能,这也是一个干货满满的教程啊哈!

教程目录

WordPress+uni-app:实战今日头条前言

第一阶段:WordPress开发移动app:api接口开发篇

关于本人

四年折腾开发经验折腾WordPress四年,各行各业各种类型全部用WordPress做。

折腾混合app四年,市面上所有混合开发框架全部折腾过。

文档,踩坑,谷歌,百度……

毫不夸张的说你想学的,我都会,都折腾过,而且都是不复制不粘贴,纯手工撸码。

WordPress开发APP系列教程详情

继续阅读 »

前言

WordPress做为最火的一个建站程序,相信现在在折腾网站的人肯定都是人手一个了。但是有了网站就够了吗?谁都知道,现在是移动端的天下,所以这个时候将你的WordPress网站转成一个app就颇为重要了!

而对于移动端开发,在很久以前也许这还是一个难题,但现在有了各种混合开发的技术栈,这一切都将迎刃而解,只要你掌握了api的开发方式、掌握了HTML、JS你就可以迅速做出一个app。(本人做的app 一隅 IONIC版只用了两周,flutter版只用了一周)。

于是折腾多年WordPress的本人,且尤其喜欢混合开发技术的我决定做一系列的WordPress开发app的实战教程,记住,是实战,是真实的可以上线的app,什么安全性问题、用户体验性问题等等这次都会涉及。

不再是像上个教程那样只是让你窥窥门径。

且通过上个教程我发现,你们要的是实战,是真正能用能上线的。

所以在本系列教程中,这些都将满足你们!

关于这个系列

既然是一个系列那么它就不简简单单的只是UNI-APP了,还包括了所有移动端。如下:

  1. WordPress+uni-app打造cms资讯系统
  2. WordPress+flutter打造cms系统。
  3. WordPress+微信小程序打造CMS系统
  4. WordPress+QQ小程序打造CMS系统
  5. WordPress+IONIC 打造CMS系统

教程展现形式

为了通俗易懂本教程将以视频、文档+源码的方式展现

适合什么人

  1. 会HTML、JS
  2. 起码掌握NG、VUE其中一种开发思想
  3. 起码能看懂PHP代码
  4. 建议看本系列教程之前可以先看一下WordPress主题开发系列教程

实战项目

这次实战项目我将选择最火的资讯app 今日头条。当然,今日头条这么大一个app肯定不是我一个人所能完成的,所以在此教程中我将只实现app内以下功能:

首页
搜索
收藏
分享
阅读详情页
个人中心、登录注册
点赞、关注、评论
用户反馈
视频模块
作者个人主页
个人中心文章列表
个人中心投稿
更多待补充……

可以看出,即便只是实现了以上这些部分功能,这也是一个干货满满的教程啊哈!

教程目录

WordPress+uni-app:实战今日头条前言

第一阶段:WordPress开发移动app:api接口开发篇

关于本人

四年折腾开发经验折腾WordPress四年,各行各业各种类型全部用WordPress做。

折腾混合app四年,市面上所有混合开发框架全部折腾过。

文档,踩坑,谷歌,百度……

毫不夸张的说你想学的,我都会,都折腾过,而且都是不复制不粘贴,纯手工撸码。

WordPress开发APP系列教程详情

收起阅读 »

从零实战商城App系列正在持续更新,第一次拍教学视频请各位多多提意见支持

视频教程

本人是一个少儿编程老师,平时也开发一些应用。因为同学们的兴趣,正在给他们持续录制一个从零实战App教学系列点击直达网站欢迎大家关注黑板助教公众号 一起来交流学习

继续阅读 »

本人是一个少儿编程老师,平时也开发一些应用。因为同学们的兴趣,正在给他们持续录制一个从零实战App教学系列点击直达网站欢迎大家关注黑板助教公众号 一起来交流学习

收起阅读 »

今天又上架小米商店了,赞助一下H5+

小米应用商店

今天又上架小米商店了,赞助一下H5+,希望越做越好

今天又上架小米商店了,赞助一下H5+,希望越做越好

iOS 集成小程序SDK常见问题

uni小程序 unimpsdk iOS小程序SDK

FAQ

Q:iOS 原生工程弹窗提示 “HTML5 + Rumtime D”


A:请参考解决方法 点击查看详情

Q:提示 打包时未添加 xxx 模块 ...


A: 请参考这个 教程 将相关模块的依赖文件集成到原生工程中即可;

<a id="duplicatesymbol"></a>

Q:三方库冲突

A:如果您原生工程依赖的三方库与SDK依赖的三方库冲突

  • 源码开源的三方库比如 SDWebImage、ZXing等,这类库SDK内部大多数已经做过源码修改,为了保证功能的完整性所以请您使用SDK内置的三方库,移除您之前依赖的三方库,这些库的 .h 头文件存放在 UniMPSDK/Features/inc 路径中的,将对应库的头文件引入到您的工程中使用即可,如果您使用内置的三方库导致原生功能异常,请反馈给我们;
  • 源码不开源的三方库比如 高德地图、微信、支付宝等,这类库官方依赖的版本如下表,如果您依赖的版本与SDk依赖的版本一致,你在使用SDK的功能模块时就不需要添加对应的三方库,如果版本不一致,请以高版本为准,如果SDK内使用的版本过低请您反馈给我我们,我们会做升级处理;
  • 还有一种解决方法,就是您不使用官方扩展的功能模块,然后按照文档自行扩展这部分功能;
SDK名称 版本
百度定位 v4.1.1
百度地图 v4.1.1
高德定位 v2.6.3
高德地图 v6.9.0
微信SDK v1.8.6.2
AlipaySDK v15.5.7
QQSDK v3.3.6_lite
新浪微博SDK v3.2.7
又拍云 v4.1.7
友盟 v6.1.0
IJKPlayer --
SDWebImage --
TZImagePickerController --
SVProgressHUD --
Masonry --
SocketRocket --
继续阅读 »

FAQ

Q:iOS 原生工程弹窗提示 “HTML5 + Rumtime D”


A:请参考解决方法 点击查看详情

Q:提示 打包时未添加 xxx 模块 ...


A: 请参考这个 教程 将相关模块的依赖文件集成到原生工程中即可;

<a id="duplicatesymbol"></a>

Q:三方库冲突

A:如果您原生工程依赖的三方库与SDK依赖的三方库冲突

  • 源码开源的三方库比如 SDWebImage、ZXing等,这类库SDK内部大多数已经做过源码修改,为了保证功能的完整性所以请您使用SDK内置的三方库,移除您之前依赖的三方库,这些库的 .h 头文件存放在 UniMPSDK/Features/inc 路径中的,将对应库的头文件引入到您的工程中使用即可,如果您使用内置的三方库导致原生功能异常,请反馈给我们;
  • 源码不开源的三方库比如 高德地图、微信、支付宝等,这类库官方依赖的版本如下表,如果您依赖的版本与SDk依赖的版本一致,你在使用SDK的功能模块时就不需要添加对应的三方库,如果版本不一致,请以高版本为准,如果SDK内使用的版本过低请您反馈给我我们,我们会做升级处理;
  • 还有一种解决方法,就是您不使用官方扩展的功能模块,然后按照文档自行扩展这部分功能;
SDK名称 版本
百度定位 v4.1.1
百度地图 v4.1.1
高德定位 v2.6.3
高德地图 v6.9.0
微信SDK v1.8.6.2
AlipaySDK v15.5.7
QQSDK v3.3.6_lite
新浪微博SDK v3.2.7
又拍云 v4.1.7
友盟 v6.1.0
IJKPlayer --
SDWebImage --
TZImagePickerController --
SVProgressHUD --
Masonry --
SocketRocket --
收起阅读 »