瀏覽代碼

提交个人偏好页面相关

caiaolin 7 年之前
父節點
當前提交
df565457fe

+ 13 - 0
modules/common/const/setting_type_const.js

@@ -0,0 +1,13 @@
+/**
+ * 个人设置类型常量
+ *
+ * @author CaiAoLin
+ * @date 2017/7/27
+ * @version
+ */
+let settingType = {
+    // 偏好设置
+    PREFERENCE: 1
+};
+
+export default settingType;

+ 28 - 0
modules/users/controllers/user_controller.js

@@ -9,6 +9,8 @@ import UserModel from "../models/user_model";
 import BaseController from "../../common/base/base_controller";
 import LogType from "../../common/const/log_type_const";
 import LogModel from "../models/log_model";
+import SettingModel from "../models/setting_model";
+import SettingType from "../../common/const/setting_type_const";
 
 class UserController extends BaseController {
 
@@ -113,6 +115,32 @@ class UserController extends BaseController {
         response.render('users/html/user-safe', renderData);
     }
 
+    /**
+     * 偏好设置页面
+     *
+     * @param {object} request
+     * @param {object} response
+     * @return {void}
+     */
+    async preferences(request, response) {
+        let sessionUserData = request.session.sessionUser;
+        let preferenceSetting = {};
+        try {
+            // 获取配置信息
+            let settingModel = new SettingModel();
+            preferenceSetting = await settingModel.getSetting(sessionUserData.id, SettingType.PREFERENCE);
+
+
+        } catch(error) {
+            console.log(error);
+        }
+
+        let renderData = {
+            preferenceSetting: preferenceSetting
+        };
+        response.render('users/html/user-set', renderData);
+    }
+
 }
 
 export default UserController;

+ 31 - 0
modules/users/models/schema/setting.js

@@ -0,0 +1,31 @@
+/**
+ * 个人设置数据结构
+ *
+ * @author CaiAoLin
+ * @date 2017/7/27
+ * @version
+ */
+import mongoose from "mongoose";
+
+let Schema = mongoose.Schema;
+let collectionName = 'setting';
+let modelSchema = {
+    // 设置类型
+    type: {
+        type: Number,
+        index: true
+    },
+    // 设置内容
+    data: {
+        type: Schema.Types.Mixed,
+    },
+    // 关联用户id
+    user_id: {
+        type: String,
+        index: true
+    },
+    // 创建时间
+    create_time: Number
+};
+let model = mongoose.model(collectionName, new Schema(modelSchema, {versionKey: false, collection: collectionName}));
+export {model as default, collectionName as collectionName};

+ 41 - 0
modules/users/models/setting_model.js

@@ -0,0 +1,41 @@
+/**
+ * 个人设置业务逻辑
+ *
+ * @author CaiAoLin
+ * @date 2017/7/27
+ * @version
+ */
+import BaseModel from "../../common/base/base_model";
+import SettingSchema from "./schema/setting";
+
+class SettingModel extends BaseModel {
+
+    /**
+     * 构造函数
+     */
+    constructor() {
+        let parent = super();
+        parent.model = SettingSchema;
+        parent.init();
+    }
+
+    /**
+     * 获取设置信息
+     *
+     * @param {String} userId
+     * @param {Number} type
+     * @return Promise
+     */
+    async getSetting(userId, type) {
+        let condition = {
+            user_id: userId,
+            type: type
+        };
+
+        let settingData = await this.findDataByCondition(condition);
+        return settingData.length > 0 ? settingData : [];
+    }
+
+}
+
+export default SettingModel;

+ 1 - 0
modules/users/routes/user_route.js

@@ -16,6 +16,7 @@ module.exports = function (app) {
 // action定义区域
     router.get('/info', userController.init, userController.info);
     router.get('/safe', userController.init, userController.safe);
+    router.get('/preferences', userController.init, userController.preferences);
     router.post('/info', userController.init, userController.saveData);
     app.use('/user',router);
 };

+ 1 - 1
web/users/html/user-info.html

@@ -31,7 +31,7 @@
                             <a class="nav-link" href="user-buy.html">产品购买</a>
                         </li>
                         <li class="nav-item">
-                            <a class="nav-link" href="user-set.html">偏好设置</a>
+                            <a class="nav-link" href="/user/preferences">偏好设置</a>
                         </li>
                     </ul>
                 </div>

+ 1 - 1
web/users/html/user-safe.html

@@ -37,7 +37,7 @@
                             <a class="nav-link" href="user-buy.html">产品购买</a>
                         </li>
                         <li class="nav-item">
-                            <a class="nav-link" href="user-set.html">偏好设置</a>
+                            <a class="nav-link" href="/user/preferences">偏好设置</a>
                         </li>
                     </ul>
                 </div>

+ 84 - 0
web/users/html/user-set.html

@@ -0,0 +1,84 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+    <meta http-equiv="x-ua-compatible" content="ie=edge">
+    <title>偏好设置-Smartcost</title>
+    <link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css">
+    <link rel="stylesheet" href="/web/building_saas/css/main.css">
+    <link rel="stylesheet" href="/lib/font-awesome/font-awesome.min.css">
+</head>
+
+<body>
+    <div class="header">
+        <%include ../../common/html/header.html %>
+    </div>
+    <div class="main">
+        <div class="poj-manage container-fluid">
+            <div class="row">
+                <div class="col-lg-2">
+                    <div class="poj-cate mt-3">
+                        <ul class="nav nav-pills flex-column">
+                            <li class="nav-item">
+                                <a class="nav-link" href="user-info.html">账号资料</a>
+                            </li>
+                            <li class="nav-item">
+                                <a class="nav-link" href="user-safe.html">账号安全</a>
+                            </li>
+                            <li class="nav-item">
+                                <a class="nav-link" href="user-buy.html">产品购买</a>
+                            </li>
+                            <li class="nav-item">
+                                <a class="nav-link active" href="user-set.html">偏好设置</a>
+                            </li>
+                        </ul>
+                    </div>
+                </div>
+                <div class="col-lg-10">
+                    <div class="col-lg-4">
+                        <legend class="my-3">偏好设置</legend>
+                        <from>
+                            <div class="form-group">
+                                <label class="form-control-label">登录时选择版本</label>
+                                <div>
+                                    <label class="custom-control custom-radio">
+                                      <input id="radio1" name="radio" type="radio" class="custom-control-input">
+                                      <span class="custom-control-indicator"></span>
+                                      <span class="custom-control-description">每次询问</span>
+                                    </label>
+                                    <label class="custom-control custom-radio">
+                                      <input id="radio2" name="radio" type="radio" class="custom-control-input">
+                                      <span class="custom-control-indicator"></span>
+                                      <span class="custom-control-description">指定版本</span>
+                                    </label>
+                                </div>
+                            </div>
+                            <div class="form-group">
+                                <label class="form-control-label">指定版本</label>
+                                <select class="form-control">
+                                  <option>广东版(专业版)</option>
+                                  <option>重庆版(免费版)</option>
+                                </select>
+                            </div>
+                            <div class="form-group mt-3">
+                                <button class="btn btn-primary">确认</button>
+                            </div>
+                        </from>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+    <!-- JS. -->
+    <script src="/lib/jquery/jquery.min.js"></script>
+    <script src="/lib/tether/tether.min.js"></script>
+    <script src="/lib/bootstrap/bootstrap.min.js"></script>
+    <script src="/web/building_saas/js/global.js"></script>
+</body>
+<script type="text/javascript">
+    autoFlashHeight();
+</script>
+
+</html>