Skip to content

插件扩展

初始配置

  • app.json 中添加扩展页面(Web-View 组件)
json
{
  "pages": [
    "sdk/extensions/webview"
  ]
}
  • 在每个页面的 JS 文件 Page 中引入扩展 mixins 代码
js
mixins: [
  require('/sdk/extensions/functions'),
],

页面代码

在对应场景的位置添置访问链接

  • 链接方式
html
<!-- 通过函数 handleExtensionTap 将链接数据赋予到全局数据中 -->
<navigator url="/sdk/extensions/webview"
  bind:tap="handleExtensionTap" 
  data-title="Fresns Manage"
  data-url="{{appUrl}}"
  data-pid="{{post.pid}}"
  data-uid="{{post.author.uid}}"
  data-post-message-key="fresnsPostManage">
  管理
</navigator>
  • 菜单方式
js
// 扩展 Web-View 数据
const navigatorData = {
  title: 'Fresns Manage',
  url: appUrl,
  pid: post.pid,
  uid: post.author.uid,
  postMessageKey: 'fresnsPostManage',
};

// 将链接数据赋予到全局数据中
const app = getApp();
app.globalData.navigatorData = navigatorData;

// 访问扩展页面
wx.navigateTo({
  url: '/sdk/extensions/webview',
});

访问处理

web-view

https://github.com/fresns/client-wechat/tree/3.x/sdk/extensions/webview.js

  • SDK 封装的 Web View 页面将自动处理访问链接并监听回调消息。
  • 回调消息将会存储为 Key fresnsCallbackMessage

回调处理

postMessage

https://github.com/fresns/client-wechat/tree/3.x/mixins/fresnsCallback.js

js
mixins: [
  require('/mixins/fresnsCallback'),
],
  • 在每个页面的 JS 文件 Page 中引入扩展 mixins 代码。
  • 这是一个你自己定义的 JS,用于读取和处理存储中的回调消息。
  • 回调消息的格式参考 postMessage 说明
  • 解读并处理完回调消息后,清空消息。

Released under the Apache-2.0 License