
android遍历短信/读取短信
官方Native.js 示例获取所有短信进行遍历的示例有问题 ,一直报TypeError: Cannot read property 'TYPE' of null,自定义调试基座以及权限是没问题的,查找帖子找到如下代码,分享一下,希望官方能看见修改,下面代码经测试无问题 ,帖子转自https://cnbing.net/Detail/8.html,不能评论,表示感谢
getMassage() {
if(plus.os.name === 'Android'){
//不同机型可能获取不全
//查看权限是否已允许
var Context = plus.android.runtimeMainActivity()
var res = plus.android.invoke('android.support.v4.app.ActivityCompat', 'checkSelfPermission', Context, 'android.permission.READ_SMS')
var PERMISSIONS_STORAGE = new Array()
PERMISSIONS_STORAGE.push('android.permission.READ_SMS')
if (res !== '0')
{
plus.android.invoke('android.support.v4.app.ActivityCompat', 'requestPermissions', Context, PERMISSIONS_STORAGE, 1)
} else {
}
var main = plus.android.runtimeMainActivity()
var Uri = plus.android.importClass('android.net.Uri')
var ContactsContract = plus.android.importClass('android.provider.ContactsContract')
var uri = Uri.parse('content://sms/')
var cr = main.getContentResolver()
plus.android.importClass(cr)
var cur = cr.query(uri, null, null, null, null)
plus.android.importClass(cur)
cur.moveToFirst()
var smslist = []
while (cur.moveToNext())
{
var index_Address = cur.getColumnIndex('address')
var address = cur.getString(index_Address)
//短信内容
var index_Body = cur.getColumnIndex('body')
var body = cur.getString(index_Body)
//类型1接收 2发送
var index_Type = cur.getColumnIndex('type')
var type = cur.getString(index_Type)
smslist.push({
address:address,
body:body,
type:type
})
}
console.log(smslist)
}else if(plus.os.name === 'iOS'){
console.log('iOS')
}
},
官方Native.js 示例获取所有短信进行遍历的示例有问题 ,一直报TypeError: Cannot read property 'TYPE' of null,自定义调试基座以及权限是没问题的,查找帖子找到如下代码,分享一下,希望官方能看见修改,下面代码经测试无问题 ,帖子转自https://cnbing.net/Detail/8.html,不能评论,表示感谢
getMassage() {
if(plus.os.name === 'Android'){
//不同机型可能获取不全
//查看权限是否已允许
var Context = plus.android.runtimeMainActivity()
var res = plus.android.invoke('android.support.v4.app.ActivityCompat', 'checkSelfPermission', Context, 'android.permission.READ_SMS')
var PERMISSIONS_STORAGE = new Array()
PERMISSIONS_STORAGE.push('android.permission.READ_SMS')
if (res !== '0')
{
plus.android.invoke('android.support.v4.app.ActivityCompat', 'requestPermissions', Context, PERMISSIONS_STORAGE, 1)
} else {
}
var main = plus.android.runtimeMainActivity()
var Uri = plus.android.importClass('android.net.Uri')
var ContactsContract = plus.android.importClass('android.provider.ContactsContract')
var uri = Uri.parse('content://sms/')
var cr = main.getContentResolver()
plus.android.importClass(cr)
var cur = cr.query(uri, null, null, null, null)
plus.android.importClass(cur)
cur.moveToFirst()
var smslist = []
while (cur.moveToNext())
{
var index_Address = cur.getColumnIndex('address')
var address = cur.getString(index_Address)
//短信内容
var index_Body = cur.getColumnIndex('body')
var body = cur.getString(index_Body)
//类型1接收 2发送
var index_Type = cur.getColumnIndex('type')
var type = cur.getString(index_Type)
smslist.push({
address:address,
body:body,
type:type
})
}
console.log(smslist)
}else if(plus.os.name === 'iOS'){
console.log('iOS')
}
},
收起阅读 »

