|
@@ -145,20 +145,9 @@ function loginProcessing(data = {}) {
|
|
modularList: separateRouting(data.moduleList || []),
|
|
modularList: separateRouting(data.moduleList || []),
|
|
permissionList: data.functionList || []
|
|
permissionList: data.functionList || []
|
|
})
|
|
})
|
|
- console.log(wx, '<========== 调用之前')
|
|
|
|
- console.log(isCorpWX.value, '<========== isCorpWX.value')
|
|
|
|
- if (isCorpWX.value) {
|
|
|
|
- obtainEnterpriseWeChatParameters(data)
|
|
|
|
- }
|
|
|
|
- return
|
|
|
|
router.switchTabBar({
|
|
router.switchTabBar({
|
|
pathName: 'home',
|
|
pathName: 'home',
|
|
success: function () {
|
|
success: function () {
|
|
- alert(isCorpWX.value)
|
|
|
|
- console.log(wx, '<========== 调用之前')
|
|
|
|
- if (isCorpWX.value) {
|
|
|
|
- obtainEnterpriseWeChatParameters(data)
|
|
|
|
- }
|
|
|
|
toastSuccess('登陆成功')
|
|
toastSuccess('登陆成功')
|
|
setTimeout(() => {
|
|
setTimeout(() => {
|
|
getMessageList()
|
|
getMessageList()
|
|
@@ -179,63 +168,6 @@ function separateRouting(list = []) {
|
|
return (list || []).filter(item => item.isMenu && !(['/team', '/system', '/analysis', '/corpreport'].includes(item.path)))
|
|
return (list || []).filter(item => item.isMenu && !(['/team', '/system', '/analysis', '/corpreport'].includes(item.path)))
|
|
}
|
|
}
|
|
|
|
|
|
-function obtainEnterpriseWeChatParameters(data = {}) {
|
|
|
|
- const token = data.id
|
|
|
|
- const curUrl = window.location.href.split('#')[0]
|
|
|
|
- console.log(wx, '开始调用接口')
|
|
|
|
- requests.post(`/wxcorp/getCorpWXConfig`, { url: curUrl, token }).then((res) => {
|
|
|
|
- console.log(res, '<====== 返回的参数 /wxcorp/getCorpWXConfig')
|
|
|
|
- wx.config({
|
|
|
|
- beta: true,
|
|
|
|
- debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
|
|
|
|
- appId: res.data.appid, // 必填,公众号的唯一标识
|
|
|
|
- timestamp: res.data.timestamp, // 必填,生成签名的时间戳
|
|
|
|
- nonceStr: res.data.noncestr, // 必填,生成签名的随机串
|
|
|
|
- signature: res.data.sign, // 必填,签名,见附录1
|
|
|
|
- jsApiList: ['chooseImage', 'previewImage', 'uploadImage', 'downloadImage', 'previewFile', 'getLocation', 'agentConfig']
|
|
|
|
- })
|
|
|
|
-
|
|
|
|
- wx.ready(function () {
|
|
|
|
- // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
|
|
|
|
- requests.post(`/wxcorp/getCorpWXAgentConfig`, { url: curUrl, token }).then((res) => {
|
|
|
|
- console.log(res, '<====== 返回的参数 /wxcorp/getCorpWXAgentConfig')
|
|
|
|
- wx.agentConfig({
|
|
|
|
- corpid: res.data.corpid, // 必填,企业微信的corpid,必须与当前登录的企业一致
|
|
|
|
- agentid: res.data.agentid, // 必填,企业微信的应用id (e.g. 1000247)
|
|
|
|
- timestamp: res.data.timestamp, // 必填,生成签名的时间戳
|
|
|
|
- nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
|
|
|
|
- signature: res.data.signature, // 必填,签名,见附录-JS-SDK使用权限签名算法
|
|
|
|
- jsApiList: ['selectExternalContact', 'openThirdAppServiceChat', 'openAppManage'], //必填,传入需要使用的接口名称
|
|
|
|
- success: function (result) {
|
|
|
|
- console.log(result, '《+========== 成功1')
|
|
|
|
- // wx.agentConfig成功回调后,WWOpenData 才会注入到 window 对象上面
|
|
|
|
- window.WWOpenData.bind(document.querySelector('ww-open-data'))
|
|
|
|
- },
|
|
|
|
- fail: function (res) {
|
|
|
|
- console.log(res, '<===== 失败1')
|
|
|
|
- if (res.errMsg.indexOf('function not exist') > -1) {
|
|
|
|
- alert('版本过低请升级')
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- })
|
|
|
|
- }).catch(err => {
|
|
|
|
- console.log(err, '<===== 失败2')
|
|
|
|
- if (err.errMsg.indexOf('function not exist') > -1) {
|
|
|
|
- alert('版本过低请升级')
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- })
|
|
|
|
- wx.error(function (res) {
|
|
|
|
- // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
|
|
|
|
- // alert('wxConfig发生异常:'+JSON.stringify(res));
|
|
|
|
- // 企业第一次授权安装进入后会报not in reliable domain的错误,刷新后正常
|
|
|
|
- location.reload();
|
|
|
|
- });
|
|
|
|
- }).catch(err => {
|
|
|
|
- alert(err);
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped></style>
|
|
<style lang="scss" scoped></style>
|