
【经验分享】mac电脑hbuilderX用wifi连接安卓设备调试
- 安装
a.mac终端执行: brew cask install android-platform-tools
b. 如果电脑没有homebrew安装会出错,先安装homebrew;mac终端执行:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 然后继续安装a
c. 运行adb mac终端执行:adb devices - 打开hbuilderx 运行->运行到手机模拟器->ADB路径设置
a. 设置为你的adb路径,mac默认会安装到/Users/linju/Library/Android/sdk/platform-tools/adb 其中【linju】替换成你的mac登录名称 直接填写即可 - 查看移动设备IP地址和端口
a. 先将数据线与电脑连接,运行终端 adb devices 可以得到比如
List of devices attached
(设备号) device
再获取手机wifi局域网IP地址: adb shell netstat 得到:192.168.1.108
b. 先别拔掉数据线执行 adb tcpip 6666(默认端口 5555)
c. 接下来可以把数据线拔掉,输入adb connect 192.168.1.108:6666 (注:ip地址和端口号改成你自己在步骤3-a得到的 ) - 大功告成
可能遇到的问题
-
mac版 命令行执行adb命令报错“zsh: command not found: adb”
链接:https://www.jianshu.com/p/42b7ff51d7c4 -
执行第二条 提示:Error: Unknown command: cask
解决方法homebrew 从 2.5.11 后,cask 就取消了。不加cask 重新执行
brew install android-platform-tools
- 安装
a.mac终端执行: brew cask install android-platform-tools
b. 如果电脑没有homebrew安装会出错,先安装homebrew;mac终端执行:/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 然后继续安装a
c. 运行adb mac终端执行:adb devices - 打开hbuilderx 运行->运行到手机模拟器->ADB路径设置
a. 设置为你的adb路径,mac默认会安装到/Users/linju/Library/Android/sdk/platform-tools/adb 其中【linju】替换成你的mac登录名称 直接填写即可 - 查看移动设备IP地址和端口
a. 先将数据线与电脑连接,运行终端 adb devices 可以得到比如
List of devices attached
(设备号) device
再获取手机wifi局域网IP地址: adb shell netstat 得到:192.168.1.108
b. 先别拔掉数据线执行 adb tcpip 6666(默认端口 5555)
c. 接下来可以把数据线拔掉,输入adb connect 192.168.1.108:6666 (注:ip地址和端口号改成你自己在步骤3-a得到的 ) - 大功告成
可能遇到的问题
-
mac版 命令行执行adb命令报错“zsh: command not found: adb”
链接:https://www.jianshu.com/p/42b7ff51d7c4 -
执行第二条 提示:Error: Unknown command: cask
解决方法homebrew 从 2.5.11 后,cask 就取消了。不加cask 重新执行
brew install android-platform-tools

