|
|
'use strict';
|
|
|
|
|
|
const _ = require('lodash');
|
|
|
const camelCase = global.yoho.camelCase;
|
|
|
const api = global.yoho.API;
|
|
|
const crypto = global.yoho.crypto;
|
|
|
const PASSWORD = 'yoho9646yoho9646';
|
|
|
|
|
|
class newQrcode extends global.yoho.BaseModel {
|
|
|
constructor(ctx) {
|
|
|
super(ctx);
|
|
|
}
|
|
|
|
|
|
userInfo(params) {
|
|
|
if (params.uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.passport.profile',
|
|
|
uid: params.uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
getCode(params) {
|
|
|
if (params.uid) {
|
|
|
return api.get('', {
|
|
|
method: 'app.invitecode.my',
|
|
|
uid: params.uid
|
|
|
}, {
|
|
|
code: 200
|
|
|
});
|
|
|
} else {
|
|
|
return Promise.resolve({});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
getToken(params) {
|
|
|
let uidNum = parseInt(params.uid, 10);
|
|
|
let token = uidNum ? crypto.encryption(PASSWORD, uidNum + '') : '';
|
|
|
let uid = '';
|
|
|
|
|
|
try {
|
|
|
uid = crypto.decrypt(PASSWORD, decodeURIComponent(token));
|
|
|
uid = parseInt(uid, 10);
|
|
|
} catch (e) {
|
|
|
uid = token;
|
|
|
}
|
|
|
|
|
|
return api.get('', {
|
|
|
method: 'app.twoDimen.getCode',
|
|
|
uid: uid,
|
|
|
}).then(result => {
|
|
|
return (result && result.data && result.data.code) || '';
|
|
|
});
|
|
|
}
|
|
|
|
|
|
index(params) {
|
|
|
return api.all([
|
|
|
this.userInfo(params),
|
|
|
this.getCode(params),
|
|
|
this.getToken(params)
|
|
|
]).then(result => {
|
|
|
let resu = {};
|
|
|
|
|
|
if (_.get(result, '[0]data')) {
|
|
|
resu = camelCase(result[0].data);
|
|
|
}
|
|
|
if (_.get(result, '[1]data')) {
|
|
|
resu.trendWord = result[1].data.trendWord;
|
|
|
}
|
|
|
if (_.get(result, '[2]')) {
|
|
|
resu.token = result[2];
|
|
|
}
|
|
|
return resu;
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
module.exports = newQrcode; |
...
|
...
|
|