关于支付宝小程序:支付宝小程序云效能四大基于小程序生态的解决方案

随着互联网的疾速倒退,小程序已成为商家数字化经营的重要基石,越来越多的开发者退出小程序开发与运维畛域。为助力小程序生态凋敝,支付宝于 6 月 16 日正式推出“支付宝小程序云”平台,平台提供以云原生高可用为根底的低成本、免运维、高并发的服务端解决方案,并联合支付宝凋谢生态策略,为支付宝小程序开发者提供更便捷的流量转化的产品解决方案。 支付宝小程序云效力(以下简称云效力)已于 6 月底开始邀测,目前曾经进入了正式公测阶段。 云效力 是一款基于小程序生态的效力解决方案产品,为企业提供一站式研发协同平台,无需搭建、无需保护,蕴含代码托管、流水线、云端研发、云测和制品库等子产品。 基于小程序生态的四大解决方案咱们提供支付宝小程序生态全方位研发交付解决方案,为小程序开发保驾护航,助您更快地实现业务指标。 计划一:经典 CI/CD 自动化交付产品地址:《点击拜访》 解决问题:传统的小程序云托管部署存在自动化水平低的问题,很多要害工作须要通过手动操作来实现,这导致了协同老本的减少和交付效率的升高。 计划劣势: 可视化的流水线编排:通过可视化形式实现流水线配置,升高 DevOps 转型的工程门槛CD 流水线无缝连接小程序云托管:反对多环境、多服务并发部署凋谢兼容:平台凋谢了丰盛的 API 供应用灵便弹性:功能模块之间松耦合,反对接入丰盛的上下游工具,灵便适配不同规模、不同工作习惯的研发团队利用场景:面向对交付流程有管控诉求的用户,适宜交付流程比拟标准的场景 搭配应用产品:流水线 + 代码服务 + 制品库 + 云端研发 计划二:云端研发极速交付产品地址:《点击拜访》 解决问题:传统的本地研发环境搭建老本高,并且受限于硬件的限度,导致我的项目在本地运行时卡顿。同时,本地环境和测试环境不统一也导致了测试联调的成本增加。 计划劣势: 开箱即用:内置多种语言的规范研发环境,无需搭建环境,开箱即用,方便快捷随时随地:关上浏览器随时随地编码,逾越设施和操作系统限度一站式研发:与云托管深度集成,实现代码一键部署测试左移:与用户测试/生产环境统一,测试代码即改即失效,无需从新构建部署利用场景:实用于代码变更须要疾速部署的场景,助力开发者实现极速交付 搭配应用产品:云端研发 + 代码服务 + 云托管 计划三:代码品质与平安产品地址:《点击拜访》 解决问题:传统的小程序云托管交付往往不足 CR(代码评审)阶段,导致无奈对代码变更进行品质和平安管控。同时,企业代码标准也难以无效落地。 计划劣势: 代码评审:提供基于合并申请展现代码 diff 和基于分支代码走读两种代码评审计划,适应疾速迭代和大型项目的不同的代码评审需要标准化代码门禁:在合并代码前残缺检测,检测通过能力合并代码预合并:可在合并评审前,虚构一个分支进行合并,评审时能够看到合并后的成果业余实际:蚂蚁团体深耕多年的代码扫描及平安扫描能力,保障小程序服务端代码的品质与平安利用场景:对代码品质和交付品质有较高要求的研发场景搭配应用产品:代码服务 + 流水线计划四:挪动端自动化测试产品地址: 《点击拜访》 解决问题:传统的真机测试老本较高,须要购买大量的手机并进行手动测试,保护老本高且自动化水平低。 计划劣势: 丰盛的自动化测试能力,蕴含装置卸载测试、功能性测试、兼容性测试、稳定性测试等海量在线真机,笼罩市场上绝大多数品牌,领有大量热门高中低机型零代码疾速生成测试用例;反对实时性能剖析,主动生成剖析报告反对近程扫码、扫脸,自研云卡硬件可代替传统真机运行环境,并提供摄像头等传感器的 mock 能力利用场景:对小程序或者挪动利用进行真机自动化测试 搭配应用产品:云测  产品价格云效力所有产品均提供长期固定收费额度赠送(不限人数),更多信息请参考:官网介绍页-产品价格

August 24, 2023 · 1 min · jiezi

关于支付宝小程序:支付宝小程序模板开发一整套流程