H5超链接APP安卓软件 web-view返回原生体验
目前支持的平台
- 安卓APP
- IOS
使用说明
本插件是APP空壳,内嵌网页,几乎接近原生APP用户体验。欢迎下载体验
支持设置自己的网站体验功能了,欢迎下载体验!
<p style="display: flex;align-items: center;justify-content: space-around;">
<img src="http://file.quanzz1314.top/unicorn-link/link-profile.jpg" width="200" height="400" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/link-profile.jpg) no-repeat 0 0/100% 100%;">
<img src="http://file.quanzz1314.top/unicorn-link/link-home.jpg" width="200" height="400" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/link-home.jpg) no-repeat 0 0/100% 100%;">
<img src="http://file.quanzz1314.top/unicorn-link/link-community.jpg" width="200" height="400" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/link-community.jpg) no-repeat 0 0/100% 100%;">
</p>
交流方式
- WX:cqcq8080
- QQ:534780006
下载体验链接
-
百度网盘下载链接
hi,这是我用百度网盘分享的文件~复制这段内容打开「百度网盘」APP即可获取。
链接:https://pan.baidu.com/s/1bCwIFRxTD_x5xFJ2u6p06Q?pwd=U1Af
提取码:U1Af -
或者使用手机浏览器扫码下载体验
<p style="display: flex;align-items: center;justify-content: space-around;">
<img src="http://file.quanzz1314.top/unicorn-link/download.png" alt="" width="200" height="250" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/download.png) no-repeat 0 0/100% 100%;">
</p>
微信扫码在线购买源码
源码价格:一口价50元
<p style="display: flex;align-items: center;justify-content: space-around;">
<img src="http://file.quanzz1314.top/unicorn-link/unicorn-shop.jpg" alt="扫一扫,微信购买源码" width="200" height="200" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/unicorn-shop.jpg) no-repeat 0 0/100% 100%;">
</p>
关于我们
<p style="display: flex;align-items: center;justify-content: space-around;">
<img src="http://file.quanzz1314.top/public/logo-square-narrow-border.jpg" alt="元咏科技" width="200" height="200" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/public/logo-square-narrow-border.jpg) no-repeat 0 0/100% 100%;">
<img src="http://file.quanzz1314.top/public/qrcode_for_unicornext.jpg" alt="元咏插件库,扫一扫直接体验UnicornExt" width="200" height="200" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/public/qrcode_for_unicornext.jpg) no-repeat 0 0/100% 100%;">
<img src="http://file.quanzz1314.top/public/qrcode_for_gzh.jpg" alt="元咏科技公众号,扫一扫获取更多项目惊喜!!!" width="200" height="200" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/public/qrcode_for_gzh.jpg) no-repeat 0 0/100% 100%;">
</p>
目前支持的平台
- 安卓APP
- IOS
使用说明
本插件是APP空壳,内嵌网页,几乎接近原生APP用户体验。欢迎下载体验
支持设置自己的网站体验功能了,欢迎下载体验!
<p style="display: flex;align-items: center;justify-content: space-around;">
<img src="http://file.quanzz1314.top/unicorn-link/link-profile.jpg" width="200" height="400" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/link-profile.jpg) no-repeat 0 0/100% 100%;">
<img src="http://file.quanzz1314.top/unicorn-link/link-home.jpg" width="200" height="400" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/link-home.jpg) no-repeat 0 0/100% 100%;">
<img src="http://file.quanzz1314.top/unicorn-link/link-community.jpg" width="200" height="400" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/link-community.jpg) no-repeat 0 0/100% 100%;">
</p>
交流方式
- WX:cqcq8080
- QQ:534780006
下载体验链接
-
百度网盘下载链接
hi,这是我用百度网盘分享的文件~复制这段内容打开「百度网盘」APP即可获取。
链接:https://pan.baidu.com/s/1bCwIFRxTD_x5xFJ2u6p06Q?pwd=U1Af
提取码:U1Af -
或者使用手机浏览器扫码下载体验
<p style="display: flex;align-items: center;justify-content: space-around;">
<img src="http://file.quanzz1314.top/unicorn-link/download.png" alt="" width="200" height="250" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/download.png) no-repeat 0 0/100% 100%;">
</p>
微信扫码在线购买源码
源码价格:一口价50元
<p style="display: flex;align-items: center;justify-content: space-around;">
<img src="http://file.quanzz1314.top/unicorn-link/unicorn-shop.jpg" alt="扫一扫,微信购买源码" width="200" height="200" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/unicorn-link/unicorn-shop.jpg) no-repeat 0 0/100% 100%;">
</p>
关于我们
<p style="display: flex;align-items: center;justify-content: space-around;">
<img src="http://file.quanzz1314.top/public/logo-square-narrow-border.jpg" alt="元咏科技" width="200" height="200" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/public/logo-square-narrow-border.jpg) no-repeat 0 0/100% 100%;">
<img src="http://file.quanzz1314.top/public/qrcode_for_unicornext.jpg" alt="元咏插件库,扫一扫直接体验UnicornExt" width="200" height="200" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/public/qrcode_for_unicornext.jpg) no-repeat 0 0/100% 100%;">
<img src="http://file.quanzz1314.top/public/qrcode_for_gzh.jpg" alt="元咏科技公众号,扫一扫获取更多项目惊喜!!!" width="200" height="200" style="background: url(https://static-17eac32a-903b-4d39-b2da-7c2a616b1416.bspapp.com/public/qrcode_for_gzh.jpg) no-repeat 0 0/100% 100%;">
</p>

