BUG 30141
This commit is contained in:
		| @@ -119,3 +119,118 @@ export const waterMarker = { | ||||
|     } | ||||
|   } | ||||
| } | ||||
| /** | ||||
|  * 企微jssdk功能 | ||||
|  */ | ||||
| let apiList = [] | ||||
| export const wxwork = { | ||||
|   actions: { | ||||
|     injectJWeixin({commit, dispatch, state}, ops) { | ||||
|       const inject = (jsApiList, config = state.config) => new Promise((resolve, reject) => { | ||||
|         setTimeout(() => { | ||||
|           let sdk = wx?.agentConfig ? wx : jWeixin | ||||
|           sdk?.agentConfig({ | ||||
|             ...config, jsApiList, | ||||
|             success: res => resolve(res), | ||||
|             fail: err => { | ||||
|               console.error(err) | ||||
|               reject(err) | ||||
|             } | ||||
|           }) | ||||
|         }, 500) | ||||
|       }) | ||||
|       return new Promise((resolve, reject) => { | ||||
|         dispatch("agentSign").then(config => { | ||||
|           if (typeof ops == "object") { | ||||
|             ops?.map(api => { | ||||
|               if (!apiList?.includes(api)) apiList.push(api) | ||||
|             }) | ||||
|           } else { | ||||
|             if (!apiList?.includes(ops)) apiList.push(ops) | ||||
|           } | ||||
|           inject(apiList, config).then(r => resolve(r)).catch(err => reject(err)) | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     wxInvoke(state, op) { | ||||
|       setTimeout(() => { | ||||
|         let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|         sdk?.invoke(op?.[0], op?.[1], op?.[2]) | ||||
|       }, 500) | ||||
|     }, | ||||
|     previewFile({dispatch}, op) { | ||||
|       if (window.navigator.userAgent.indexOf("Windows NT") > -1) { | ||||
|         uni.showToast({ | ||||
|           title: "企业微信暂不支持PC端的预览文件!", | ||||
|           icon: 'none' | ||||
|         }) | ||||
|       } else { | ||||
|         dispatch("injectJWeixin", "previewFile").then(() => { | ||||
|           setTimeout(() => { | ||||
|             let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|             sdk?.invoke('previewFile', {...op}, res => { | ||||
|               console.log(res) | ||||
|             }) | ||||
|           }, 500) | ||||
|         }) | ||||
|       } | ||||
|     }, | ||||
|     closeAgent({dispatch}) { | ||||
|       dispatch("injectJWeixin", "closeWindow").then(() => { | ||||
|         setTimeout(() => { | ||||
|           let sdk = typeof wx?.closeWindow == 'function' ? wx : jWeixin | ||||
|           sdk?.closeWindow() | ||||
|         }, 500) | ||||
|       }) | ||||
|     }, | ||||
|     selectEnterpriseContact({dispatch}, params) { | ||||
|       return new Promise((resolve, reject) => { | ||||
|         dispatch("injectJWeixin", "selectEnterpriseContact").then(() => { | ||||
|           setTimeout(() => { | ||||
|             let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|             sdk?.invoke("selectEnterpriseContact", { | ||||
|               fromDepartmentId: -1, | ||||
|               mode: "multi", | ||||
|               type: ["user"], | ||||
|               ...params | ||||
|             }, res => { | ||||
|               if (res.err_msg == "selectEnterpriseContact:ok") { | ||||
|                 if (typeof res.result == 'string') { | ||||
|                   res.result = JSON.parse(res.result) | ||||
|                 } | ||||
|                 resolve(res.result) | ||||
|               } else { | ||||
|                 reject(res) | ||||
|               } | ||||
|             }) | ||||
|           }, 500) | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     selectPrivilegedContact({dispatch}, params) { | ||||
|       return new Promise((resolve, reject) => { | ||||
|         dispatch("injectJWeixin", "selectPrivilegedContact").then(() => { | ||||
|           setTimeout(() => { | ||||
|             let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|             sdk?.invoke("selectPrivilegedContact", { | ||||
|               fromDepartmentId: -1, | ||||
|               mode: "multi", | ||||
|               ...params | ||||
|             }, res => { | ||||
|               if (res.err_msg == "selectPrivilegedContact:ok") { | ||||
|                 if (typeof res.result == 'string') { | ||||
|                   res.result = JSON.parse(res.result) | ||||
|                 } | ||||
|                 resolve(res.result) | ||||
|               } else { | ||||
|                 reject(res) | ||||
|               } | ||||
|             }) | ||||
|           }, 300) | ||||
|         }).catch(() => { | ||||
|           reject('error') | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -3,7 +3,7 @@ import Vuex from 'vuex' | ||||
| import perState from 'vuex-persistedstate' | ||||
| import http from '../common/axios' | ||||
| import CryptoJS from '../utils/crypto-js' | ||||
| import {user, waterMarker} from "../common/modules"; | ||||
| import * as modules from "../common/modules"; | ||||
|  | ||||
| Vue.use(Vuex) | ||||
| let agentSignURL = "", apiList = [] | ||||
| @@ -165,115 +165,8 @@ const store = new Vuex.Store({ | ||||
|         }) | ||||
|       } | ||||
|     }, | ||||
|     injectJWeixin(state, ops) { | ||||
|       const inject = (jsApiList, config = state.state.config) => new Promise((resolve, reject) => { | ||||
|         setTimeout(() => { | ||||
|           let sdk = wx?.agentConfig ? wx : jWeixin | ||||
|           sdk?.agentConfig({ | ||||
|             ...config, jsApiList, | ||||
|             success: res => resolve(res), | ||||
|             fail: err => { | ||||
|               console.error(err) | ||||
|               reject(err) | ||||
|             } | ||||
|           }) | ||||
|         }, 500) | ||||
|       }) | ||||
|       return new Promise((resolve, reject) => { | ||||
|         state.dispatch("agentSign").then(config => { | ||||
|           if (typeof ops == "object") { | ||||
|             ops?.map(api => { | ||||
|               if (!apiList?.includes(api)) apiList.push(api) | ||||
|             }) | ||||
|           } else { | ||||
|             if (!apiList?.includes(ops)) apiList.push(ops) | ||||
|           } | ||||
|           inject(apiList, config).then(r => resolve(r)).catch(err => reject(err)) | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     wxInvoke(state, op) { | ||||
|       setTimeout(() => { | ||||
|         let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|         sdk?.invoke(op?.[0], op?.[1], op?.[2]) | ||||
|       }, 500) | ||||
|     }, | ||||
|     previewFile(state, op) { | ||||
|       if (window.navigator.userAgent.indexOf("Windows NT") > -1) { | ||||
|         uni.showToast({ | ||||
|           title: "企业微信暂不支持PC端的预览文件!", | ||||
|           icon: 'none' | ||||
|         }) | ||||
|       } else { | ||||
|         state.dispatch("injectJWeixin", "previewFile").then(() => { | ||||
|           setTimeout(() => { | ||||
|             let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|             sdk?.invoke('previewFile', {...op}, res => { | ||||
|               console.log(res) | ||||
|             }) | ||||
|           }, 500) | ||||
|         }) | ||||
|       } | ||||
|     }, | ||||
|     closeAgent(state) { | ||||
|       state.dispatch("injectJWeixin", "closeWindow").then(() => { | ||||
|         setTimeout(() => { | ||||
|           let sdk = typeof wx?.closeWindow == 'function' ? wx : jWeixin | ||||
|           sdk?.closeWindow() | ||||
|         }, 500) | ||||
|       }) | ||||
|     }, | ||||
|     selectEnterpriseContact(state, params) { | ||||
|       return new Promise((resolve, reject) => { | ||||
|         state.dispatch("injectJWeixin", "selectEnterpriseContact").then(() => { | ||||
|           setTimeout(() => { | ||||
|             let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|             sdk?.invoke("selectEnterpriseContact", { | ||||
|               fromDepartmentId: -1, | ||||
|               mode: "multi", | ||||
|               type: ["user"], | ||||
|               ...params | ||||
|             }, res => { | ||||
|               if (res.err_msg == "selectEnterpriseContact:ok") { | ||||
|                 if (typeof res.result == 'string') { | ||||
|                   res.result = JSON.parse(res.result) | ||||
|                 } | ||||
|                 resolve(res.result) | ||||
|               } else { | ||||
|                 reject(res) | ||||
|               } | ||||
|             }) | ||||
|           }, 500) | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|     selectPrivilegedContact(state, params) { | ||||
|       return new Promise((resolve, reject) => { | ||||
|         state.dispatch("injectJWeixin", "selectPrivilegedContact").then(() => { | ||||
|           setTimeout(() => { | ||||
|             let sdk = typeof wx?.invoke == 'function' ? wx : jWeixin | ||||
|             sdk?.invoke("selectPrivilegedContact", { | ||||
|               fromDepartmentId: -1, | ||||
|               mode: "multi", | ||||
|               ...params | ||||
|             }, res => { | ||||
|               if (res.err_msg == "selectPrivilegedContact:ok") { | ||||
|                 if (typeof res.result == 'string') { | ||||
|                   res.result = JSON.parse(res.result) | ||||
|                 } | ||||
|                 resolve(res.result) | ||||
|               } else { | ||||
|                 reject(res) | ||||
|               } | ||||
|             }) | ||||
|           }, 300) | ||||
|         }).catch(() => { | ||||
|           reject('error') | ||||
|         }) | ||||
|       }) | ||||
|     }, | ||||
|   }, | ||||
|   modules: {user, waterMarker}, | ||||
|   modules, | ||||
|   plugins: [perState({ | ||||
|     storage: { | ||||
|       getItem: key => uni.getStorageSync(key), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user