支付宝小程序服务商模板开发着力于解决支付宝生态体系内的小程序管理问题,一套模板,随处部署。能尽可能地缩小零碎服务商的开发成本,零碎服务商只用开发一套小程序代码作为模板就能够疾速批量的孵化出大量的商家小程序。 比方餐饮类的小程序,大部分性能都雷同,这时候服务商只有通过模板开发,失去商家受权后,即可疾速依据模板代码给商家疾速实例化小程序。无需关怀各个商家的小程序材料信息,繁琐操作那些开发配置信息。多个前端只需对应一个服务端后盾。工夫少,成本低。 业务特点: 开发流程:服务商先开发小程序模板的代码,而后通过小程序模板的代码去构建商家小程序的代码。 疾速开明:通过服务市场,商家仅需实现订购,即实现商家小程序受权,通过模板疾速构建商家小程序版本。 批量保护:服务商可代商家实现小程序的疾速批量更新。 1、增加商户根本信息 2、疏导商户受权获取受权信息 第三方服务商构建受权链接生成二维码搁置本人的网站,用户点击后,弹出二维码,管理员关上支付宝APP扫描受权。 3、批改小程序根本材料 在这里能够间接批改小程序材料,而无需跑到各个小程序支付宝后盾去批改。包含小程序名称、小程序英文名、主营行业、小程序简介、小程序形容、小程序logo、小程序形容、客服电话、客服邮箱。 4、版本治理 整个零碎的外围就在这个模块,包含版本上传、提交审核、删除版本、撤销审核、退回开发、设为体验版、勾销体验版、上架版本、下架版本、回滚版本等。 4.1、版本上传 小程序基于模板上传版本 4.2、提交审核 4.3、设为体验版 4.4、查看审核失败起因 5、成员治理 服务商在帮忙旗下受权的小程序提交代码审核之前,可先让小程序运营者体验,体验之前须要将运营者的集体支付宝账号增加到该小程序的体验者名单中。 能够增加开发者和体验者。 6、码治理 码治理包含小程序和关联一般二维码模块。 6.1、小程序码治理 商家小程序上架后,在这里能够生成任意已有门路的小程序码进行推广。 6.2、关联一般二维码治理 商户可不需更换线下二维码,通过该接口实现配置后,用户用支付宝扫描一般二维码时关上小程序并跳转到指定页面,一般二维码关联小程序最多可设置20条规定。 支付宝小程序模板开发,一整套流程 山水有相逢,来日皆可期,谢谢浏览,咱们再会 我手中的金箍棒,上能通天,下能探海 上一篇:微信代小程序实现业务零碎解决企业痛点问题-反复造轮子

November 2, 2021 · 1 min · jiezi

Fundebug支付宝小程序BUG监控插件更新至020新增test方法报错增加Page数据

摘要: 0.2.0新增fundebug.test()方法,同时报错增加了Page数据。 Fundebug提供专业支付宝小程序BUG监控服务,可以第一时间为您捕获生存环境中小程序的异常、错误或者BUG,及时给开发者发送报警,帮助您快速修复BUG。欢迎大家免费试用,也欢迎各位用户反馈建议或者问题。 test(name, message)fundebug.test()用于测试,可以将测试数据发送到Fundebug,并收到报警邮件。 name: 错误名称,参数类型为字符串,默认值为"Test"message: 错误信息,参数类型为字符串,默认值为"Hello, Fundebug!"示例: fundebug.test()fundebug.test("Test", "Hello, Fundebug!")fundebug.test() 主要用于测试,它发送的错误每次都会报警邮件(每天的限额是 20 封),这样可能会给您造成困扰。为了避免重复报警,请使用其他 API 记录错误,这样同一个错误将只会在错误数达到阈值(10, 100, 100...)的时候报警。 notifynotifyErrorPageFundebug插件会调用getCurrentPages方法获取报错页面的Page数据,与错误数据一起上报: { "route": "pages/index/index", "_viewId": "1556021552987", "data": { "title": "Alipay" }}如果不需要收集Page数据的话,可以将silentPage属性设为true: fundebug.init({ silentPage : true})最后,感谢 Fundebug 用户闵胖胖的反馈。 参考Fundebug文档 - fundebug.test()Fundebug文档 - silentPage关于FundebugFundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了10亿+错误事件,付费客户有Google、360、金山软件、百姓网等众多品牌企业。欢迎大家免费试用! 版权声明转载时请注明作者Fundebug以及本文地址:https://blog.fundebug.com/2019/04/25/fundebug-alipay-miniprogram-upgrade-0-2-0/

April 26, 2019 · 1 min · jiezi

解决支付宝小程序无法获取手机号的问题

官方文档:获取用户手机号https://docs.alipay.com/mini/…在开发中发现无法获取手机号,穿给后端java接口提醒没有验证sign,结果发现获取到的encryptedData没有sign参数,只有一个response。解决方法:必须主帐号登录支付宝小程序后台,找到如下1、申请获取手机号,需要上传图片或视频2、查看RSA密钥是否已经设置,必须设置(后端需要验证)3、支付宝网关需要设置,地址为后端接口的地址这样再调用my.getPhoneNumber的时候,encryptedData里就有了两个参数,response和sign再附上后端解密手机号的文档地址https://docs.alipay.com/mini/…

April 20, 2019 · 1 min · jiezi

【实战教程】使用云函数将数据表导出为 Excel 文件

