公众号

## 引入方式 ### 使用 import 导入 使用 webpack 等构建工具的项目可直接下载文件到项目中,使用 import 导入。 地址: <https://uniacc.yun2win.com/sdk/uniacc/weapp.es.js> ``` import uniacc from './weapp.es.js' ``` ### 直接用 \<script\> 引入 ``` <script src="https://uniacc.yun2win.com/sdk/uniacc/weapp.iife.js"></script> ``` ## 使用方式 ### 1.使用 uniacc.login.getPath 请求小程序原始id和路径 ``` const info = await uniacc.login.getPath({ accessToken: 'xxx' }) ``` 返回值 ``` { "faceToken": "xxx", // 需要通过这个值获取结果 "username": "xxx", // 小程序原始id "path": "xxx" // 调用小程序使用的路径 } ``` ### 2.接入微信开放标签 从上一步返回值中获取参数填入开放标签,详情请参考微信官方文档: <https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html)> ``` <wx-open-launch-weapp id="launch-btn" username="gh_xxxxxxxx" path="pages/home/index.html?user=123&action=abc" > <template> <style>.btn { padding: 12px }</style> <button class="btn">打开小程序</button> </template> </wx-open-launch-weapp> <script> var btn = document.getElementById('launch-btn'); btn.addEventListener('launch', function (e) { console.log('success'); }); btn.addEventListener('error', function (e) { console.log('fail', e.detail); }); </script> ``` ### 3.使用 uniacc.login.getIdentityToken 获取结果 ``` const identityToken = await uniacc.login.getIdentityToken({ accessToken: 'xxx', faceToken: 'xxx' // 从 uniacc.login.getPath 返回值中获取 }) ``` 可以在以下几种时机获取结果: 1.小程序关闭时公众号网页会收到页面激活事件,可监听此事件进行处理 2.某些手机有可能会在打开小程序时回收webview的内存,导致小程序关闭时公众号重新加载,所以可以把faceToken保存起来,在加载页面时获取一次 3.也可以使用轮询的方式获取结果,但是可能不够及时