如何快速将 APICloud 应用转换为微信公众号?

简介: APICloud(www.apicloud.com)基于积淀已久的 iOS/Android 原生引擎开发技术,结合微信公众号运行环境的特点,针对性地推出了为其量身定制的适配器环境,任何标准 APICloud 应用,都可以在不修改或极小修改之后,直接运行在微信环境中。

现在,APICloud 应用,可以一键生成微信公众号!

APICloud(www.apicloud.com)基于积淀已久的 iOS/Android 原生引擎开发技术,结合微信公众号运行环境的特点,针对性地推出了为其量身定制的适配器环境,任何标准 APICloud 应用,都可以在不修改或极小修改之后,直接运行在微信环境中。

源码自有,灵活可配置的微信公众号解决方案!

基于 APICloud 应用生成的微信公众号,开发者可直接获取源码,部署到自己服务器上。核心配置文件,开发者可根据服务器环境需要,灵活修改。最重要的是: 为了便于开发者二次开发或与微信业务进一步对接,我们提供了足够开放和灵活的自定义扩展机制,开发者可根据业务需要,重写任意 APICloud 模块的内部实现。

步骤

1. 登录 APICloud 网站控制台,选择或新建一个 Native 原生应用.

2. 点击 "云编译"页面的 "一键生成微信公众号"

3. 点击 "一键生成微信公众号"按钮,等待编译完成.

4. 部署

把云编译生成的压缩包,解压放到网站静态资源根目录,然后就可以通过类似 http://www.exapmle.com/A6055344415623/web_adapter/adapter.html 一类的值来访问.其中 A6055344415623 要替换为自己应用的 appId.

如果不想放在网站根目录,需要对应修改 web_adapter/script/config.js 中的相关配置.

5. 跨域访问问题

No 'Access-Control-Allow-Origin' header is present on the requested resource.

如果控制台出现类似错误,说明当前预览微信公众号的网站与服务器接口不在同一个域名下,有两种解决方案:

  1. 修改服务器端接口设置,允许跨域访问.
  2. 将云编译生成的静态资源包放置在到网络接口所在的服务器,保证二者可以在同一域名下访问.

6. 原生模块适配问题

APICloud 现在可以自动适配原 APICloud 原生 App 中标准 WEB 技术相关的逻辑.涉及到使用 APICloud 原生模块的地方,还需要开发者自行定制开发.

为了保持代码写法的一致,我们提供了和 APICloud 原生引擎类似的扩展机制,开发者可基于此重写 APICloud 原生模块的相关逻辑.

开发者原有代码一般不需要做修改,只需要依照我们提供的扩展机制,针对性地添加部分原生模块的扩展代码,即可实现微信公众号的适配.详见下文 "扩展" 部分

扩展

APICloud 微信公众号适配器, 基于纯 Web 技术, 并针对微信的 Web 环境,有所优化.在接口实现上, 与 APICloud Native 引擎保持一致.基于此, 任意标准 APICloud 原生应用,都可以极低成本,迭代为微信公众号,甚至标准的网页应用.

APICloud 微信公众号适配器,在实现时,做了最大程度的开放性和灵活性设计.我们允许开发者重写任意 APICloud API 引擎对象或原生模块的任意方法和属性.

任意界面,只需要实现一个 apiadapter 方法,就可以在此方法内,拦截和重写 APICloud 模块方法的具体实现.

/*
当 frame, window, adapter 级别同时实现此函数时,
加载优先级为: frame > window > adapter > 内置默认实现@payload:@moduleName 模块名.@method     方法名.@isSync     是否是同步方法.@params     调用模块方法时的参数.@frameDom   frame 所在的 window dom对象.@winDom     window 所在页面的 window dom 对象.@apiDom     adapter 所在页面的 window dom 对象.@cbId       调用模块方法时,传递的回调函数的唯一标识.@callback   用于异步返回值的回调函数.(cbId, ret, err, del)=>{}@cbId   调用模块方法时,传递的回调函数的唯一标识.@ret    模块返回值.@err    错误信息.@del    调用后,是否删除此 cbId 对应的回调函数.
删除后,下一次基于同一 cbId调用callback,
将无法正确回传返回值.@return: 不作处理.如果不想处理某个模块方法, 应该显式返回字符串 'TO_NEXT_API_ADAPTER',
以便往上传播调用.
*/function apiadapter(payload) {/* TODO: 自定义的处理逻辑. *//* 默认不作处理. */return "TO_NEXT_API_ADAPTER";
}

