HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

「亲测有效」Java JDK 生成带有 md5 签名的安卓证书

Android 安卓 App打包

刚入门 uniapp 不久,之前也没用过 java 开发程序,对其不了解;

在打包时就踩坑了,发现安装的 jdk 生成的证书不带 md5 签名,折腾半天,为了先测试 apk 包就去了某在线生成的网站弄了一个。

今天,花了些时间做了下功果,发现从新版 java 的 jdk 已经不支持 md5 了,仅支持 sha1,sha256 两种签名。

所以,就想到安装旧版本,用 jdk 1.8 版做了测试,生成了带有 md5 签名的证名,分享给像我一样刚入门的新手!

1. 先卸载新版 java 和 jdk (仅应用于 mac 系统,其它系统请问度娘)

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin  
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane  
sudo rm -fr ~/Library/Application\ Support/Oracle/Java  

#查找当前 jdk 版本  
ls /Library/Java/JavaVirtualMachines/  

#删除对应的版本,替换成对应的文件名  
sudo rm -rf /Library/Java/JavaVirtualMachines/[文件名].jdk

2. 下载旧版本

打开下面网址后,搜索:8u202 ,选自已操作系统的版本下载

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

3. 安装,搞定!

我特地重新拿证书做了一次云打包,正常打包!

4. 其它:查看安装后的版本

java -version
继续阅读 »

刚入门 uniapp 不久,之前也没用过 java 开发程序,对其不了解;

在打包时就踩坑了,发现安装的 jdk 生成的证书不带 md5 签名,折腾半天,为了先测试 apk 包就去了某在线生成的网站弄了一个。

今天,花了些时间做了下功果,发现从新版 java 的 jdk 已经不支持 md5 了,仅支持 sha1,sha256 两种签名。

所以,就想到安装旧版本,用 jdk 1.8 版做了测试,生成了带有 md5 签名的证名,分享给像我一样刚入门的新手!

1. 先卸载新版 java 和 jdk (仅应用于 mac 系统,其它系统请问度娘)

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin  
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane  
sudo rm -fr ~/Library/Application\ Support/Oracle/Java  

#查找当前 jdk 版本  
ls /Library/Java/JavaVirtualMachines/  

#删除对应的版本,替换成对应的文件名  
sudo rm -rf /Library/Java/JavaVirtualMachines/[文件名].jdk

2. 下载旧版本

打开下面网址后,搜索:8u202 ,选自已操作系统的版本下载

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

3. 安装,搞定!

我特地重新拿证书做了一次云打包,正常打包!

4. 其它:查看安装后的版本

java -version
收起阅读 »

如何编译uniapp到微信、支付宝小程序插件

小程序插件 微信小程序 支付宝小程序

小程序插件开发

平台差异说明

微信小程序 支付宝小程序 百度小程序 字节跳动小程序 QQ 小程序 快手小程序
x x x x

注意

  1. 开发 微信小程序插件 时,基础库版本 1.9.6 开始支持。(如果插件包含页面,则需要基础库版本 2.1.0 。)
  2. 开发 支付宝小程序插件 时,IDE 版本要求在 0.60 及以上

插件目录结构

plugin  
├── components               // 插件提供的自定义组件(可以有多个)  
│   ├── hello-component.js  
│   ├── hello-component.json  
│   ├── hello-component.wxml  
│   └── hello-component.wxss  
├── pages  
│   ├── hello-page.js        // 插件提供的页面(可以有多个)  
│   ├── hello-page.json  
│   ├── hello-page.wxml  
│   └── hello-page.wxss  
├── index.js                 // 插件的 js 接口  
└── plugin.json              // 插件配置文件

插件配置文件

向第三方小程序开放的所有组件、页面和 js 接口都必须在 plugin.json 中声明

  • mp-weixin

    {  
    "publicComponents": {  
        "hello-component": "components/hello-component"  
    },  
    "pages": {  
        "hello-page": "pages/hello-page"  
    },  
    "main": "index.js"  
    }  

    每个配置的含义如下:

    • publicComponents:列出所有向小程序开放的自定义组件。
    • pages:列出所有向小程序开放的页面。
    • main:插件面向第三方小程序的 js 接口。
  • mp-alipay

    {  
     "publicComponents": {  
       "hello-component": "components/hello-component"  
     },  
     "publicPages": {  
       "hello-pages": "pages/hello-page"  
     },  
     "pages": [  
       "pages/hello-page"  
       "pages/index"  
     ],  
     "main": "index.js"  
    }  

    每个配置的含义如下:

    • publicComponents:列出所有向小程序开放的自定义组件。
    • publicPages:列出所有向小程序开放的页面。
    • pages:列出插件所有页面(包含向小程序开放的以及不向小程序开放的页面)。
    • main:插件面向第三方小程序的 js 接口。