在日常的工作中,常常需要根据运营需求对数据进行各种格式的处理和导出。导出后,不少人偏爱将数据放入 excel 在进行处理。一般来说,处理数据导出时需要对数据进行一些运算整理。在以前,处理的方式是在一台独立的服务器上跑脚本。而现在有了知晓云,不再需要维护服务器,直接写代码就能把相关事都都丢给云函数。 本文将介绍通过知晓云云函数来实现将数据表导出为 excel 文件的功能,并使用 webpack 和 mincloud 将代码打包上传到知晓云。技术栈:打包工具:webpack@4.22.0部署工具:mincloud@1.0.4Excel 处理:node-xlsx@0.14.1其他:知晓云 SDK一、项目搭建项目文件结构: export-excel-file ├── index.js ├── package.json ├── src │ └── index.js ├── webpack.config.js └── yarn.lock项目搭建与云函数代码打包示例文档基本一致。项目搭建好后,还需要安装以下依赖(两种安装方式选其一即可):// 使用 yarn 安装yarn add node-xlsx mincloud// 使用 npm 安装npm install –save node-xlsx minclou修改 deploy 脚本,如下:// package.json…“scripts”: { “build”: “webpack –mode production”, “predeploy”: “npm run build”, “deploy”: “mincloud deploy export-excel-file ../”},…最终我们会使用以下两个命令来部署和测试:npm run deploy // 部署到知晓云mincloud invoke export-excel-file // 测试已经部署到知晓云上的云函数二、将数据表导出为 excel 文件我们需要准备两张表:order: 订单表 (新建字段:name, price)export_task:导出任务记录表 (新建字段:file_download_link) 知晓云的云函数调用有同步和异步两种方式,同步调用的最大超时时间为 5 s,异步调用的则为 300 s。假定 order 订单表有十万条数据,由于知晓云单次拉取数据的最大限制为 1000 条,所以需要分批获取数据,加上后续可能需要对数据进行处理,所花费的时间将会超过 5 s,因此对该云函数的调用将采用异步的方式。这时候就需要 export_task 导出任务记录表来对导出任务进行管理了。export_task 表对导出任务进行管理的流程如下:调用云函数时在 export_task 表中创建一条记录 A,此时记录 A 中的 file_download_link 字段值为空,同时拿到记录 A 的 id,记这个 id 为 jobId进行 order 表数据查询,excel 文件生成,文件上传等操作,拿到文件下载链接之后根据 jobId 来更新第一步创建的记录,保存文件下载链接到 file_download_link 字段中更新完后就能在 export_task 表中拿到文件下载链接通过上面的准备和分析,对导出 excel 文件操作分为以下 4 个步骤:order 订单表数据获取使用获取的数据在云函数环境下创建 excel 文件将创建出的 excel 文件上传到知晓云保存文件下载链接到 export_task 表中的 file_download_link 字段完整代码如下:const fs = require(‘fs’)const xlsx = require(’node-xlsx’)const EXPORT_DATA_CATEGORY_ID = ‘5c711e3119111409cdabe6f2’ // 文件上传分类 idconst TABLE_ID = { order: 66666, // 订单表 export_task: 66667, // 导出任务记录表}const TMP_FILE_NAME = ‘/tmp/result.xlsx’ // 本地临时文件路径,以 /tmp 开头,具体请查看:https://doc.minapp.com/support/technical-notes.html (云函数的临时文件存储)const ROW_NAME = [’name’, ‘price’] // Excel 文件列名配置const MAX_CONNECT_LIMIT = 5 // 最大同时请求数const LIMIT = 1000 // 单次最大拉取数据数let result = []/** * 更新导出记录中的 file_download_link 字段 * @param {} tableID * @param {} recordId * @param {} fileLink /function updateExportJobIdRecord(tableID, recordId, fileLink) { let Schame = new BaaS.TableObject(tableID) let schame = Schame.getWithoutData(recordId) schame.set(‘file_download_link’, fileLink) return schame.update()}/* * 创建数据导出任务 * 设置初始 file_download_link 为空 * 待导出任务执行完毕后将文件下载地址存储到 file_download_link 字段中 * @param {} tableID /function createExportJobIdRecord(tableID) { let Schame = new BaaS.TableObject(tableID) let schame = Schame.create() return schame.set({file_download_link: ‘’}).save().then(res => { return res.data.id })}/* * 获取总数据条数 * @tableId {} tableId /function getTotalCount(tableId) { const Order = new BaaS.TableObject(tableId) return Order.count() .then(num => { console.log(‘数据总条数:’, num) return num }) .catch(err => { console.log(‘获取数据总条数失败:’, err) throw new Error(err) })}/* * 分批拉取数据 * @param {} tableId * @param {} offset * @param {} limit /function getDataByGroup(tableId, offset = 0, limit = LIMIT) { let Order = new BaaS.TableObject(tableId) return Order.limit(limit).offset(offset).find() .then(res => { return res.data.objects }) .catch(err => { console.log(‘获取分组数据失败:’, err) throw new Error(err) })}/* * 创建 Excel 导出文件 * @param {*} sourceData 源数据 /function genExportFile(sourceData = []) { const resultArr = [] const rowArr = [] // 配置列名 rowArr.push(ROW_NAME) sourceData.forEach(v => { rowArr.push( ROW_NAME.map(k => v[k]) ) }) resultArr[0] = { data: rowArr, name: ‘sheet1’, // Excel 工作表名 } const option = {’!cols’: [{wch: 10}, {wch: 20}]} // 自定义列宽度 const buffer = xlsx.build(resultArr, option) return fs.writeFile(TMP_FILE_NAME, buffer, err => { if (err) { console.log(‘创建 Excel 导出文件失败’) throw new Error(err) } })}/* * 上传文件 */function uploadFile() { let MyFile = new BaaS.File() return MyFile.upload(TMP_FILE_NAME, {category_id: EXPORT_DATA_CATEGORY_ID}) .catch(err => { console.log(‘上传文件失败’) throw new Error(err) })}module.exports = async function(event, callback) { try { const date = new Date().getTime() const groupInfoArr = [] const groupInfoSplitArr = [] const [jobId, totalCount] = await Promise.all([createExportJobIdRecord(TABLE_ID.export_task), getTotalCount(TABLE_ID.order)]) const groupSize = Math.ceil(totalCount / LIMIT) || 1 for (let i = 0; i < groupSize; i++) { groupInfoArr.push({ offset: i * LIMIT, limit: LIMIT, }) } console.log(‘groupInfoArr:’, groupInfoArr) const length = Math.ceil(groupInfoArr.length / MAX_CONNECT_LIMIT) for (let i = 0; i < length; i++) { groupInfoSplitArr.push(groupInfoArr.splice(0, MAX_CONNECT_LIMIT)) } console.log(‘groupInfoSplitArr:’, groupInfoSplitArr) const date0 = new Date().getTime() console.log(‘处理分组情况耗时:’, date0 - date, ‘ms’) let num = 0 // 分批获取数据 const getSplitDataList = index => { return Promise.all( groupInfoSplitArr[index].map(v => { return getDataByGroup(TABLE_ID.order, v.offset, v.limit) }) ).then(res => { ++num result.push(…Array.prototype.concat(…res)) if (num < groupInfoSplitArr.length) { return getSplitDataList(num) } else { return result } }) } Promise.all([getSplitDataList(num)]).then(res => { const date1 = new Date().getTime() console.log(‘结果条数:’, result.length) console.log(‘分组拉取数据次数:’, num) console.log(‘拉取数据耗时:’, date1 - date0, ‘ms’) genExportFile(result) const date2 = new Date().getTime() console.log(‘处理数据耗时:’, date2 - date1, ‘ms’) uploadFile().then(res => { const fileLink = res.data.file_link const date3 = new Date().getTime() console.log(‘上传文件耗时:’, date3 - date2, ‘ms’) console.log(‘总耗时:’, date3 - date, ‘ms’) updateExportJobIdRecord(TABLE_ID.export_task, jobId, fileLink) .then(() => { const date4 = new Date().getTime() console.log(‘保存文件下载地址耗时:’, date4 - date3, ‘ms’) console.log(‘总耗时:’, date4 - date, ‘ms’) callback(null, { message: ‘保存文件下载地址成功’, fileLink, }) }) .catch(err => { callback(err) }) }).catch(err => { console.log(‘上传文件失败:’, err) throw new Error(err) }) }) } catch (err)三、部署并测试跟 npm 一样,部署前需要先登录,请参照文档配置。使用以下命令即可将云函数部署到知晓云:npm run deploy执行结果如下:使用以下的命令来测试:mincloud invoke export-excel-file执行结果如下:export_task 表记录:上传到知晓云的 excel 文件如下:文件内容:四、参考文档知晓云开发文档:https://doc.minapp.com/node-xlsx 文档:https://www.npmjs.com/package…五、源码仓库地址:https://github.com/ifanrx/exp…六、福利即日( 3 月 8 日)起,前 50 名报名并通过审核的 Web 端公测的用户,在正式接入后即获账户礼金 100 元。????报名点这里 ???? 知晓云公测活动 ???? 除了这个好消息,小云还要告诉大家,公测活动结束后还将挑选出 5 名积极反馈的用户获得知晓云限量纪念 T 恤呀 (。・・。)ノ♡本文首发于「知晓云」公众号:https://mp.weixin.qq.com/s/g6…知晓云是国内首家专注于小程序开发的后端云服务。使用知晓云,小程序开发快人一步。 ...