PDA扫码在uniapp中的使用
该方式仅限广播模式使用,使用前请注意是否设置好;
该方法参考别人,但没使用全局监听方式,而是使用每次进出页面重新加载组件的方式.
参考部分
https://ask.dcloud.net.cn/article/37294;
http://blog.itpub.net/31486267/viewspace-2739999/
使用部分
<template>
<view>
<view class="">
扫描结果:{{name}}
</view>
<monitorScanCode v-if="scanCodeIsShow" @resultCode="resultCode"></monitorScanCode>
</view>
</template>
<script>
import monitorScanCode from '@/components/monitorScanCode/monitorScanCode.vue';
export default {
data() {
return {
name:'请扫描',
scanCodeIsShow: false //控制监听扫描头 组件重新加载
};
},
components: {
monitorScanCode
},
onLoad() {},
onShow: function() {
this.scanCodeIsShow = true;
},
methods: {
resultCode(item) {
this.name=item;
console.log(item, '结果');
}
},
// 页面隐藏
onHide() {
this.scanCodeIsShow = false;
},
// 页面卸载
onUnload() {
this.scanCodeIsShow = false;
}
};
</script>
<style lang="scss"></style>
组件部分
<template>
<view class="content"></view>
</template>
<script>
var main, receiver;
var shakeIsShow = false;
export default {
name:'monitorScanCode',
data() {
return {
};
},
created(option) {
this.monitorScan();
},
// 组件销毁
destroyed(){
this.cancelScan();
},
methods: {
// 广播监听绑定
monitorScan() {
// PDA扫描必须设置广播模式
main = plus.android.runtimeMainActivity(); //获取activity
let IntentFilter = plus.android.importClass('android.content.IntentFilter');
let filter = new IntentFilter();
filter.addAction('android.intent.ACTION_DECODE_DATA'); //广播动作
let that = this;
let context = plus.android.importClass('android.content.Context');
let Intent = plus.android.importClass('android.content.Intent');
receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
onReceive: function(context, intent) {
plus.android.importClass(intent); //引入intent类
let data = intent.getStringExtra('barcode_string'); //广播数据标签
that.antiShake(data);
}
});
main.registerReceiver(receiver, filter); //注册监听
},
//取消监听扫描头
cancelScan() {
main.unregisterReceiver(receiver);
},
//防重复
antiShake: function(code) {
if (shakeIsShow) return false;
shakeIsShow = true;
setTimeout(function() {
shakeIsShow = false;
}, 150);
this.$emit("resultCode", code)
}
}
};
</script>
<style>
page {
background-color: #efeff4;
}
.content {
text-align: center;
}
</style>
该方式仅限广播模式使用,使用前请注意是否设置好;
该方法参考别人,但没使用全局监听方式,而是使用每次进出页面重新加载组件的方式.
参考部分
https://ask.dcloud.net.cn/article/37294;
http://blog.itpub.net/31486267/viewspace-2739999/
使用部分
<template>
<view>
<view class="">
扫描结果:{{name}}
</view>
<monitorScanCode v-if="scanCodeIsShow" @resultCode="resultCode"></monitorScanCode>
</view>
</template>
<script>
import monitorScanCode from '@/components/monitorScanCode/monitorScanCode.vue';
export default {
data() {
return {
name:'请扫描',
scanCodeIsShow: false //控制监听扫描头 组件重新加载
};
},
components: {
monitorScanCode
},
onLoad() {},
onShow: function() {
this.scanCodeIsShow = true;
},
methods: {
resultCode(item) {
this.name=item;
console.log(item, '结果');
}
},
// 页面隐藏
onHide() {
this.scanCodeIsShow = false;
},
// 页面卸载
onUnload() {
this.scanCodeIsShow = false;
}
};
</script>
<style lang="scss"></style>
组件部分
<template>
<view class="content"></view>
</template>
<script>
var main, receiver;
var shakeIsShow = false;
export default {
name:'monitorScanCode',
data() {
return {
};
},
created(option) {
this.monitorScan();
},
// 组件销毁
destroyed(){
this.cancelScan();
},
methods: {
// 广播监听绑定
monitorScan() {
// PDA扫描必须设置广播模式
main = plus.android.runtimeMainActivity(); //获取activity
let IntentFilter = plus.android.importClass('android.content.IntentFilter');
let filter = new IntentFilter();
filter.addAction('android.intent.ACTION_DECODE_DATA'); //广播动作
let that = this;
let context = plus.android.importClass('android.content.Context');
let Intent = plus.android.importClass('android.content.Intent');
receiver = plus.android.implements('io.dcloud.feature.internal.reflect.BroadcastReceiver', {
onReceive: function(context, intent) {
plus.android.importClass(intent); //引入intent类
let data = intent.getStringExtra('barcode_string'); //广播数据标签
that.antiShake(data);
}
});
main.registerReceiver(receiver, filter); //注册监听
},
//取消监听扫描头
cancelScan() {
main.unregisterReceiver(receiver);
},
//防重复
antiShake: function(code) {
if (shakeIsShow) return false;
shakeIsShow = true;
setTimeout(function() {
shakeIsShow = false;
}, 150);
this.$emit("resultCode", code)
}
}
};
</script>
<style>
page {
background-color: #efeff4;
}
.content {
text-align: center;
}
</style>
收起阅读 »