扩展建议

  • 异步方法的返回值,最好通过传入的 callbackcbId 传递.
  • 同步方法的返回值,可以直接 return 返回相关值.
  • 在处理 UI 类模块时,可在模块方法调用时添加一些自定义字段,以便于 apiadapter 能正确处理 UI 类模块的位置.如添加一个新的 parentDomId 字段,以便能自定义指定模块的父元素.

实例

实例中是演示了一款标准的使用APICloud平台开发的实例APP,以及这个实例APP在APICloud平台上,通过在云编译页面中选择“一键生成微信公众号”后,生成对应的微信公众号的网页包。

标准实例APP(APICloud原生应用)体验

iOS版本

Anroid版本

获取APICloud标准APP源码

https://github.com/apicloudcom/APICloud-7Days-Online-Training-Tutorials/tree/master/missfresh/widget

云编译生成的对应微信公众号体验

获取对应的微信公众号源码

https://github.com/apicloudcom/APICloud-7Days-Online-Training-Tutorials/tree/master/missfresh/wechat_adapter_widget/

通过这个演示实例,大家可以更加深入的了解一款标准的APICloud应用,可以如何通过在APICloud平台上一键云编译来自动生成对应的微信公众号网页包。


目录
相关文章
|
6月前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。
200 0
|
2月前
|
人工智能 数据可视化 API
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
95 2
|
3月前
|
人工智能
10 分钟构建 AI 客服并应用到网站、钉钉或微信中简说
10 分钟构建 AI 客服并应用到网站、钉钉或微信
|
9天前
|
存储 缓存 开发框架
提高微信小程序的应用速度
【10月更文挑战第21天】提高微信小程序的应用速度需要从多个方面入手,综合运用各种优化手段。通过不断地优化和改进,能够显著提升小程序的性能,为用户带来更流畅、更高效的使用体验。
24 3
|
2月前
|
人工智能 运维 负载均衡
10 分钟构建 AI 客服并应用到网站、钉钉或微信中
《10分钟构建AI客服并应用到网站、钉钉或微信中》的解决方案通过详尽的文档和示例代码,使具有一定编程基础的用户能够快速上手,顺利完成AI客服集成。方案涵盖高可用性、负载均衡及定制化选项,满足生产环境需求。然而,若文档不清晰或存在信息缺失,则可能导致部署障碍。实际部署中可能遇到网络、权限等问题,需逐一排查。云产品的功能、性能及操作配置便捷性直接影响解决方案效果,详尽的产品手册有助于快速解决问题。总体而言,该方案在各方面表现出色,值得推荐。
|
30天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【10月更文挑战第3天】微信小程序作为新兴应用形态,凭借便捷体验与社交传播能力,成为企业拓展业务的新渠道。本文探讨了微信小程序全栈开发中的PWA技术应用,包括离线访问、后台运行、桌面图标及原生体验等方面,助力开发者提升小程序性能与用户体验。PWA技术在不同平台的兼容性、性能优化及用户体验是实践中需注意的关键点。
50 5
|
2月前
|
小程序
浅谈提高微信小程序的应用速度
浅谈提高微信小程序的应用速度
|
3月前
|
人工智能 自然语言处理 Serverless
阿里云百炼应用实践系列-让微信公众号成为智能客服
本文主要介绍如何基于百炼平台快速在10分钟让您的微信公众号(订阅号)变成 AI 智能客服。我们基于百炼平台的能力,以官方帮助文档为参考,让您的微信公众号(订阅号)成 为AI 智能客服,以便全天候(7x24)回应客户咨询,提升用户体验,介绍了相关技术方案和主要代码,供开发者参考。
阿里云百炼应用实践系列-让微信公众号成为智能客服
|
3月前
|
存储 人工智能 API
阿里云百炼应用实践系列-10分钟在企业微信中集成一个 AI 助手
在阿里云平台上,您只需十分钟,无需任何编码,即可在企业微信上为您的组织集成一个具备大模型能力的AI助手。此助手可24小时响应用户咨询,解答各类问题,尤其擅长处理私域问题,从而成为您企业的专属助手,有效提升用户体验及业务竞争力。
|
5月前
|
PHP 移动开发 安全
PHP应用如何对接微信公众号JSAPI支付
本文介绍了微信支付的多种方式,包括JSAPI支付、APP支付、Native支付、付款码支付和H5支付。
52 8