March 8, 2019 · 4 min · jiezi

支付宝小程序面向个人开放了!我将以一个 Demo 为例讲解整个流程。

Hello,我是犯迷糊的小 K。目前是 ifanr 的一只前端攻城狮,同时也是知晓云团队的一员。3 月伊始,ifanr 旗下品牌——知晓云 3.0 版本正式上线。此次更新得到业内许多开发者的密切关注和积极支持,在此,我代表知晓云团队表示万分感谢哈。( ̄▽ ̄)~*知晓云是业界第一个支持多平台小程序开发的后端云服务,它免去了小程序开发中服务器搭建、域名备案、数据接口开发、线上运维等繁琐流程,让开发者更快、更低成本地做出优质的小程序。言归正传。和许多童鞋一样,小 K 使用知晓云时,也是第一次开发小程序,开发过程也是百转曲折。因此,小 K 希望通过这篇文章,和各位童鞋进行交流。毕竟,大家的学习历程是相似的,遇到的困惑也应该差不多。本文结构大致如下:谈谈如何成为支付宝小程序开发者。聊聊如何创建我的第一个支付宝小程序。以一个 Demo 为例,详细讲讲如何在支付宝小程序中接入和使用知晓云 SDK。如何成为一名支付宝小程序开发者?申请成为支付宝小程序开发者,是一件再简单不过的事儿,仅需 2 步,比把大象放进冰箱还简单。第一步,登录蚂蚁金服开放平台,注册成为小程序开发用户。此过程需要你依次完成账号信息、邮箱激活和信息登记等流程。第二步,完成上述操作后,就能进入小程序管理后台,点击创建应用并填写信息,创建成功后即可获取开发小程序的 AppID。嗯,现在小 K 已经是一枚准小程序开发者啦。(后续请进入小程序配置-设置-开发设置,根据平台的设置方式教程,配置接口加签方式,获得支付宝公钥和密钥文件)如何创建我的第一个小程序?获得了「准入资格」后,小 K 开始参照小程序官方文档,下载官方的开发者工具并创建了一个初始化的小程序。Well done!小 K 的第一个初始化小程序诞生了~ 接下来,可以看看支付宝小程序官方的体验小程序 Demo 教程文档,熟悉一下小程序代码组织方式和开发特性。现在,有了开发工具和基础知识积累,可以试试 freestyle 咯。唯一的问题是:小 K 应该选择什么类型的小程序作为 Demo 呢?对于 Demo 选择,唯一的原则就是精简「简」是像小 K 这样的小白开发者一看就懂。「精」是尽可能在有限的代码中,体现知晓云功能的强大性。于是,我选择了个经典的 TodoMVC 的小程序——「我的书架」作为示例。由于「我的书架」 Demo 将知晓云的核心模块之一——数据管理的 CRUD 操作很好地展示了出来,所以,我们希望通过这个 Demo 让各位童鞋学会利用知晓云,完成常见的数据增删改查功能。如何在小程序中调用知晓云 SDK?准备工作在正式使用知晓云的 SDK 前,首先确保走完以下 2 个流程:第一,完成小程序的授权。目前,知晓云在注册模块和设置模块都有提供小程序授权操作,二者的授权流程大体一致。在这里,我们演示设置模块的小程序操作。点击应用标签,进入应用的管理面板;进入管理面板后,切换到设置模块并进入应用设置 tab 页,点击平台设置-支付宝小程序-立即开通,点击编辑并填写相关配置信息后即可完成授权。第二,在「小程序后台」配置安全域名。装载 SDK接下来,看看知晓云的 SDK 的使用说明文档。老夫掐指一算,将 SDK 的接入小程序的方法和数据表操作看了一遍,约莫花费 10 分钟。毕竟 Demo 只涉及数据操作嘛,所以要做到有的放矢,要啥看啥。下载知晓云提供的 SDK 后,将其引入小程序的 app.js 中,并通过在前面的设置模块的小程序设置 tab 页中获取当前应用的 ClientID。设计数据结构和创建数据表完成上述操作后,小 K 就可以使用 SDK 提供的各种接口,接下来思考一下「我的书架」将用到什么数据及其结构。由于是第一个 Demo ,本着精简的原则,小 K 在此就只设计了一个 bookName 的字段Tips:知晓云的数据管理模块会为每张数据表自动创建 id,create_by,create_at,update_at 和 acl 等字段。根据文档提示,在使用知晓云的数据管理模块时,需要首先提供存放数据的 tableName。因此,首先要在知晓云开发者平台创建数据表从而获取 tableName。获取 tableName 后,小 K 将其放在了 app.js 文件的 globalData 对象上,以供后面各种数据操作接口的参数调用。开始使用知晓云的 SDK小 K 在这里不会细谈「我的书架」是如何编写的,因为不同的童鞋的对这个功能的实现方式可能不一样。小 K 只会谈在哪些控件中使用知晓云提供的接口,来实现小 K 的需求——添加一本书。创建书目记录翻查了文档,发现创建一条记录很简单,只需要调用 create 创建一条空记录,然后调用 set 为上面创建的空记录赋值,最后调用 save 将创建的记录保存到服务器即可。更新一条记录有时,小 K 手抖,在输入书目的时候填写了错别字,那么理应提供一个更新记录的功能吧;知晓云提供了 update 接口,让更新数据 so easy。删除一条记录最后,当小K的书架不再存在某本书时,必然需要一个删除操作。通过调用 delete 接口就可以实现一条记录的删除操作。最后的话以上就是小 K 用知晓云烹调出的第一个支付宝小程序——「我的书架」,最主要就是用到了知晓云的数据管理功能模块。当然,知晓云还提供作为 BaaS 产品的基础文件上传和数据统计功能等,同时具备贴切小程序的特性功能,譬如支付宝支付和富文本编辑功能。*除了「我的书架」 Demo 外,知晓云官方还提供了知晓云 SDK 官方示例小程序,用于演示 SDK 更丰富的接口使用方法。代码已开源在 ifanrX 的 GitHub 上,链接:https://github.com/ifanrx/hyd… 有兴趣的童鞋可以 star 或是 fork 一下。本文首发于「知晓云」公众号:https://mp.weixin.qq.com/s/Vk…知晓云是国内首家专注于小程序开发的后端云服务。使用知晓云,小程序开发快人一步。 ...

