HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

关闭小程序

uni小程序sdk unimpsdk

请移步 新的文档。此文档以停止更新

关闭小程序

2.6.3开始支持此功能

小程序环境

注:此方法需要在集成SDK的原生工程中使用,在HBuilderX 内置基座运行无效果;

小程序中可调用plus.runtime.quit()方法关闭自己,返回宿主App

plus.runtime.quit()

宿主App

宿主可以直接调用 sdk 的方法,关闭当前运行的小程序

iOS 示例

关闭当前运行的小程序

[DCUniMPSDKEngine closeUniMP];

当小程序关闭时会触发 DCUniMPSDKEngineDelegate 协议的uniMPOnClose:方法

/// 监听关闭小程序的回调方法  
- (void)uniMPOnClose:(NSString *)appid {  
    NSLog(@"小程序 %@ 被关闭了",appid);  
}

Android 示例

关闭当前运行的小程序

DCUniMPSDK.getInstance().closeCurrentApp()

监听小程序关闭触发事件

DCUniMPSDK.getInstance().setUniMPOnCloseCallBack(new DCUniMPSDK.IUniMPOnCloseCallBack() {  
    @Override  
    public void onClose(String appid) {  
        Log.e("unimp", appid+"被关闭了");  
    }  
});

TIP:

如果您想关闭A小程序后紧接着打开B小程序,在监听小程序被关闭的方法中操作是比较好的时机;

继续阅读 »

请移步 新的文档。此文档以停止更新

关闭小程序

2.6.3开始支持此功能

小程序环境

注:此方法需要在集成SDK的原生工程中使用,在HBuilderX 内置基座运行无效果;

小程序中可调用plus.runtime.quit()方法关闭自己,返回宿主App

plus.runtime.quit()

宿主App

宿主可以直接调用 sdk 的方法,关闭当前运行的小程序

iOS 示例

关闭当前运行的小程序

[DCUniMPSDKEngine closeUniMP];

当小程序关闭时会触发 DCUniMPSDKEngineDelegate 协议的uniMPOnClose:方法

/// 监听关闭小程序的回调方法  
- (void)uniMPOnClose:(NSString *)appid {  
    NSLog(@"小程序 %@ 被关闭了",appid);  
}

Android 示例

关闭当前运行的小程序

DCUniMPSDK.getInstance().closeCurrentApp()

监听小程序关闭触发事件

DCUniMPSDK.getInstance().setUniMPOnCloseCallBack(new DCUniMPSDK.IUniMPOnCloseCallBack() {  
    @Override  
    public void onClose(String appid) {  
        Log.e("unimp", appid+"被关闭了");  
    }  
});

TIP:

如果您想关闭A小程序后紧接着打开B小程序,在监听小程序被关闭的方法中操作是比较好的时机;

收起阅读 »

启动小程序

uni小程序sdk uni小程序 unimpsdk

请移步 新的文档。此文档以停止更新

启动小程序

宿主应用启动小程序时可实现如下功能

  • 支持传入参数到小程序环境,
  • 支持启动后直接打开指定页面

注:暂不支持同时运行多个小程序,可以关闭A小程序后在打开B小程序

下面讲解一下具体实现

UniMPSDK 各端 API 说明

iOS 平台

Class DCUniMPSDKEngine  
/// 启动小程序  
+ (void)openApp:(NSString *)appid  
      arguments:(NSDictionary * _Nullable)arguments  
   redirectPath:(NSString * _Nullable)redirectPath;
参数 类型 说明
appid NSString 小程序的 appid
arguments NSDictionary 启动小程序传入的参数
redirectPath NSString 指定启动应用后直接打开的页面路径

Android 平台

// 启动小程序  
DCUniMPSDK.getInstance().startApp(context, appid, splashClass, redirectPath, arguments)
参数 类型 必填 说明
context Context 上下文
appid String 小程序的 appid
splashClass IDCUniMPAppSplashView 自定义splashView接口类
redirectPath String 指定启动应用后直接打开的页面路径
arguments JSONObject 启动小程序传入的参数

Tips