BaseCloud悬赏征集业务模块插件作品
悬赏任务介绍
BaseCloud生态建设,需要大家的共同参与。为促进业务模块的丰富和完善,提高开发者效率,特在此长期以悬赏任务方式征集业务模块插件作品, 评选结束后,优秀作品将作为免费模块开源,供开发者集成使用,优秀的作品将获得任务悬赏奖励,同时被收录至BaseCloud官方文档中, 在这个具有历史意义的新世界中永远留下你的署名。参与悬赏任务的作者,可按悬赏任务设计要求,自行设计业务模块, 设计完成后发布至DCloud插件市场,发布时标题应与悬赏任务标题一致,待任务截止后评选优秀作品,每个任务仅评选一名获奖作品。
评选依据: 1.符合业务模块功能设计要求,无明显bug; 2.代码规范,接口路径、文件、数据集合命名以base-开头,具体可参考APP更新业务模块代码规范。 3.前端样式类使用BaseCloud样式类库完成,服务端基于BaseCloud完成,管理端基于BaseCloud管理后台完成。
项目简介
BaseCloud是一套基于uniapp、uniCloud、uni-id的全栈开发框架,不依赖任何第三方框架,极度精简轻巧。
在开发前端界面时,除了适配移动端外,它对PC端也做了良好的适配;
在开发云函数时,它可以为您提供拦截器配置、路由管理、分页、列表、单数据快速查询等功能。除此之外,对于一些业务开发中的常用函数也已做好封装,拿来即用。
在BaseCloud的初始化项目模板中,为您实现了贯穿前后端的业务模块:管理员登录、用户管理、菜单管理、角色与权限管理、操作日志、系统参数配置等项目通用的基础后台管理功能,这一切全都基于云函数开发。
项目价值
基于BaseCloud的快速开发UI样式库,可以快速拼装前端界面,高还原度实现设计图效果,兼顾高效与灵活。
基于BaseCloud的云函数公用模块,你可以轻松实现单云函数、多云函数的路由管理、请求拦截管理与权限控制、常用业务函数快速开发。
基于BaseCloud的客户端缓存管理机制,你可以大幅度减少应用的云函数重复调用请求,未来云函数开始计费后,至少节省应用50%的流量费用。
基于BaseCloud的管理后台项目模板,你可以快速初始化一套自带用户、菜单、角色、权限、操作日志、系统参数管理的管理后台项目,在此基础上开始你的项目开发。
当然,这一切都只是刚刚开始,未来我们会基于BaseCloud推出更多贯穿前后端的业务模板,只要您的项目是基于BaseCloud框架,所有的业务模板拿来即用,5分钟快速集成到项目内,无需重复开发前端和后端。
对于开发者而言,基于BaseCloud的全栈快速开发框架,你可以封装自己的贯穿前后端的业务模块,发布到付费业务模块插件市场。
对于企业而言,基于BaseCloud的全栈快速开发框架,无需再费心招募不同工种不同技术栈的工程师,您只需要找到熟悉BaseCloud的工程师,让他们各自独立负责一个业务模块。 未来基于BaseCloud的项目,将会被拆分成几十个甚至上百个独立的模块,每个模块由一个工程师从前端到后端全链路负责,而他只需要懂一门开发语言:javascript,熟悉一个框架:BaseCloud。 项目交付后,您更无须担心后期维护与迭代更新,基于BaseCloud统一的开发规范,您可以很轻松找到随时能够接管您的项目的工程师。
悬赏任务介绍
BaseCloud生态建设,需要大家的共同参与。为促进业务模块的丰富和完善,提高开发者效率,特在此长期以悬赏任务方式征集业务模块插件作品, 评选结束后,优秀作品将作为免费模块开源,供开发者集成使用,优秀的作品将获得任务悬赏奖励,同时被收录至BaseCloud官方文档中, 在这个具有历史意义的新世界中永远留下你的署名。参与悬赏任务的作者,可按悬赏任务设计要求,自行设计业务模块, 设计完成后发布至DCloud插件市场,发布时标题应与悬赏任务标题一致,待任务截止后评选优秀作品,每个任务仅评选一名获奖作品。
评选依据: 1.符合业务模块功能设计要求,无明显bug; 2.代码规范,接口路径、文件、数据集合命名以base-开头,具体可参考APP更新业务模块代码规范。 3.前端样式类使用BaseCloud样式类库完成,服务端基于BaseCloud完成,管理端基于BaseCloud管理后台完成。
项目简介
BaseCloud是一套基于uniapp、uniCloud、uni-id的全栈开发框架,不依赖任何第三方框架,极度精简轻巧。
在开发前端界面时,除了适配移动端外,它对PC端也做了良好的适配;
在开发云函数时,它可以为您提供拦截器配置、路由管理、分页、列表、单数据快速查询等功能。除此之外,对于一些业务开发中的常用函数也已做好封装,拿来即用。
在BaseCloud的初始化项目模板中,为您实现了贯穿前后端的业务模块:管理员登录、用户管理、菜单管理、角色与权限管理、操作日志、系统参数配置等项目通用的基础后台管理功能,这一切全都基于云函数开发。
项目价值
基于BaseCloud的快速开发UI样式库,可以快速拼装前端界面,高还原度实现设计图效果,兼顾高效与灵活。
基于BaseCloud的云函数公用模块,你可以轻松实现单云函数、多云函数的路由管理、请求拦截管理与权限控制、常用业务函数快速开发。
基于BaseCloud的客户端缓存管理机制,你可以大幅度减少应用的云函数重复调用请求,未来云函数开始计费后,至少节省应用50%的流量费用。
基于BaseCloud的管理后台项目模板,你可以快速初始化一套自带用户、菜单、角色、权限、操作日志、系统参数管理的管理后台项目,在此基础上开始你的项目开发。
当然,这一切都只是刚刚开始,未来我们会基于BaseCloud推出更多贯穿前后端的业务模板,只要您的项目是基于BaseCloud框架,所有的业务模板拿来即用,5分钟快速集成到项目内,无需重复开发前端和后端。
对于开发者而言,基于BaseCloud的全栈快速开发框架,你可以封装自己的贯穿前后端的业务模块,发布到付费业务模块插件市场。
对于企业而言,基于BaseCloud的全栈快速开发框架,无需再费心招募不同工种不同技术栈的工程师,您只需要找到熟悉BaseCloud的工程师,让他们各自独立负责一个业务模块。 未来基于BaseCloud的项目,将会被拆分成几十个甚至上百个独立的模块,每个模块由一个工程师从前端到后端全链路负责,而他只需要懂一门开发语言:javascript,熟悉一个框架:BaseCloud。 项目交付后,您更无须担心后期维护与迭代更新,基于BaseCloud统一的开发规范,您可以很轻松找到随时能够接管您的项目的工程师。

