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
60eb28a2
Commit
60eb28a2
authored
Aug 12, 2021
by
zhangleyuan
Browse files
Options
Browse Files
Download
Plain Diff
feat:解决合并代码后的冲突
parents
f1fdeb6e
16af0617
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
65 additions
and
93 deletions
+65
-93
src/common/js/wechatApi.js
+43
-81
src/index.html
+12
-4
src/modules/college-manage/components/LeftStructureTree.jsx
+2
-2
src/modules/college-manage/components/MemberTree.jsx
+0
-1
src/modules/college-manage/components/MemberTree.less
+5
-1
src/modules/college-manage/components/SearchUser.jsx
+2
-3
src/modules/college-manage/modal/NewChooseMembersModal.less
+1
-1
No files found.
src/common/js/wechatApi.js
View file @
60eb28a2
...
@@ -12,69 +12,34 @@ import Platform from '@/common/js/platform';
...
@@ -12,69 +12,34 @@ 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'
;
console
.
log
(
wx
.
agentConfig
,
' console.log(wx.agentConfig) '
)
export
default
class
WechatApi
{
export
default
class
WechatApi
{
static
async
initConfig
(
params
=
{
isAgentConfig
:
false
,
url
:
''
})
{
static
initConfig
(
params
=
{
isAgentConfig
:
false
,
url
:
''
})
{
if
(
Platform
.
isWorkWx
())
{
if
(
Platform
.
isWorkWx
())
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
Service
.
Hades
(
'anon/hades/getWxCorpJSAPISignature'
,
{
Service
.
Hades
(
'anon/hades/getWxCorpJSAPISignature'
,
{
storeId
:
User
.
getStoreId
(),
storeId
:
User
.
getStoreId
(),
url
:
params
.
url
,
url
:
window
.
location
.
href
.
split
(
'#'
)[
0
]
,
}).
then
((
result
)
=>
{
}).
then
((
result
)
=>
{
const
res
=
result
.
result
;
const
res
=
result
.
result
;
this
.
config
({
wx
.
config
({
beta
:
true
,
// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
beta
:
true
,
// 必须这么写,否则wx.invoke调用形式的jsapi会有问题
debug
:
false
,
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
debug
:
false
,
// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId
:
res
.
appId
,
// 必填,企业微信的corpID
appId
:
res
.
appId
,
// 必填,企业微信的corpID
timestamp
:
res
.
timestamp
,
// 必填,生成签名的时间戳
timestamp
:
res
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
res
.
nonceStr
,
// 必填,生成签名的随机串
nonceStr
:
res
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
res
.
signature
,
// 必填,签名,见 附录-JS-SDK使用权限签名算法
signature
:
res
.
signature
,
// 必填,签名,见 附录-JS-SDK使用权限签名算法
jsApiList
:
[
'chooseImage'
,
'shareToExternalContact'
,
'selectExternalContact'
,
'selectEnterpriseContact'
],
jsApiList
:
[
'scanQRCode'
],
}).
then
(()
=>
{
});
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
})
storeId
:
User
.
getStoreId
(),
wx
.
ready
(()
=>
{
url
:
params
.
url
,
}).
then
((
result2
)
=>
{
const
res2
=
result2
.
result
;
setTimeout
(()
=>
{
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'
,
'startLiving'
,
'replayLiving'
],
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
);
},
});
},
500
)
});
})
});
})
}
else
{
if
(
params
.
isAgentConfig
)
{
console
.
log
(
32132132
,
'cesgu'
)
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
:
window
.
location
.
href
.
split
(
'#'
)[
0
]
,
}).
then
((
result2
)
=>
{
}).
then
((
result2
)
=>
{
const
res2
=
result2
.
result
;
const
res2
=
result2
.
result
;
this
.
agentConfig
({
wx
.
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
,
// 必填,生成签名的时间戳
...
@@ -82,58 +47,55 @@ export default class WechatApi {
...
@@ -82,58 +47,55 @@ export default class WechatApi {
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
signature
:
res2
.
signature
,
// 必填,签名,见附录-JS-SDK使用权限签名算法
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
,
'startLiving'
,
'replayLiving'
],
jsApiList
:
[
'selectExternalContact'
,
'getCurExternalContact'
,
'getContext'
,
'shareToExternalContact'
,
'sendChatMessage'
,
'shareToExternalChat'
,
'startLiving'
,
'replayLiving'
],
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
console
.
log
(
res
,
'res-agentconfig'
);
console
.
log
(
res
,
'agentConfig 成功'
,
'res-agentconfig'
);
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
);
},
},
});
});
});
});
});
});
}
wx
.
error
((
err
)
=>
{
}
console
.
log
(
'getWxCorpJSAPISignature'
,
err
)
});
}
})
static
async
config
(
config
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
console
.
info
(
'wx.config'
,
config
);
wx
.
config
(
config
);
wx
.
ready
(
resolve
);
wx
.
error
(
reject
);
}).
then
(
()
=>
{
console
.
info
(
'wx.ready'
);
},
(
error
)
=>
{
console
.
error
(
'wx.error'
,
error
);
throw
error
;
}
);
}
static
async
agentConfig
(
config
)
{
}
else
{
wx
.
agentConfig
({
...
config
});
}
static
getCurExternalContact
()
{
return
new
Promise
(
async
(
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
Service
.
Hades
(
'anon/hades/getWxWorkJSAPISignature'
,
{
wx
.
ready
(()
=>
{
storeId
:
User
.
getStoreId
(),
wx
.
invoke
(
'getCurExternalContact'
,
{},
function
(
res
)
{
url
:
window
.
location
.
href
.
split
(
'#'
)[
0
],
if
(
res
.
err_msg
==
'getCurExternalContact:ok'
)
{
}).
then
((
result2
)
=>
{
resolve
(
res
.
userId
);
//返回当前外部联系人userId
const
res2
=
result2
.
result
;
}
else
{
wx
.
agentConfig
({
reject
(
res
.
err_msg
);
//错误处理
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'
,
'startLiving'
,
'replayLiving'
],
success
:
(
res
)
=>
{
console
.
log
(
res
,
'agentConfig 成功'
,
'res-agentconfig'
);
resolve
(
res
);
},
fail
:
(
err
)
=>
{
console
.
log
(
1213545344545
)
console
.
log
(
err
,
'err-agentconfig'
);
},
});
});
});
});
});
}
);
}
}
}
static
getContext
()
{
static
getContext
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
wx
.
ready
(()
=>
{
wx
.
ready
(()
=>
{
...
...
src/index.html
View file @
60eb28a2
...
@@ -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-08-1
1 20:25:11
* @LastEditTime: 2021-08-1
2 15:58:30
* @Description:
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
* @Copyright: 杭州杰竞科技有限公司 版权所有
-->
-->
...
@@ -41,17 +41,25 @@
...
@@ -41,17 +41,25 @@
work correctly both with client-side routing and a non-root public URL.
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
Learn how to configure a non-root public URL by running `npm run build`.
-->
-->
<title>
小麦企学院
</title>
<script
src=
"https://res.wx.qq.com/open/js/jweixin-1.2.0.js"
></script>
<script
src=
"https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/iscroll-zoom-min.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/iscroll-zoom-min.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/hammer.min.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/hammer.min.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/lrz.all.bundle.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/lrz.all.bundle.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/PhotoClip.js"
></script>
<script
type=
"text/javascript"
src=
"https://image.xiaomaiketang.com/xm/PhotoClip.js"
></script>
<script
type=
"text/javascript"
charset=
"utf-8"
src=
"//g.alicdn.com/sd/ncpc/nc.js?t=2015052012"
></script>
<script
type=
"text/javascript"
charset=
"utf-8"
src=
"//g.alicdn.com/sd/ncpc/nc.js?t=2015052012"
></script>
<script
type=
"text/javascript"
src=
"https://xiaomai-js.oss-cn-hangzhou.aliyuncs.com/loghub-xm-0.0.1-beta.js"
></script>
<script
type=
"text/javascript"
src=
"https://xiaomai-js.oss-cn-hangzhou.aliyuncs.com/loghub-xm-0.0.1-beta.js"
></script>
<script
type=
"text/javascript"
src=
"//res.wx.qq.com/open/js/jweixin-1.2.0.js"
></script>
<script
type=
"text/javascript"
src=
"//open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"
></script>
</head>
</head>
<body>
<body>
<script>
setTimeout
(()
=>
{
if
(
!
wx
.
agentConfig
){
window
.
location
.
reload
()
}
},
100
)
</script>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div
id=
"root"
></div>
<div
id=
"root"
></div>
...
...
src/modules/college-manage/components/LeftStructureTree.jsx
View file @
60eb28a2
...
@@ -523,7 +523,7 @@ function LeftStructureTree(props) {
...
@@ -523,7 +523,7 @@ function LeftStructureTree(props) {
<
div
className=
"organization"
>
<
div
className=
"organization"
>
<
div
className=
"search-con"
>
<
div
className=
"search-con"
>
{
/* <Complete/> */
}
{
/* <Complete/> */
}
{
/*
<AutoComplete
<
AutoComplete
dropdownClassName=
"certain-category-search-dropdown"
dropdownClassName=
"certain-category-search-dropdown"
dropdownMatchSelectWidth=
{
250
}
dropdownMatchSelectWidth=
{
250
}
allowClear
allowClear
...
@@ -545,7 +545,7 @@ function LeftStructureTree(props) {
...
@@ -545,7 +545,7 @@ function LeftStructureTree(props) {
style=
{
{
width
:
250
}
}
style=
{
{
width
:
250
}
}
enterButton=
{
<
span
className=
'icon iconfont'
>

</
span
>
}
enterButton=
{
<
span
className=
'icon iconfont'
>

</
span
>
}
/>
/>
</AutoComplete>
*/
}
</
AutoComplete
>
</
div
>
</
div
>
{
(
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
)
&&
(
{
(
props
.
treeType
===
'postGrouptab'
||
props
.
treeType
===
'customGroupTab'
)
&&
(
<
div
className=
"operate"
>
<
div
className=
"operate"
>
...
...
src/modules/college-manage/components/MemberTree.jsx
View file @
60eb28a2
...
@@ -64,7 +64,6 @@ function MemberTree(props) {
...
@@ -64,7 +64,6 @@ function MemberTree(props) {
_selectNodes
.
push
(
item
);
_selectNodes
.
push
(
item
);
}
}
})
})
console
.
log
(
'_selectNodes'
,
_selectNodes
);
props
.
onSelect
(
_selectNodes
);
props
.
onSelect
(
_selectNodes
);
}
}
return
(
return
(
...
...
src/modules/college-manage/components/MemberTree.less
View file @
60eb28a2
...
@@ -9,6 +9,9 @@
...
@@ -9,6 +9,9 @@
}
}
}
}
.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, .ant-tree.ant-tree-directory .ant-tree-treenode-selected::before{
.ant-tree.ant-tree-directory .ant-tree-treenode-selected:hover::before, .ant-tree.ant-tree-directory .ant-tree-treenode-selected::before{
background: none;
background:transparent;
}
.ant-tree.ant-tree-directory .ant-tree-treenode-selected .ant-tree-switcher{
color:#000;
}
}
}
}
\ No newline at end of file
src/modules/college-manage/components/SearchUser.jsx
View file @
60eb28a2
...
@@ -58,14 +58,13 @@ function SearchUser(props) {
...
@@ -58,14 +58,13 @@ function SearchUser(props) {
};
};
return
(
return
(
<
div
className=
"search-user"
style=
{
{
width
:
'300px'
}
}
id=
"search-user"
>
<
div
className=
"search-user"
style=
{
{
width
:
'300px'
}
}
id=
"search-user"
>
{
/*
<Search
<
Search
placeholder=
'搜索成员'
placeholder=
'搜索成员'
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
enterButton=
{
<
span
className=
"icon iconfont"
>

</
span
>
}
onFocus=
{
(
e
)
=>
{
onFocus
(
e
)}
}
onFocus=
{
(
e
)
=>
{
onFocus
(
e
)}
}
onChange=
{
(
e
)
=>
{
onChange
(
e
)}
}
onChange=
{
(
e
)
=>
{
onChange
(
e
)}
}
className=
"search-input-item"
className=
"search-input-item"
// onBlur={()=>{onBlur()}}
/>
/> */
}
{
dropDownVisible
&&
{
dropDownVisible
&&
<
div
className=
"drop-down"
>
<
div
className=
"drop-down"
>
<
div
className=
"drop-down__list"
>
<
div
className=
"drop-down__list"
>
...
...
src/modules/college-manage/modal/NewChooseMembersModal.less
View file @
60eb28a2
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
}
}
.container-left-body-table{
.container-left-body-table{
width: 300px;
width: 300px;
height: 33
0px;
max-height: 38
0px;
overflow: scroll;
overflow: scroll;
.ant-table {
.ant-table {
border: none;
border: none;
...
...
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