注意

  1. mp-weixin 中的 pages 项与 mp-alipay 中的 publicPages 项作用一致
  2. mp-alipay 中供外部使用的页面,需要在 pages 中声明,数组类型
  3. 由于两端的格式不一致,可以在 plugin.json 中使用条件编译处理

编译步骤

  • 安装 cli 最新的 alpha 版或最新的稳定版。截止文章发布时最新版本为:2.0.0-alpha-32120210809004
  • 执行命令行:yarn dev:mp-weixin -- --plugin test-plugin
  • 其中 test-plugin 为打出插件包的名字。 项目根目录\dist\dev\mp-weixin\test-plugin 中既是可执行小程序插件代码。
  • mp-alipay 平台插件编译后续发布,请留意更新日志。

如何在项目中使用插件

  1. 宿主小程序是 uniapp项目,在 manifest.json 中配置相关信息即可,详情
  2. 宿主为原生小程序,在项目的 app.json 中配置即可:

在插件中使用条件编译

有时候项目不仅要编译到插件,也需要作为一个正常的小程序运行,但有些 api 并不适用于两端,此时可以使用自定义条件编译区分开来。

  1. 自定义条件编译(详情),在package.json中添加如以下配置:

    "uni-app": {  
     "scripts": {  
       "mp-wx-plugin": {  
         "title": "微信小程序插件",  
         "env": {  
           "UNI_PLATFORM": "mp-weixin"  
         },  
         "define": {  
           "MP-WX-PLUGIN": true  
         }  
       },  
       "mp-ali-plugin": {  
         "title": "阿里小程序插件",  
         "env": {  
           "UNI_PLATFORM": "mp-alipay"  
         },  
         "define": {  
           "MP-ALI-PLUGIN": true  
         }  
       },  
     }  
    }  
  2. 使用条件编译:

    // #ifdef MP-WX-PLUGIN  
    /**  
    * CODE  
    */  
    // #endif  
  3. 编译时执行命令:yarn dev:custom mp-wx-plugin --plugin test-plugin 即可,可将脚本写入script中,每次执行更加简化。

    {  
    "dev:mp-wx-plugin": "yarn dev:custom mp-wx-plugin --plugin",  
    "dev:mp-ali-plugin": "yarn dev:custom mp-ali-plugin --plugin"  
    }  

注意

  1. 组件在插件内部未使用,需要在宿主小程序中使用时,要在 main.js 中引入使用一下,否则编译后会丢失未使用插件。例如:
    import helloList from '.../helloList';  
    Vue.component('hello-list', helloList);  
  2. 插件中所编写的页面需要在 pages.json 中填写。
  3. 如果有多个 uniapp 编译的 插件 需要运行在同一个小程序中,不要重名
  4. 名称不要有特殊字符,比如 \。会用到这个名字来挂载一个方法。
  5. - 已经手动替换为 _ ,其他的特殊字符不要写。
  6. 各家小程序插件对各 api 的支持情况不同,具体请查看小程序官方文档的相关描述

2021-11-04 更新

  • 修复 mp-weixin 插件模式,不触发 $emit 。下载 附件 ,替换至 node_modules\@dcloudio\uni-mp-weixin\dist\index.js 后重新编译插件代码。

附件为添加小程序导出到插件功能(另外两个为vue2、vue3示例):

继续阅读 »

小程序插件开发

平台差异说明

微信小程序 支付宝小程序 百度小程序 字节跳动小程序 QQ 小程序 快手小程序
x x x x

注意

  1. 开发 微信小程序插件 时,基础库版本 1.9.6 开始支持。(如果插件包含页面,则需要基础库版本 2.1.0 。)
  2. 开发 支付宝小程序插件 时,IDE 版本要求在 0.60 及以上

插件目录结构

