公众号
## 引入方式
### 使用 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.也可以使用轮询的方式获取结果,但是可能不够及时