按客户需求做一个企业微信的h5,需要用到企业微信的jssdk,以下是使用企业微信jssdk的步骤
pubilc文件夹下的index.html中引入js
/*企业微信的引用是jWeixin,后续补不要搞错了,微信的是wx*/
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
封装一个index.js
export const initsdk = (options) => {
return new Promise((resolve, reject) => {
uni.request({
url: 'http://xxxxxxx',// 请求后端返回的签名参数的接口地址
method: 'GET', // 请求方式
data: {}, // 请求参数
success: (res) => {
let WXConfig = res.data.data // 接受后端返回的签名参数
jweixin.config({
beta: true,
debug: false,
appId: WXConfig.appId, // 必填,企业微信的corpID
timestamp: WXConfig.timestamp, // 必填,生成签名的时间戳
nonceStr: WXConfig.nonceStr, // 必填,生成签名的随机串
signature: WXConfig.signature, // 必填,签名串
jsApiList:[
'hideOptionMenu',
'showOptionMenu'] // 你需要使用的方法,要现在这里引入
})
jweixin.ready(function() {
// 请求成功会进来这里 在这里写你的操作
if (options.show) {
jweixin.showOptionMenu() // 使用方法
} else {
jweixin.hideOptionMenu()
}
})
jweixin.error(function(err) {
// 报错了就根据 错误码 去官方找问题
// https://developer.work.weixin.qq.com/document/path/92455
uni.showToast({
title: err || '请求jssdk中config错误'
})
})
},
fail: (err) => {
console.log(err)
}
})
})
}
在需要使用方法的界面引入
// 引入方法
import { initsdk } from '@/common/index.js'
// 在需要的地方调用
initsdk({})
部分方法
1.企业微信转发:
onMenuShareAppMessage(title,desc,link,imgUrl) title, // 分享标题 desc, // 分享描述 link, // 分享链接 imgUrl, // 分享图标 |
2.分享给微信好友
onMenuShareWechat(title,desc,link,imgUrl) title, // 分享标题 desc, // 分享描述 link, // 分享链接 imgUrl, // 分享图标 |
3.分享到朋友圈
onMenuShareTimeline(title,link,imgUrl) title, // 分享标题 link, // 分享链接 imgUrl, // 分享图标 |
4.拍照或从手机相册选图
chooseImage () |
5.上传图片接口
uploadImage (localId) localId,需要上传的图片的本地ID,由chooseImage接口获得 |
6.下载图片接口
downloadImage(serverId) serverId,需要下载的图片的服务器端ID,由uploadImage接口获得 |
7.获取地理位置接口
getLocation (type) type // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' |
8.打开持续定位接口
startAutoLBS (type) type // wgs84是gps坐标,gcj02是火星坐标 |
9.监听地理位置变化接口
onLocationChange() |
10.隐藏右上角全部按钮
hideAll() |
11.显示右上角全部按钮
showAll() |
12.批量隐藏右上角按钮
hideMenuItems(arr) 例如 :arr=["menuItem:share:wechat","menuItem:share:timeline] 多个用逗号隔开 |
13.批量显示右上角按钮
showMenuItems(arr) 例如 :arr=["menuItem:share:wechat","menuItem:share:timeline] 多个用逗号隔开 |
// 上面的方法没用的个话可以去翻翻文档,文档经常都在更新,没用可能是被淘汰了写成其他名字了