3.2.9版本的条件编译自定义变量不可用,3.2.11却可以使用
{
"uni-app": {
"scripts": {
"prod": {
"title": "生产环境打包",
"BROWSER": "Edge",
"env": {
"UNI_PLATFORM": "h5",
"ISDEBUG": true,
"PACKTIME":"202109061623"
},
"define": {
"PROD": true
}
}
}
}
}
使用package.json进行H5打包,内容如上,在3.2.9版本打包后,调用process.env.PACKTIME,会出现undefined。但是在3.2.11版本是正常的。
{
"uni-app": {
"scripts": {
"prod": {
"title": "生产环境打包",
"BROWSER": "Edge",
"env": {
"UNI_PLATFORM": "h5",
"ISDEBUG": true,
"PACKTIME":"202109061623"
},
"define": {
"PROD": true
}
}
}
}
}
使用package.json进行H5打包,内容如上,在3.2.9版本打包后,调用process.env.PACKTIME,会出现undefined。但是在3.2.11版本是正常的。
收起阅读 »
Android离线打包多出一些权限
APP上架时,在提交到华为应用商店之后,华为检测app多出了一些敏感权限,
但是在配置中取消这些权限之后,仍然会检测到。
最后发现是一个第三方库引入的。
至于各位多出来的权限可以通过如下路径查找。
app/build/outputs/logs
点击路径下的txt文件, 然后搜索你要查找的权限, 对应权限的下面就会有引入权限的插件名。
APP上架时,在提交到华为应用商店之后,华为检测app多出了一些敏感权限,
但是在配置中取消这些权限之后,仍然会检测到。
最后发现是一个第三方库引入的。
至于各位多出来的权限可以通过如下路径查找。
app/build/outputs/logs
点击路径下的txt文件, 然后搜索你要查找的权限, 对应权限的下面就会有引入权限的插件名。

