|
@@ -0,0 +1,94 @@
|
|
|
|
|
+const SMSClient = require('@alicloud/sms-sdk')
|
|
|
|
|
+ express = require('express')
|
|
|
|
|
+ session = require('./session'),
|
|
|
|
|
+ bodyParser = require('body-parser'),
|
|
|
|
|
+ newsession = new session(),
|
|
|
|
|
+ app = express()
|
|
|
|
|
+
|
|
|
|
|
+app.all('*', (req, res, next) => {
|
|
|
|
|
+ res.header("Access-Control-Allow-Origin", req.headers.origin); //设置来源
|
|
|
|
|
+ res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
|
|
|
|
|
+ res.header("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS");
|
|
|
|
|
+ res.header("Access-Control-Max-Age", "604800000");
|
|
|
|
|
+ res.header("Access-Control-Allow-Credentials", true);
|
|
|
|
|
+ res.header("X-Powered-By", ' 3.2.1');
|
|
|
|
|
+ // res.header("Content-Type", "application/json;charset=utf-8");
|
|
|
|
|
+ next();
|
|
|
|
|
+});
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+// ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换
|
|
|
|
|
+const accessKeyId = 'LTAI1axR0bfBECLK'
|
|
|
|
|
+const secretAccessKey = 'i4BARcxzLumd4SV2VeSero6VigEAqT'
|
|
|
|
|
+const smsClient = new SMSClient({accessKeyId, secretAccessKey})
|
|
|
|
|
+app.use(bodyParser.urlencoded({extended:false}))
|
|
|
|
|
+
|
|
|
|
|
+app.use(newsession.sessionConfig())
|
|
|
|
|
+
|
|
|
|
|
+app.post('/postnumber', async (req, res) => {
|
|
|
|
|
+ console.log(req.body.number)
|
|
|
|
|
+ let code = Math.floor(Math.random() * 99999)
|
|
|
|
|
+ req.session.code = code
|
|
|
|
|
+ console.log(req.session.code)
|
|
|
|
|
+ if (/^1[3|4|5|8][0-9]\d{4,8}$/.test(req.body.number)) {
|
|
|
|
|
+ try{
|
|
|
|
|
+ let data = await main(req.body.number, code)
|
|
|
|
|
+ if (data.Code === 'OK') {
|
|
|
|
|
+ res.status(201).send({
|
|
|
|
|
+ code: 'ok'
|
|
|
|
|
+ })
|
|
|
|
|
+ } else {
|
|
|
|
|
+ res.status(202).send({
|
|
|
|
|
+ err: '服务器繁忙,请重新再试'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (e) {
|
|
|
|
|
+ if (e.code == "isv.BUSINESS_LIMIT_CONTROL") {
|
|
|
|
|
+ res.status(202).send({
|
|
|
|
|
+ err: '你号码已经限流,请稍后再试'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ res.status(202).send({
|
|
|
|
|
+ err: '请检查手机格式是否正确'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+app.post('/verifi', (req, res) => {
|
|
|
|
|
+ console.log(req.body.code)
|
|
|
|
|
+ console.log(req.session.code)
|
|
|
|
|
+ if (req.body.code == req.session.code) {
|
|
|
|
|
+ res.status(201).send({
|
|
|
|
|
+ code: 'ok'
|
|
|
|
|
+ })
|
|
|
|
|
+ } else {
|
|
|
|
|
+ res.status(202).send({
|
|
|
|
|
+ err: '验证码错误'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+app.post('/getmsg', (req, res) => {
|
|
|
|
|
+ console.log(req.url)
|
|
|
|
|
+ res.send('1')
|
|
|
|
|
+})
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+const main = async (number, code) => {
|
|
|
|
|
+ let data = await smsClient.sendSMS({
|
|
|
|
|
+ PhoneNumbers: number,
|
|
|
|
|
+ SignName: '阿里云短信测试专用',
|
|
|
|
|
+ TemplateCode: 'SMS_133180335',
|
|
|
|
|
+ TemplateParam: '{"code":"' + code + '"}'
|
|
|
|
|
+ })
|
|
|
|
|
+ return data
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+const server = app.listen(2080, function () {
|
|
|
|
|
+ let host = server.address().address;
|
|
|
|
|
+ let port = server.address().port;
|
|
|
|
|
+ console.log('Example app listening at http://http://localhost/', host, port);
|
|
|
|
|
+});
|