plugin  
├── components               // 插件提供的自定义组件(可以有多个)  
│   ├── hello-component.js  
│   ├── hello-component.json  
│   ├── hello-component.wxml  
│   └── hello-component.wxss  
├── pages  
│   ├── hello-page.js        // 插件提供的页面(可以有多个)  
│   ├── hello-page.json  
│   ├── hello-page.wxml  
│   └── hello-page.wxss  
├── index.js                 // 插件的 js 接口  
└── plugin.json              // 插件配置文件

插件配置文件

向第三方小程序开放的所有组件、页面和 js 接口都必须在 plugin.json 中声明

  • mp-weixin

    {  
    "publicComponents": {  
        "hello-component": "components/hello-component"  
    },  
    "pages": {  
        "hello-page": "pages/hello-page"  
    },  
    "main": "index.js"  
    }  

    每个配置的含义如下:

    • publicComponents:列出所有向小程序开放的自定义组件。
    • pages:列出所有向小程序开放的页面。
    • main:插件面向第三方小程序的 js 接口。
  • mp-alipay

    {  
     "publicComponents": {  
       "hello-component": "components/hello-component"  
     },  
     "publicPages": {  
       "hello-pages": "pages/hello-page"  
     },  
     "pages": [  
       "pages/hello-page"  
       "pages/index"  
     ],  
     "main": "index.js"  
    }  

    每个配置的含义如下:

    • publicComponents:列出所有向小程序开放的自定义组件。
    • publicPages:列出所有向小程序开放的页面。
    • pages:列出插件所有页面(包含向小程序开放的以及不向小程序开放的页面)。
    • main:插件面向第三方小程序的 js 接口。

注意

  1. mp-weixin 中的 pages 项与 mp-alipay 中的 publicPages 项作用一致
  2. mp-alipay 中供外部使用的页面,需要在 pages 中声明,数组类型
  3. 由于两端的格式不一致,可以在 plugin.json 中使用条件编译处理

编译步骤

  • 安装 cli 最新的 alpha 版或最新的稳定版。截止文章发布时最新版本为:2.0.0-alpha-32120210809004
  • 执行命令行:yarn dev:mp-weixin -- --plugin test-plugin
  • 其中 test-plugin 为打出插件包的名字。 项目根目录\dist\dev\mp-weixin\test-plugin 中既是可执行小程序插件代码。
  • mp-alipay 平台插件编译后续发布,请留意更新日志。

如何在项目中使用插件

  1. 宿主小程序是 uniapp项目,在 manifest.json 中配置相关信息即可,详情
  2. 宿主为原生小程序,在项目的 app.json 中配置即可:

在插件中使用条件编译

有时候项目不仅要编译到插件,也需要作为一个正常的小程序运行,但有些 api 并不适用于两端,此时可以使用自定义条件编译区分开来。

  1. 自定义条件编译(详情),在package.json中添加如以下配置:

    "uni-app": {  
     "scripts": {  
       "mp-wx-plugin": {  
         "title": "微信小程序插件",  
         "env": {  
           "UNI_PLATFORM": "mp-weixin"  
         },  
         "define": {  
           "MP-WX-PLUGIN": true  
         }  
       },  
       "mp-ali-plugin": {  
         "title": "阿里小程序插件",  
         "env": {  
           "UNI_PLATFORM": "mp-alipay"  
         },  
         "define": {  
           "MP-ALI-PLUGIN": true  
         }  
       },  
     }  
    }  
  2. 使用条件编译:

    // #ifdef MP-WX-PLUGIN  
    /**  
    * CODE  
    */  
    // #endif  
  3. 编译时执行命令:yarn dev:custom mp-wx-plugin --plugin test-plugin 即可,可将脚本写入script中,每次执行更加简化。

    {  
    "dev:mp-wx-plugin": "yarn dev:custom mp-wx-plugin --plugin",  
    "dev:mp-ali-plugin": "yarn dev:custom mp-ali-plugin --plugin"  
    }  

注意

  1. 组件在插件内部未使用,需要在宿主小程序中使用时,要在 main.js 中引入使用一下,否则编译后会丢失未使用插件。例如:
    import helloList from '.../helloList';  
    Vue.component('hello-list', helloList);  
  2. 插件中所编写的页面需要在 pages.json 中填写。
  3. 如果有多个 uniapp 编译的 插件 需要运行在同一个小程序中,不要重名
  4. 名称不要有特殊字符,比如 \。会用到这个名字来挂载一个方法。
  5. - 已经手动替换为 _ ,其他的特殊字符不要写。
  6. 各家小程序插件对各 api 的支持情况不同,具体请查看小程序官方文档的相关描述