uniapp反向代理解决跨域
- 修改http请求的baseUrl为本地请求地址,一般(http://localhost:8080)
- 在manifest中的h5节点,添加如下配置
"h5": {
"devServer": {
"https": false, // 是否启用 https 协议,默认false
"port": 8080, // 本地端口号
"disableHostCheck": true, // 禁用 Host 检查,默认false
"proxy": { // 代理配置
"/prod-api": {
"target": "http://target.com:8080/prod-api", // 目标接口域名
"changeOrigin": true, // 是否跨域
"secure": true, // 是否支持https协议的代理
"pathRewrite": {
"^/prod-api": "/prod-api"
} // 这个一定要加,意思就是把你项目中一dev开头的接口自动替换为 target + pathRewrite第二个参数来进行数据的请求(pathRewrite没有第二个参数的话直接为target)
}
}
}
}
- 修改http请求的baseUrl为本地请求地址,一般(http://localhost:8080)
- 在manifest中的h5节点,添加如下配置
"h5": {
"devServer": {
"https": false, // 是否启用 https 协议,默认false
"port": 8080, // 本地端口号
"disableHostCheck": true, // 禁用 Host 检查,默认false
"proxy": { // 代理配置
"/prod-api": {
"target": "http://target.com:8080/prod-api", // 目标接口域名
"changeOrigin": true, // 是否跨域
"secure": true, // 是否支持https协议的代理
"pathRewrite": {
"^/prod-api": "/prod-api"
} // 这个一定要加,意思就是把你项目中一dev开头的接口自动替换为 target + pathRewrite第二个参数来进行数据的请求(pathRewrite没有第二个参数的话直接为target)
}
}
}
}
收起阅读 »

公告:阿里云服务空间云存储容量上限调整周知
一、 背景:
uniCloud阿里云的服务空间是纯免费的,尤其是云存储提供的免费CDN功能很受开发者的青睐,但也不可避免的被用于公共图床等业务。为了避免资源滥用,阿里云云存储将做出一些调整。
二、 调整:
预计自2021年12月6日
起,阿里云服务空间云存储容量将设置阈值,届时单个服务空间上限为10GB
,超过阈值后将无法上传文件。
如果您的业务需要更多的云存储资源,请将如下信息发送到service@dcloud.io进行申请,我们会根据情况进行报备及审核。
公司信息
负责人
联系电话
公司介绍
业务场景 // 与申请资源相关的业务场景
用户规模
申请spaceId
申请资源 // 申请云存储容量时务必写明需要申请多大容量
申请日期
阿里云服务空间具体限制详见: https://uniapp.dcloud.net.cn/uniCloud/price?id=aliyun
注:服务空间云存储文件列表页面可查看云存储当前用量以及容量阈值

一、 背景:
uniCloud阿里云的服务空间是纯免费的,尤其是云存储提供的免费CDN功能很受开发者的青睐,但也不可避免的被用于公共图床等业务。为了避免资源滥用,阿里云云存储将做出一些调整。
二、 调整:
预计自2021年12月6日
起,阿里云服务空间云存储容量将设置阈值,届时单个服务空间上限为10GB
,超过阈值后将无法上传文件。
如果您的业务需要更多的云存储资源,请将如下信息发送到service@dcloud.io进行申请,我们会根据情况进行报备及审核。
公司信息
负责人
联系电话
公司介绍
业务场景 // 与申请资源相关的业务场景
用户规模
申请spaceId
申请资源 // 申请云存储容量时务必写明需要申请多大容量
申请日期
阿里云服务空间具体限制详见: https://uniapp.dcloud.net.cn/uniCloud/price?id=aliyun
注:服务空间云存储文件列表页面可查看云存储当前用量以及容量阈值

开发一个APP需要多少钱?那些便宜的软件是怎么做出来的?
传统的方式开发app:
首先需要1个把app的样子给你画出来的UI设计师。然后,你的app是跑在手机上的,主流的手机平台有安卓和苹果两种。一般这里会安排2个安卓,2个苹果,合计4名移动端软件开发工程师。
整个软件,不光是运行在我们手机上的那部分,他的数据是需要在服务器上存储和运算。这里就又需要1个服务端的软件开发工程师,1个维持服务器能够持续正常地运转的运维工程师。
其他呢,实际上还需要项目经理、产品经理等。这里假设我们用最简的结构,你自己来负责刚刚提到的一群人的协作和需求的传达,也就是自己兼任产品和项目经理。
那这里也需要用到4+2=6个程序员。这类高新技术人才的工资一般在1-3万元左右,我们取中间值也就是按1.5万来算,那么6个人就需要9万元/一个月。一款软件从开发、测试再到验收,怎么也需要2个月以上。那假设你只用了2个月,那这里一共需要程序员工资:18万元左右。
加上前面说的美工,一个公司还要场地租金,职工社保等成本。做这么一个原生app的开发最少得20万起步。
就这还只是比较顺利的理想情况,发布app的第一个版本的费用。后续,还要运维升级等。然后项目按照刚刚这个组织结构坚持个1年,光技术研发团队的成本就已经上百万了。假设此时,如果没有做出点业绩,小公司也就已经倒闭了。
但是,如果使用 uni-app + uniCloud 框架
用js一门语言,开发1套代码,然后通过免费的编译技术,一次性得到:安卓APP、苹果APP,H5手机端网页,各大小程序端,如:微信小程序、抖音小程序、快手小程序、支付宝小程序等。
并且uniCloud的底层是DCloud联合阿里云和腾讯云基于serverless研发的免运维的服务器。
这样原来需要安卓、苹果、服务端开发、服务端运维,4类工程师共同协作才能完成的工作,现在一个前端工程师就能胜任。独立完成,免去多人之间协作的沟通和管理成本。
另外这款框架,拥有强大的插件生态,让你大部分功能都无需自己开发,大到,视频通话、人脸识别,小到登陆注册、发送短信验证码等,直接导入自己的工程组装一下即可。
前面提到的6人3个月才能完成的工作,现在2个js工程师2个月即可完成。从项目的开发,到后期的更新升级一直受益。整体可节约了不止10倍的开发和运维成本。
传统的方式开发app:
首先需要1个把app的样子给你画出来的UI设计师。然后,你的app是跑在手机上的,主流的手机平台有安卓和苹果两种。一般这里会安排2个安卓,2个苹果,合计4名移动端软件开发工程师。
整个软件,不光是运行在我们手机上的那部分,他的数据是需要在服务器上存储和运算。这里就又需要1个服务端的软件开发工程师,1个维持服务器能够持续正常地运转的运维工程师。
其他呢,实际上还需要项目经理、产品经理等。这里假设我们用最简的结构,你自己来负责刚刚提到的一群人的协作和需求的传达,也就是自己兼任产品和项目经理。
那这里也需要用到4+2=6个程序员。这类高新技术人才的工资一般在1-3万元左右,我们取中间值也就是按1.5万来算,那么6个人就需要9万元/一个月。一款软件从开发、测试再到验收,怎么也需要2个月以上。那假设你只用了2个月,那这里一共需要程序员工资:18万元左右。
加上前面说的美工,一个公司还要场地租金,职工社保等成本。做这么一个原生app的开发最少得20万起步。
就这还只是比较顺利的理想情况,发布app的第一个版本的费用。后续,还要运维升级等。然后项目按照刚刚这个组织结构坚持个1年,光技术研发团队的成本就已经上百万了。假设此时,如果没有做出点业绩,小公司也就已经倒闭了。
但是,如果使用 uni-app + uniCloud 框架
用js一门语言,开发1套代码,然后通过免费的编译技术,一次性得到:安卓APP、苹果APP,H5手机端网页,各大小程序端,如:微信小程序、抖音小程序、快手小程序、支付宝小程序等。
并且uniCloud的底层是DCloud联合阿里云和腾讯云基于serverless研发的免运维的服务器。
这样原来需要安卓、苹果、服务端开发、服务端运维,4类工程师共同协作才能完成的工作,现在一个前端工程师就能胜任。独立完成,免去多人之间协作的沟通和管理成本。
另外这款框架,拥有强大的插件生态,让你大部分功能都无需自己开发,大到,视频通话、人脸识别,小到登陆注册、发送短信验证码等,直接导入自己的工程组装一下即可。
前面提到的6人3个月才能完成的工作,现在2个js工程师2个月即可完成。从项目的开发,到后期的更新升级一直受益。整体可节约了不止10倍的开发和运维成本。

DCloud行业认证服务商招标;200万元扶持金等你来分!
行业认证服务商清单
经过评定,目前已经获得行业服务商资格的公司包括:
- 大连火石科技有限公司。网赚行业服务商。插件地址:https://ext.dcloud.net.cn/plugin?id=4095、https://ext.dcloud.net.cn/plugin?id=4826
- 广东优势智云信息科技股份有限公司。OA办公行业服务商。插件地址:https://ext.dcloud.net.cn/plugin?id=5038
- 郑州琼锦信息技术有限公司。教育行业服务商。插件地址:https://ext.dcloud.net.cn/plugin?id=4610
- 山东九将教育科技有限公司。CRM行业服务商。插件地址:https://ext.dcloud.net.cn/plugin?id=5510
DCloud行业认证服务商招标
“DCloud行业认证服务商”,是DCloud官方认可的在某行业的企业级合作伙伴。
“DCloud行业认证服务商”将享受:
- DCloud官方背书,获得奖牌和电子证书,可在DCloud官网查询
- DCloud为每个行业认证服务商提供10万元扶持金(不是插件包销,也不影响插件继续在插件市场定价销售)
- DCloud在该行业所得的销售线索、外包订单将都交给行业认证服务商
- DCloud产品的销售代理资质(uniCloud公用云返佣,同时今年会推出私有云,有更高的代理价差空间)
- DCloud提供专属技术支持
如何成为“DCloud行业认证服务商”?
- 向DCloud发邮件提交“DCloud行业认证服务商”申请表(见附件)
- 在插件市场提交所擅长行业的云端一体项目模板。比如“企业办公”行业的服务商,就需要在插件市场提交一个办公OA类的项目模板。所有模板需基于uni-id,因为这将使需要数字应用的企业主方便的整合,选一个OA模板,再选一个CRM模板,快速组合成一个应用,天然打通账户。
- DCloud会与申请者详细沟通,签署资金资助合同
DCloud计划招标的17个行业清单:
- 可视化拖拽、低代码
- 社区论坛(DCloud问答社区有意向改版为uniCloud模式,希望行业服务商提供方案,要求支持PC/H5/App/小程序,支持国际化)
- 电商(全端、裂变、拼团、促销,各种功能完善)
- 网赚游戏
- BPM流程管理
- 政企内部办公(可以基于钉钉、企业微信等平台)
- 电子政务(智慧城市、或工商、税务等各个委办局业务系统)
- 线下商户(社区团购、超市、KTV、饭店、饮品店、旅游景点等)
- 地方信息港
- 直播
- 企业自助建站
- 教育(学校、线上教育)
- 医疗(各种医院、相关机构普遍需求的应用)
- CRM
- 招聘
- 研发任务管理
- 研发质量管理
本次行业认证服务商招标预算170万。在电子政务和线下商户等范围较大的领域,可额外增加扶持资金。
若开发商属于其他行业,也可与DCloud沟通探讨扩展新行业。对于有意义的行业,DCloud可以继续追加预算。
“DCloud行业认证服务商”只面向企业。个人可以参加插件大赛,不能申报“DCloud行业认证服务商”。
“DCloud行业认证服务商”需要对所处行业有丰富经验。提交的行业应用项目插件,需在该行业的各种竞品应用中有足够的竞争力。并且有较为广泛的B端需求。
“DCloud行业认证服务商”长期招募,但给予扶持金的招标截止时间是2021年7月1日(与插件大赛截止时间不同)。每个行业只有第一家认证服务商可以拿到扶持金,先到先得,有意向请从速报名。
申请表见附件《DCloud行业认证服务商申请表.doc》
本活动解释权归DCloud.io所有
后记
不管插件大赛还是行业认证服务商招标,截止时间表面看似紧张,实则足够。因为DCloud的开发平台效率实在太高了。如果开发者真的掌握了 HBuilder + uni-app + uniCloud 三剑客,开发效率至少高出其他开发平台10倍。
中国的数字化,全球领先。其他国家生产数字应用的效率和成本远不如中国。而DCloud平台的800多万开发者,开发了十几亿月活的应用,为中国数字化做出了重要贡献。疫情期间,DCloud平台快速完成数百个抗疫项目的上线,这在任何其他国家都不可想象。
没有最好,只有更好。成功的插件大赛和优秀的行业应用,可以让中国的数字化进程继续加速。欢迎广大开发者参与到这一进程中,让应用开发变得更快更好。
HBuilderX和uni系列的文档,同时在紧锣密鼓的筹备多语言版本。接下里,欢迎开发者和我们一起,把中国高效的开发工具和生态输出到海外,为全球数字化贡献中国智慧!
行业认证服务商清单
经过评定,目前已经获得行业服务商资格的公司包括:
- 大连火石科技有限公司。网赚行业服务商。插件地址:https://ext.dcloud.net.cn/plugin?id=4095、https://ext.dcloud.net.cn/plugin?id=4826
- 广东优势智云信息科技股份有限公司。OA办公行业服务商。插件地址:https://ext.dcloud.net.cn/plugin?id=5038
- 郑州琼锦信息技术有限公司。教育行业服务商。插件地址:https://ext.dcloud.net.cn/plugin?id=4610
- 山东九将教育科技有限公司。CRM行业服务商。插件地址:https://ext.dcloud.net.cn/plugin?id=5510
DCloud行业认证服务商招标
“DCloud行业认证服务商”,是DCloud官方认可的在某行业的企业级合作伙伴。
“DCloud行业认证服务商”将享受:
- DCloud官方背书,获得奖牌和电子证书,可在DCloud官网查询
- DCloud为每个行业认证服务商提供10万元扶持金(不是插件包销,也不影响插件继续在插件市场定价销售)
- DCloud在该行业所得的销售线索、外包订单将都交给行业认证服务商
- DCloud产品的销售代理资质(uniCloud公用云返佣,同时今年会推出私有云,有更高的代理价差空间)
- DCloud提供专属技术支持
如何成为“DCloud行业认证服务商”?
- 向DCloud发邮件提交“DCloud行业认证服务商”申请表(见附件)
- 在插件市场提交所擅长行业的云端一体项目模板。比如“企业办公”行业的服务商,就需要在插件市场提交一个办公OA类的项目模板。所有模板需基于uni-id,因为这将使需要数字应用的企业主方便的整合,选一个OA模板,再选一个CRM模板,快速组合成一个应用,天然打通账户。
- DCloud会与申请者详细沟通,签署资金资助合同
DCloud计划招标的17个行业清单:
- 可视化拖拽、低代码
- 社区论坛(DCloud问答社区有意向改版为uniCloud模式,希望行业服务商提供方案,要求支持PC/H5/App/小程序,支持国际化)
- 电商(全端、裂变、拼团、促销,各种功能完善)
- 网赚游戏
- BPM流程管理
- 政企内部办公(可以基于钉钉、企业微信等平台)
- 电子政务(智慧城市、或工商、税务等各个委办局业务系统)
- 线下商户(社区团购、超市、KTV、饭店、饮品店、旅游景点等)
- 地方信息港
- 直播
- 企业自助建站
- 教育(学校、线上教育)
- 医疗(各种医院、相关机构普遍需求的应用)
- CRM
- 招聘
- 研发任务管理
- 研发质量管理
本次行业认证服务商招标预算170万。在电子政务和线下商户等范围较大的领域,可额外增加扶持资金。
若开发商属于其他行业,也可与DCloud沟通探讨扩展新行业。对于有意义的行业,DCloud可以继续追加预算。
“DCloud行业认证服务商”只面向企业。个人可以参加插件大赛,不能申报“DCloud行业认证服务商”。
“DCloud行业认证服务商”需要对所处行业有丰富经验。提交的行业应用项目插件,需在该行业的各种竞品应用中有足够的竞争力。并且有较为广泛的B端需求。
“DCloud行业认证服务商”长期招募,但给予扶持金的招标截止时间是2021年7月1日(与插件大赛截止时间不同)。每个行业只有第一家认证服务商可以拿到扶持金,先到先得,有意向请从速报名。
申请表见附件《DCloud行业认证服务商申请表.doc》
本活动解释权归DCloud.io所有
后记
不管插件大赛还是行业认证服务商招标,截止时间表面看似紧张,实则足够。因为DCloud的开发平台效率实在太高了。如果开发者真的掌握了 HBuilder + uni-app + uniCloud 三剑客,开发效率至少高出其他开发平台10倍。
中国的数字化,全球领先。其他国家生产数字应用的效率和成本远不如中国。而DCloud平台的800多万开发者,开发了十几亿月活的应用,为中国数字化做出了重要贡献。疫情期间,DCloud平台快速完成数百个抗疫项目的上线,这在任何其他国家都不可想象。
没有最好,只有更好。成功的插件大赛和优秀的行业应用,可以让中国的数字化进程继续加速。欢迎广大开发者参与到这一进程中,让应用开发变得更快更好。
HBuilderX和uni系列的文档,同时在紧锣密鼓的筹备多语言版本。接下里,欢迎开发者和我们一起,把中国高效的开发工具和生态输出到海外,为全球数字化贡献中国智慧!
收起阅读 »
关于 uni.requestPayment 在安卓真机上 可行,IOS上 没有任何反应的解决方式
主要原因 是参数的问题。orderInfo这个 参数中的 参数名 必须是小写 不能大写
主要原因 是参数的问题。orderInfo这个 参数中的 参数名 必须是小写 不能大写