笔记渲染x5杀掉进程,app退出不行要kill掉
小白的笔记
var Intent = plus.android.importClass("android.os.Process");
var pid = Intent.myPid()
console.log("进程id:"+pid)
Intent.killProcess(pid)
逻辑 提示杀掉,让用户重新打开
function 内核判断(){
if(寻找文本(plus.navigator.getUserAgent(),"MQQBrowser")!= -1 ){
console.log ("x5");
}else{
询问框_原生("需要重新打开app","内核加载(可能多次加载)","立即","稍后");
}
}
function 杀掉进程(){
var Intent = plus.android.importClass("android.os.Process");
var pid = Intent.myPid();
console.log("进程id:"+pid);
Intent.killProcess(pid);
}
小白的笔记
var Intent = plus.android.importClass("android.os.Process");
var pid = Intent.myPid()
console.log("进程id:"+pid)
Intent.killProcess(pid)
逻辑 提示杀掉,让用户重新打开
function 内核判断(){
if(寻找文本(plus.navigator.getUserAgent(),"MQQBrowser")!= -1 ){
console.log ("x5");
}else{
询问框_原生("需要重新打开app","内核加载(可能多次加载)","立即","稍后");
}
}
function 杀掉进程(){
var Intent = plus.android.importClass("android.os.Process");
var pid = Intent.myPid();
console.log("进程id:"+pid);
Intent.killProcess(pid);
}

