Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
E
ezijing-node-server
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
ezijing-node-server
Commits
04f3d7af
提交
04f3d7af
authored
8月 28, 2019
作者:
hexi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
eslint
上级
3a85db0f
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
51 行增加
和
57 行删除
+51
-57
WxMonitor.js
server/controller/WxMonitor.js
+45
-47
index.js
server/routes/index.js
+6
-10
没有找到文件。
server/controller/WxMonitor.js
浏览文件 @
04f3d7af
// 这个接口页面,主要处理微信相关的接口
const
_request
=
require
(
'request'
);
const
sha1
=
require
(
'sha1'
)
;
const
_request
=
require
(
'request'
)
const
sha1
=
require
(
'sha1'
)
const
_config
=
{
"weixinsecret"
:
{
"wxd6109d07f6396e5c"
:
"d80a330735fc82f3fd6aba425481e8fd"
,
"wxe1849e28e176c67b"
:
"90072420a6b6941b7b8af38afd019b9f"
'weixinsecret'
:
{
'wxd6109d07f6396e5c'
:
'd80a330735fc82f3fd6aba425481e8fd'
,
'wxe1849e28e176c67b'
:
'90072420a6b6941b7b8af38afd019b9f'
}
}
;
let
share_json
=
{
jsapi_ticket
:
''
,
//
上一步获取的 ticket
noncestr
:
''
,
//
随机字符串
timestamp
:
''
//事件戳
}
;
}
let
share_json
=
{
// eslint-disable-line
jsapi_ticket
:
''
,
//
上一步获取的 ticket
noncestr
:
''
,
//
随机字符串
timestamp
:
''
//
事件戳
}
//获取token
function
getsignature
(
req
,
res
)
{
let
access_token_url
=
'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential'
;
let
jsapi_ticket_url
=
'https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token='
;
//
获取token
function
getsignature
(
req
,
res
)
{
let
access_token_url
=
'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential'
// eslint-disable-line
let
jsapi_ticket_url
=
'https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token='
// eslint-disable-line
let
get_access_token_url
=
access_token_url
+
'&appid='
+
req
.
body
.
appId
+
'&secret='
+
_config
.
weixinsecret
[
req
.
body
.
appId
]
;
let
get_access_token_url
=
access_token_url
+
'&appid='
+
req
.
body
.
appId
+
'&secret='
+
_config
.
weixinsecret
[
req
.
body
.
appId
]
// eslint-disable-line
new
Promise
((
resolve
,
reject
)
=>
{
return
_request
.
get
(
get_access_token_url
,
function
(
error
,
response
,
body
)
{
return
error
?
reject
(
error
)
:
resolve
(
body
)
;
return
error
?
reject
(
error
)
:
resolve
(
body
)
})
}).
then
(
function
(
newResult
){
let
url
=
jsapi_ticket_url
+
JSON
.
parse
(
newResult
).
access_token
;
}).
then
((
newResult
)
=>
{
let
url
=
jsapi_ticket_url
+
JSON
.
parse
(
newResult
).
access_token
// eslint-disable-line
// 获取 ticket
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
_request
.
get
(
url
,
function
(
err
,
rs
,
body
)
{
share_json
.
jsapi_ticket
=
JSON
.
parse
(
body
).
ticket
;
share_json
.
noncestr
=
Math
.
random
().
toString
(
36
).
substr
(
2
,
15
)
;
//
随机字符串
share_json
.
timestamp
=
parseInt
(
new
Date
().
getTime
()
/
1000
)
+
''
;
//
事件戳
share_json
.
jsapi_ticket
=
JSON
.
parse
(
body
).
ticket
share_json
.
noncestr
=
Math
.
random
().
toString
(
36
).
substr
(
2
,
15
)
//
随机字符串
share_json
.
timestamp
=
parseInt
(
new
Date
().
getTime
()
/
1000
)
+
''
//
事件戳
let
str1
=
'jsapi_ticket='
+
share_json
.
jsapi_ticket
+
'&noncestr='
+
share_json
.
noncestr
+
'×tamp='
+
share_json
.
timestamp
+
'&url='
+
req
.
headers
.
referer
;
let
token
=
sha1
(
str1
)
;
let
str1
=
'jsapi_ticket='
+
share_json
.
jsapi_ticket
+
'&noncestr='
+
share_json
.
noncestr
+
'×tamp='
+
share_json
.
timestamp
+
'&url='
+
req
.
headers
.
referer
let
token
=
sha1
(
str1
)
return
err
?
reject
(
err
)
:
res
.
send
({
token
:
token
,
//上一步获取的 ticket
noncestr
:
share_json
.
noncestr
,
//随机字符串
timestamp
:
share_json
.
timestamp
,
})
;
token
:
token
,
//
上一步获取的 ticket
noncestr
:
share_json
.
noncestr
,
//
随机字符串
timestamp
:
share_json
.
timestamp
})
})
})
})
.
catch
(
function
(
e
){
console
.
log
(
'有错误'
);
});
.
catch
(
function
(
e
)
{
console
.
log
(
'有错误'
)
})
}
// 获取token后分享
const
wxGetsignature
=
function
(
req
,
res
)
{
getsignature
(
req
,
res
);
}
;
const
wxGetsignature
=
function
(
req
,
res
)
{
getsignature
(
req
,
res
)
}
// 微信分享
const
wxShare
=
function
(
req
,
res
)
{
if
(
share_json
.
jsapi_ticket
)
{
let
str1
=
'jsapi_ticket='
+
share_json
.
jsapi_ticket
+
'&noncestr='
+
share_json
.
noncestr
+
'×tamp='
+
share_json
.
timestamp
+
'&url='
+
req
.
headers
.
referer
;
let
token
=
sha1
(
str1
)
;
const
wxShare
=
function
(
req
,
res
)
{
if
(
share_json
.
jsapi_ticket
)
{
let
str1
=
'jsapi_ticket='
+
share_json
.
jsapi_ticket
+
'&noncestr='
+
share_json
.
noncestr
+
'×tamp='
+
share_json
.
timestamp
+
'&url='
+
req
.
headers
.
referer
let
token
=
sha1
(
str1
)
return
res
.
send
({
token
:
token
,
//上一步获取的 ticket
noncestr
:
share_json
.
noncestr
,
//随机字符串
timestamp
:
share_json
.
timestamp
,
//
token
:
token
,
//
上一步获取的 ticket
noncestr
:
share_json
.
noncestr
,
//
随机字符串
timestamp
:
share_json
.
timestamp
})
}
else
{
getsignature
(
req
,
res
)
}
else
{
getsignature
(
req
,
res
)
}
}
;
}
module
.
exports
=
{
wxGetsignature
,
...
...
server/routes/index.js
浏览文件 @
04f3d7af
...
...
@@ -12,17 +12,13 @@ router.use(bodyParser.json({ limit: '60mb' }))
router
.
use
(
bodyParser
.
urlencoded
({
extended
:
true
,
limit
:
'60mb'
}))
router
.
post
(
'/api/test'
,
upload
.
any
(),
_test
.
isRun
)
router
.
use
(
'/api/*'
,
upload
.
any
(),
(
req
,
res
)
=>
{
res
.
send
(
'暂无该接口'
)
})
// 重新获取token 在分享
router
.
post
(
'/share/getsignature'
,
function
(
req
,
res
)
{
_wx
.
wxGetsignature
(
req
,
res
)
});
router
.
post
(
'/share/getsignature'
,
_wx
.
wxGetsignature
)
// 微信分享
router
.
post
(
'/share/token'
,
function
(
req
,
res
)
{
_wx
.
wxShare
(
req
,
res
);
});
router
.
post
(
'/share/token'
,
_wx
.
wxShare
)
router
.
use
(
'/api/*'
,
upload
.
any
(),
(
req
,
res
)
=>
{
res
.
send
(
'暂无该接口'
)
})
router
.
use
(
'*'
,
upload
.
any
(),
(
req
,
res
)
=>
{
res
.
send
(
'接口未定义'
)
})
module
.
exports
=
router
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论