提交 7f778751 作者: 毛细亚

修改代码

上级 4924ba3a
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"/><title>company_app</title><script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script><script defer="defer" src="static/js/chunk-vendors.b6398f5b.js"></script><script defer="defer" src="static/js/app.05db7d66.js"></script><link href="static/css/chunk-vendors.8e901099.css" rel="stylesheet"><link href="static/css/app.6073802c.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but company_app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="favicon.ico">
<!-- HTTP 1.1 -->
<meta http-equiv="pragma" content="no-cache">
<!-- HTTP 1.0 -->
<meta http-equiv="cache-control" content="no-cache">
<!-- Prevent caching at the proxy server -->
<meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<title>company_app</title>
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,shrink-to-fit=no,user-scalable=no"> -->
<script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
<script defer src="static/js/chunk-vendors.js"></script><script defer src="static/js/app.js"></script></head>
<body>
<noscript>
<strong>We're sorry but company_app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
</body>
</html>
[data-v-f1859a88]:export{menuText:#606266;menuActiveText:#3491fa;subMenuActiveText:#3491fa;menuBg:#fff;menuHover:#e1fff0;subMenuBg:#fff;themeColor:#3491fa;sidebarWidthOpen:190px;sidebarWidthClosed:56px;navbarHeight:50px;subMenuHover:#e1fff0;sideBarWidth:190px}.current-org[data-v-f1859a88]{font-weight:700;margin-right:5px}.loginContent[data-v-f1859a88]{display:flex;flex-direction:column;align-items:center;justify-content:center}.qr-contain[data-v-f1859a88]{margin:0 auto;width:260px;height:260px;position:relative;overflow:hidden}.qr-contain #dingTalkLoginContainer[data-v-f1859a88]{padding:15px;position:absolute;left:10px;bottom:0}.qr-contain .refresh[data-v-f1859a88]{display:none;text-align:center;position:absolute;width:40px;background:#fff;height:40px;transform:translate(-50%,-50%);left:50%;top:50%}.qr-contain .refresh i[data-v-f1859a88]{line-height:40px;font-size:26px;color:#3491fa;cursor:pointer}.qr-contain:hover .refresh[data-v-f1859a88]{display:block}.loading[data-v-f1859a88]{position:absolute;left:0;top:0;width:100%;height:100%;background:hsla(0,0%,100%,.7);display:flex;align-items:center;justify-content:center;z-index:20;transition:opacity .3s}.loading-spinner[data-v-f1859a88]{width:40px;height:40px;border:4px solid #e0e0e0;border-top:4px solid #3491fa;border-radius:50%;animation:spin-f1859a88 1s linear infinite}@keyframes spin-f1859a88{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
"use strict";(self["webpackChunkcompany_app"]=self["webpackChunkcompany_app"]||[]).push([[661],{2661:function(t,e,i){i.r(e),i.d(e,{default:function(){return _}});var n=function(){var t=this,e=t._self._c;return e("div",{staticClass:"loginContent"},[t.token?t._e():e("div",[e("div",[t._v(" 当前选中组织:"),e("span",{staticClass:"current-org"},[t._v(t._s(t.currentOrg.name))]),e("el-button",{attrs:{type:"text"},on:{click:function(e){t.showOrgDialog=!0}}},[t._v("切换组织")])],1),e("div",{staticClass:"qr-contain"},[e("div",{attrs:{id:"dingTalkLoginContainer"}}),e("div",{staticClass:"refresh"},[e("i",{staticClass:"el-icon-refresh-right",on:{click:t.refreshDingTalkQRCode}})]),t.qrLoading?e("div",{staticClass:"loading"},[e("span",{staticClass:"loading-spinner"})]):t._e()])]),e("el-dialog",{attrs:{visible:t.showOrgDialog,width:"300px",title:"选择组织"},on:{"update:visible":function(e){t.showOrgDialog=e}}},[e("ul",{staticStyle:{"list-style":"none",padding:"0","margin-top":"-20px"}},t._l(t.orgList,(function(i){return e("li",{key:i.app_key,style:{padding:"8px 16px",cursor:"pointer",background:i.app_key===t.currentOrg.app_key?"#e6f7ff":"",color:i.app_key===t.currentOrg.app_key?"#1890ff":"",fontWeight:i.app_key===t.currentOrg.app_key?"bold":"normal",borderRadius:"4px",marginBottom:"4px",transition:"background 0.2s"},on:{click:function(e){return t.switchOrg(i)},mouseover:function(e){t.hoveredOrg=i.app_key},mouseleave:function(e){t.hoveredOrg=null}}},[t._v(" "+t._s(i.name)+" "),i.app_key===t.currentOrg.app_key?e("span",{staticStyle:{"margin-left":"8px"}},[t._v("(当前)")]):t._e()])})),0)])],1)},o=[],s=(i(5366),i(6789)),r=i(3602),a=i(5885),c=i(4202),g=i(6707),d=i(1204),l={name:"login",components:{},data(){return{wecomUserInfo:null,dingUserInfo:null,signData:null,orgList:[],organizationNum:5,urlParams:{},currentOrg:{},showOrgDialog:!1,hoveredOrg:null,showRefresh:!1,qrLoading:!1,redirectUri:"https://companywx.zwnet.cn/api/api/sidebar_login/ding",DDTestUrl:"",token:(0,g.gf)()}},async mounted(){this.$nextTick((()=>{this.initLogin()}))},computed:{...(0,c.aH)("user",["corp_id"])},methods:{...(0,c.PY)("user",["set_corp_id","set_userid","set_userInfo","set_token","set_cser_info","set_signData","set_cser_id","set_cser_name","set_external_userid"]),async initLogin(){const t=(0,a.tI)();await this.initOrganization();const e=r.A.get("userid");t.type&&"ding"===t.type?(console.log(1),this.handleDingCallback()):this.token&&e?(console.log(2),await this.getSignature()):(console.log(3),e?(console.log(5),this.initDingTalkLogin()):(console.log(4),await this.startWeComSilentAuth()))},cacheCorp_id(t){r.A.set("corp_id",t,{expires:7}),this.set_corp_id(t)},cacheuserid(t){r.A.set("userid",t,{expires:7}),this.set_userid(t)},cacheCser(t,e){r.A.set("cser_id",t,{expires:7}),r.A.set("cser_name",e,{expires:7}),this.set_cser_info({cser_id:t,cser_name:e}),this.set_cser_id(t),this.set_cser_name(e)},cacheSignData(t){r.A.set("signData",JSON.stringify(t),{expires:7}),this.set_signData(t)},async startWeComSilentAuth(){this.urlParams=(0,a.tI)();const t=r.A.get("corp_id")||this.urlParams.corp_id;if(!t)return void this.$message.error("当前客服号信息异常,请切换会话后重试");if(!this.urlParams.code&&!this.urlParams.state){const e=encodeURIComponent(window.location.href),i=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${t}&redirect_uri=${e}&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect`;return void(window.location.href=i)}const e=await(0,s.WV)({code:this.urlParams.code,url:window.location.href,corp_id:t});if(1===e.status_code){if(!e.data.userid)return void this.$message.error("获取用户id失败");this.cacheuserid(e.data.userid),this.initDingTalkLogin()}else console.log("获取useid失败",e)},async getSignature(){console.log("获取签名",window.location.href);const t=r.A.get("corp_id");try{const i=await(0,s.dD)({corp_id:t,path:window.location.href});if(1===i.status_code){this.signData=i.data,this.cacheSignData(i.data);try{this.registerWeComSDK()}catch(e){console.log(e,"初始化sdk 失败")}}}catch(e){console.log(e,"获取签名失败"),window.location.href=window.location.origin+"/company_app/index.html?corp_id="+t+"&msg=signerror"}},getCurExternalContact(){this.$ww.getCurExternalContact({success:t=>{"getCurExternalContact:ok"===t.err_msg&&(console.log(t,"重新进入获取企微外部联系人"),this.set_external_userid(t.userId),this.$nextTick((()=>{this.$router.replace("/"),console.log(window.location.href,"window.location.hrefuserInfo")})))},fail:t=>{console.log(t,"获取企微外部联系人失败")}})},registerWeComSDK(){console.log("删除企业签名",1231),this.$ww.register({corpId:r.A.get("corp_id"),agentId:this.signData.agent_id,jsApiList:d.A,getAgentConfigSignature:()=>Promise.resolve({nonceStr:this.signData.nonce_str,timestamp:this.signData.signature_time,signature:this.signData.agent_signature}),onAgentConfigSuccess:t=>{console.log("注册成功可以调用企微 js-sdk",t),this.getCurExternalContact()},onAgentConfigFail:t=>{console.log("注册失败不能使用企微js-sdk",t)}})},async initOrganization(){const t=await(0,s.SA)();1===t.data.status_code&&(this.orgList=t.data.data.data.filter((t=>t.id<=this.organizationNum)),this.initCurrentApp())},initCurrentApp(){const t=this.orgList.find((t=>"dingjigp0ksn9nbljdli"===t.app_key));this.$set(this,"currentOrg",t)},initDingTalkLogin(){if(this.qrLoading=!0,console.log("进入初始化钉钉",this.currentOrg),!this.currentOrg.app_key)return;const t=this.currentOrg.app_key,e=document.getElementById("dingTalkLoginContainer");e&&(e.innerHTML=""),DDLogin({id:"dingTalkLoginContainer",goto:encodeURIComponent(`https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=${t}&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=${this.redirectUri}`),style:"border:none;background-color:#FFFFFF;margin:0",width:"210",height:"250"}),this.$nextTick((()=>{setTimeout((()=>{this.qrLoading=!1}),1e3)})),window.addEventListener("message",this.handleDingTalkLogin,!1),"undefined"!==typeof window.addEventListener?window.addEventListener("message",this.handleDingTalkLogin,!1):"undefined"!==typeof window.attachEvent&&window.attachEvent("onmessage",this.handleDingTalkLogin)},switchOrg(t){t.app_key!==this.currentOrg.app_key&&(this.currentOrg=t,this.showOrgDialog=!1,this.initDingTalkLogin())},async handleDingTalkLogin(t){console.log("收到扫码回调");const e=r.A.get("corp_id"),i=r.A.get("userid");if("https://login.dingtalk.com"!==t.origin)return;const n=t.data,o=this.currentOrg.app_key,s=encodeURIComponent(`${this.currentOrg.app_key}$${this.currentOrg.template_code}$${e}$${i}`),a=`https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=${o}&response_type=code&scope=snsapi_login&state=${s}&redirect_uri=${this.redirectUri}&loginTmpCode=${n}`;console.log(a,"回调 url"),this.DDTestUrl=a,window.location.href=a},async handleDingCallback(){console.log("扫码成功");const t=(0,a.tI)(),e=r.A.get("corp_id");if("error"==t.code&&t.msg)return this.$message.error(t.msg),void setTimeout((()=>{window.location.href=window.location.origin+"/company_app/index.html?corp_id="+e+"&msg=error"}),5e3);t.token&&"undefined"!=t.token?((0,g.WG)(t.token),this.set_token(t.token),await this.getSignature()):(console.log("没有token"),window.location.href=window.location.origin+"/company_app/index.html?corp_id="+e+"&msg=notoken"),t.cser_id&&this.cacheCser(t.cser_id,t.cser_name)},refreshDingTalkQRCode(){this.initDingTalkLogin()}}},p=l,h=i(8477),u=(0,h.A)(p,n,o,!1,null,"f1859a88",null),_=u.exports}}]);
//# sourceMappingURL=661.8f16344b.js.map
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -281,13 +281,13 @@ import { getToken,removeToken } from '@/utils/auth'
},
},
mixins: [watchMember],
created() {
// 初始化企业微信SDK
this.initializeWecom()
// 获取客服状态和相关信息
this.getInitialData()
},
mounted() {
// 初始化企业微信SDK
this.initializeWecom()
// 获取客服状态和相关信息
if(this.userid){
this.getInitialData()
}
},
methods: {
...mapMutations('game', ['set_accountSelect']),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论