2021-11-04 更新

  • 修复 mp-weixin 插件模式,不触发 $emit 。下载 附件 ,替换至 node_modules\@dcloudio\uni-mp-weixin\dist\index.js 后重新编译插件代码。

附件为添加小程序导出到插件功能(另外两个为vue2、vue3示例):

收起阅读 »

因疫情无法买到回国机票,17岁少年攻击航空公司系统获刑四年

法律科普

受疫情影响,一些国际航线机票紧缺,有的航线花高价也是一票难求,官网订票、APP购票、找黄牛抢票,能想到的方法都用了,可还是买不到票,怎么办?

因为买不到回国机票,一气之下,身处境外的17岁少年小陈竟多次、持续攻击某航空公司计算机系统,致使该航空公司对外服务网络全面瘫痪近四小时,5000余万用户受到影响

记者今日从广州白云法院了解到,小陈因犯破坏计算机信息系统罪,被判处有期徒刑4年

买不到回国机票,他找黑客攻击航空公司系统

2020年6月初,17岁的小陈因疫情影响被强制留滞在国外疫情重区,因在境外无法买到回国机票而产生不满情绪。冲动之下,他在境外网站购买攻击套餐,利用DDOS(黑客通过远程控制服务器或计算机等资源,对目标发动高频服务请求,使目标服务器因来不及处理海量请求而瘫痪)等攻击手段,多次、持续攻击某航空公司客票等计算机系统。

此次黑客入侵,造成某航空公司对外服务网络全部瘫痪,包括客票业务、微信直播平台销售、机场旅客服务、飞行、运控等系统无法正常运作,导致为5000余万用户提供服务的客票等计算机系统不能正常运行累计四小时,给该航空公司造成巨大经济损失与负面网络舆论评价。

同年7月,归国的小陈在广州一酒店办理解除隔离手续时,被公安机关抓获。

落网后,小陈声称,当时人在国外,疫情非常严重,自己年纪小又发烧,害怕被感染。加之女朋友怀孕,压力较大,因此特别想回国。在购买机票失败后,情绪低落,心情焦虑,一时冲动,才充值购买境外网站攻击套餐,没有想到后果。对于自己的行为,他感到非常后悔!如果能与航空公司达成和解,愿意继续赔偿。

法院经审理认为,小陈无视国家法律,违反国家规定,对计算机信息系统功能进行干扰,造成计算机信息系统不能正常运行,后果特别严重,其行为已构成破坏计算机信息系统罪

量刑上,鉴于小陈犯罪时已满十六周岁不满十八周岁,依法应当减轻或者从轻处罚。综合考虑小陈犯罪行为的性质、情节、危害后果及认罪态度,判决小陈犯破坏计算机信息系统罪,判处有期徒刑四年;缴获的作案工具笔记本电脑一台予以没收

法官说法:受疫情影响不是违法犯罪借口

2020年至今,境内外疫情持续蔓延,国内外航空限行政策与疫情防控要求各不相同,且不断变化调整。经办法官指出,纵归国心切、纵“一票难求”,也应通过正常途径购买机票,购买不到机票时,应通过寻求使领馆帮助等法律途径解决问题,而非剑走偏锋,在危险的边缘试探。否则稍有不慎,便可能是违法犯罪、贻误终身、自食恶果

本案中,根据小陈的供述,其上完小学三年级后便辍学打工,自15岁起自学数字货币开发、大数据、区块链技术、人工智能,本是一名努力上进的青少年,由于出国后受疫情影响滞留国外,归国心切的他冲动之下实施违法行为。考虑到小陈实施犯罪时未成年,案发时情境特殊,其主观恶性较小,犯罪后也能够如实供述自己的罪行,结合未成年人对犯罪的认知能力,实施犯罪行为的动机和目的、年龄、是否是初犯、偶犯、悔罪表现、个人成长的一贯情况等方面,予以从宽处罚。

法庭上,小陈虽有悔罪态度,怪自己年幼无知。但是,受疫情影响不是违法犯罪的借口,每个人都要对自己的行为承担相应的后果。

