Forráskód Böngészése

feat:优化http服务设置认证选择

microrain 10 hónapja
szülő
commit
88c1b477d4

+ 6 - 0
src/views/iot/network/server/component/serverDetail.vue

@@ -6,6 +6,12 @@
     <el-descriptions-item label="地址">{{ detail.addr }}</el-descriptions-item>
     <el-descriptions-item label="状态">{{ detail.status ? '启动' : '未启动' }}</el-descriptions-item>
     <el-descriptions-item label="开启TLS">{{ detail.isTls ? '是' : '否' }}</el-descriptions-item>
+    <el-descriptions-item label="认证方式">
+      {{ detail.authType === 1 ? 'Basic' : detail.authType === 2 ? 'AccessToken' : detail.authType === 3 ? '证书' : '未知' }}
+    </el-descriptions-item>
+    <el-descriptions-item v-if="detail.auth_type === 2" label="AccessToken">{{ detail.accessToken }}</el-descriptions-item>
+    <el-descriptions-item v-if="detail.auth_type === 1" label="用户">{{ detail.authUser }}</el-descriptions-item>
+    <el-descriptions-item v-if="detail.auth_type === 1" label="密码">{{ detail.authPasswd }}</el-descriptions-item>
     <el-descriptions-item label="正则表达式">{{ detail.register ? JSON.parse(detail.register).regex : '' }}</el-descriptions-item>
     <el-descriptions-item label="协议">{{ detail.protocol ? JSON.parse(detail.protocol).name : '' }}</el-descriptions-item>
     <el-descriptions-item label="协议参数">{{ detail.protocol ? JSON.parse(detail.protocol).options : '' }}</el-descriptions-item>

+ 20 - 1
src/views/iot/network/server/create.vue

@@ -53,7 +53,7 @@
                     <el-radio :label="0">否</el-radio>
                   </el-radio-group>
                 </el-form-item>
-                <el-form-item v-if="form.isTls == 1 && form.types != 'mqtt_server'" label="选择证书">
+                <el-form-item v-if="form.isTls == 1 && form.types != 'mqtt_server' && form.types != 'http'" label="选择证书">
                   <el-select v-model="form.certificateId" placeholder="请选择证书">
                     <el-option v-for="item in certificateList" :key="item.id" :label="item.name" :value="item.id">
                     </el-option>
@@ -75,6 +75,20 @@
                     <el-input v-model="form.accessToken" placeholder="请填写Aceess Token" />
                   </el-form-item>
                 </el-form-item>
+                <el-form-item v-if="form.isTls == 1 && form.types == 'http'" label="接入方式">
+                  <el-select v-model="form.authType" placeholder="选择接入方式">
+                    <el-option label="AccessToken" :value="2" />
+                  </el-select>
+                  <el-form-item v-if="form.authType == 1" class="flex-column" label="用户名">
+                    <el-input v-model="form.authUser" placeholder="请填写用户名" />
+                  </el-form-item>
+                  <el-form-item v-if="form.authType == 1" class="flex-column" label="密码">
+                    <el-input v-model="form.authPasswd" placeholder="请填写密码" />
+                  </el-form-item>
+                  <el-form-item v-if="form.authType == 2" class="flex-column" label="Aceess Token">
+                    <el-input v-model="form.accessToken" placeholder="请填写Aceess Token" />
+                  </el-form-item>
+                </el-form-item>
                 <el-form-item label="启用">
                   <el-switch :active-value="1" :inactive-value="0" v-model="form.status" />
                 </el-form-item>
@@ -312,6 +326,11 @@ export default defineComponent({
         state.form.authType = 3
         return;
       }
+      if (state.form.types === 'http' && state.form.isTls === 1) {
+        state.form.authType = 2; // Set to AccessToken
+        return;
+      }
+
       if (state.form.isTls == 0) {
         state.form.authType = ""
       }