Android startApp详细说明可参考uni小程序SDK API参考手册

启动小程序并传参

宿主启动小程序时支持传入参数到小程序环境,小程序中可以通过 plus.runtime.arguments 获取宿主传入的参数

iOS 示例

// 启动小程序并传入参数  
NSDictionary *arguments = @{@"value":@"Hello uni microprogram"};  
[DCUniMPSDKEngine openApp:appid arguments:arguments];

Android 示例

// 启动小程序并传入参数 "Hello uni microprogram"  
try {  
    JSONObject arguments = new JSONObject();  
    arguments.put("MSG","Hello uni microprogram");  
    DCUniMPSDK.getInstance().startApp(context, "__UNI__04E3A11", arguments);  
} catch (Exception e) {  
    e.printStackTrace();  
}

小程序中获取参数

var info = plus.runtime.arguments;

启动小程序打开指定页面

宿主启动小程序时可通过传入页面路径来打开指定页面

页面路径格式要求

路径从 pages/ 开始填写绝对路径并支持参数 示例:

pages/component/view/view?action=redirect

iOS 示例

// 启动直达页面  
NSString *pagePath = @"pages/component/view/view?action=redirect";  
[DCUniMPSDKEngine openApp:k_AppId arguments:nil redirectPath:pagePaht];

Android 示例

// 启动直达页面  
DCUniMPSDK.getInstance().startApp(context,"__UNI__04E3A11", "pages/component/view/view?action=redirect");

屏蔽返回

直达二级页面如果您想屏蔽返回按钮及返回手势,可以在 小程序页面的 onLoad() 方法中通过调用 setStyle() 方法实现,代码如下

<script>  
    export default {  
        onLoad(e) {  
            // #ifdef APP-PLUS  
            // 启动直达二级页面屏蔽返回手势及返回按钮  
            // e 为直达页面时传入的参数 jsonObject 类型  
            if (e.action === "redirect") {  
                const currentWebview = this.$scope.$getAppWebview();  
                currentWebview.setStyle({  
                    popGesture: 'none',  
                    titleNView: {  
                        autoBackButton: false  
                    }  
                })  
            }  
            // #endif  
        }  
    }  
</script>
继续阅读 »

请移步 新的文档。此文档以停止更新

启动小程序

宿主应用启动小程序时可实现如下功能

  • 支持传入参数到小程序环境,
  • 支持启动后直接打开指定页面

注:暂不支持同时运行多个小程序,可以关闭A小程序后在打开B小程序

下面讲解一下具体实现

UniMPSDK 各端 API 说明

iOS 平台

Class DCUniMPSDKEngine  
/// 启动小程序  
+ (void)openApp:(NSString *)appid  
      arguments:(NSDictionary * _Nullable)arguments  
   redirectPath:(NSString * _Nullable)redirectPath;
参数 类型 说明
appid NSString 小程序的 appid
arguments NSDictionary 启动小程序传入的参数
redirectPath NSString 指定启动应用后直接打开的页面路径

Android 平台

// 启动小程序  
DCUniMPSDK.getInstance().startApp(context, appid, splashClass, redirectPath, arguments)
参数 类型 必填 说明
context Context 上下文
appid String 小程序的 appid
splashClass IDCUniMPAppSplashView 自定义splashView接口类
redirectPath String 指定启动应用后直接打开的页面路径
arguments JSONObject 启动小程序传入的参数

Tips

Android startApp详细说明可参考uni小程序SDK API参考手册

启动小程序并传参

宿主启动小程序时支持传入参数到小程序环境,小程序中可以通过 plus.runtime.arguments 获取宿主传入的参数

iOS 示例

// 启动小程序并传入参数  
NSDictionary *arguments = @{@"value":@"Hello uni microprogram"};  
[DCUniMPSDKEngine openApp:appid arguments:arguments];

Android 示例

// 启动小程序并传入参数 "Hello uni microprogram"  
try {  
    JSONObject arguments = new JSONObject();  
    arguments.put("MSG","Hello uni microprogram");  
    DCUniMPSDK.getInstance().startApp(context, "__UNI__04E3A11", arguments);  
} catch (Exception e) {  
    e.printStackTrace();  
}