【转自公众号:广州日报 】,声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 邮箱地址:pufa@dcloud.io 。

原文链接

https://new.qq.com/omn/20210817/20210817A066IQ00.html

继续阅读 »

受疫情影响,一些国际航线机票紧缺,有的航线花高价也是一票难求,官网订票、APP购票、找黄牛抢票,能想到的方法都用了,可还是买不到票,怎么办?

因为买不到回国机票,一气之下,身处境外的17岁少年小陈竟多次、持续攻击某航空公司计算机系统,致使该航空公司对外服务网络全面瘫痪近四小时,5000余万用户受到影响

记者今日从广州白云法院了解到,小陈因犯破坏计算机信息系统罪,被判处有期徒刑4年

买不到回国机票,他找黑客攻击航空公司系统

2020年6月初,17岁的小陈因疫情影响被强制留滞在国外疫情重区,因在境外无法买到回国机票而产生不满情绪。冲动之下,他在境外网站购买攻击套餐,利用DDOS(黑客通过远程控制服务器或计算机等资源,对目标发动高频服务请求,使目标服务器因来不及处理海量请求而瘫痪)等攻击手段,多次、持续攻击某航空公司客票等计算机系统。

此次黑客入侵,造成某航空公司对外服务网络全部瘫痪,包括客票业务、微信直播平台销售、机场旅客服务、飞行、运控等系统无法正常运作,导致为5000余万用户提供服务的客票等计算机系统不能正常运行累计四小时,给该航空公司造成巨大经济损失与负面网络舆论评价。

同年7月,归国的小陈在广州一酒店办理解除隔离手续时,被公安机关抓获。

落网后,小陈声称,当时人在国外,疫情非常严重,自己年纪小又发烧,害怕被感染。加之女朋友怀孕,压力较大,因此特别想回国。在购买机票失败后,情绪低落,心情焦虑,一时冲动,才充值购买境外网站攻击套餐,没有想到后果。对于自己的行为,他感到非常后悔!如果能与航空公司达成和解,愿意继续赔偿。

法院经审理认为,小陈无视国家法律,违反国家规定,对计算机信息系统功能进行干扰,造成计算机信息系统不能正常运行,后果特别严重,其行为已构成破坏计算机信息系统罪

量刑上,鉴于小陈犯罪时已满十六周岁不满十八周岁,依法应当减轻或者从轻处罚。综合考虑小陈犯罪行为的性质、情节、危害后果及认罪态度,判决小陈犯破坏计算机信息系统罪,判处有期徒刑四年;缴获的作案工具笔记本电脑一台予以没收

法官说法:受疫情影响不是违法犯罪借口

2020年至今,境内外疫情持续蔓延,国内外航空限行政策与疫情防控要求各不相同,且不断变化调整。经办法官指出,纵归国心切、纵“一票难求”,也应通过正常途径购买机票,购买不到机票时,应通过寻求使领馆帮助等法律途径解决问题,而非剑走偏锋,在危险的边缘试探。否则稍有不慎,便可能是违法犯罪、贻误终身、自食恶果

本案中,根据小陈的供述,其上完小学三年级后便辍学打工,自15岁起自学数字货币开发、大数据、区块链技术、人工智能,本是一名努力上进的青少年,由于出国后受疫情影响滞留国外,归国心切的他冲动之下实施违法行为。考虑到小陈实施犯罪时未成年,案发时情境特殊,其主观恶性较小,犯罪后也能够如实供述自己的罪行,结合未成年人对犯罪的认知能力,实施犯罪行为的动机和目的、年龄、是否是初犯、偶犯、悔罪表现、个人成长的一贯情况等方面,予以从宽处罚。

法庭上,小陈虽有悔罪态度,怪自己年幼无知。但是,受疫情影响不是违法犯罪的借口,每个人都要对自己的行为承担相应的后果。

【转自公众号:广州日报 】,声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。 邮箱地址:pufa@dcloud.io 。

原文链接

https://new.qq.com/omn/20210817/20210817A066IQ00.html

收起阅读 »

个人/公司专业软件开发 Vx: Coder0s

求职 外包接单