每日互动(个推)2021届校园招聘开始啦!
每日互动(个推)2021届校园招聘正式开启!
A股数据智能上市公司
以技术为驱动,用能力论英雄
成长与空间并重,理想与薪资齐飞
健康、阳光、高效、透彻的企业文化下
我们邀你一同点亮数智未来
数据智能第一股,等你这支潜力股
以下是每日互动(个推)
2021届校招具体内容
在“每日”,实现更大的梦想
科技改变每日生活,是我们肩上的责任,更是我们心中的梦想。
未来,还有很多事,我们想与你一起去改变!
【结语】
坐落东方硅谷、筑梦创业天堂
坚持技术创新、落地技术成果
寻找优秀人才、筑梦科技未来
邀你
加入我们,一起创造无限鲸彩!
加入我们,一起改变每日生活!
每日互动(个推)2021届校园招聘正式开启!
A股数据智能上市公司
以技术为驱动,用能力论英雄
成长与空间并重,理想与薪资齐飞
健康、阳光、高效、透彻的企业文化下
我们邀你一同点亮数智未来
数据智能第一股,等你这支潜力股
以下是每日互动(个推)
2021届校招具体内容
在“每日”,实现更大的梦想
科技改变每日生活,是我们肩上的责任,更是我们心中的梦想。
未来,还有很多事,我们想与你一起去改变!
【结语】
坐落东方硅谷、筑梦创业天堂
坚持技术创新、落地技术成果
寻找优秀人才、筑梦科技未来
邀你
加入我们,一起创造无限鲸彩!
加入我们,一起改变每日生活!

IM即时通讯
官网IM介绍
https://www.pangugle.com/web/im.html
企业版本-项目特点(最大的特点可商用)
- 私有云部署,可接入自己的用户体系,sdk接入只需5行代码,傻瓜式集成;
- 断网自动重连,消息补发,如不在线,自动离线消息;
- 安全可靠(数据加密传输),高速稳定;
- 拓展性强, 消息支持自定义协议;
- 后端框架已接入消息队列、任务调度系统、音频转码、视频转码、图片压缩、分布式锁、redis缓存、mysql读写分离;
- 后端是居于spring boot 开发的框架,非java后端可以通过restful接入用户体系;
- 只要硬件资源给足, 单机可支持数十万并发;
- 我们只做im相关的东西,所以我们更专业;
企业版本-功能说明
- 登陆(单点登陆)、注册、退出账号、更新昵称、上传头像(可接入自己的用户体系)
- 单聊、群聊、在线客服、群组管理、好友管理、扫一扫、扫码加好友、扫码加群
- 消息支持【文字、图片、表情、语音(对讲)、名片】,消息离线
- 消息还支持撤回、删除、转发,查看图册
- 群组支持全员禁言、单个禁言、拉人、踢人、添加管理员、移除管理员
- 群名称修改(群主)
为什么使用我们IM
- 我们价格优惠,APP端才三位数,比起云服务,每个月基础使用都要上千费用,如果用户再多,费用都能上万,甚至更多!
- 我们直接给源码,并且不加密,方便您二开!
- 支持所有后端语言!非Java可心通过restful 直接接入!
- 服务端支持sdk接入,不侵入您的代码!
- 服务端支持接入自己的用户体系!
- 开放性设计,可拓展性强,可定制自己的消息体!
- 一次编码,支持多端,真正省成本!
官网IM介绍
https://www.pangugle.com/web/im.html
企业版本-项目特点(最大的特点可商用)
- 私有云部署,可接入自己的用户体系,sdk接入只需5行代码,傻瓜式集成;
- 断网自动重连,消息补发,如不在线,自动离线消息;
- 安全可靠(数据加密传输),高速稳定;
- 拓展性强, 消息支持自定义协议;
- 后端框架已接入消息队列、任务调度系统、音频转码、视频转码、图片压缩、分布式锁、redis缓存、mysql读写分离;
- 后端是居于spring boot 开发的框架,非java后端可以通过restful接入用户体系;
- 只要硬件资源给足, 单机可支持数十万并发;
- 我们只做im相关的东西,所以我们更专业;
企业版本-功能说明
- 登陆(单点登陆)、注册、退出账号、更新昵称、上传头像(可接入自己的用户体系)
- 单聊、群聊、在线客服、群组管理、好友管理、扫一扫、扫码加好友、扫码加群
- 消息支持【文字、图片、表情、语音(对讲)、名片】,消息离线
- 消息还支持撤回、删除、转发,查看图册
- 群组支持全员禁言、单个禁言、拉人、踢人、添加管理员、移除管理员
- 群名称修改(群主)
为什么使用我们IM
- 我们价格优惠,APP端才三位数,比起云服务,每个月基础使用都要上千费用,如果用户再多,费用都能上万,甚至更多!
- 我们直接给源码,并且不加密,方便您二开!
- 支持所有后端语言!非Java可心通过restful 直接接入!
- 服务端支持sdk接入,不侵入您的代码!
- 服务端支持接入自己的用户体系!
- 开放性设计,可拓展性强,可定制自己的消息体!
- 一次编码,支持多端,真正省成本!