小程序中获取参数

var info = plus.runtime.arguments;

启动小程序打开指定页面

宿主启动小程序时可通过传入页面路径来打开指定页面

页面路径格式要求

路径从 pages/ 开始填写绝对路径并支持参数 示例:

pages/component/view/view?action=redirect

iOS 示例

// 启动直达页面  
NSString *pagePath = @"pages/component/view/view?action=redirect";  
[DCUniMPSDKEngine openApp:k_AppId arguments:nil redirectPath:pagePaht];

Android 示例

// 启动直达页面  
DCUniMPSDK.getInstance().startApp(context,"__UNI__04E3A11", "pages/component/view/view?action=redirect");

屏蔽返回

直达二级页面如果您想屏蔽返回按钮及返回手势,可以在 小程序页面的 onLoad() 方法中通过调用 setStyle() 方法实现,代码如下

<script>  
    export default {  
        onLoad(e) {  
            // #ifdef APP-PLUS  
            // 启动直达二级页面屏蔽返回手势及返回按钮  
            // e 为直达页面时传入的参数 jsonObject 类型  
            if (e.action === "redirect") {  
                const currentWebview = this.$scope.$getAppWebview();  
                currentWebview.setStyle({  
                    popGesture: 'none',  
                    titleNView: {  
                        autoBackButton: false  
                    }  
                })  
            }  
            // #endif  
        }  
    }  
</script>
收起阅读 »

windows: 如何安装HBuilderX

HBuilderX安装

近来,有部分小伙伴,下载HBuilderX zip包后,不知道怎么打开?

首先,选中下载的zip包,点击右键菜单,点击解压到当前文件夹

特别注意:解压过程中,不要中断解压。

错误的打开方式

  1. 直接双击,在压缩包中,打开HBuilderX.exe是错误的。
  2. 从压缩包中,把HBuilderX.exe拖到桌面也是错误的。

下面的例子是不对的。

如何正确的创建桌面快捷方式

继续阅读 »

近来,有部分小伙伴,下载HBuilderX zip包后,不知道怎么打开?

首先,选中下载的zip包,点击右键菜单,点击解压到当前文件夹

特别注意:解压过程中,不要中断解压。

错误的打开方式

  1. 直接双击,在压缩包中,打开HBuilderX.exe是错误的。
  2. 从压缩包中,把HBuilderX.exe拖到桌面也是错误的。

下面的例子是不对的。

如何正确的创建桌面快捷方式

收起阅读 »

后二组选复式什么意思,叩 ③⑨⑤⑦⑦⑧⑤

后二组选复式什么意思

后二组选复式什么意思

通过WP插件搭建h5+应用检测更新服务

开源 插件 5+App开发 HTML5+ WordPress

简介

通过Wordpress,dcloud旗下的h5+应用(包括但不限于5+、wap2app等格式)可以借助WP H5Plus Update插件灵活地在线检测新版本。
插件由山茨昕雨开发并开源,使用MIT协议进行分发。

快速上手

配置参数

在阁下Wordpress网站后台中,进入 设置>APP参数修改,按需修改以下参数:

  • 应用ID
  • 应用版本号
  • 内部版本号
  • 更新标题
  • 更新日志
    此项目可用php换行符“\n”对文本进行换行
  • 下载链接
  • 重要性
    此项目分两种,字符“1”为重要,字符“0”为不重要

以上参数中部分可以在你的应用源码中的mainfest.json文件中查看,保存更新后需要手动更新页面来查看你配置的参数

新建页面

在Wordpress中新建一个页面,选择页面类型为“安卓更新接口模板”,设置好Url即可开始请求

调试页面

在阁下的Url后面添加并修改以下字符:?appid=阁下的应用ID&version=阁下的应用版本号
例如:https://exmaple.com/check/update?appid=W2Aexmaple.com&version=1.0

客户端配置

JavaScript代码分两种模式,本代码仅包含Core,配置时请更改检查更新地址,其他业务实现请自行编辑代码。

开屏自动更新