March 5, 2019 · 1 min · jiezi

开发支付宝小程序无从下手?我们给你创造了一条捷径

作为国内首家专注于小程序领域的后端云服务,知晓云正式开启 3.0 计划——全平台 Serverless 服务。「知晓云」cloud.minapp.com,诞生于 2017 年 8 月 8 日,是国内第一个专注于小程序开发的后端云服务,它免去了小程序开发中服务器搭建、域名备案、数据接口开发、线上运维等繁琐流程,让开发者更快、更低成本地做出优质的小程序。即日起至 3 月 1 日公测活动期间,成功参与新版公测活动并接入支付宝小程序的用户,可获得个人版套餐 6 个月的免费使用资格。计划的第一站我们选择了支付宝小程序。在接下来的时间里,我们还将逐步完成对其他各大平台的支持:(百度、头条等)小程序、Web 端、iOS、Android ,一步步完成全平台后端云服务建设。知晓云能带给你什么?如果想做一个应用,基本上一定要有用户系统、数据存储、网络接口、管理后台等配套,这都是后端的工作。而通过我们多年实践,在大多数应用场景里,这类配套的定制(需要开发)的部分,均发生在应用层,也即,这类业务模块完全可以做成通用的服务。将后端的用户系统、数据存储、网络接口、服务运维甚至支付网关等通用业务做成服务提供给用户,通过管理后台控制,就可以做到无需后端工程师参与开发而完成项目。因此我们在微信小程序上线后的半年里,倾入全部力量,打造了知晓云——一个为小程序设计的后端云服务。17 年以来,我们花了一年半反复打磨产品,与广大的微信小程序开发者共同成长。在刚过去的 2018 年 ,我们累计服务了 40000+ 开发者,实现了服务规模同比 1000% 的增长。各大厂纷纷入局重注小程序,标志着移动互联网正式进入新时代——一个强调快速上线、专注服务本身的时代。支付宝以及其他平台的小程序,在这个时代里,更加需要无服务器(Serverless)的开发方式。通过接入 SDK 就可以使用后端服务,开发者可以快速构建一个完整产品,上线推广。我们希望将从服务数万开发者的过程中总结出的,各个应用场景的经验推广到各大平台去,帮助更多的开发者。我们相信,小程序和后端云服务结合,将使开发过程变得更加简单、迅速和高效,让更多富有创造力的开发者创造更多的价值。好用、省心的后端云服务有了一个好的想法,再花上几分钟在小程序中接入知晓云的 SDK,你就不再需要去管什么 PHP、数据库等后端逻辑,也无需管理服务器或维护后端服务,更不用担心自己服务器的负载和运维……与此同时,你还将获得:成本降低 100%数百元的服务器及数据库费用,一天 3 毛钱就能搞定,大大节约开发成本。运维时间节省 100%24 小时待命的线上运维、峰值动态扩容,服务器运维再无后顾之忧。效率提升 200%2 秒即可授权登录,一键部署新体验,你的开发效率将至少提升一倍!一句话,有了「知晓云」,核心业务逻辑以外的事情都不需要你操心。即便你已经拥有了自己的服务器,仍然可以来体验我们的产品——「知晓云」还开放了运营后台的 API 支持、第三方服务器的 OpenAPI 支持,方便开发者快速将小程序业务和其他业务联合起来。从「晓」开始,再无后顾之忧我们提供的不仅仅是后端云服务。在历经多年的「移动生态」构建过程后,我们深知一款产品的研发上线只是第一步。上线了,一切才算正式开始。因此,我们在小程序推广环节铺了一条「高速轨道」,使你的产品借此触达到更多的用户。我们拥有:知晓程序公众号:小程序生态第一大号知晓程序商店:首家小程序商店知晓市场:小程序定制对接平台作为小程序生态里唯一一家,技术服务与推广服务都做到了行业领先的团队。我们将为用户提供免费的冷启动资源及推广支持。真正实现:「从『晓』开始,让您再无后顾之忧」2019 年,知晓云迈出了新的一步,希望大家也能顺利的迈出自己的每一步。本文首发于「知晓程序」公众号:https://mp.weixin.qq.com/s/rJ…知晓云是国内首家专注于小程序开发的后端云服务。使用知晓云,小程序开发快人一步。

