接入插件

添加插件

在使用插件前,首先要在小程序管理后台的“设置-第三方服务-插件管理”中添加插件。开发者可登录小程序管理后台,通过 appid 查找插件并添加。需要申请并等待插件管理员【javali(李莹)】通过后,方可在小程序中使用相应的插件。

引入插件

小程序内引入插件配置步骤

1、在教育号开发者平台申请成为教育号开发者,相关审核请联系【v_vyywu(吴羽)】【v_vwyywang(王瑜)】

2、成为了教育号开发者后,需要创建一个教育号应用并进行相关配置

  • 打开应用管理->点击新增应用->填写相关信息->完成创建

3、将创建成功的教育号应用的appid和secretkey(在应用详情里)以及将要引入插件的小程序的Appid和SecretKey一起提供给教育号接口人进行教育号应用和接入小程序的绑定

4、登录要接入插件的小程序后台,先在小程序后台“设置-第三方服务-插件管理”中添加插件,然后等待插件管理员同意申请使用教育号登录插件后即可配置使用

5、使用如下命令在小程序代码目录下安装miniapp-epaas-sdk,没有package.json文件时,可先执行 npm init -y

 tnpm install @tencent/miniapp-epaas-sdk -S

也可以到开放平台进行下载

6、在小程序开发者工具中:顶部栏->工具->构建npm;构建完成可以看到miniprogram_npm的文件夹

7、在app.jsonplugins字段的对象里添加插件配置:

  "plugins": {
    ...
    "login-plugin": {
      "version": "2.1.4", // 插件版本
      "provider": "wx8099b285af1443c4", // 插件小程序appid
      "export": "loginPluginConfig.js",
      "genericsImplementation": {
        "set-first-phone": {
          "epaas-phone-button": "miniprogram_npm/@tencent/miniapp-epaas-sdk/button"
        }
      }
    }
    ...
  },

8、插件配置里需要一个 loginPluginConfig.js 的文件,和app.json同级(或者放置其他目录也可,但需插件配置的export字段也需要进行相应的变更),参考官方文档 导出到插件 (阅读“导出到插件”部分)

// loginPluginConfig.js

module.exports = {
  appWX: wx,
  env: 'online', // 'dev': 开发环境  'test': 测试环境   'online': 正式环境; 不配置则默认为线上环境
};

完成上面的步骤后,即可在小程序页面里,需要登录时带上相应参数跳转到入口页面即可

plugins 定义段中可以包含多个插件声明,每个插件声明以一个使用者自定义的插件引用名作为标识,并指明插件的 appid 和需要使用的版本号。其中,引用名(如上例中的 login-plugin)由使用者自定义,无需和插件开发者保持一致或与开发者协调。在后续的插件使用中,该引用名将被用于表示该插件。

本插件AppId: wx8099b285af1443c4 请使用最新版本(version): 2.1.4

注意:插件最低基础库版本要求: 2.12.2

特别注意:向插件传参时请使用encodeURIComponent转码,插件接收时会使用decodeURIComponent解码

示例代码

<view style="padding: 10px; margin-top: 10vh;">
  <button bindtap="goLogin">前往登录插件</button>

  <!-- 初次调用wx.login、wx.getUserInfo 失败后显示权限获取按钮 -->
  <button
    wx:if="{{showGetAuthBtn}}"
    open-type="getUserInfo"
    bindgetuserinfo="handlerGetUserInfo">
    获取信息权限
  </button>
</view>
  goLogin: function () {
    let self = this
    // 组装必传参数
    var redirect_uri = '/pages/result/result' // 登录成功后的回跳页面
    var appid = 10000

    epaasLogin({
      redirect_uri: encodeURIComponent(redirect_uri),
      appid
    })
  }
// 回跳页面onLoad,在此处获取登录成功后拿到的登录授权code
onLoad: function (options) {
  console.log(options)
  this.setData({
    'code': options.code
  })
}

获取code之后请参照 教育号开放平台文档 code换取access_token 来获取用户登录授权token

参数说明

参数 类型 描述
redirect_uri String 登录成功后的回跳页面,回跳时会在跳转链接上携带登录授权code

登录成功回调携带的参数

携带的参数字段名 类型 描述
code String 登录授权code
appid String 教育号应用id(服务商后台应用详情的SuiteId)
multi_role String 当前用户在appid应用是否拥有的多身份,1是0否;仅在微信端的登录才有
env_id String 私有化环境id;仅在登录私有化环境时才有

子应用登录错误码列表

errorcode 描述
3 服务异常
12 login-token已过期,请重新登录
49 没有权限跳转目标应用
© 1998 - 2021 Tencent Inc. All Rights Reserved all right reserved,powered by ePaaS.更新时间: 2024-08-22 10:14:39

results matching ""

    No results matching ""

    results matching ""

      No results matching ""