HBuilderX自定义主题:vscode Light+
vscode Light+ 主题
{
"workbench.colorCustomizations":{
"[Default]":{
"console.background":"#ffffff",
"editor.background":"#ffffff",
"editorGroup.border":"#e7e7e7",
"editorGroupHeader.tabsBackground":"#FFF",
"editorSuggestWidget.background":"#F3f3f3",
"editorSuggestWidget.selectedBackground":"#d6ebff",
"extensionButton.prominentBackground":"#ececec",
"extensionButton.prominentHoverBackground":"#f3f3f3",
"imageview.background":"#fff",
"imageview.foreground":"#fff",
"input.background":"#f3f3f3",
"inputList.hoverBackground":"#d6ebff",
"inputOption.activeBorder":"#eee",
"inputValidation.infoBackground":"#f3f3f3",
"list.activeSelectionBackground":"#0074e8",
"list.highlightForeground":"#FFF",
"list.hoverBackground":"#E8e8e8",
"minimap.handle.background":"#c9c9c9",
"outlineBackground":"#ffffff",
"settings.dropdownBackground":"#ffffff",
"settings.dropdownBorder":"#ffffff",
"settings.textInputBackground":"#ffffff",
"settings.textInputBorder":"#eeeeee",
"sideBar.background":"#F3f3f3",
"statusBar.background":"#007acc",
"statusBar.foreground":"#FFFFFF",
"tab.border":"#ececec",
"tab.hoverBackground":"#ececec",
"tab.inactiveBackground":"#ececec",
"tab.inactiveForeground":"#000",
"tab.unfocusedActiveForeground":"#ececec",
"terminal.background":"#ffffff",
"titleBar.activeBackground":"#DDDDDD",
"toolBar.background":"#ececec",
"toolBar.border":"#ececec",
"toolBar.hoverBackground":"#F3f3f3"
}
}
}

vscode Light+ 主题
{
"workbench.colorCustomizations":{
"[Default]":{
"console.background":"#ffffff",
"editor.background":"#ffffff",
"editorGroup.border":"#e7e7e7",
"editorGroupHeader.tabsBackground":"#FFF",
"editorSuggestWidget.background":"#F3f3f3",
"editorSuggestWidget.selectedBackground":"#d6ebff",
"extensionButton.prominentBackground":"#ececec",
"extensionButton.prominentHoverBackground":"#f3f3f3",
"imageview.background":"#fff",
"imageview.foreground":"#fff",
"input.background":"#f3f3f3",
"inputList.hoverBackground":"#d6ebff",
"inputOption.activeBorder":"#eee",
"inputValidation.infoBackground":"#f3f3f3",
"list.activeSelectionBackground":"#0074e8",
"list.highlightForeground":"#FFF",
"list.hoverBackground":"#E8e8e8",
"minimap.handle.background":"#c9c9c9",
"outlineBackground":"#ffffff",
"settings.dropdownBackground":"#ffffff",
"settings.dropdownBorder":"#ffffff",
"settings.textInputBackground":"#ffffff",
"settings.textInputBorder":"#eeeeee",
"sideBar.background":"#F3f3f3",
"statusBar.background":"#007acc",
"statusBar.foreground":"#FFFFFF",
"tab.border":"#ececec",
"tab.hoverBackground":"#ececec",
"tab.inactiveBackground":"#ececec",
"tab.inactiveForeground":"#000",
"tab.unfocusedActiveForeground":"#ececec",
"terminal.background":"#ffffff",
"titleBar.activeBackground":"#DDDDDD",
"toolBar.background":"#ececec",
"toolBar.border":"#ececec",
"toolBar.hoverBackground":"#F3f3f3"
}
}
}
收起阅读 »

