Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
ybf
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xulili
ybf
Commits
ef9dc920
Commit
ef9dc920
authored
Jan 15, 2020
by
xd
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://114.67.93.201/xulili/ybf
parents
e30182e0
0af9e069
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
340 additions
and
23 deletions
+340
-23
index.vue
ybf_admin/src/pages/task/bar/index.vue
+36
-9
index.vue
ybf_admin/src/pages/task/count/index.vue
+2
-2
App.vue
ybf_wx/src/App.vue
+10
-0
active.js
ybf_wx/src/api/test/active.js
+1
-1
main.js
ybf_wx/src/api/test/main.js
+1
-1
aCommon.js
ybf_wx/src/utils/aCommon.js
+230
-0
aRequest.js
ybf_wx/src/utils/aRequest.js
+11
-5
aWxRequest.js
ybf_wx/src/utils/aWxRequest.js
+44
-0
bRequestEa.js
ybf_wx/src/utils/bRequestEa.js
+5
-5
bRequestEaPost.js
ybf_wx/src/utils/bRequestEaPost.js
+0
-0
No files found.
ybf_admin/src/pages/task/bar/index.vue
View file @
ef9dc920
...
...
@@ -100,7 +100,7 @@
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"240"
>
<
template
slot-scope=
"scope"
>
<el-button
<
!--
<
el-button
v-if=
"scope.row.taskStatus === 'Top'"
class=
"buttonTextNormal"
type=
"text"
...
...
@@ -111,7 +111,7 @@
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsTopClick(scope.row.id)"
>
置顶
</el-button>
>
置顶
</el-button>
-->
<el-button
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsSeeClick(scope.row.id)"
>
详情
</el-button>
<el-button
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsEditClick(scope.row.id)"
>
编辑
</el-button>
<el-button
class=
"buttonTextWarning"
type=
"text"
@
click=
"listsDelClick(scope.row)"
>
删除
</el-button>
...
...
@@ -189,7 +189,7 @@
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"
产品
周期:"
prop=
"taskTime"
>
<el-form-item
label=
"
任务
周期:"
prop=
"taskTime"
>
<el-date-picker
v-model=
"data.create.taskTime"
type=
"daterange"
...
...
@@ -266,6 +266,18 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"发布日期:"
prop=
"createTime"
>
<el-input
:disabled=
"true"
v-model=
"data.see.createTime"
autocomplete=
"off"
placeholder=
"发布日期为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务期限:"
prop=
"taskTime"
>
...
...
@@ -278,6 +290,19 @@
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"状态:"
prop=
"taskStatus"
>
<el-input
:disabled=
"true"
v-model=
"data.see.taskStatus"
autocomplete=
"off"
placeholder=
"任务状态为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务详情:"
prop=
"taskDetail"
>
...
...
@@ -500,14 +525,18 @@ export default {
taskName
:
"taskName"
,
taskType
:
"taskType"
,
bar
:
"bar"
,
taskTime
:
"taskTime"
,
createTime
:
"2020-01-01"
,
taskTime
:
"2020-01-05"
+
" 至 "
+
"2020-01-10"
,
taskStatus
:
"已发布"
,
taskDetail
:
"taskDetail"
},
seeDefault
:
{
taskName
:
""
,
taskType
:
""
,
bar
:
""
,
createTime
:
""
,
taskTime
:
""
,
taskStatus
:
""
,
taskDetail
:
""
}
},
...
...
@@ -539,13 +568,11 @@ export default {
searchsSend
()
{},
searchsDels
()
{
let
postData
=
{
loginName
:
'Alice'
,
loginPwd
:
'AlicePwd'
loginName
:
"Alice"
,
loginPwd
:
"AlicePwd"
};
ApiLoginSubmit
(
postData
).
then
(
res
=>
{
});
ApiLoginSubmit
(
postData
).
then
(
res
=>
{});
},
searchsSearch
()
{},
...
...
ybf_admin/src/pages/task/count/index.vue
View file @
ef9dc920
...
...
@@ -48,14 +48,14 @@
style=
"width:200px;"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"关键词"
>
<
!--
<
el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"data.search.keys"
style=
"width:160px"
placeholder=
"请输入关键词"
/>
</el-form-item>
</el-form-item>
-->
</el-form>
...
...
ybf_wx/src/App.vue
View file @
ef9dc920
...
...
@@ -4,6 +4,16 @@
</div>
</
template
>
<
script
>
import
{
getXToken
}
from
'./utils/aCommon'
getXToken
()
export
default
{
name
:
'App'
}
</
script
>
<
style
lang=
"scss"
>
/*@import '~@/assets/style/public.scss';*/
</
style
>
ybf_wx/src/api/test/active.js
View file @
ef9dc920
import
request
from
'@/utils/
r
equestEa'
import
request
from
'@/utils/
bR
equestEa'
// 案例
export
function
getCaseList
(
data
)
{
...
...
ybf_wx/src/api/test/main.js
View file @
ef9dc920
import
request
from
'@/utils/
r
equestEa'
import
request
from
'@/utils/
bR
equestEa'
export
function
ApiTestGet
()
{
return
request
({
...
...
ybf_wx/src/utils/aCommon.js
0 → 100644
View file @
ef9dc920
import
Vue
from
'vue'
import
{
wxRequest
}
from
'./aWxRequest'
import
qs
from
'qs'
import
router
from
'../router'
// Z-BasicInfo
let
INFO
=
{
corpId
:
'wwd1cdbca7b8b2b6c4'
,
agentId
:
'1000015'
,
}
async
function
getXToken
()
{
let
postData
=
{
corpId
:
INFO
.
corpId
,
agentId
:
INFO
.
agentId
,
}
await
wxRequest
(
'/workWx/common/getToken'
,
qs
.
stringify
(
postData
)).
then
(
res
=>
{
if
(
res
.
result
==
'success'
)
{
sessionStorage
.
setItem
(
'XToken'
,
res
.
data
)
}
else
{
this
.
$message
({
message
:
res
.
errorMsg
,
type
:
'error'
})
}
}).
catch
(
err
=>
{
console
.
log
(
'!==>getXToken: err:'
,
err
)
})
}
function
isIosOrAndroid
()
{
let
u
=
navigator
.
userAgent
;
let
isAndroid
=
u
.
indexOf
(
'Android'
)
>
-
1
||
u
.
indexOf
(
'Adr'
)
>
-
1
// android终端
let
isiOS
=
!!
u
.
match
(
/
\(
i
[^
;
]
+;
(
U;
)?
CPU.+Mac OS X/
)
// ios终端
let
isStr
=
''
if
(
isAndroid
)
{
isStr
=
'android'
}
if
(
isiOS
)
{
isStr
=
'ios'
}
return
isStr
}
Vue
.
prototype
.
getAgentAuth
=
function
()
{
let
postData
=
{
// businessId: sessionStorage.getItem('businessId'),
// pageUrl: encodeURIComponent(this.isIosOrAndroid() === 'android' ? location.href.split('#')[0] : window.initUrl)
pageUrl
:
encodeURIComponent
(
location
.
href
.
split
(
'#'
)[
0
])
}
let
header
=
{
token
:
sessionStorage
.
getItem
(
'XToken'
),
corpId
:
INFO
.
corpId
,
agentId
:
INFO
.
agentId
,
}
wxRequest
(
'/workWx/auth/base/getJsSdkSignature'
,
qs
.
stringify
(
postData
),
header
).
then
(
res
=>
{
if
(
res
.
result
==
'success'
)
{
let
config
=
res
.
data
wx
.
config
({
beta
:
true
,
debug
:
false
,
//调试的时候可以开启
appId
:
config
.
jsApiSignature
.
appId
,
// 必填,公众号的唯一标识
timestamp
:
config
.
jsApiSignature
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
config
.
jsApiSignature
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
config
.
jsApiSignature
.
signature
,
// 必填,签名
// 根据自己的需求,填写 jsapilist 内容
jsApiList
:
[
'agentConfig'
]
})
wx
.
ready
(
function
()
{
// JS-SDK配置信息验证失败时会进入此方法
wx
.
error
(
function
(
res
)
{
alert
(
"JS-SDK配置信息验证失败
\
r
\n
"
+
JSON
.
stringify
(
res
));
})
// 配置成功后验证API接口在当前客户端是否支持:判断当前客户端版本是否支持指定JS接口
wx
.
checkJsApi
({
jsApiList
:
[
'agentConfig'
,
'sendChatMessage'
],
success
:
function
(
res
)
{
if
(
res
.
errMsg
!=
"checkJsApi:ok"
)
{
alert
(
"JS-SDK接口检测失败:"
+
JSON
.
stringify
(
res
));
return
false
;
}
else
{
wxRequest
(
'/workWx/auth/base/getAgentJsSdkSignature'
,
qs
.
stringify
(
data
),
header
).
then
(
res
=>
{
// alert('getAgentJsSdkSignature:ok')
if
(
res
.
result
==
'success'
)
{
let
agentConfig
=
res
.
data
wx
.
agentConfig
({
corpid
:
agentConfig
.
agentJsApiSignature
.
appId
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
agentid
:
agentConfig
.
agentId
,
// 必填,企业微信的应用id
timestamp
:
agentConfig
.
agentJsApiSignature
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
agentConfig
.
agentJsApiSignature
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
agentConfig
.
agentJsApiSignature
.
signature
,
// 必填,签名,agentConfig所以为应用签名
jsApiList
:
[
'sendChatMessage'
],
//必填
success
:
function
(
res
)
{
// alert('agentConfig:ok')
// router.push(to)
// 回调
//1、发起申请申请时后,审批状态发生变化时
//2、发起申请申请时后,在“审批中”状态,有任意审批人进行审批操作时
// alert('wx.agentConfig 回调'+res.errMsg);
},
fail
:
function
(
res
)
{
// alert('回调失败:'+res.errMsg)
if
(
res
.
errMsg
.
indexOf
(
'is not a function'
)
>
-
1
)
{
alert
(
'<i class="weui-icon-warn">版本过低请升级</i>'
)
}
}
})
}
})
}
}
})
})
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
res
.
errorMsg
})
}
}).
catch
(
err
=>
{
console
.
log
(
err
,
'err'
)
})
}
function
configWx
(
to
)
{
let
postData
=
{
// businessId: sessionStorage.getItem('businessId'),
// pageUrl: encodeURIComponent(this.isIosOrAndroid() === 'android' ? location.href.split('#')[0] : window.initUrl)
pageUrl
:
encodeURIComponent
(
location
.
href
.
split
(
'#'
)[
0
])
}
let
header
=
{
token
:
sessionStorage
.
getItem
(
'XToken'
),
corpId
:
INFO
.
corpId
,
agentId
:
INFO
.
agentId
,
}
wxRequest
(
'/workWx/auth/base/getJsSdkSignature'
,
qs
.
stringify
(
postData
),
header
).
then
(
res
=>
{
if
(
res
.
result
==
'success'
)
{
let
config
=
res
.
data
wx
.
config
({
beta
:
true
,
debug
:
true
,
//调试的时候可以开启
appId
:
config
.
jsApiSignature
.
appId
,
// 必填,公众号的唯一标识
timestamp
:
config
.
jsApiSignature
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
config
.
jsApiSignature
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
config
.
jsApiSignature
.
signature
,
// 必填,签名
// 根据自己的需求,填写 jsapilist 内容
jsApiList
:
[
'agentConfig'
]
})
wx
.
ready
(
function
()
{
// JS-SDK配置信息验证失败时会进入此方法
wx
.
error
(
function
(
res
)
{
alert
(
"JS-SDK配置信息验证失败
\
r
\n
"
+
JSON
.
stringify
(
res
));
})
// 配置成功后验证API接口在当前客户端是否支持:判断当前客户端版本是否支持指定JS接口
wx
.
checkJsApi
({
jsApiList
:
[
'agentConfig'
,
'getCurExternalContact'
],
success
:
function
(
res
)
{
if
(
res
.
errMsg
!=
"checkJsApi:ok"
)
{
alert
(
"JS-SDK接口检测失败:"
+
JSON
.
stringify
(
res
));
return
false
;
}
}
})
wxRequest
(
'/workWx/auth/base/getAgentJsSdkSignature'
,
qs
.
stringify
(
data
),
header
).
then
(
res
=>
{
if
(
res
.
result
==
'success'
)
{
let
agentConfig
=
res
.
data
wx
.
agentConfig
({
corpid
:
agentConfig
.
agentJsApiSignature
.
appId
,
// 必填,企业微信的corpid,必须与当前登录的企业一致
agentid
:
agentConfig
.
agentId
,
// 必填,企业微信的应用id
timestamp
:
agentConfig
.
agentJsApiSignature
.
timestamp
,
// 必填,生成签名的时间戳
nonceStr
:
agentConfig
.
agentJsApiSignature
.
nonceStr
,
// 必填,生成签名的随机串
signature
:
agentConfig
.
agentJsApiSignature
.
signature
,
// 必填,签名,agentConfig所以为应用签名
jsApiList
:
[
'getCurExternalContact'
],
//必填
success
:
function
(
res
)
{
// alert('agentConfig:ok')
// router.push(to)
getUnionid
(
to
)
// 回调
//1、发起申请申请时后,审批状态发生变化时
//2、发起申请申请时后,在“审批中”状态,有任意审批人进行审批操作时
// alert('wx.agentConfig 回调'+res.errMsg);
},
fail
:
function
(
res
)
{
if
(
res
.
errMsg
.
indexOf
(
'is not a function'
)
>
-
1
)
{
alert
(
'<i class="weui-icon-warn">版本过低请升级</i>'
)
}
}
})
}
})
})
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
res
.
errorMsg
})
}
}).
catch
(
err
=>
{
console
.
log
(
err
,
'err'
)
})
}
function
getUnionid
(
to
)
{
wx
.
invoke
(
'getCurExternalContact'
,
{},
function
(
res
)
{
if
(
res
.
err_msg
==
"getCurExternalContact:ok"
)
{
let
header
=
{
token
:
sessionStorage
.
getItem
(
'XToken'
),
corpId
:
'wwd1cdbca7b8b2b6c4'
,
agentId
:
'1000009'
,
}
let
postData
=
{
userId
:
res
.
userId
}
wxRequest
(
'/workWx/auth/contact/getExternalContact'
,
postData
,
header
,
'get'
).
then
(
res
=>
{
if
(
res
.
result
==
'success'
)
{
sessionStorage
.
setItem
(
'unionid'
,
res
.
data
.
externalContact
.
unionId
)
router
.
push
(
to
)
}
})
}
else
{
console
.
log
(
res
,
'res'
)
}
});
}
export
{
getXToken
,
configWx
,
getUnionid
}
ybf_wx/src/utils/
requestCf
.js
→
ybf_wx/src/utils/
aRequest
.js
View file @
ef9dc920
import
axios
from
'axios'
import
{
Message
,
MessageBox
}
from
'element-ui'
//
import Router from '../router'
import
Router
from
'../router'
// import store from '../store'
// import { getToken } from '@/utils/auth'
const
testEnv
=
require
(
'../../config/dev.env'
)
// const testEnv = require('../../config/dev.env')
// Z-BasicInfo
let
INFO
=
{
corpId
:
'wwd1cdbca7b8b2b6c4'
,
agentId
:
'1000015'
,
url
:
'http://139.155.48.151:8085'
,
}
// 创建axios实例
const
service
=
axios
.
create
({
baseURL
:
testEnv
.
BASE_API
,
// api 的 base_url
baseURL
:
INFO
.
url
,
// api 的 base_url
timeout
:
50000
// 请求超时时间
})
...
...
@@ -16,8 +23,7 @@ service.interceptors.request.use(
(
config
)
=>
{
if
(
sessionStorage
[
'token'
])
{
config
.
headers
[
'token'
]
=
sessionStorage
[
'token'
]
config
.
headers
[
'corpId'
]
=
'wwd1cdbca7b8b2b6c4'
config
.
headers
[
'agentId'
]
=
'1000015'
config
.
headers
[
'businessId'
]
=
sessionStorage
[
'businessId'
]
}
else
{
config
.
headers
[
'businessId'
]
=
'10'
}
...
...
ybf_wx/src/utils/
requestWx
.js
→
ybf_wx/src/utils/
aWxRequest
.js
View file @
ef9dc920
import
axios
from
'axios'
export
function
wxRequest
(
url
,
data
=
{},
header
=
{},
method
=
'post'
)
{
export
function
wxRequest
(
inUrl
,
data
=
{},
header
=
{},
method
=
'post'
)
{
// let URL = `http://172.16.0.111:8081${url}`
let
URL
=
`http://139.155.48.151:8081
${
url
}
`
if
(
method
==
'post'
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
// let URL = `http://139.155.48.151:8081${url}`
// Z-BasicInfo
let
INFO
=
{
corpId
:
'wwd1cdbca7b8b2b6c4'
,
agentId
:
'1000015'
,
url
:
'http://139.155.48.151:8085'
+
inUrl
,
}
if
(
method
==
'post'
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
axios
({
url
:
URL
,
url
:
INFO
.
url
,
method
:
method
,
headers
:
header
,
data
:
data
...
...
@@ -17,10 +25,11 @@ export function wxRequest (url, data={}, header={}, method='post') {
})
})
}
if
(
method
==
'get'
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
if
(
method
==
'get'
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
axios
({
url
:
URL
,
url
:
INFO
.
url
,
method
:
method
,
headers
:
header
,
params
:
data
...
...
@@ -31,5 +40,5 @@ export function wxRequest (url, data={}, header={}, method='post') {
})
})
}
}
\ No newline at end of file
ybf_wx/src/utils/
r
equestEa.js
→
ybf_wx/src/utils/
bR
equestEa.js
View file @
ef9dc920
...
...
@@ -43,9 +43,9 @@ const service = axios.create({
// request 拦截器
service
.
interceptors
.
request
.
use
(
re
s
=>
{
// log('--->axios: re
s.data:', res
.data)
let
oldPostData
=
JSON
.
parse
(
JSON
.
stringify
(
re
s
.
data
))
re
q
=>
{
// log('--->axios: re
q.data:', req
.data)
let
oldPostData
=
JSON
.
parse
(
JSON
.
stringify
(
re
q
.
data
))
let
newPostData
=
{
appUser
:
basicInfo
.
appUser
,
appCode
:
oldPostData
.
args
.
appCode
,
...
...
@@ -67,9 +67,9 @@ service.interceptors.request.use(
zlog
()
re
s
.
data
=
postData
re
q
.
data
=
postData
return
re
s
return
re
q
},
error
=>
{
Promise
.
reject
(
error
)
...
...
ybf_wx/src/utils/
r
equestEaPost.js
→
ybf_wx/src/utils/
bR
equestEaPost.js
View file @
ef9dc920
File moved
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