Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xiaomai-cloud-class-web
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xiaomai-cloud-class
xiaomai-cloud-class-web
Commits
a3d51f25
Commit
a3d51f25
authored
Jul 21, 2021
by
zhangleyuan
Browse files
Options
Browse Files
Download
Plain Diff
feat:处理合并代码后的冲突
parents
ccf7c64b
fe6dbb79
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
130 additions
and
54 deletions
+130
-54
src/common/js/platform.js
+44
-0
src/common/js/wechatApi.js
+80
-47
src/index.html
+1
-1
src/modules/college-manage/EmployeeManage.tsx
+2
-2
src/modules/root/App.tsx
+3
-4
No files found.
src/common/js/platform.js
0 → 100644
View file @
a3d51f25
module
.
exports
=
{
isWeiXin
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
ua
.
indexOf
(
'micromessenger'
)
>
0
;
},
isWorkWx
(){
return
/wxwork/i
.
test
(
navigator
.
userAgent
)
},
isAlipay
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
ua
.
indexOf
(
'aliapp'
)
>
0
||
ua
.
indexOf
(
'alipay'
)
>
0
;
},
isXiaoMaiApp
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
ua
.
match
(
/xiaomai_ios/i
)
===
'xiaomai_ios'
||
ua
.
match
(
/xiaomai_android/i
)
===
'xiaomai_android'
;
},
isXiaoMaiIOSApp
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
ua
.
match
(
/xiaomai_ios/i
)
===
'xiaomai_ios'
;
},
isXiaoMaiAndroidApp
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
ua
.
match
(
/xiaomai_android/i
)
===
'xiaomai_android'
;
},
isAndroid
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
/android/i
.
test
(
ua
);
},
isIOS
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
/iphone|ipad|ipod/i
.
test
(
ua
);
},
isMeiKe
()
{
const
ua
=
navigator
.
userAgent
.
toLowerCase
();
return
/xmappc/i
.
test
(
ua
);
},
};
\ No newline at end of file
src/common/js/wechatApi.js
View file @
a3d51f25
/*
/*
* @Author: wufan
* @Author: wufan
* @Date: 2021-05-11 10:21:37
* @Date: 2021-05-11 10:21:37
* @LastEditors:
fusanqiasng
* @LastEditors:
Please set LastEditors
* @LastEditTime: 2021-0
6-22 16:52:48
* @LastEditTime: 2021-0
7-21 14:25:37
* @Description: 企业微信api
* @Description: 企业微信api
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*
*/
*/
import
Platform
from
'@/common/js/platform'
;
import
User
from
'@/common/js/user'
;
import
User
from
'@/common/js/user'
;
import
Service
from
'@/common/js/service'
;
import
Service
from
'@/common/js/service'
;
import
Platform
from
'@/core/platform'
;
export
default
class
WechatApi
{
export
default
class
WechatApi
{
static
async
initConfig
(
params
=
{
isAgentConfig
:
false
,
url
:
''
})
{
static
async
initConfig
(
params
=
{
isAgentConfig
:
false
,
url
:
''
})
{
return
Service
.
Hades
(
'anon/hades/getWxCorpJSAPISignature'
,
{
if
(
Platform
.
isWorkWx
()){
storeId
:
User
.
getStoreId
(),
return
Service
.
Hades
(
'anon/hades/getWxCorpJSAPISignature'
,
{
url
:
params
.
url
,
storeId
:
User
.
getStoreId
(),
}).
then
((
result
)
=>
{
url
:
params
.
url
,
const
res
=
result
.
result
;
}).
then
((
result
)
=>
{
this
.
config
({
const
res
=
result
.
result
;
beta
:
true
,
// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
this
.
config
({
debug
:
false
,
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
beta
:
true
,
// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
appId
:
res
.
appId
,
// 必填,企业微信的corpID
debug
:
false
,
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
timestamp
:
res
.
timestamp
,
// 必填,生成签名的时间戳
appId
:
res
.
appId
,
// 必填,企业微信的corpID
nonceStr
:
res
.
nonceStr
,
// 必填,生成签名的随机串
timestamp
:
res
.
timestamp
,
// 必填,生成签名的时间戳
signature
:
res
.
signature
,
// 必填,签名,见 附录-JS-SDK使用权限签名算法
nonceStr
:
res
.
nonceStr
,
// 必填,生成签名的随机串
jsApiList
:
[
'chooseImage'
,
'shareToExternalContact'
,
'selectExternalContact'
,
'selectEnterpriseContact'
],
signature
:
res
.
signature
,
// 必填,签名,见 附录-JS-SDK使用权限签名算法
}).
then
(()
=>
{
jsApiList
:
[
'chooseImage'
,
'shareToExternalContact'
,
'selectExternalContact'
,
'selectEnterpriseContact'
],
console
.
log
(
'微信config设置完毕'
)
}).
then
(()
=>
{
if
(
params
.
isAgentConfig
)
{
if
(
params
.
isAgentConfig
)
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
url
:
params
.
url
,
url
:
params
.
url
,
}).
then
((
result2
)
=>
{
}).
then
((
result2
)
=>
{
const
res2
=
result2
.
result
;
const
res2
=
result2
.
result
;
this
.
agentConfig
({
this
.
agentConfig
({
corpid
:
res2
.
corpid
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
corpid
:
res2
.
corpid
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
agentid
:
res2
.
agentid
,
// 必填,企业微信的应用id (e.g. 1000247)
agentid
:
res2
.
agentid
,
// 必填,企业微信的应用id (e.g. 1000247)
timestamp
:
res2
.
timestamp
,
// 必填,生成签名的时间戳
timestamp
:
res2
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
res2
.
nonceStr
,
// 必填,生成签名的随机串
nonceStr
:
res2
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
],
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
],
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
console
.
log
(
res
,
'res-agentconfig'
);
console
.
log
(
res
,
'res-agentconfig'
);
console
.
info
(
'window.WWOpenData'
,
window
.
WWOpenData
);
console
.
info
(
'window.WWOpenData'
,
window
.
WWOpenData
);
resolve
(
res
);
resolve
(
res
);
},
},
fail
:
(
err
)
=>
{
fail
:
(
err
)
=>
{
console
.
log
(
1213545344545
)
console
.
log
(
1213545344545
)
console
.
log
(
err
,
'err-agentconfig'
);
console
.
log
(
err
,
'err-agentconfig'
);
reject
(
err
);
reject
(
err
);
},
},
});
});
});
});
});
}
})
});
}
else
{
if
(
params
.
isAgentConfig
)
{
console
.
log
(
32132132
,
'cesgu'
)
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
storeId
:
User
.
getStoreId
(),
url
:
params
.
url
,
}).
then
((
result2
)
=>
{
const
res2
=
result2
.
result
;
this
.
agentConfig
({
corpid
:
res2
.
corpid
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
agentid
:
res2
.
agentid
,
// 必填,企业微信的应用id (e.g. 1000247)
timestamp
:
res2
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
res2
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
],
success
:
(
res
)
=>
{
console
.
log
(
res
,
'res-agentconfig'
);
console
.
info
(
'window.WWOpenData'
,
window
.
WWOpenData
);
resolve
(
res
);
},
fail
:
(
err
)
=>
{
console
.
log
(
1213545344545
)
console
.
log
(
err
,
'err-agentconfig'
);
reject
(
err
);
},
});
});
});
}
});
})
}
}
});
}
}
static
async
config
(
config
)
{
static
async
config
(
config
)
{
...
...
src/index.html
View file @
a3d51f25
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Author: 吴文洁
* @Date: 2020-08-24 12:20:57
* @Date: 2020-08-24 12:20:57
* @LastEditors: Please set LastEditors
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-
08 19:38:52
* @LastEditTime: 2021-07-
19 15:48:51
* @Description:
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
* @Copyright: 杭州杰竞科技有限公司 版权所有
-->
-->
...
...
src/modules/college-manage/EmployeeManage.tsx
View file @
a3d51f25
...
@@ -18,6 +18,7 @@ import User from "@/common/js/user";
...
@@ -18,6 +18,7 @@ import User from "@/common/js/user";
import
WechatApi
from
'@/common/js/wechatApi'
;
import
WechatApi
from
'@/common/js/wechatApi'
;
import
WWOpenDataCom
from
'@/components/WWOpenDataCom'
;
import
WWOpenDataCom
from
'@/components/WWOpenDataCom'
;
import
LimitTip
from
"./LimitTip"
;
import
LimitTip
from
"./LimitTip"
;
import
WWOpenDataCom
from
'@/components/WWOpenDataCom'
;
import
"./EmployeeManage.less"
;
import
"./EmployeeManage.less"
;
import
ChooseMembersModal
from
"./modal/ChooseMembersModal"
;
import
ChooseMembersModal
from
"./modal/ChooseMembersModal"
;
...
@@ -159,8 +160,7 @@ function EmployeeManage() {
...
@@ -159,8 +160,7 @@ function EmployeeManage() {
{
/* <span className="title">{val}</span> */
}
{
/* <span className="title">{val}</span> */
}
<
span
className=
"title"
>
<
span
className=
"title"
>
<
WWOpenDataCom
type=
"userName"
openid=
{
val
}
/>
<
WWOpenDataCom
type=
"userName"
openid=
{
val
}
/>
</
span
>
</
span
>
</
div
>
</
div
>
);
);
...
...
src/modules/root/App.tsx
View file @
a3d51f25
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Author: 吴文洁
* @Date: 2019-07-10 10:30:49
* @Date: 2019-07-10 10:30:49
* @LastEditors: Please set LastEditors
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-0
6-22 17:47:02
* @LastEditTime: 2021-0
7-19 16:21:07
* @Description:
* @Description:
*/
*/
import
React
,
{
useContext
,
useEffect
,
useState
}
from
'react'
;
import
React
,
{
useContext
,
useEffect
,
useState
}
from
'react'
;
...
@@ -20,6 +20,7 @@ import { VersionContext, VersionInfo, XMContext } from '@/store/context';
...
@@ -20,6 +20,7 @@ import { VersionContext, VersionInfo, XMContext } from '@/store/context';
import
{
setStoreGroupPermission
,
setStorePermission
,
setStoreGroupList
,
setStoreList
}
from
'@/store/actions/index'
;
import
{
setStoreGroupPermission
,
setStorePermission
,
setStoreGroupList
,
setStoreList
}
from
'@/store/actions/index'
;
import
Service
from
"@/common/js/service"
;
import
Service
from
"@/common/js/service"
;
import
Bus
from
'@/core/tbus'
;
import
Bus
from
'@/core/tbus'
;
import
WechatApi
from
'@/common/js/wechatApi'
;
import
{
func
}
from
'prop-types'
;
import
{
func
}
from
'prop-types'
;
const
{
Footer
,
Sider
,
Content
}
=
Layout
;
const
{
Footer
,
Sider
,
Content
}
=
Layout
;
...
@@ -46,11 +47,9 @@ const App: React.FC = (props: any) => {
...
@@ -46,11 +47,9 @@ const App: React.FC = (props: any) => {
})
})
}
}
},
[])
},
[])
async
function
initWechatConfig
()
{
async
function
initWechatConfig
()
{
WechatApi
.
initConfig
({
isAgentConfig
:
true
,
url
:
window
.
location
.
href
.
split
(
'#'
)[
0
]
})
WechatApi
.
initConfig
({
isAgentConfig
:
true
,
url
:
window
.
location
.
href
.
split
(
'#'
)[
0
]
})
}
}
useEffect
(()
=>
{
useEffect
(()
=>
{
getStorePermission
();
getStorePermission
();
},
[
window
.
location
.
hash
])
},
[
window
.
location
.
hash
])
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment