乐趣区

关于javascript:如何快速将-APICloud-应用转换为微信公众号

当初,APICloud 利用, 能够一键生成微信公众号!

APICloud 基于积淀已久的 iOS/Android 原生引擎开发技术,联合微信公众号运行环境的特点,针对性地推出了为其量身定制的适配器环境,任何规范 APICloud 利用,都能够在不批改或极小批改之后, 间接运行在微信环境中。

基于 APICloud 利用生成的微信公众号,开发者可间接获取源码, 部署到本人服务器上。外围配置文件,开发者可依据服务器环境须要,灵便批改。最重要的是: 为了便于开发者二次开发或与微信业务进一步对接,咱们提供了足够凋谢和灵便的自定义扩大机制,开发者可依据业务须要,重写任意 APICloud 模块的外部实现。

步骤

  1. 登录 APICloud 网站控制台, 抉择或新建一个 Native 原生利用.
  2. 点击 “ 云编译 ” 页面的 “ 一键生成微信公众号 ”
  3. 点击 “ 一键生成微信公众号 ” 按钮, 期待编译实现.

4. 部署
把云编译生成的压缩包, 解压放到网站动态资源根目录, 而后就能够通过相似 http://www.exapmle.com/A60553… 一类的值来拜访. 其中 A6055344415623 要替换为本人利用的 appId.

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

5. 跨域拜访问题

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

如果控制台呈现相似谬误, 阐明以后预览微信公众号的网站与服务器接口不在同一个域名下, 有两种解决方案:

批改服务器端接口设置, 容许跨域拜访.
将云编译生成的动态资源包搁置在到网络接口所在的服务器, 保障二者能够在同一域名下拜访.

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";
}

扩大倡议

异步办法的返回值, 最好通过传入的 callback 和 cbId 传递.
同步办法的返回值, 能够间接 return 返回相干值.
在解决 UI 类模块时, 可在模块办法调用时增加一些自定义字段, 以便于 apiadapter 能正确处理 UI 类模块的地位. 如增加一个新的 parentDomId 字段, 以便能自定义指定模块的父元素.

退出移动版