123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- let Parse = global.Parse
- let bodyParser = require('body-parser')
- const pgp = require('pg-promise')();
- // const router = require('express').Router();
- // router.use(bodyParser.json({ limit: '10mb' }))
- // router.use(bodyParser.urlencoded({ extended: false }))
- export function defineTbookReview(app){
- app.get("/parse/api/review/test", async (req, res, next) => {
- res.json({
- code: 200,
- data: "test"
- })
- })
- app.post("/parse/api/review/token", async (req, res) => {
- let refer = req.headers["referer"] || req.headers["referered"];
- // 检查referer来源
- if (refer && refer.includes('https://145.tbook.com.cn')) {
- Parse.User.logIn('145review', 'review-textbook145').then((user) => {
- console.log(user?.get('sessionToken'));
- res.json({
- token: user?.get('sessionToken'),
- })
- }).catch(err=>{
- goWrong(res, "invalid user");
- })
- }else{
- res.json({
- code: 404,
- })
- }
- })
- }
- // router.post("/login", async (req, res, next) => {
- // goWrong(res, "接口已停止维护");
- // return
- // let id = req.body.id;
- // if (!id) {
- // goWrong(res, "参数不完整,请检查");
- // return
- // }
- // // 检查用户信息
- // let query = new global.Parse.Query("_User");
- // query.equalTo("objectId", id);
- // let user = query.first({ useMasterKey: true });
- // if (user?.id) {
- // let token = await setMobileSessionToken(user)
- // res.json({
- // code: 200,
- // msg: '登录成功',
- // data: {
- // userId: user.id,
- // username: user.get("username"),
- // mobile: user.get("mobile"),
- // token: token?.get("sessionToken")
- // }
- // })
- // return
- // }
- // goWrong(res, "用户不存在,请先注册")
- // })
- // router.post("/register", async (req, res, next) => {
- // let company = req.body.company;
- // let mobile = req.body.mobile;
- // let code = req.body.code;
- // let password = req.body.password
- // if (!company || !mobile || !code) {
- // goWrong(res, "参数不完整,请检查");
- // return
- // }
- // // 检查用户信息
- // let user;
- // user = await getUserByMobile(mobile, company);
- // if (user) {
- // // goWrong(res, "用户已存在,请登录")
- // let token = await setMobileSessionToken(user)
- // res.json({
- // code: 200,
- // msg: '用户已存在,请登录',
- // data: {
- // userId: user.id,
- // username: user.get("username"),
- // mobile: user.get("mobile"),
- // token: token?.get("sessionToken")
- // }
- // })
- // return
- // }
- // try {
- // let _User = Parse.Object.extend("_User")
- // let User = new _User
- // User.set("username", company + mobile)
- // User.set("password", company + mobile)
- // User.set("company", {
- // __type: 'Pointer',
- // className: 'Company',
- // objectId: company
- // })
- // User.set("mobile", mobile)
- // User.set("status", 'normal')
- // let saveUser = await User.save({ useMasterKey: true })
- // let token = await setMobileSessionToken(saveUser)
- // res.json({
- // code: 200,
- // msg: '注册成功',
- // data: {
- // userId: saveUser.id,
- // username: saveUser.get("username"),
- // mobile: saveUser.get("mobile"),
- // token: token?.get("sessionToken")
- // }
- // })
- // } catch (error) {
- // console.log(error)
- // return
- // }
- // })
- function goWrong(response, msg) {
- response.status(500)
- response.json({
- code: 500,
- mess: msg
- })
- return
- }
- /* 检查用户是否存在 */
- function getUserByMobile(mobile, company) {
- let query = new global.Parse.Query("_User");
- query.equalTo("mobile", mobile);
- query.equalTo("company", company);
- return query.first({ useMasterKey: true });
- }
- // /* 创建_Session并返回 */
- // import {pgClient} from "../../db/pg-instance";
- // async function setMobileSessionToken(user, reset) {
- // try {
- // // let Session = global.Parse.Object.extend('_Session');
- // if (user) {
- // //获取最后一次的token,如果过期时间大于未来2小时直接返回,若不是重置
- // let nowTime = new Date().getTime() + (1000 * 60 * 120)
- // let query = new Parse.Query('_Session')
- // query.equalTo('user', user.id)
- // query.descending('expiresAt')
- // query.greaterThan('expiresAt', new Date(nowTime))
- // query.select('expiresAt', 'sessionToken')
- // let reqSessionToken = await query.first({ useMasterKey: true })
- // if (reqSessionToken?.id && reqSessionToken.get('sessionToken')) {
- // return reqSessionToken
- // }
- // let username = user?.username || user?.get('username')
- // let sessionToken = "r:" + username + (new Date().getTime() / 1000).toFixed();
- // // 创建新Session登录系统
- // let Session = Parse.Object.extend('_Session');
- // let session = new Session()
- // let r = await session.save(null, {
- // useMasterKey: true
- // })
- // const objectId = r.id;
- // let now = new Date();
- // let expiresAt = (now.getFullYear() + 1) + '-' + (now.getMonth() + 1) + '-' + now.getDate() + ' 12:00:00'
- // console.log(expiresAt);
- // let sql = `INSERT INTO "_Session" ("objectId","user", "sessionToken", "expiresAt", "createdWith")
- // VALUES
- // ('${objectId}','${user.id}', '${sessionToken}','${expiresAt}','{"action": "login","authProvider": "appPassword"}')
- // ON CONFLICT("objectId") DO UPDATE
- // SET
- // "user" = excluded."user",
- // "sessionToken" = excluded."sessionToken",
- // "expiresAt"=excluded."expiresAt",
- // "createdWith"=excluded."createdWith"
- // `
- // const data = await pgClient().any(sql);
- // console.log('_Session', data)
- // let doneObj = {
- // get(field = 'sessionToken') {
- // if (field = 'sessionToken') return sessionToken
- // }
- // }
- // // let session = new Session();
- // // session.set("user", {
- // // __type: 'Pointer',
- // // className: '_User',
- // // objectId: user.id
- // // });
- // // session.set("sessionToken", sessionToken);
- // // let now = new Date();
- // // now.setFullYear(now.getFullYear() + 1);
- // // let expiresAt = now;
- // // session.set("expiresAt", expiresAt);
- // // session.set("createdWith", {
- // // "action": "login",
- // // "authProvider": "appPassword"
- // // })
- // // session.set("restricted", false)
- // // let doneObj = await session.save(null, {
- // // useMasterKey: true
- // // })
- // // if (!doneObj) {
- // // return false
- // // }
- // return doneObj
- // }
- // } catch (err) {
- // console.log(err)
- // return false
- // }
- // }
- // module.exports = router;
- // export const textbookRouter = router;
|