var ua = navigator.userAgent;  
//Html5Plus环境,但不是流应用环境    
if (ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) {  
    var url = "https://exmaple.com/check/update"; //检查更新地址    
    var req = { //升级检测数据  
        "appid": plus.runtime.appid,  
        "version": plus.runtime.version  
    };  
    wap2app.ajax.get(url, req, function(rsp) {  
        if (rsp.level == 1) { //判断是否重要(是1就更新  
            if (rsp && rsp.status) {  
                //需要更新,提示用户  
                plus.nativeUI.confirm(rsp.note, function(event) {  
                    if (0 == event.index) { //用户点击了“立即更新”按钮    
                        plus.runtime.openURL(rsp.url);  
                    }  
                }, rsp.title, ["立即更新", " ", "取消"]);  
            }  
        }  
    });  
}  

该模式仅在App更新级别为重要时才会进行更新

关于页检测更新

var ua = navigator.userAgent;  
//Html5Plus环境,但不是流应用环境    
if (ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) {  
    var url = "https://exmaple.com/check/update"; //检查更新地址    
    var req = { //升级检测数据    
        "appid": plus.runtime.appid,  
        "version": plus.runtime.version  
    };  
    wap2app.ajax.get(url, req, function(rsp) {  
        if (rsp && rsp.status) {  
            //需要更新,提示用户    
            plus.nativeUI.confirm(rsp.note, function(event) {  
                if (0 == event.index) { //用户点击了“立即更新”按钮    
                    plus.runtime.openURL(rsp.url);  
                }  
            }, rsp.title, ["立即更新", " ", "取消"]);  
        } else {  
            plus.nativeUI.toast("没有可用的版本更新");  
        }  
    });  
}  

该模式可以检查最新级别的更新,如无更新会弹出原生提示

版权信息

本协议采用MIT进行分发,项目官方地址为:https://github.com/sancerain/wp-h5plus-update
项目作者:@finderz&@江程训
所属组织:廊坊市山茨网络科技有限公司 Sancerain LLC

继续阅读 »

简介

通过Wordpress,dcloud旗下的h5+应用(包括但不限于5+、wap2app等格式)可以借助WP H5Plus Update插件灵活地在线检测新版本。
插件由山茨昕雨开发并开源,使用MIT协议进行分发。

快速上手

配置参数

在阁下Wordpress网站后台中,进入 设置>APP参数修改,按需修改以下参数:

  • 应用ID
  • 应用版本号
  • 内部版本号
  • 更新标题
  • 更新日志
    此项目可用php换行符“\n”对文本进行换行
  • 下载链接
  • 重要性
    此项目分两种,字符“1”为重要,字符“0”为不重要

以上参数中部分可以在你的应用源码中的mainfest.json文件中查看,保存更新后需要手动更新页面来查看你配置的参数

新建页面

在Wordpress中新建一个页面,选择页面类型为“安卓更新接口模板”,设置好Url即可开始请求

调试页面

在阁下的Url后面添加并修改以下字符:?appid=阁下的应用ID&version=阁下的应用版本号
例如:https://exmaple.com/check/update?appid=W2Aexmaple.com&version=1.0

客户端配置

JavaScript代码分两种模式,本代码仅包含Core,配置时请更改检查更新地址,其他业务实现请自行编辑代码。

开屏自动更新

var ua = navigator.userAgent;  
//Html5Plus环境,但不是流应用环境    
if (ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) {  
    var url = "https://exmaple.com/check/update"; //检查更新地址    
    var req = { //升级检测数据  
        "appid": plus.runtime.appid,  
        "version": plus.runtime.version  
    };  
    wap2app.ajax.get(url, req, function(rsp) {  
        if (rsp.level == 1) { //判断是否重要(是1就更新  
            if (rsp && rsp.status) {  
                //需要更新,提示用户  
                plus.nativeUI.confirm(rsp.note, function(event) {  
                    if (0 == event.index) { //用户点击了“立即更新”按钮    
                        plus.runtime.openURL(rsp.url);  
                    }  
                }, rsp.title, ["立即更新", " ", "取消"]);  
            }  
        }  
    });  
}  

