一、获取访问用户身份
该接口用于根据code获取成员信息
/**
进入应用时,用户会携带一个随机code,5分钟未被使用自动过期
code会被加载进地址栏,需要获取当前地址栏进行截取
**/
export async function getuserinfo ( obj ) {
await axios.get('https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo',
{
params: {
access_token: obj.access_token,
code: getQueryString('code'),
}
}
)
.then((res) => {
console.log('用户信息', res)
obj.userId = ress.data.UserId
})
.catch((err) => {
console.log(err)
})
}
// 获取浏览器地址栏某个参数的值。
getQueryString (name) {
const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
const search = window.location.search.split('?')[1] || '';
const r = search.match(reg) || [];
return r[2];
}
二、预览文件
报错1:wx.previewFile is not a function
首先::::查看当前 J S 版本,百度打开链接搜索 previewFile 看是否有这个方法,
~ ~ ~ ~ 如果没有!!!!!!
- 更改1.0.0版本,发现1.0.0版本有这个方法
- 或者不更改版本,使用下边方法试试
wx.invoke("previewFile",{
url: pdfURL, // 需要预览文件的地址(必填,可以使用相对路径)
name: '',
size: 126552
}
报错2:企业微信 ios 手机 提示:下载失败,请检查网络后重试
解决方法:
ios手机 预览文件时:将size:设置为 0 !!!!!!!!!
安卓手机必须是准确的size
export async function previewFile (urls) {
wx.ready((res) => {
var u = navigator.userAgent
wx.previewFile({
url: urls, // 需要预览文件的地址(必填,可以使用相对路径)
name: '', // 需要预览文件的文件名,必须有带文件格式的后缀,例如.doc(不填的话取url的最后部分,最后部分是个包含格式后缀的文件名)
// ios手机size必须是0,安卓机必须有大小
size: u.indexOf('iPhone') > -1 ? 0 : 40698, // 需要预览文件的字节大小(必填,而且大小必须正确,否则会打开失败)ios size为0才能使用
success: function(res22) {
console.log('以键值对的形式返回,可用的api值true,不可用为false', res22)
},
fail: function(res33) {
console.log('falsefalsefalsefalsefalsefalse', res33)
},
complete: function(res44) {
console.log('completecompletecompletecomplete', res44)
uni.hideLoading()
},
});
});
}
报错3:安卓手机使用wx.previewFile 时,会弹出 “ 选择使用什么方式 ” 打开文件, 选择一个方式后,如果点击“总是”, 再返回企业微信的时候会出现一个白屏页面,需要再点击一次返回按键才会回到 该应用项目;
解决方法:
- 下载一个QQ浏览器,当安卓手机预览文件时,不会弹出 “ 选择使用什么方式 ” 框,直接打开文件,效果和IOS手机一样;
- 每次 弹出 “ 选择使用什么方式 ” 时,点击 仅此一次,当然会麻烦很多;
- 待考察、、、、
肯定还有其他方法,但是小编我还没找到解决的方法,如果大佬们有幸刷到本条作品 欢迎在下方留言以及私信交流