【分享】分享一下h5+App如何获取系统复制粘贴的值
代码如下:
if (plus.os.name == 'iOS') {
var UIPasteboard = plus.ios.importClass("UIPasteboard");
var generalPasteboard = UIPasteboard.generalPasteboard();
var value = generalPasteboard.valueForPasteboardType("public.utf8-plain-text");
// value就是粘贴板的值
alert(value);
} else if (plus.os.name == 'Android') {
var Context = plus.android.importClass("android.content.Context");
var main = plus.android.runtimeMainActivity();
var clip = main.getSystemService(Context.CLIPBOARD_SERVICE);
var value = plus.android.invoke(clip, "getText");
// value就是粘贴板的值
alert(value);
}
代码如下:
if (plus.os.name == 'iOS') {
var UIPasteboard = plus.ios.importClass("UIPasteboard");
var generalPasteboard = UIPasteboard.generalPasteboard();
var value = generalPasteboard.valueForPasteboardType("public.utf8-plain-text");
// value就是粘贴板的值
alert(value);
} else if (plus.os.name == 'Android') {
var Context = plus.android.importClass("android.content.Context");
var main = plus.android.runtimeMainActivity();
var clip = main.getSystemService(Context.CLIPBOARD_SERVICE);
var value = plus.android.invoke(clip, "getText");
// value就是粘贴板的值
alert(value);
}
收起阅读 »

ios端微信支付
**IOS微信支付**
(一)微信开放平台
申请微信支付权限(300元)注意一定要注意审核是否通过
填写 Bundle ID就是android包名(不一定非要和APP一样,因为我发现我们app store 上的APP Bundle ID和微信开放平台上不一样 但是还好用 有知道的请告知)
Universal Links 必须填写(苹果的要求) https://demo.dcloud.net.cn/ulink/ 这个地址写死就完事了
(二)manifest清单文件
1.Payment勾选 ios
2.IOS平台通用链接 https://demo.dcloud.net.cn/ulink/
(三)测试
1.必须云打包 自定义基座和标准基座 都会走error毁掉
2.打包需要苹果开发者平台添加UDID
3.获取UDID,三方平台 fir 蒲公英都可以获取
4.将.ipa文件提交到三方平台 下载测试
HBuilder版本号:2.8.8.20200820
邮箱:97272442@qq.com
** 下次写ios怎么上线到App store**
**IOS微信支付**
(一)微信开放平台
申请微信支付权限(300元)注意一定要注意审核是否通过
填写 Bundle ID就是android包名(不一定非要和APP一样,因为我发现我们app store 上的APP Bundle ID和微信开放平台上不一样 但是还好用 有知道的请告知)
Universal Links 必须填写(苹果的要求) https://demo.dcloud.net.cn/ulink/ 这个地址写死就完事了
(二)manifest清单文件
1.Payment勾选 ios
2.IOS平台通用链接 https://demo.dcloud.net.cn/ulink/
(三)测试
1.必须云打包 自定义基座和标准基座 都会走error毁掉
2.打包需要苹果开发者平台添加UDID
3.获取UDID,三方平台 fir 蒲公英都可以获取
4.将.ipa文件提交到三方平台 下载测试
HBuilder版本号:2.8.8.20200820
邮箱:97272442@qq.com
** 下次写ios怎么上线到App store**
收起阅读 »