该模式仅在App更新级别为重要时才会进行更新

关于页检测更新

var ua = navigator.userAgent;  
//Html5Plus环境,但不是流应用环境    
if (ua.indexOf('Html5Plus') > -1 && ua.indexOf('StreamApp') == -1) {  
    var url = "https://exmaple.com/check/update"; //检查更新地址    
    var req = { //升级检测数据    
        "appid": plus.runtime.appid,  
        "version": plus.runtime.version  
    };  
    wap2app.ajax.get(url, req, function(rsp) {  
        if (rsp && rsp.status) {  
            //需要更新,提示用户    
            plus.nativeUI.confirm(rsp.note, function(event) {  
                if (0 == event.index) { //用户点击了“立即更新”按钮    
                    plus.runtime.openURL(rsp.url);  
                }  
            }, rsp.title, ["立即更新", " ", "取消"]);  
        } else {  
            plus.nativeUI.toast("没有可用的版本更新");  
        }  
    });  
}  

该模式可以检查最新级别的更新,如无更新会弹出原生提示

版权信息

本协议采用MIT进行分发,项目官方地址为:https://github.com/sancerain/wp-h5plus-update
项目作者:@finderz&@江程训
所属组织:廊坊市山茨网络科技有限公司 Sancerain LLC

收起阅读 »

WordPress+UNI-APP实战今日头条-api接口开发篇:目录

WordPress

> 因为本系列教程所有的混合开发平台都需要用到接口,所以本系列教程第一阶段将从0到一开发一套api接口出来。

相关文章

开了一个WordPress使用uni-app开发app和小程序的教程,来捧个场吧。
WordPress开发APP系列教程:UNI、Flutter、Ionic、各种小程序,这次一网打尽
WordPress+uni-app:实战今日头条前言

强烈建议在看本系列教程之前先看一下我前面发布的《WordPress主题开发系列教程初阶》。因为在本套api接口开发过程中基本上都会使用到WordPress封装的函数,看完那套教程再来看这个,你将少走很多弯路。

  1. 准备工作:搭建开发环境(linux+宝塔+WordPress 5.2.3)
  2. 开发首页纯列表接口
  3. 开发首页模块类型列表接口
  4. 开发阅读详情页接口
  5. 开发获取评论列表接口
  6. 开发JWT鉴权登录接口
  7. 开发邮箱验证码注册接口
  8. 开发发布评论接口
  9. 开发点赞接口
  10. 开发收藏接口
  11. 开发关注接口
  12. 开发作者主页接口
  13. 开发个人中心接口
  14. 开发投稿接口
  15. 更多待补充……

及时更新动态请关注

继续阅读 »

> 因为本系列教程所有的混合开发平台都需要用到接口,所以本系列教程第一阶段将从0到一开发一套api接口出来。

相关文章

开了一个WordPress使用uni-app开发app和小程序的教程,来捧个场吧。
WordPress开发APP系列教程:UNI、Flutter、Ionic、各种小程序,这次一网打尽
WordPress+uni-app:实战今日头条前言

强烈建议在看本系列教程之前先看一下我前面发布的《WordPress主题开发系列教程初阶》。因为在本套api接口开发过程中基本上都会使用到WordPress封装的函数,看完那套教程再来看这个,你将少走很多弯路。

  1. 准备工作:搭建开发环境(linux+宝塔+WordPress 5.2.3)
  2. 开发首页纯列表接口
  3. 开发首页模块类型列表接口
  4. 开发阅读详情页接口
  5. 开发获取评论列表接口
  6. 开发JWT鉴权登录接口
  7. 开发邮箱验证码注册接口
  8. 开发发布评论接口
  9. 开发点赞接口
  10. 开发收藏接口
  11. 开发关注接口
  12. 开发作者主页接口
  13. 开发个人中心接口
  14. 开发投稿接口
  15. 更多待补充……

及时更新动态请关注

收起阅读 »

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接口开发开始。保证开发出来的项目能上线,教程中没一小节都拥有干货,且代码能复用!

收起阅读 »