y595705120 hace 3 años
padre
commit
bffdedb2b9

+ 2 - 2
config/index.js

@@ -2,8 +2,8 @@
 // Template version: 1.3.1
 // see http://vuejs-templates.github.io/webpack for documentation.
 //
-const TARGET = "http://study.ndjsxh.cn:8889/"
-// const TARGET = "http://localhost:8000/"
+// const TARGET = "http://study.ndjsxh.cn:8889/"
+const TARGET = "http://localhost:8000/"
 const path = require('path')
 
 module.exports = {

+ 1 - 11
src/App.vue

@@ -28,20 +28,10 @@
   export default {
     name: 'App',
     methods:{
-      ...mapActions("user", ["loadTypeList", "loadBaseInfo"]),
+      ...mapActions("user", ["loadTypeList"]),
     },
     created(){
       this.loadTypeList()
-      if( localStorage.token ){
-        this.loadBaseInfo().then(res=>{
-          if( !res || !res.token  ){
-            this.$router.push("/").catch(err => {})
-          }
-        })
-      }else{
-        this.$router.push("/").catch(err => {
-        })
-      }
     }
   }
 </script>

+ 7 - 4
src/containers/center/center.vue

@@ -24,13 +24,16 @@ export default {
   computed: {
   	...mapGetters("user", ["userInfo"])
   },
+  beforeMount(){
+     this.loadBaseInfo()
+  },
   methods: {
-    ...mapActions("user", ["loadBaseInfo"]),
+    ...mapActions("user", ["loadBaseInfo", "doLogout"]),
     handleCommand(command) {
       if (command == "exit") {
-        localStorage.removeItem("token");
-        localStorage.removeItem("nickname");
-        this.$router.push("/");
+        this.doLogout().then( res=>{
+          this.$router.push('/')
+        } )
       }
     }
   }

+ 5 - 4
src/containers/center/components/navbar/index.vue

@@ -41,6 +41,7 @@
 </template>
 
 <script>
+  import { mapActions } from "vuex";
   export default {
     props: {
       user: {
@@ -52,6 +53,7 @@
       }
     },
     methods:{
+      ...mapActions("user", [ "doLogout"]),
       gotoPage( route ){
         if( this.$route.path == route){
           return;
@@ -63,10 +65,9 @@
         return rpath.indexOf( path )> -1;
       },
       logout(){
-        localStorage.removeItem('uid');
-        localStorage.removeItem('nickname');
-        localStorage.removeItem('token');
-        this.$router.push('/');
+        this.doLogout().then( res=>{
+          this.$router.push('/');
+        })
       }
     }
   }

+ 21 - 14
src/containers/center/market/index.vue

@@ -102,10 +102,15 @@
             </el-form-item>
           </el-col>
 
-        </el-row>
+          <el-col :lg="12" class="pl20 pr20">
+            <el-form-item lable="邮箱地址" prop="email" >
+              <label slot="label">邮箱地址</label>
+              <el-input v-model="buyForm.email" type="textarea" placeholder="邮箱地址"></el-input>
+            </el-form-item>
+          </el-col>
+
 
-        <el-row  align="left">
-          <el-col :span="24" class="pl20 pr20">
+          <el-col :span="12" class="pl20 pr20">
             <el-form-item lable="备注信息" >
               <label slot="label">备注信息</label>
               <el-input v-model="buyForm.marks" type="textarea" placeholder="备注信息"></el-input>
@@ -243,6 +248,17 @@
         exampleImg: exampleImg,
         rules:{
           rzCode: [{required:true, message:'请输入证书编号'}],
+          email: [
+            {required:true, message:'请输入有效邮箱'},
+            { type: 'string',message: '邮箱格式不正确',  trigger: 'blur',
+              transform (value) {
+                 if (!/^\w+((-\w+)|(\.\w+))*@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(value)) {
+                   return true
+                 }else{
+                 }
+               }
+             }
+           ],
           courseName:[{required:true, message:'请输入报考岗位'}],
           buyImg:[{required:true, message:'请上传凭证'}]
         },
@@ -311,21 +327,12 @@
       buyCourse(){
         this.$refs["elForm"].validate((valid) => {
           if (!valid) return;
-          let {marks, buyImg, course_id, courseName, rzCode, name} = this.buyForm;
+          let {marks, buyImg, course_id, courseName, rzCode, name, email} = this.buyForm;
           if( courseName != name ){
              this.$message.errorMsg("报考岗位有误", 1)
             return;
           }
-          if( !buyImg ){
-            this.$message.errorMsg("请上传支付凭证", 1)
-            return;
-          }
-
-          if( !rzCode && !courseName ){
-            this.$message.errorMsg("填写报考信息", 1)
-            return;
-          }
-          let param = {marks, buyImg, courseId:course_id, courseName, rzCode }
+          let param = {marks, buyImg, courseId:course_id, courseName, rzCode,email }
           httpServer("course.buyCourse", param).then((res) => {
             if (res.code == 200) {
               this.$message.successMsg("申请购买成功", 1);

+ 3 - 0
src/containers/login/login.vue

@@ -87,8 +87,11 @@ export default {
   	...mapGetters("user", ["typeList", "userInfo"])
   },
   beforeMount(){
+    console.log("beforeMount", this.userInfo )
      if( this.userInfo && this.userInfo.token){
        this.loginOk = true
+     }else{
+       this.loginOk = false
      }
   },
   methods: {

+ 7 - 8
src/store/module/user.js

@@ -1,4 +1,5 @@
 import { httpServer } from "@/components/httpServer/httpServer.js";
+import router from '@/router/index'
 export const user = {
     namespaced: true,
     state: {
@@ -24,7 +25,10 @@ export const user = {
         LoginOut(state) {
             state.userInfo = {}
             state.token = ""
+            localStorage.uid = ""
+            localStorage.token=""
             sessionStorage.clear()
+            router.push('/')
         },
         ResetUserInfo(state, userInfo = {}) {
             state.userInfo = {...state.userInfo,
@@ -36,7 +40,7 @@ export const user = {
         async loadBaseInfo({ commit, router }) {
           let res = await httpServer("User.baseInfo", {})
           if( res.code != 0 && res.code != 200){
-            router.push( '/')
+            commit('LoginOut', {} )
             return true
           }
           localStorage.uid = res.data.uid
@@ -54,18 +58,13 @@ export const user = {
           commit('ResetUserInfo', userInfo)
         },
         async doLogout({ commit }, userInfo) {
-          commit('setUserInfo', {})
-          commit('setToken', "")
-          localStorage.nickname = "";
-          localStorage.token = "";
-          localStorage.headImg = "";
-          localStorage.uid = "";
+          // let res = await httpServer("Auth.Logout", {} )
+          commit('LoginOut', {})
           return true
         },
         async doLogin({ commit }, param ) {
           console.log("loginStart", res )
           let res = await httpServer("Auth.LoginStudy", param )
-          console.log("loginOk", res )
           if( res.code == 200 ){
             commit('setUserInfo', res.data)
             commit('setToken', res.data.token)