UniApp H5 浏览器下载图片 兼容iOS、Android
由于官方的api下载事件uni.downloadFile
下载的是临时文件,需要配合uni.saveFile
使用,但是uni.saveFile
不支持H5,另外uni.saveImageToPhotosAlbum
保存图片到系统相册也不支持H5,所以采用以下方式解决。
安装依赖,这里使用FileSaver,并且支持修改文件名称
npm i file-saver -S
页面代码
import FileSaver from 'file-saver'
···
download(){
let imgUrl = 'http://www.test.com/img/xxxx.jpg' //网络图片地址
FileSaver.saveAs(imgUrl, '图片名称.jpg');
}
如果图片不同源产生跨域,需要配置代理proxy
项目根目录新建vue.config.js
代码如下:
module.exports = {
devServer:{
proxy:{
'/file_url': { //将www.exaple.com印射为/apis
target: 'http://www.test.com', // 接口域名
secure: false, // 如果是https接口,需要配置这个参数
changeOrigin: true, //是否跨域
pathRewrite: {
'^/file_url': '' //需要rewrite的,
}
}
}
}
}
配置代理后,'/file_url' = 'http://www.test.com'
,需要替换图片地址前缀,页面代码:
import FileSaver from 'file-saver'
···
download(){
let imgUrl = 'http://www.test.com/img/xxxx.jpg' //网络图片地址
FileSaver.saveAs('/file_url'+'/img/xxxx.jpg', '图片名称.jpg');
}
效果如下:
由于官方的api下载事件uni.downloadFile
下载的是临时文件,需要配合uni.saveFile
使用,但是uni.saveFile
不支持H5,另外uni.saveImageToPhotosAlbum
保存图片到系统相册也不支持H5,所以采用以下方式解决。
安装依赖,这里使用FileSaver,并且支持修改文件名称
npm i file-saver -S
页面代码
import FileSaver from 'file-saver'
···
download(){
let imgUrl = 'http://www.test.com/img/xxxx.jpg' //网络图片地址
FileSaver.saveAs(imgUrl, '图片名称.jpg');
}
如果图片不同源产生跨域,需要配置代理proxy
项目根目录新建vue.config.js
代码如下:
module.exports = {
devServer:{
proxy:{
'/file_url': { //将www.exaple.com印射为/apis
target: 'http://www.test.com', // 接口域名
secure: false, // 如果是https接口,需要配置这个参数
changeOrigin: true, //是否跨域
pathRewrite: {
'^/file_url': '' //需要rewrite的,
}
}
}
}
}
配置代理后,'/file_url' = 'http://www.test.com'
,需要替换图片地址前缀,页面代码:
import FileSaver from 'file-saver'
···
download(){
let imgUrl = 'http://www.test.com/img/xxxx.jpg' //网络图片地址
FileSaver.saveAs('/file_url'+'/img/xxxx.jpg', '图片名称.jpg');
}
效果如下:
收起阅读 »
uniapp使用uni.request请求报错{"errMsg":"request:fail abort statusCode:-1"}的解决办法
问题呈现
在uniapp中,使用uni.request()向服务端接口发起请求后,返回值为:{"errMsg":"request:fail abort statusCode:-1"},因此,导致了后面的业务代码报错
前提
检查了uni.request()根据服务端接口需要的配置(如:url、data、header、method等)都没有问题
问题出现的可能原因
在以上前提下还出现这种问题,最有可能的原因:手机没有连网,或者看着连上了网但实际网络不可用,可以在手机浏览器中随便输入点文字搜一下测试看看,能不能搜到新内容。
仔细查看,这个{"errMsg":"request:fail abort statusCode:-1"}返回值,其实并不是服务端返回来的,因为请求都完全没有到服务端
解决办法
在执行uni.request()向服务端请求前,使用uni.getNetworkType()和uni.onNetworkStatusChange()对网络进行监听,如果监听到当前设备是处于无网络的状态时,就不执行uni.request()请求,而是弹出一个弹框或者消息提示,提醒用户:“当前设备断网了,请检查网络后重试”
注:以上是根据我本人实际遇到这个问题后的解决办法,也是在这个坑里吃了不少苦,分享出来,希望给大家提供参考,若解决了你的问题,不要钱,请点一下赞!因为分享经验需要去组织语言、编辑文字,这个过程其实是需要花精力花时间的,因此,创作不易,分享不易!
问题呈现
在uniapp中,使用uni.request()向服务端接口发起请求后,返回值为:{"errMsg":"request:fail abort statusCode:-1"},因此,导致了后面的业务代码报错
前提
检查了uni.request()根据服务端接口需要的配置(如:url、data、header、method等)都没有问题
问题出现的可能原因
在以上前提下还出现这种问题,最有可能的原因:手机没有连网,或者看着连上了网但实际网络不可用,可以在手机浏览器中随便输入点文字搜一下测试看看,能不能搜到新内容。
仔细查看,这个{"errMsg":"request:fail abort statusCode:-1"}返回值,其实并不是服务端返回来的,因为请求都完全没有到服务端
解决办法
在执行uni.request()向服务端请求前,使用uni.getNetworkType()和uni.onNetworkStatusChange()对网络进行监听,如果监听到当前设备是处于无网络的状态时,就不执行uni.request()请求,而是弹出一个弹框或者消息提示,提醒用户:“当前设备断网了,请检查网络后重试”
注:以上是根据我本人实际遇到这个问题后的解决办法,也是在这个坑里吃了不少苦,分享出来,希望给大家提供参考,若解决了你的问题,不要钱,请点一下赞!因为分享经验需要去组织语言、编辑文字,这个过程其实是需要花精力花时间的,因此,创作不易,分享不易!
收起阅读 »