February 20, 2019 · 1 min · jiezi

公测招募!知晓云已支持支付宝小程序

2017 年 8 月 8 日,知晓云正式上线。在这一年多的时间里,随着微信小程序的蓬勃发展,知晓云取得了一些成绩——累计服务 40000+ 开发者,18 年更是实现了服务规模同比增长 1000%。对于用户来说,省去服务器搭建、域名备案、数据接口开发、线上运维等繁琐流程与不到 3 毛钱一天的价格,是选择我们重要因素。我们在做哪些努力这一年多来,我们聚焦在 Serverless(无服务器架构)= BaaS(后端即服务) + FaaS(函数即服务)两大基础能力的同时,也针对微信小程序平台的各项能力做了深度支持,提供了大量开箱即用的功能,如——最好用的模板消息推送一行代码接入微信支付最省事的小程序码生成器一键开通智能客服消息小程序富文本 CMS 和排版渲染组件等等紧接着,随着开发者规模的进一步扩大,各式各样的小程序,也对平台提出了更多的服务需求,如短信能力、邮件能力、错误监测能力等等,我们一一满足。在这个过程中,我们明白,仅在深度上继续深挖是不够的,还需要在服务的广度上多思考。「如何给予小程序开发者更多的支持?」2018 年,对于这个问题,我们的答案是: 除了「想法」(业务逻辑)本身,其他事情都可以交给我们。我们提供的,从来不止是后端云服务,而是一整个服务体系——小程序开发入门培训平台:「知晓课堂」小程序插件开发者的交易平台:「插件市场」小程序定制服务平台:「知晓市场」最好的微信新商业服务平台:「知晓程序」在 2019 年,我们将继续探索答案,希望能和知晓云的用户一起成长。更好地服务于用户这半年,小程序生态也发生了翻天覆地的变化,各大厂商争先恐后接连重注小程序:百度智能小程序:千亿流量、开源、90%广告分成头条小程序:打通抖音,还有八大流量入口支付宝小程序:3年砸10亿激励小程序创业者……这一现象,既反映了大厂们对小程序这一应用形态的看好,也象征着一种趋势。在见过更多的用户后,我们对「愿景」一词有了更深刻的理解:以微信小程序作为起点,随着用户量增加和模式验证的完成 ——> 经历更多的挫折并成长 ——> 去到更多更大的舞台。这个起点,不止是你(小程序)的,也是我们(服务商)的。至此,我们决定开始知晓云的 3.0 计划——全平台 Serverless 服务。希望能让用户得以验证的想法,在全世界开花。在 19 年伊始,我们选择了支付宝小程序作为 3.0 计划的第一站。而在接下来的时间里,我们将一步步对其他各大平台:(百度、头条等)小程序、Web 端、iOS、Android 进行支持,逐步完成全平台后端云服务建设,这一切会发生得非常快。招募公测用户现在,知晓云对支付宝的支持已初步完成。我们将开放公测并招募 50 位用户免费参与。我们希望你是这样的:有小程序开发的经验对开发支付宝小程序感兴趣希望有一个后端云服务平台帮助更快、更省地上线业务公测期间,你将能直接与知晓云的核心工程师深度交流,一起探索小程序领域中更多的可能性。公测开启时间:2019 年 2 月 13 日报名截止时间:2019 年 2 月 18 日期待你的参与,快提交申请吧????本文首发于「知晓云」公众号:https://mp.weixin.qq.com/s/DH…知晓云是国内首家专注于小程序开发的后端云服务。使用知晓云,小程序开发快人一步。