公司成员精通Windows程序开发,网站开发,移动端APP开发,混合应用开发,PHP、JAVA、Go、Vue、React、Uniapp、React Native,公司精英团队开发,每日上传工作量,保证规定工期完成开发任务。
官网:https://www.newzhilai.com
主要技术架构
ThinkPHP+Uniapp、React Native
有需要联系微信Coder0s

案例:

  1. 智云家教小程序

  2. GroomNow
    Link

  3. 迅迅
    Link

继续阅读 »

公司成员精通Windows程序开发,网站开发,移动端APP开发,混合应用开发,PHP、JAVA、Go、Vue、React、Uniapp、React Native,公司精英团队开发,每日上传工作量,保证规定工期完成开发任务。
官网:https://www.newzhilai.com
主要技术架构
ThinkPHP+Uniapp、React Native
有需要联系微信Coder0s

案例:

  1. 智云家教小程序

  2. GroomNow
    Link

  3. 迅迅
    Link

收起阅读 »

【mescroll-more】当列表数据多页时切换tabs,恢复滚动条位置不准确并且会触发上拉

微信小程序 uni_app项目 mescroll

当前场景为微信小程序,实例为mescroll插件中的mescroll-more

  1. 导入mescroll插件
  2. 修改第二个tab的数据为多页
  3. 点击加载第一个tab和第二个tab
  4. 第一个tab上拉至第二页并继续上拉
  5. 切换回第二个tab

即可复现BUG,第二个tab的滚动条位置已发生变化,变成当前页(page.num 为1)的底部
并且会发现触发了第二个tab的上拉加载

触发上拉原因可能是各个mescroll因为加载在同一个页面,当切换到第二个tab时页面的scrollTop为第一个tab页面的值;
当第一个tab页面的页码数大于第二个tab页面的页码数,就触发了上拉刷新。

滚动条定位不准确的原因应该是因为官方插件中恢复滚动条位置方法中获取scrollTop的值是在元素已渲染后;
这是获取的是第一个tab的最后scrollTop值;

我的处理方案:
1:mescroll-more.vue

2:mescroll-more-item:vue

3:mescroll-more.js

本人能力有限,希望官方大神能有更好的处理方案

希望这篇帖子对您有所帮助

继续阅读 »

当前场景为微信小程序,实例为mescroll插件中的mescroll-more

  1. 导入mescroll插件
  2. 修改第二个tab的数据为多页
  3. 点击加载第一个tab和第二个tab
  4. 第一个tab上拉至第二页并继续上拉
  5. 切换回第二个tab

即可复现BUG,第二个tab的滚动条位置已发生变化,变成当前页(page.num 为1)的底部
并且会发现触发了第二个tab的上拉加载

触发上拉原因可能是各个mescroll因为加载在同一个页面,当切换到第二个tab时页面的scrollTop为第一个tab页面的值;
当第一个tab页面的页码数大于第二个tab页面的页码数,就触发了上拉刷新。

滚动条定位不准确的原因应该是因为官方插件中恢复滚动条位置方法中获取scrollTop的值是在元素已渲染后;
这是获取的是第一个tab的最后scrollTop值;

我的处理方案:
1:mescroll-more.vue

2:mescroll-more-item:vue

3:mescroll-more.js

本人能力有限,希望官方大神能有更好的处理方案

希望这篇帖子对您有所帮助

收起阅读 »

短视频插件

插件需求 预加载 短视频

https://ext.dcloud.net.cn/plugin?id=5656

1.优化播放性能和上下滑动

2.预加载视频

3.仿腾讯视频拖动进度条预览视频

4.样式高度自定义

https://ext.dcloud.net.cn/plugin?id=5656

1.优化播放性能和上下滑动

2.预加载视频

3.仿腾讯视频拖动进度条预览视频

4.样式高度自定义

[招聘] uniapp开发工程师 上海浦东蓝村路地铁站附近一金融软件公司招聘 有兴趣请砸简历hr@signtobuy.cn

uniapp开发工程师
岗位职责:
1.负责基于uniapp的移动端开发和优化,JS、VUE等前端技术的Web功能开发、调优和维护;
2.根据产品经理的需求和UI设计进行页面开发、功能开发;
3.负责Web页面在各浏览器中的兼容性调整,性能优化;
4.应用前端技术框架和JS等进行互动效果、数据交互的开发;
5.维护及优化前端性能,优化前端开发模式和规范,参与前端框架的编写以及规范的制定;

