welcome_controller.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * Created by zhang on 2020/2/14.
  3. */
  4. import BaseController from "../../common/base/base_controller";
  5. import CompilationModel from "../models/compilation_model";
  6. let config = require("../../../config/config.js");
  7. let mongoose = require("mongoose");
  8. let welcomeSettingModel = mongoose.model("welcome_setting");
  9. const uuidV1 = require('uuid/v1');
  10. class WelcomeController extends BaseController {
  11. async index(request, response) {
  12. let id = request.query.id;
  13. let compilationList = [];
  14. let selectedCompilation = {};
  15. try {
  16. let compilationModel = new CompilationModel();
  17. compilationList = await compilationModel.getCompilationList();
  18. if (compilationList.length <= 0) {
  19. throw '没有数据';
  20. }
  21. // 循环查找数据
  22. for (let tmp of compilationList) {
  23. if (tmp._id.toString() === id) {
  24. selectedCompilation = tmp;
  25. break;
  26. }
  27. }
  28. selectedCompilation = Object.keys(selectedCompilation).length <= 0 ? compilationList[0] : selectedCompilation;
  29. request.session.selectedCompilation = selectedCompilation;
  30. } catch (error) {
  31. console.log(error);
  32. }
  33. if (selectedCompilation.example && Array.isArray(selectedCompilation.example)) {
  34. selectedCompilation.example = selectedCompilation.example.join(';');
  35. }
  36. let setting =await welcomeSettingModel.findOne({compilationId:selectedCompilation._id.toString()});
  37. if(!setting) setting = {showType:0,context:""};
  38. console.log(setting)
  39. let renderData = {
  40. id: id,
  41. compilationList: compilationList,
  42. selectedCompilation: selectedCompilation,
  43. layout: 'users/views/layout/layout',
  44. setting:setting,
  45. LicenseKey:config.getLicenseKey(process.env.NODE_ENV)
  46. };
  47. response.render('users/views/welcome/index', renderData);
  48. }
  49. async save(request, response){
  50. let data = request.body;
  51. let setting = {compilationId:data.compilationId,showType:data.showType,context:data.context};
  52. if(!data.ID || data.ID == ""){
  53. setting.ID = uuidV1();
  54. await welcomeSettingModel.create(setting);
  55. } else {
  56. await welcomeSettingModel.update({ID:data.ID},setting);
  57. }
  58. response.redirect(request.headers.referer);
  59. }
  60. }
  61. export default WelcomeController;