January 29, 2019 · 1 min · jiezi

支付宝小程序编译less

最近在踏坑支付宝小程序,目前支付宝小程序的框架还不是很成熟,然后项目要求比较高,为了避免一些无法预料的坑,所以选择了原生的支付宝小程序的开发。支付宝小程序是不支持less编译的,对于习惯了各种变量,各种minxin写法的我来说十分的不方便。把wxss-cli,稍微改造一下即可支持支付宝小程序的less编译。1.全局安装wxss-cli,把改造过的包放在全局的node_modules中(下载地址)2.在对应的页面目录中新建less文件,例如:原本目录中有.acss .axml .js .json四个文件,同目录下新增与.acss同名的less文件(注意同名哈)3.运行编译命令 进入项目目录中,指定编译的目录,比如编译pages下面所有的less文件wxss ./pages4.其他命令wxss -V 查看版本wxss -h 查看帮助

December 28, 2018 · 1 min · jiezi

IDEA支付宝小程序开发流程——项目搭建

服务器端在平台上创建spring boot小程序应用创建小程序登录 蚂蚁金服开放平台,选择 开发者中心 > 开发接入 > 小程序(立即接入) > 立即创建 > 创建。填写 基本信息,点击 创建 按钮,创建应用名为 Demo 小程序。PS:一个账号下最多可以创建10个小程序;未提交过审核的小程序可以删除,删除的小程序不在计数范围。创建云应用后端服务在 我的小程序 页面,选择刚创建的小程序,点击 查看,进入 开发管理 页面。点击左侧导航栏的 云服务(公测)(申请需要5天),在 云服务列表 页面点击 创建云服务 > 创建云应用。在 创建云应用 页面,选择 SpringBoot 技术栈,填入 应用名称 和 描述 (选填),点击 创建。构建环境返回 云服务(公测) 页面,点击刚创建的云服务卡片中的 构建环境 按钮。在 购买环境资源 页面,选择合适的环境配置方案,点击 同意《产品服务协议》 > 确认配置。说明:此处选择 小程序云应用入门(Mysql版),当前测试环境该方案免费提供,但若连续 7 日未部署过代码,环境会被自动回收。- 在 确认订单 页面,点击 确认购买。 购买成功后会自动进入 构建环境 页面。构建过程会耗时几分钟,构建成功后,您可以选择 查看应用详情 ,或者 返回应用列表 。IDEA安装支付宝小程序开发插件到https://github.com/alipay/ali…(建议下载次新)的插件版本(alipay-intellij-plugin-v1.x.x.zip)进行下载下载完成后,IDE 中 Preferences (Windows 下为 Settings) => Plugins => Install plugin from disk…,点选已下载的 Zip 包进行安装,依照提示重启 IDE 生效中文乱码解决方法Appearance & Behavior => Appearance => UI Options -> Name 里设置成中文字体,如 微软雅黑(microsoft yahei light)、文泉驿(linux)创建项目流程 File => New => Project… => Alipay CloudApp => 选择SpringBoot => NEXT => FINISH架构HelloController.java代码package com.example.demo;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController { @RequestMapping("/index") public IndexVO hello() { return new IndexVO(“this is my first ali small routine!”); }}本地项目和平台的项目相关联在IDEA的小程序云应用视图中点击登录账号然后用具有开发者权限的用户扫码授权登录PS:添加开发者账号的方式:我的小程序 =>查看 => 成员管理 => 添加 => 要添加的账号在客户端找到对应的提示信息并点击确认点击关联应用本地构建生成jar 点击 部署应用 将该打包好的项目 JAR 包部署到测试环境上。开始部署后,云应用管理 视窗会打出部署日志。部署结束后会有消息提示部署完成。客户端下载小程序开发者工具并安装打开小程序开发者工具,在菜单中选择 项目 > 新建项目 > 小程序 (选择对应模板) 。填入 项目名称 后,点击 完成,完成项目创建。编辑page/index/index.axml<view> {{index}} <button onTap=“index”> 首页 </button></view>编辑page/index/index.js Page({ data: { index: ‘index’ }, onLoad(query) { // 页面加载 console.info(Page onLoad with query: ${JSON.stringify(query)}); }, onReady() { // 页面加载完成 }, onShow() { // 页面显示 }, onHide() { // 页面隐藏 }, onUnload() { // 页面被关闭 }, onTitleClick() { // 标题被点击 }, onPullDownRefresh() { // 页面被下拉 }, onReachBottom() { // 页面被拉到底部 }, onShareAppMessage() { // 返回自定义分享信息 return { title: ‘ali small routine’, desc: ’this is my first ali small routine’, path: ‘pages/index/index’, }; }, index() { my.httpRequest({ url: ‘https://app2120230256test.mapp-test.xyz/index', // 此处app2120230256test.mapp-test.xyz应修改为SpringBootDemo云应用所在的云服务器域名(云服务(公测) > 环境资源 > 云服务器ECS > 域名> 二级域名) complete: (res) => { this.setData({ hello: res.data }); }, }); } }); 上传上传完毕后,登录到开放平台提交审核,审核完毕后,小程序即可进行发布操作。调试至此,支付宝小程序的搭建流程已完成,感谢各位大神的观看、评价、校正。PS:下一篇将实现授权登录功能!成东 广州芦苇科技Java开发团队芦苇科技-广州专业互联网软件服务公司抓住每一处细节 ,创造每一个美好关注我们的公众号,了解更多想和我们一起奋斗吗?lagou搜索“ 芦苇科技 ”或者投放简历到 server@talkmoney.cn 加入我们吧关注我们,你的评论和点赞对我们最大的支持 ...