任职要求:
1.3年以上前端开发工作经验,至少2个uniapp项目开发经验;
2.精通前端基本技术,包括HTML/CSS/Javascript等;
3.精通JSON、XML等通信格式以及基于AJAX请求实现与后台数据交互;
4.熟悉微信生态及微信小程序生态,有完整的微信小程序项目经验;
5.熟悉使用HBuilder IDE编辑器进行开发,并完成打包发布安卓、ios版本app;
6.精通Vue、uniapp框架应用,并能运用uni-app框架完成移动端及小程序开发;
7..本科及以上学历(全日制),责任心强,有团队精神,学习能力强。

继续阅读 »

uniapp开发工程师
岗位职责:
1.负责基于uniapp的移动端开发和优化,JS、VUE等前端技术的Web功能开发、调优和维护;
2.根据产品经理的需求和UI设计进行页面开发、功能开发;
3.负责Web页面在各浏览器中的兼容性调整,性能优化;
4.应用前端技术框架和JS等进行互动效果、数据交互的开发;
5.维护及优化前端性能,优化前端开发模式和规范,参与前端框架的编写以及规范的制定;

任职要求:
1.3年以上前端开发工作经验,至少2个uniapp项目开发经验;
2.精通前端基本技术,包括HTML/CSS/Javascript等;
3.精通JSON、XML等通信格式以及基于AJAX请求实现与后台数据交互;
4.熟悉微信生态及微信小程序生态,有完整的微信小程序项目经验;
5.熟悉使用HBuilder IDE编辑器进行开发,并完成打包发布安卓、ios版本app;
6.精通Vue、uniapp框架应用,并能运用uni-app框架完成移动端及小程序开发;
7..本科及以上学历(全日制),责任心强,有团队精神,学习能力强。

收起阅读 »

插件市场有些人瞎评论

评论

这2篇文章中,昵称:程序员菜鸟。https://ext.dcloud.net.cn/plugin?id=2306和https://ext.dcloud.net.cn/plugin?id=5347。建议加个投诉评论功能

这2篇文章中,昵称:程序员菜鸟。https://ext.dcloud.net.cn/plugin?id=2306和https://ext.dcloud.net.cn/plugin?id=5347。建议加个投诉评论功能

app端,小程序端提交bug日志到自己的服务器

js
let error = console.error;  

error = (func => {  
    return (...args) =>{  
        // TODO:这里你可以放处理bug的方法  
        // 一般上线小程序或者app以后,用于收集客户端错误  
        handlerFunction(args);  
        //让error继续执行  
        func.apply(console,args);  
    }  
})(error);  

function handlerFunction(err) {  
    console.log(err);  
}

在main.js最开始的地方调用

继续阅读 »
let error = console.error;  

error = (func => {  
    return (...args) =>{  
        // TODO:这里你可以放处理bug的方法  
        // 一般上线小程序或者app以后,用于收集客户端错误  
        handlerFunction(args);  
        //让error继续执行  
        func.apply(console,args);  
    }  
})(error);  

function handlerFunction(err) {  
    console.log(err);  
}

在main.js最开始的地方调用

收起阅读 »

5+ App强制禁用软键盘(调用原生代码)

软键盘 5+App开发
        document.addEventListener("plusready", function(){  
            var runtimeActivity = plus.android.runtimeMainActivity();  
            var w = runtimeActivity.getWindow();  
            plus.android.importClass(w);  
            var params=w.getAttributes();  
            plus.android.importClass(params);  
            var WindowManager = plus.android.importClass('android.view.WindowManager');  
            plus.android.invoke(w,"addFlags",WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);  
            params.windowSoftInputMode = WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;  
        }, false);

原理是调用window.addFlags FLAG_ALT_FOCUSABLE_IM

继续阅读 »
        document.addEventListener("plusready", function(){  
            var runtimeActivity = plus.android.runtimeMainActivity();  
            var w = runtimeActivity.getWindow();  
            plus.android.importClass(w);  
            var params=w.getAttributes();  
            plus.android.importClass(params);  
            var WindowManager = plus.android.importClass('android.view.WindowManager');  
            plus.android.invoke(w,"addFlags",WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);  
            params.windowSoftInputMode = WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;  
        }, false);

原理是调用window.addFlags FLAG_ALT_FOCUSABLE_IM

