|
@@ -485,6 +485,91 @@
|
|
|
</div>
|
|
|
</el-form>
|
|
|
</el-tab-pane>
|
|
|
+ <el-tab-pane label="点播播放源配置" name="courseMa.config">
|
|
|
+ <el-button type="primary" @click="addCourseMaConfig" style="margin-bottom: 10px">添加配置</el-button>
|
|
|
+ <el-table height="660" border v-loading="courseMaConfigLoading" :data="courseMaConfigList">
|
|
|
+ <el-table-column label="名称" align="center" prop="name">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.name" placeholder="请输入名称" :disabled="!scope.row.editing" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="类型" align="center" prop="type">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select
|
|
|
+ v-model="scope.row.type"
|
|
|
+ placeholder="请选择类型"
|
|
|
+ :disabled="!scope.row.editing">
|
|
|
+ <el-option label="小程序" value="1"></el-option>
|
|
|
+ <el-option label="服务号" value="2"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="小程序原始ID" align="center" prop="username">
|
|
|
+ <template slot-scope="scope" v-if="scope.row.type == 1">
|
|
|
+ <el-input v-model="scope.row.username" placeholder="请输入原始ID" :disabled="!scope.row.editing" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="小程序图标" align="center" prop="log">
|
|
|
+ <template slot-scope="scope" v-if="scope.row.type == 1">
|
|
|
+ <el-image v-if="!scope.row.editing && scope.row.log" :src="scope.row.log" :preview-src-list="[scope.row.log]" />
|
|
|
+ <image-upload v-if="scope.row.editing" v-model="scope.row.log" :file-type='["png", "jpg", "jpeg"]' :limit="1"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="AppId" align="center" prop="appid">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.appid" placeholder="请输入AppId" :disabled="!scope.row.editing" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="Secret" align="center" prop="secret">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.secret" placeholder="请输入Secret" :disabled="!scope.row.editing" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="token" align="center" prop="token">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.token" placeholder="请输入token" :disabled="!scope.row.editing" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="aesKey" align="center" prop="aesKey">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.aesKey" placeholder="请输入aesKey" :disabled="!scope.row.editing" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="msgDataFormat" align="center" prop="msgDataFormat">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="scope.row.msgDataFormat" placeholder="请输入消息格式" :disabled="!scope.row.editing" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ v-if="!scope.row.editing"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleEdit(scope.$index, scope.row)"
|
|
|
+ >编辑</el-button>
|
|
|
+ <el-button
|
|
|
+ v-if="scope.row.editing"
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-check"
|
|
|
+ @click="handleSave(scope.$index, scope.row)"
|
|
|
+ >保存</el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="deleteCourseMaConfig(scope.$index)"
|
|
|
+ >删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <div class="footer">
|
|
|
+
|
|
|
+ <el-button type="primary" @click="submitCourseMaConfig">提 交</el-button>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
<el-tab-pane label="红包商户配置" name="redPacket.config" >
|
|
|
<el-form ref="form19" :model="form19" label-width="150px">
|
|
|
<el-form-item label="红包接口类型" prop="isNew">
|
|
@@ -720,6 +805,8 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ courseMaConfigLoading:false,
|
|
|
+ courseMaConfigList:[],
|
|
|
// productTypeOptions:[],
|
|
|
companyOptions:[],
|
|
|
uploadUrl:process.env.VUE_APP_BASE_API+"/common/uploadOSS",
|
|
@@ -809,6 +896,56 @@ export default {
|
|
|
this.getConfigByKey(this.activeName);
|
|
|
},
|
|
|
methods: {
|
|
|
+ addCourseMaConfig() {
|
|
|
+ this.courseMaConfigList.push({
|
|
|
+ name: "",
|
|
|
+ appid: "",
|
|
|
+ secret: "",
|
|
|
+ token: "",
|
|
|
+ aesKey: "",
|
|
|
+ msgDataFormat: "",
|
|
|
+ editing: true
|
|
|
+ });
|
|
|
+ },
|
|
|
+ handleEdit(index, row) {
|
|
|
+ this.$set(this.courseMaConfigList[index], 'editing', true);
|
|
|
+ },
|
|
|
+ handleSave(index, row) {
|
|
|
+ // 验证必填字段
|
|
|
+ if (!row.name || !row.appid || !row.secret) {
|
|
|
+ this.$message.error('请填写所有必填字段');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.$set(this.courseMaConfigList[index], 'editing', false);
|
|
|
+ },
|
|
|
+ deleteCourseMaConfig(index) {
|
|
|
+ this.$confirm('确认删除该配置?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(() => {
|
|
|
+ this.courseMaConfigList.splice(index, 1);
|
|
|
+ this.$message.success('删除成功');
|
|
|
+ }).catch(() => {});
|
|
|
+ },
|
|
|
+ submitCourseMaConfig() {
|
|
|
+ // 验证所有必填字段
|
|
|
+ const isValid = this.courseMaConfigList.every(item => {
|
|
|
+ return item.name && item.appid && item.secret;
|
|
|
+ });
|
|
|
+
|
|
|
+ if (!isValid) {
|
|
|
+ this.$message.error('请填写所有必填字段');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ var param = {configId: this.configId, configValue: JSON.stringify(this.courseMaConfigList)};
|
|
|
+ updateConfigByKey(param).then(response => {
|
|
|
+ if (response.code === 200) {
|
|
|
+ this.msgSuccess("修改成功");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
getCompanyOptions() {
|
|
|
listCompany().then(response=>{
|
|
|
this.companyOptions = response.rows
|
|
@@ -908,7 +1045,20 @@ export default {
|
|
|
this.configId=response.data.configId;
|
|
|
this.configKey=response.data.configKey;
|
|
|
this.form18 =JSON.parse(response.data.configValue);
|
|
|
- }
|
|
|
+ }else if(key=="courseMa.config"){
|
|
|
+ this.configId=response.data.configId;
|
|
|
+ this.configKey=response.data.configKey;
|
|
|
+ this.courseMaConfigLoading = true;
|
|
|
+ if(response.data && response.data.configValue) {
|
|
|
+ this.courseMaConfigList = JSON.parse(response.data.configValue).map(item => ({
|
|
|
+ ...item,
|
|
|
+ editing: false
|
|
|
+ }));
|
|
|
+ } else {
|
|
|
+ this.courseMaConfigList = [];
|
|
|
+ }
|
|
|
+ this.courseMaConfigLoading = false;
|
|
|
+ }
|
|
|
else if(key=="redPacket.config"){
|
|
|
this.configId=response.data.configId;
|
|
|
this.configKey=response.data.configKey;
|