December 26, 2018 · 2 min · jiezi

SegmentFault 社区上线小程序开发频道,助力小程序开发者生态

2016 年 9 月 21 日,微信发布小程序内测,11 月 3 日对开发者公测,2017 年 1 月 9 日微信小程序正式面向 C 端用户开放。作为腾讯生态中的重要一环,微信小程序的开发浪潮席卷了整个互联网圈,它以一种轻应用、高体验的方式实现了应用 “触手可及” 的梦想。截至 2018 年 7 月 11 日,小程序数量达到 100 万,小程序开发者超过 150 万人,覆盖了 200 多个细分行业,日活用户达到 2 亿。在微信小程序还在内测时,SegmentFault 就与爱范儿合作在广州举办过第一届民间的小程序黑客马拉松。2016 年国庆节期间在广州微信总部的园区举办的的小程序黑客马拉松。在 2018 年 7、8 月,百度和支付宝也相继推出了自己的小程序平台。百度小程序主要是依于托百度App超级内容生态,通过百度的流量能力和 AI 的能力提供赋能。正式上线后的支付宝小程序把定位锁定在商业和生活服务领域,它的使命是让支付宝从支付工具走向能提供各种服务的场景平台。越来越多的商业机会和生态也在小程序中发生。在 2018 年 12 月份,腾讯微信事业群也联合 SegmentFault 在北京正式启动「微信小程序WeGeek Hackathon」本次黑客马拉松面向全球小程序开发者、爱好者,旨在通过微信小程序平台进行小程序的创新开发,共同建设小程序生态!同时微信官方运营的小程序开发者服务平台 - 「微信极客WeGeek」也正式入驻 SegmentFault ,推荐各位社区开发者关注。借助此次机会,SegmentFault 也正式上线小程序开发频道,助力小程序开发者生态,在首页的小程序频道,开发者可以更快速的获取小程序相关的技术内容和资讯。也欢迎大家贡献更多小程序相关的优质内容,大家也可以通过关注小程序标签,更快速的获得相关内容的推荐。相关链接SegmentFault 小程序开发频道微信小程序WeGeek Hackathon 大赛官网微信小程序开发文档支付宝小程序开发文档百度智能小程序开发文档

November 14, 2018 · 1 min · jiezi