收起阅读 »

原生插件与HBuilderX内置模块使用的库冲突

uniapp原生插件

本地原生插件与HBuilderX内置模块使用的库冲突:

在本地插件 /nativeplugins/插件/package.json 中增加 excludeDependencies 配置,示例如下:

{  
    "name": "test-plugin",  
    "_dp_type": "nativeplugin",  
    "_dp_nativeplugin": {  
        "android": {  
            // 可选,需要排除的HX内置模块依赖库名称  
            "excludeDependencies": ["alipaysdk-noutdid-15.8.03.210428205839.aar"]  
        }  
    }  
}

这样在打包时,就可以不打包这个依赖的库。比如代码示例中:原生插件中的 alipaysdkmanifest.json 中的 APP模块配置[支付宝支付] 冲突。

云端插件与HBuilderX内置模块使用的库冲突:

如果插件中包含的 jar/aar 依赖库,与 其它插件 或 HBuilderX内置模块存在冲突,可以配置插件中冲突的 jar/aar 库不参与编译打包来解决冲突。 比如 插件A 中使用的 alipaysdk-noutdid-15.8.03.210428205839.aar 与其它库冲突,可以在 uni-app 项目的 _nativeplugins/插件A/ 目录(云端插件需要手动创建目录)中创建 android-exclude.txt 文件,文件内容如下:

alipaysdk-noutdid-15.8.03.210428205839.aar

平台依赖库冲突如何解决?

原生插件 jar 冲突:

假如在打包时,出现了 jar 包冲突,那么可以做一下步骤:

  1. 在 uni-app项目的 nativeplugins/插件A/ 目录(云端插件需要手动创建目录)中创建 android-exclude.txt 文件。具体内容可以参考 平台依赖库冲突如何解决?
  2. 创建成功后,打包还是出现了 jar 包冲突,那么表示这个 jar 不在这个原生插件包的 libs 文件夹里面,而在插件包中所依赖的 arr 包里,这就只能联系开发者了。
  3. 如果是自己开发的插件,那么就不需要把 jar 打入 arr 包中,而在 原生插件包中 增加 libs 的方式引用;或者使用maven方式引入jar,再对齐进行混淆。
继续阅读 »

本地原生插件与HBuilderX内置模块使用的库冲突:

在本地插件 /nativeplugins/插件/package.json 中增加 excludeDependencies 配置,示例如下:

{  
    "name": "test-plugin",  
    "_dp_type": "nativeplugin",  
    "_dp_nativeplugin": {  
        "android": {  
            // 可选,需要排除的HX内置模块依赖库名称  
            "excludeDependencies": ["alipaysdk-noutdid-15.8.03.210428205839.aar"]  
        }  
    }  
}

这样在打包时,就可以不打包这个依赖的库。比如代码示例中:原生插件中的 alipaysdkmanifest.json 中的 APP模块配置[支付宝支付] 冲突。

云端插件与HBuilderX内置模块使用的库冲突:

如果插件中包含的 jar/aar 依赖库,与 其它插件 或 HBuilderX内置模块存在冲突,可以配置插件中冲突的 jar/aar 库不参与编译打包来解决冲突。 比如 插件A 中使用的 alipaysdk-noutdid-15.8.03.210428205839.aar 与其它库冲突,可以在 uni-app 项目的 _nativeplugins/插件A/ 目录(云端插件需要手动创建目录)中创建 android-exclude.txt 文件,文件内容如下:

alipaysdk-noutdid-15.8.03.210428205839.aar

平台依赖库冲突如何解决?

原生插件 jar 冲突:

假如在打包时,出现了 jar 包冲突,那么可以做一下步骤:

  1. 在 uni-app项目的 nativeplugins/插件A/ 目录(云端插件需要手动创建目录)中创建 android-exclude.txt 文件。具体内容可以参考 平台依赖库冲突如何解决?
  2. 创建成功后,打包还是出现了 jar 包冲突,那么表示这个 jar 不在这个原生插件包的 libs 文件夹里面,而在插件包中所依赖的 arr 包里,这就只能联系开发者了。
  3. 如果是自己开发的插件,那么就不需要把 jar 打入 arr 包中,而在 原生插件包中 增加 libs 的方式引用;或者使用maven方式引入jar,再对齐进行混淆。
收起阅读 »