| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 | 
							- 'use strict';
 
- /**
 
-  * sso相关接口
 
-  *
 
-  * @author CaiAoLin
 
-  * @date 2017/11/15
 
-  * @version
 
-  */
 
- // 加密类
 
- const crypto = require('crypto');
 
- class SSO {
 
-     /**
 
-      * 构造函数
 
-      *
 
-      * @param {Object} ctx - egg全局变量
 
-      * @return {void}
 
-      */
 
-     constructor(ctx) {
 
-         this.authUrl = 'http://sso.smartcost.com.cn/api/jzlogin';
 
-         this.ctx = ctx;
 
-         this.accountID = 0;
 
-     }
 
-     /**
 
-      * SSO登录验证
 
-      *
 
-      * @param {String} username - cld用户名
 
-      * @param {String} password - cld密码
 
-      * @return {boolean} - 验证结果
 
-      */
 
-     async loginValid(username, password) {
 
-         let result = false;
 
-         try {
 
-             if (username === '' || password === '') {
 
-                 throw '用户名或密码错误';
 
-             }
 
-             // 生成加密token
 
-             const postData = {
 
-                 username,
 
-                 userpasswd: password,
 
-             };
 
-             const responseData = await this.ctx.helper.sendRequest(this.authUrl, postData);
 
-             if (responseData.length <= 0 || typeof responseData === 'number') {
 
-                 throw '接口返回错误:' + responseData;
 
-             }
 
-             // 如果验证成功,则新增SSO数据到数据库
 
-             const customerId = await this.ctx.service.customer.addSSOUser(responseData[0]);
 
-             this.accountID = customerId;
 
-             // 更新用户登录时间
 
-             const updateData = {
 
-                 last_login: new Date().getTime() / 1000,
 
-             };
 
-             result = await this.ctx.service.customer.update(updateData, { email: responseData[0].useremail });
 
-         } catch (error) {
 
-             console.log('sso:' + error);
 
-             result = false;
 
-         }
 
-         return result;
 
-     }
 
-     /**
 
-      * 获取SSO用户数据
 
-      *
 
-      * @param {Number} ssoID - sso中的id
 
-      * @return {String} - 返回json数据
 
-      */
 
-     async getSSOUserData(ssoID) {
 
-         let result = {};
 
-         try {
 
-             result = ssoID;
 
-         } catch (error) {
 
-             result = {};
 
-         }
 
-         return result;
 
-     }
 
- }
 
- module.exports = SSO;
 
 
  |