Commit 076c7a4e3e3e3a05c4eea51ebc96d19a41073e01

Authored by YunaiV
1 parent e33b2f0d

优化短信模块的代码

Showing 18 changed files with 41 additions and 40 deletions
sql/ruoyi-vue-pro.sql
No preview for this file type
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/core/client/impl/wx/WXPayClientConfig.java
... ... @@ -82,9 +82,9 @@ public class WXPayClientConfig implements PayClientConfig {
82 82 @NotBlank(message = "apiclient_cert 不能为空", groups = V3.class)
83 83 private String privateCertContent;
84 84 /**
85   - * apiV3 秘钥值
  85 + * apiV3 密钥值
86 86 */
87   - @NotBlank(message = "apiV3 秘钥值 不能为空", groups = V3.class)
  87 + @NotBlank(message = "apiV3 密钥值 不能为空", groups = V3.class)
88 88 private String apiV3Key;
89 89  
90 90 /**
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/SmsClient.java
... ... @@ -11,7 +11,7 @@ import java.util.List;
11 11 * 短信客户端,用于对接各短信平台的 SDK,实现短信发送等功能
12 12 *
13 13 * @author zzf
14   - * @date 2021/1/25 14:14
  14 + * @since 2021/1/25 14:14
15 15 */
16 16 public interface SmsClient {
17 17  
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/SmsClientFactory.java
... ... @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.sms.core.property.SmsChannelProperties;
6 6 * 短信客户端的工厂接口
7 7 *
8 8 * @author zzf
9   - * @date 2021/1/28 14:01
  9 + * @since 2021/1/28 14:01
10 10 */
11 11 public interface SmsClientFactory {
12 12  
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/AbstractSmsClient.java
... ... @@ -16,7 +16,7 @@ import java.util.List;
16 16 * 短信客户端的抽象类,提供模板方法,减少子类的冗余代码
17 17 *
18 18 * @author zzf
19   - * @date 2021/2/1 9:28
  19 + * @since 2021/2/1 9:28
20 20 */
21 21 @Slf4j
22 22 public abstract class AbstractSmsClient implements SmsClient {
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/aliyun/AliyunSmsClient.java
... ... @@ -41,7 +41,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DE
41 41 * 阿里短信客户端的实现类
42 42 *
43 43 * @author zzf
44   - * @date 2021/1/25 14:17
  44 + * @since 2021/1/25 14:17
45 45 */
46 46 @Slf4j
47 47 public class AliyunSmsClient extends AbstractSmsClient {
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/property/TencentSmsChannelProperties.java renamed to yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/tencent/TencentSmsChannelProperties.java
1   -package cn.iocoder.yudao.framework.sms.core.property;
  1 +package cn.iocoder.yudao.framework.sms.core.client.impl.tencent;
2 2  
3 3 import cn.hutool.core.bean.BeanUtil;
4 4 import cn.hutool.core.lang.Assert;
  5 +import cn.iocoder.yudao.framework.sms.core.property.SmsChannelProperties;
5 6 import lombok.Data;
6 7  
7 8 /**
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/tencent/TencentSmsClient.java
1 1 package cn.iocoder.yudao.framework.sms.core.client.impl.tencent;
2 2  
3   -import cn.hutool.core.bean.BeanUtil;
4 3 import cn.hutool.core.lang.Assert;
5 4 import cn.hutool.core.util.StrUtil;
6 5 import cn.iocoder.yudao.framework.common.core.KeyValue;
... ... @@ -14,7 +13,6 @@ import cn.iocoder.yudao.framework.sms.core.client.dto.SmsTemplateRespDTO;
14 13 import cn.iocoder.yudao.framework.sms.core.client.impl.AbstractSmsClient;
15 14 import cn.iocoder.yudao.framework.sms.core.enums.SmsTemplateAuditStatusEnum;
16 15 import cn.iocoder.yudao.framework.sms.core.property.SmsChannelProperties;
17   -import cn.iocoder.yudao.framework.sms.core.property.TencentSmsChannelProperties;
18 16 import com.fasterxml.jackson.annotation.JsonFormat;
19 17 import com.fasterxml.jackson.annotation.JsonProperty;
20 18 import com.google.common.annotations.VisibleForTesting;
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/client/impl/yunpian/YunpianSmsClient.java
... ... @@ -35,7 +35,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.TIME_ZONE_DE
35 35 * 云片短信客户端的实现类
36 36 *
37 37 * @author zzf
38   - * @date 9:48 2021/3/5
  38 + * @since 9:48 2021/3/5
39 39 */
40 40 @Slf4j
41 41 public class YunpianSmsClient extends AbstractSmsClient {
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/enums/SmsChannelEnum.java
... ... @@ -8,7 +8,7 @@ import lombok.Getter;
8 8 * 短信渠道枚举
9 9 *
10 10 * @author zzf
11   - * @date 2021/1/25 10:56
  11 + * @since 2021/1/25 10:56
12 12 */
13 13 @Getter
14 14 @AllArgsConstructor
... ...
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/core/property/SmsChannelProperties.java
... ... @@ -11,7 +11,7 @@ import javax.validation.constraints.NotNull;
11 11 * 短信渠道配置类
12 12 *
13 13 * @author zzf
14   - * @date 2021/1/25 17:01
  14 + * @since 2021/1/25 17:01
15 15 */
16 16 @Data
17 17 @Validated
... ... @@ -40,9 +40,9 @@ public class SmsChannelProperties {
40 40 @NotEmpty(message = "短信 API 的账号不能为空")
41 41 private String apiKey;
42 42 /**
43   - * 短信 API 的秘钥
  43 + * 短信 API 的密钥
44 44 */
45   - @NotEmpty(message = "短信 API 的秘钥不能为空")
  45 + @NotEmpty(message = "短信 API 的密钥不能为空")
46 46 private String apiSecret;
47 47 /**
48 48 * 短信发送回调 URL
... ...
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/SecurityProperties.java
... ... @@ -37,10 +37,10 @@ public class SecurityProperties {
37 37 @NotNull(message = "mock 模式的开关不能为空")
38 38 private Boolean mockEnable;
39 39 /**
40   - * mock 模式的秘钥
41   - * 一定要配置秘钥,保证安全性
  40 + * mock 模式的密钥
  41 + * 一定要配置密钥,保证安全性
42 42 */
43   - @NotEmpty(message = "mock 模式的秘钥不能为空") // 这里设置了一个默认值,因为实际上只有 mockEnable 为 true 时才需要配置。
  43 + @NotEmpty(message = "mock 模式的密钥不能为空") // 这里设置了一个默认值,因为实际上只有 mockEnable 为 true 时才需要配置。
44 44 private String mockSecret = "yudaoyuanma";
45 45  
46 46 }
... ...
yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/api/sms/dto/send/SmsSendSingleToUserReqDTO.java
... ... @@ -18,7 +18,6 @@ public class SmsSendSingleToUserReqDTO {
18 18 /**
19 19 * 用户编号
20 20 */
21   - @NotNull(message = "用户编号不能为空")
22 21 private Long userId;
23 22 /**
24 23 * 手机号
... ...
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/channel/SmsChannelBaseVO.java
... ... @@ -28,7 +28,7 @@ public class SmsChannelBaseVO {
28 28 @NotNull(message = "短信 API 的账号不能为空")
29 29 private String apiKey;
30 30  
31   - @ApiModelProperty(value = "短信 API 的秘钥", example = "yuanma")
  31 + @ApiModelProperty(value = "短信 API 的密钥", example = "yuanma")
32 32 private String apiSecret;
33 33  
34 34 @ApiModelProperty(value = "短信发送回调 URL", example = "http://www.iocoder.cn")
... ...
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/sms/SmsChannelDO.java
... ... @@ -49,7 +49,7 @@ public class SmsChannelDO extends BaseDO {
49 49 */
50 50 private String apiKey;
51 51 /**
52   - * 短信 API 的秘钥
  52 + * 短信 API 的密钥
53 53 */
54 54 private String apiSecret;
55 55 /**
... ...
yudao-server/src/main/resources/admin-ui/static/js/17.js
... ... @@ -524,7 +524,7 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n
524 524 /***/ (function(module, exports, __webpack_require__) {
525 525  
526 526 "use strict";
527   -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nvar _dict = __webpack_require__(/*! @/utils/dict */ \"./src/utils/dict.js\");\n\nvar _channel = __webpack_require__(/*! @/api/pay/channel */ \"./src/api/pay/channel.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar defaultForm = {\n code: '',\n status: null,\n remark: '',\n feeRate: null,\n appId: '',\n merchantId: null,\n weChatConfig: {\n appId: '',\n mchId: '',\n apiVersion: '',\n mchKey: '',\n privateKeyContent: '',\n privateCertContent: '',\n apiV3Key: ''\n }\n};\nvar _default = {\n name: \"wechatChannelForm\",\n components: {},\n props: {\n // 传输的参数\n transferParam: {\n // 加载动画\n \"loading\": false,\n // 是否修改\n \"edit\": false,\n // 是否显示\n \"wechatOpen\": false,\n // 应用ID\n \"appId\": null,\n // 渠道编码\n \"payCode\": null,\n // 商户对象\n \"payMerchant\": {\n // 编号\n \"id\": null,\n // 名称\n \"name\": null\n }\n }\n },\n data: function data() {\n return {\n title: '',\n form: JSON.parse(JSON.stringify(defaultForm)),\n rules: {\n feeRate: [{\n required: true,\n message: '请输入渠道费率',\n trigger: 'blur'\n }],\n 'weChatConfig.mchId': [{\n required: true,\n message: '请传入商户号',\n trigger: 'blur'\n }],\n 'weChatConfig.appId': [{\n required: true,\n message: '请输入公众号APPID',\n trigger: 'blur'\n }],\n status: [{\n required: true,\n message: '渠道状态不能为空',\n trigger: 'blur'\n }],\n 'weChatConfig.apiVersion': [{\n required: true,\n message: 'API版本不能为空',\n trigger: 'blur'\n }],\n 'weChatConfig.mchKey': [{\n required: true,\n message: '请输入商户秘钥',\n trigger: 'blur'\n }],\n 'weChatConfig.privateKeyContent': [{\n required: true,\n message: '请上传apiclient_key.perm证书',\n trigger: 'blur'\n }],\n 'weChatConfig.privateCertContent': [{\n required: true,\n message: '请上传apiclient_cert.perm证书',\n trigger: 'blur'\n }],\n 'weChatConfig.apiV3Key': [{\n required: true,\n message: '请上传apiV3秘钥值',\n trigger: 'blur'\n }]\n },\n // 文件上传的header\n header: {\n \"Authorization\": null\n },\n fileAccept: \".pem\",\n // 渠道状态 数据字典\n statusDictDatas: (0, _dict.getDictDatas)(_dict.DICT_TYPE.COMMON_STATUS),\n versionDictDatas: (0, _dict.getDictDatas)(_dict.DICT_TYPE.PAY_CHANNEL_WECHAT_VERSION)\n };\n },\n watch: {\n transferParam: {\n deep: true,\n // 深度监听\n handler: function handler(newVal) {\n if (newVal.wechatOpen) {\n this.form.code = newVal.payCode;\n this.form.appId = newVal.appId;\n this.form.merchantId = newVal.payMerchant.id; // 只有在初次进来为编辑 并且为加载中的时候才回去请求数据\n\n if (newVal.edit && newVal.loading) {\n this.title = \"编辑支付渠道\";\n this.init();\n } else {\n this.title = \"创建支付渠道\";\n }\n }\n }\n }\n },\n methods: {\n init: function init() {\n var _this = this;\n\n (0, _channel.getChannel)(this.transferParam.payMerchant.id, this.transferParam.appId, this.transferParam.payCode).then(function (response) {\n _this.form.id = response.data.id;\n _this.form.feeRate = response.data.feeRate;\n _this.form.appId = response.data.appId;\n _this.form.status = response.data.status;\n _this.form.remark = response.data.remark;\n var config = JSON.parse(response.data.config);\n _this.form.weChatConfig.appId = config.appId;\n _this.form.weChatConfig.apiVersion = config.apiVersion;\n _this.form.weChatConfig.mchId = config.mchId;\n _this.form.weChatConfig.mchKey = config.mchKey;\n _this.form.weChatConfig.privateKeyContent = config.privateKeyContent;\n _this.form.weChatConfig.privateCertContent = config.privateCertContent;\n _this.form.weChatConfig.apiV3Key = config.apiV3Key;\n _this.transferParam.loading = false;\n });\n },\n close: function close() {\n this.transferParam.wechatOpen = false;\n this.form = JSON.parse(JSON.stringify(defaultForm));\n },\n handleConfirm: function handleConfirm() {\n var _this2 = this;\n\n this.$refs['wechatJsApiForm'].validate(function (valid) {\n if (!valid) {\n return;\n }\n\n var data = _this2.form;\n data.config = JSON.stringify(_this2.form.weChatConfig);\n\n if (_this2.transferParam.edit) {\n (0, _channel.updateChannel)(data).then(function (response) {\n if (response.code === 0) {\n _this2.$modal.msgSuccess(\"修改成功\");\n\n _this2.close();\n }\n });\n } else {\n (0, _channel.createChannel)(data).then(function (response) {\n if (response.code === 0) {\n _this2.$modal.msgSuccess(\"新增成功\");\n\n _this2.$parent.refreshTable();\n\n _this2.close();\n }\n });\n }\n });\n },\n pemFileBeforeUpload: function pemFileBeforeUpload(file) {\n var format = '.' + file.name.split(\".\")[1];\n\n if (format !== this.fileAccept) {\n this.$message.error('请上传指定格式\"' + this.fileAccept + '\"文件');\n return false;\n }\n\n var isRightSize = file.size / 1024 / 1024 < 2;\n\n if (!isRightSize) {\n this.$message.error('文件大小超过 2MB');\n }\n\n return isRightSize;\n },\n privateKeyUpload: function privateKeyUpload(event) {\n var _this3 = this;\n\n var readFile = new FileReader();\n\n readFile.onload = function (e) {\n _this3.form.weChatConfig.privateKeyContent = e.target.result;\n };\n\n readFile.readAsText(event.file);\n },\n privateCertUpload: function privateCertUpload(event) {\n var _this4 = this;\n\n var readFile = new FileReader();\n\n readFile.onload = function (e) {\n _this4.form.weChatConfig.privateCertContent = e.target.result;\n };\n\n readFile.readAsText(event.file);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/pay/app/components/wechatChannelForm.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
  527 +eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n__webpack_require__(/*! core-js/modules/es.json.stringify.js */ \"./node_modules/core-js/modules/es.json.stringify.js\");\n\n__webpack_require__(/*! core-js/modules/es.regexp.exec.js */ \"./node_modules/core-js/modules/es.regexp.exec.js\");\n\n__webpack_require__(/*! core-js/modules/es.string.split.js */ \"./node_modules/core-js/modules/es.string.split.js\");\n\n__webpack_require__(/*! core-js/modules/es.function.name.js */ \"./node_modules/core-js/modules/es.function.name.js\");\n\nvar _dict = __webpack_require__(/*! @/utils/dict */ \"./src/utils/dict.js\");\n\nvar _channel = __webpack_require__(/*! @/api/pay/channel */ \"./src/api/pay/channel.js\");\n\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar defaultForm = {\n code: '',\n status: null,\n remark: '',\n feeRate: null,\n appId: '',\n merchantId: null,\n weChatConfig: {\n appId: '',\n mchId: '',\n apiVersion: '',\n mchKey: '',\n privateKeyContent: '',\n privateCertContent: '',\n apiV3Key: ''\n }\n};\nvar _default = {\n name: \"wechatChannelForm\",\n components: {},\n props: {\n // 传输的参数\n transferParam: {\n // 加载动画\n \"loading\": false,\n // 是否修改\n \"edit\": false,\n // 是否显示\n \"wechatOpen\": false,\n // 应用ID\n \"appId\": null,\n // 渠道编码\n \"payCode\": null,\n // 商户对象\n \"payMerchant\": {\n // 编号\n \"id\": null,\n // 名称\n \"name\": null\n }\n }\n },\n data: function data() {\n return {\n title: '',\n form: JSON.parse(JSON.stringify(defaultForm)),\n rules: {\n feeRate: [{\n required: true,\n message: '请输入渠道费率',\n trigger: 'blur'\n }],\n 'weChatConfig.mchId': [{\n required: true,\n message: '请传入商户号',\n trigger: 'blur'\n }],\n 'weChatConfig.appId': [{\n required: true,\n message: '请输入公众号APPID',\n trigger: 'blur'\n }],\n status: [{\n required: true,\n message: '渠道状态不能为空',\n trigger: 'blur'\n }],\n 'weChatConfig.apiVersion': [{\n required: true,\n message: 'API版本不能为空',\n trigger: 'blur'\n }],\n 'weChatConfig.mchKey': [{\n required: true,\n message: '请输入商户密钥',\n trigger: 'blur'\n }],\n 'weChatConfig.privateKeyContent': [{\n required: true,\n message: '请上传apiclient_key.perm证书',\n trigger: 'blur'\n }],\n 'weChatConfig.privateCertContent': [{\n required: true,\n message: '请上传apiclient_cert.perm证书',\n trigger: 'blur'\n }],\n 'weChatConfig.apiV3Key': [{\n required: true,\n message: '请上传apiV3密钥值',\n trigger: 'blur'\n }]\n },\n // 文件上传的header\n header: {\n \"Authorization\": null\n },\n fileAccept: \".pem\",\n // 渠道状态 数据字典\n statusDictDatas: (0, _dict.getDictDatas)(_dict.DICT_TYPE.COMMON_STATUS),\n versionDictDatas: (0, _dict.getDictDatas)(_dict.DICT_TYPE.PAY_CHANNEL_WECHAT_VERSION)\n };\n },\n watch: {\n transferParam: {\n deep: true,\n // 深度监听\n handler: function handler(newVal) {\n if (newVal.wechatOpen) {\n this.form.code = newVal.payCode;\n this.form.appId = newVal.appId;\n this.form.merchantId = newVal.payMerchant.id; // 只有在初次进来为编辑 并且为加载中的时候才回去请求数据\n\n if (newVal.edit && newVal.loading) {\n this.title = \"编辑支付渠道\";\n this.init();\n } else {\n this.title = \"创建支付渠道\";\n }\n }\n }\n }\n },\n methods: {\n init: function init() {\n var _this = this;\n\n (0, _channel.getChannel)(this.transferParam.payMerchant.id, this.transferParam.appId, this.transferParam.payCode).then(function (response) {\n _this.form.id = response.data.id;\n _this.form.feeRate = response.data.feeRate;\n _this.form.appId = response.data.appId;\n _this.form.status = response.data.status;\n _this.form.remark = response.data.remark;\n var config = JSON.parse(response.data.config);\n _this.form.weChatConfig.appId = config.appId;\n _this.form.weChatConfig.apiVersion = config.apiVersion;\n _this.form.weChatConfig.mchId = config.mchId;\n _this.form.weChatConfig.mchKey = config.mchKey;\n _this.form.weChatConfig.privateKeyContent = config.privateKeyContent;\n _this.form.weChatConfig.privateCertContent = config.privateCertContent;\n _this.form.weChatConfig.apiV3Key = config.apiV3Key;\n _this.transferParam.loading = false;\n });\n },\n close: function close() {\n this.transferParam.wechatOpen = false;\n this.form = JSON.parse(JSON.stringify(defaultForm));\n },\n handleConfirm: function handleConfirm() {\n var _this2 = this;\n\n this.$refs['wechatJsApiForm'].validate(function (valid) {\n if (!valid) {\n return;\n }\n\n var data = _this2.form;\n data.config = JSON.stringify(_this2.form.weChatConfig);\n\n if (_this2.transferParam.edit) {\n (0, _channel.updateChannel)(data).then(function (response) {\n if (response.code === 0) {\n _this2.$modal.msgSuccess(\"修改成功\");\n\n _this2.close();\n }\n });\n } else {\n (0, _channel.createChannel)(data).then(function (response) {\n if (response.code === 0) {\n _this2.$modal.msgSuccess(\"新增成功\");\n\n _this2.$parent.refreshTable();\n\n _this2.close();\n }\n });\n }\n });\n },\n pemFileBeforeUpload: function pemFileBeforeUpload(file) {\n var format = '.' + file.name.split(\".\")[1];\n\n if (format !== this.fileAccept) {\n this.$message.error('请上传指定格式\"' + this.fileAccept + '\"文件');\n return false;\n }\n\n var isRightSize = file.size / 1024 / 1024 < 2;\n\n if (!isRightSize) {\n this.$message.error('文件大小超过 2MB');\n }\n\n return isRightSize;\n },\n privateKeyUpload: function privateKeyUpload(event) {\n var _this3 = this;\n\n var readFile = new FileReader();\n\n readFile.onload = function (e) {\n _this3.form.weChatConfig.privateKeyContent = e.target.result;\n };\n\n readFile.readAsText(event.file);\n },\n privateCertUpload: function privateCertUpload(event) {\n var _this4 = this;\n\n var readFile = new FileReader();\n\n readFile.onload = function (e) {\n _this4.form.weChatConfig.privateCertContent = e.target.result;\n };\n\n readFile.readAsText(event.file);\n }\n }\n};\nexports.default = _default;\n\n//# sourceURL=webpack:///./src/views/pay/app/components/wechatChannelForm.vue?./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
528 528  
529 529 /***/ }),
530 530  
... ... @@ -1304,7 +1304,7 @@ eval(&quot;__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
1304 1304 /***/ (function(module, __webpack_exports__, __webpack_require__) {
1305 1305  
1306 1306 "use strict";
1307   -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-dialog\",\n {\n attrs: {\n visible: _vm.transferParam.wechatOpen,\n title: _vm.title,\n \"append-to-body\": \"\",\n width: \"800px\",\n },\n on: {\n \"update:visible\": function ($event) {\n return _vm.$set(_vm.transferParam, \"wechatOpen\", $event)\n },\n close: _vm.close,\n },\n },\n [\n _c(\n \"el-form\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.transferParam.loading,\n expression: \"transferParam.loading\",\n },\n ],\n ref: \"wechatJsApiForm\",\n attrs: {\n model: _vm.form,\n rules: _vm.rules,\n size: \"medium\",\n \"label-width\": \"100px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"渠道费率\",\n prop: \"feeRate\",\n },\n },\n [\n _c(\n \"el-input\",\n {\n style: { width: \"100%\" },\n attrs: { placeholder: \"请输入渠道费率\", clearable: \"\" },\n model: {\n value: _vm.form.feeRate,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"feeRate\", $$v)\n },\n expression: \"form.feeRate\",\n },\n },\n [_c(\"template\", { slot: \"append\" }, [_vm._v(\"%\")])],\n 2\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"公众号APPID\",\n prop: \"weChatConfig.appId\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: { placeholder: \"请输入公众号APPID\", clearable: \"\" },\n model: {\n value: _vm.form.weChatConfig.appId,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"appId\", $$v)\n },\n expression: \"form.weChatConfig.appId\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"商户号\",\n prop: \"weChatConfig.mchId\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n model: {\n value: _vm.form.weChatConfig.mchId,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"mchId\", $$v)\n },\n expression: \"form.weChatConfig.mchId\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"渠道状态\",\n prop: \"status\",\n },\n },\n [\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"medium\" },\n model: {\n value: _vm.form.status,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"status\", $$v)\n },\n expression: \"form.status\",\n },\n },\n _vm._l(_vm.statusDictDatas, function (dict) {\n return _c(\n \"el-radio\",\n {\n key: parseInt(dict.value),\n attrs: { label: parseInt(dict.value) },\n },\n [_vm._v(\" \" + _vm._s(dict.label) + \" \")]\n )\n }),\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"API 版本\",\n prop: \"weChatConfig.apiVersion\",\n },\n },\n [\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"medium\" },\n model: {\n value: _vm.form.weChatConfig.apiVersion,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"apiVersion\", $$v)\n },\n expression: \"form.weChatConfig.apiVersion\",\n },\n },\n _vm._l(_vm.versionDictDatas, function (dict) {\n return _c(\n \"el-radio\",\n { key: dict.value, attrs: { label: dict.value } },\n [_vm._v(\" \" + _vm._s(dict.label) + \" \")]\n )\n }),\n 1\n ),\n ],\n 1\n ),\n _vm.form.weChatConfig.apiVersion === \"v2\"\n ? _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"商户秘钥\",\n prop: \"weChatConfig.mchKey\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: {\n placeholder: \"请输入商户秘钥\",\n clearable: \"\",\n type: \"textarea\",\n autosize: { minRows: 8, maxRows: 8 },\n },\n model: {\n value: _vm.form.weChatConfig.mchKey,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"mchKey\", $$v)\n },\n expression: \"form.weChatConfig.mchKey\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.form.weChatConfig.apiVersion === \"v3\"\n ? _c(\n \"div\",\n [\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"API V3秘钥\",\n prop: \"weChatConfig.apiV3Key\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: {\n placeholder: \"请输入API V3秘钥\",\n clearable: \"\",\n type: \"textarea\",\n autosize: { minRows: 8, maxRows: 8 },\n },\n model: {\n value: _vm.form.weChatConfig.apiV3Key,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"apiV3Key\", $$v)\n },\n expression: \"form.weChatConfig.apiV3Key\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"apiclient_key.perm证书\",\n prop: \"weChatConfig.privateKeyContent\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: {\n type: \"textarea\",\n placeholder: \"请上传apiclient_key.perm证书\",\n readonly: \"\",\n autosize: { minRows: 8, maxRows: 8 },\n },\n model: {\n value: _vm.form.weChatConfig.privateKeyContent,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.weChatConfig,\n \"privateKeyContent\",\n $$v\n )\n },\n expression: \"form.weChatConfig.privateKeyContent\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"\",\n prop: \"privateKeyContentFile\",\n },\n },\n [\n _c(\n \"el-upload\",\n {\n ref: \"privateKeyContentFile\",\n attrs: {\n limit: 1,\n accept: _vm.fileAccept,\n headers: _vm.header,\n action: \"\",\n \"before-upload\": _vm.pemFileBeforeUpload,\n \"http-request\": _vm.privateKeyUpload,\n },\n },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n size: \"small\",\n type: \"primary\",\n icon: \"el-icon-upload\",\n },\n },\n [_vm._v(\"点击上传\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"apiclient_cert.perm证书\",\n prop: \"weChatConfig.privateCertContent\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: {\n type: \"textarea\",\n placeholder: \"请上传apiclient_cert.perm证书\",\n readonly: \"\",\n autosize: { minRows: 8, maxRows: 8 },\n },\n model: {\n value: _vm.form.weChatConfig.privateCertContent,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.weChatConfig,\n \"privateCertContent\",\n $$v\n )\n },\n expression:\n \"form.weChatConfig.privateCertContent\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"\",\n prop: \"privateCertContentFile\",\n },\n },\n [\n _c(\n \"el-upload\",\n {\n ref: \"privateCertContentFile\",\n attrs: {\n limit: 1,\n accept: _vm.fileAccept,\n headers: _vm.header,\n action: \"\",\n \"before-upload\": _vm.pemFileBeforeUpload,\n \"http-request\": _vm.privateCertUpload,\n },\n },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n size: \"small\",\n type: \"primary\",\n icon: \"el-icon-upload\",\n },\n },\n [_vm._v(\"点击上传\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"备注\",\n prop: \"remark\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n model: {\n value: _vm.form.remark,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"remark\", $$v)\n },\n expression: \"form.remark\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"div\",\n {\n staticClass: \"dialog-footer\",\n attrs: { slot: \"footer\" },\n slot: \"footer\",\n },\n [\n _c(\"el-button\", { on: { click: _vm.close } }, [_vm._v(\"取消\")]),\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.handleConfirm },\n },\n [_vm._v(\"确定\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/pay/app/components/wechatChannelForm.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
  1307 +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n [\n _c(\n \"el-dialog\",\n {\n attrs: {\n visible: _vm.transferParam.wechatOpen,\n title: _vm.title,\n \"append-to-body\": \"\",\n width: \"800px\",\n },\n on: {\n \"update:visible\": function ($event) {\n return _vm.$set(_vm.transferParam, \"wechatOpen\", $event)\n },\n close: _vm.close,\n },\n },\n [\n _c(\n \"el-form\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.transferParam.loading,\n expression: \"transferParam.loading\",\n },\n ],\n ref: \"wechatJsApiForm\",\n attrs: {\n model: _vm.form,\n rules: _vm.rules,\n size: \"medium\",\n \"label-width\": \"100px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"渠道费率\",\n prop: \"feeRate\",\n },\n },\n [\n _c(\n \"el-input\",\n {\n style: { width: \"100%\" },\n attrs: { placeholder: \"请输入渠道费率\", clearable: \"\" },\n model: {\n value: _vm.form.feeRate,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"feeRate\", $$v)\n },\n expression: \"form.feeRate\",\n },\n },\n [_c(\"template\", { slot: \"append\" }, [_vm._v(\"%\")])],\n 2\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"公众号APPID\",\n prop: \"weChatConfig.appId\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: { placeholder: \"请输入公众号APPID\", clearable: \"\" },\n model: {\n value: _vm.form.weChatConfig.appId,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"appId\", $$v)\n },\n expression: \"form.weChatConfig.appId\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"商户号\",\n prop: \"weChatConfig.mchId\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n model: {\n value: _vm.form.weChatConfig.mchId,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"mchId\", $$v)\n },\n expression: \"form.weChatConfig.mchId\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"渠道状态\",\n prop: \"status\",\n },\n },\n [\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"medium\" },\n model: {\n value: _vm.form.status,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"status\", $$v)\n },\n expression: \"form.status\",\n },\n },\n _vm._l(_vm.statusDictDatas, function (dict) {\n return _c(\n \"el-radio\",\n {\n key: parseInt(dict.value),\n attrs: { label: parseInt(dict.value) },\n },\n [_vm._v(\" \" + _vm._s(dict.label) + \" \")]\n )\n }),\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"API 版本\",\n prop: \"weChatConfig.apiVersion\",\n },\n },\n [\n _c(\n \"el-radio-group\",\n {\n attrs: { size: \"medium\" },\n model: {\n value: _vm.form.weChatConfig.apiVersion,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"apiVersion\", $$v)\n },\n expression: \"form.weChatConfig.apiVersion\",\n },\n },\n _vm._l(_vm.versionDictDatas, function (dict) {\n return _c(\n \"el-radio\",\n { key: dict.value, attrs: { label: dict.value } },\n [_vm._v(\" \" + _vm._s(dict.label) + \" \")]\n )\n }),\n 1\n ),\n ],\n 1\n ),\n _vm.form.weChatConfig.apiVersion === \"v2\"\n ? _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"商户密钥\",\n prop: \"weChatConfig.mchKey\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: {\n placeholder: \"请输入商户密钥\",\n clearable: \"\",\n type: \"textarea\",\n autosize: { minRows: 8, maxRows: 8 },\n },\n model: {\n value: _vm.form.weChatConfig.mchKey,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"mchKey\", $$v)\n },\n expression: \"form.weChatConfig.mchKey\",\n },\n }),\n ],\n 1\n )\n : _vm._e(),\n _vm.form.weChatConfig.apiVersion === \"v3\"\n ? _c(\n \"div\",\n [\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"API V3密钥\",\n prop: \"weChatConfig.apiV3Key\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: {\n placeholder: \"请输入API V3密钥\",\n clearable: \"\",\n type: \"textarea\",\n autosize: { minRows: 8, maxRows: 8 },\n },\n model: {\n value: _vm.form.weChatConfig.apiV3Key,\n callback: function ($$v) {\n _vm.$set(_vm.form.weChatConfig, \"apiV3Key\", $$v)\n },\n expression: \"form.weChatConfig.apiV3Key\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"apiclient_key.perm证书\",\n prop: \"weChatConfig.privateKeyContent\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: {\n type: \"textarea\",\n placeholder: \"请上传apiclient_key.perm证书\",\n readonly: \"\",\n autosize: { minRows: 8, maxRows: 8 },\n },\n model: {\n value: _vm.form.weChatConfig.privateKeyContent,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.weChatConfig,\n \"privateKeyContent\",\n $$v\n )\n },\n expression: \"form.weChatConfig.privateKeyContent\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"\",\n prop: \"privateKeyContentFile\",\n },\n },\n [\n _c(\n \"el-upload\",\n {\n ref: \"privateKeyContentFile\",\n attrs: {\n limit: 1,\n accept: _vm.fileAccept,\n headers: _vm.header,\n action: \"\",\n \"before-upload\": _vm.pemFileBeforeUpload,\n \"http-request\": _vm.privateKeyUpload,\n },\n },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n size: \"small\",\n type: \"primary\",\n icon: \"el-icon-upload\",\n },\n },\n [_vm._v(\"点击上传\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"apiclient_cert.perm证书\",\n prop: \"weChatConfig.privateCertContent\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n attrs: {\n type: \"textarea\",\n placeholder: \"请上传apiclient_cert.perm证书\",\n readonly: \"\",\n autosize: { minRows: 8, maxRows: 8 },\n },\n model: {\n value: _vm.form.weChatConfig.privateCertContent,\n callback: function ($$v) {\n _vm.$set(\n _vm.form.weChatConfig,\n \"privateCertContent\",\n $$v\n )\n },\n expression:\n \"form.weChatConfig.privateCertContent\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"\",\n prop: \"privateCertContentFile\",\n },\n },\n [\n _c(\n \"el-upload\",\n {\n ref: \"privateCertContentFile\",\n attrs: {\n limit: 1,\n accept: _vm.fileAccept,\n headers: _vm.header,\n action: \"\",\n \"before-upload\": _vm.pemFileBeforeUpload,\n \"http-request\": _vm.privateCertUpload,\n },\n },\n [\n _c(\n \"el-button\",\n {\n attrs: {\n size: \"small\",\n type: \"primary\",\n icon: \"el-icon-upload\",\n },\n },\n [_vm._v(\"点击上传\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n : _vm._e(),\n _c(\n \"el-form-item\",\n {\n attrs: {\n \"label-width\": \"180px\",\n label: \"备注\",\n prop: \"remark\",\n },\n },\n [\n _c(\"el-input\", {\n style: { width: \"100%\" },\n model: {\n value: _vm.form.remark,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"remark\", $$v)\n },\n expression: \"form.remark\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"div\",\n {\n staticClass: \"dialog-footer\",\n attrs: { slot: \"footer\" },\n slot: \"footer\",\n },\n [\n _c(\"el-button\", { on: { click: _vm.close } }, [_vm._v(\"取消\")]),\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\" },\n on: { click: _vm.handleConfirm },\n },\n [_vm._v(\"确定\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/pay/app/components/wechatChannelForm.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
1308 1308  
1309 1309 /***/ }),
1310 1310  
... ... @@ -1484,7 +1484,7 @@ eval(&quot;__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) *
1484 1484 /***/ (function(module, __webpack_exports__, __webpack_require__) {
1485 1485  
1486 1486 "use strict";
1487   -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-container\" },\n [\n _c(\n \"el-form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showSearch,\n expression: \"showSearch\",\n },\n ],\n ref: \"queryForm\",\n attrs: {\n model: _vm.queryParams,\n size: \"small\",\n inline: true,\n \"label-width\": \"68px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信签名\", prop: \"signature\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信签名\", clearable: \"\" },\n nativeOn: {\n keyup: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.handleQuery($event)\n },\n },\n model: {\n value: _vm.queryParams.signature,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"signature\", $$v)\n },\n expression: \"queryParams.signature\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"启用状态\", prop: \"status\" } },\n [\n _c(\n \"el-select\",\n {\n attrs: { placeholder: \"请选择启用状态\", clearable: \"\" },\n model: {\n value: _vm.queryParams.status,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"status\", $$v)\n },\n expression: \"queryParams.status\",\n },\n },\n _vm._l(\n this.getDictDatas(_vm.DICT_TYPE.COMMON_STATUS),\n function (dict) {\n return _c(\"el-option\", {\n key: dict.value,\n attrs: { label: dict.label, value: dict.value },\n })\n }\n ),\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"创建时间\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"240px\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n type: \"daterange\",\n \"range-separator\": \"-\",\n \"start-placeholder\": \"开始日期\",\n \"end-placeholder\": \"结束日期\",\n },\n model: {\n value: _vm.dateRangeCreateTime,\n callback: function ($$v) {\n _vm.dateRangeCreateTime = $$v\n },\n expression: \"dateRangeCreateTime\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\", icon: \"el-icon-search\" },\n on: { click: _vm.handleQuery },\n },\n [_vm._v(\"搜索\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-refresh\" },\n on: { click: _vm.resetQuery },\n },\n [_vm._v(\"重置\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { staticClass: \"mb8\", attrs: { gutter: 10 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 1.5 } },\n [\n _c(\n \"el-button\",\n {\n directives: [\n {\n name: \"hasPermi\",\n rawName: \"v-hasPermi\",\n value: [\"system:sms-channel:create\"],\n expression: \"['system:sms-channel:create']\",\n },\n ],\n attrs: {\n type: \"primary\",\n plain: \"\",\n icon: \"el-icon-plus\",\n size: \"mini\",\n },\n on: { click: _vm.handleAdd },\n },\n [_vm._v(\"新增\")]\n ),\n ],\n 1\n ),\n _c(\"right-toolbar\", {\n attrs: { showSearch: _vm.showSearch },\n on: {\n \"update:showSearch\": function ($event) {\n _vm.showSearch = $event\n },\n \"update:show-search\": function ($event) {\n _vm.showSearch = $event\n },\n queryTable: _vm.getList,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-table\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\",\n },\n ],\n attrs: { data: _vm.list },\n },\n [\n _c(\"el-table-column\", {\n attrs: { label: \"编号\", align: \"center\", prop: \"id\" },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"短信签名\", align: \"center\", prop: \"signature\" },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"渠道编码\", align: \"center\", prop: \"code\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\"dict-tag\", {\n attrs: {\n type: _vm.DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE,\n value: scope.row.code,\n },\n }),\n ]\n },\n },\n ]),\n }),\n _vm._v(\"> \"),\n _c(\"el-table-column\", {\n attrs: { label: \"启用状态\", align: \"center\", prop: \"status\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\"dict-tag\", {\n attrs: {\n type: _vm.DICT_TYPE.COMMON_STATUS,\n value: scope.row.status,\n },\n }),\n ]\n },\n },\n ]),\n }),\n _vm._v(\"> \"),\n _c(\"el-table-column\", {\n attrs: { label: \"备注\", align: \"center\", prop: \"remark\" },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"短信 API 的账号\",\n align: \"center\",\n prop: \"apiKey\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"短信 API 的秘钥\",\n align: \"center\",\n prop: \"apiSecret\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"短信发送回调 URL\",\n align: \"center\",\n prop: \"callbackUrl\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"创建时间\",\n align: \"center\",\n prop: \"createTime\",\n width: \"180\",\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\"span\", [\n _vm._v(_vm._s(_vm.parseTime(scope.row.createTime))),\n ]),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"操作\",\n align: \"center\",\n \"class-name\": \"small-padding fixed-width\",\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\n \"el-button\",\n {\n directives: [\n {\n name: \"hasPermi\",\n rawName: \"v-hasPermi\",\n value: [\"system:sms-channel:update\"],\n expression: \"['system:sms-channel:update']\",\n },\n ],\n attrs: {\n size: \"mini\",\n type: \"text\",\n icon: \"el-icon-edit\",\n },\n on: {\n click: function ($event) {\n return _vm.handleUpdate(scope.row)\n },\n },\n },\n [_vm._v(\"修改\")]\n ),\n _c(\n \"el-button\",\n {\n directives: [\n {\n name: \"hasPermi\",\n rawName: \"v-hasPermi\",\n value: [\"system:sms-channel:delete\"],\n expression: \"['system:sms-channel:delete']\",\n },\n ],\n attrs: {\n size: \"mini\",\n type: \"text\",\n icon: \"el-icon-delete\",\n },\n on: {\n click: function ($event) {\n return _vm.handleDelete(scope.row)\n },\n },\n },\n [_vm._v(\"删除\")]\n ),\n ]\n },\n },\n ]),\n }),\n ],\n 1\n ),\n _c(\"pagination\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.total > 0,\n expression: \"total > 0\",\n },\n ],\n attrs: {\n total: _vm.total,\n page: _vm.queryParams.pageNo,\n limit: _vm.queryParams.pageSize,\n },\n on: {\n \"update:page\": function ($event) {\n return _vm.$set(_vm.queryParams, \"pageNo\", $event)\n },\n \"update:limit\": function ($event) {\n return _vm.$set(_vm.queryParams, \"pageSize\", $event)\n },\n pagination: _vm.getList,\n },\n }),\n _c(\n \"el-dialog\",\n {\n attrs: {\n title: _vm.title,\n visible: _vm.open,\n width: \"500px\",\n \"append-to-body\": \"\",\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.open = $event\n },\n },\n },\n [\n _c(\n \"el-form\",\n {\n ref: \"form\",\n attrs: {\n model: _vm.form,\n rules: _vm.rules,\n \"label-width\": \"80px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信签名\", prop: \"signature\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信签名\" },\n model: {\n value: _vm.form.signature,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"signature\", $$v)\n },\n expression: \"form.signature\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"渠道编码\", prop: \"code\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入渠道编码\" },\n model: {\n value: _vm.form.code,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"code\", $$v)\n },\n expression: \"form.code\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"启用状态\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.form.status,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"status\", $$v)\n },\n expression: \"form.status\",\n },\n },\n _vm._l(\n this.getDictDatas(_vm.DICT_TYPE.COMMON_STATUS),\n function (dict) {\n return _c(\n \"el-radio\",\n {\n key: dict.value,\n attrs: { label: parseInt(dict.value) },\n },\n [_vm._v(_vm._s(dict.label))]\n )\n }\n ),\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"备注\", prop: \"remark\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入备注\" },\n model: {\n value: _vm.form.remark,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"remark\", $$v)\n },\n expression: \"form.remark\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信 API 的账号\", prop: \"apiKey\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信 API 的账号\" },\n model: {\n value: _vm.form.apiKey,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"apiKey\", $$v)\n },\n expression: \"form.apiKey\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信 API 的秘钥\", prop: \"apiSecret\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信 API 的秘钥\" },\n model: {\n value: _vm.form.apiSecret,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"apiSecret\", $$v)\n },\n expression: \"form.apiSecret\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信发送回调 URL\", prop: \"callbackUrl\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信发送回调 URL\" },\n model: {\n value: _vm.form.callbackUrl,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"callbackUrl\", $$v)\n },\n expression: \"form.callbackUrl\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"div\",\n {\n staticClass: \"dialog-footer\",\n attrs: { slot: \"footer\" },\n slot: \"footer\",\n },\n [\n _c(\n \"el-button\",\n { attrs: { type: \"primary\" }, on: { click: _vm.submitForm } },\n [_vm._v(\"确 定\")]\n ),\n _c(\"el-button\", { on: { click: _vm.cancel } }, [_vm._v(\"取 消\")]),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/system/sms/smsChannel.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
  1487 +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"render\", function() { return render; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"staticRenderFns\", function() { return staticRenderFns; });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"app-container\" },\n [\n _c(\n \"el-form\",\n {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.showSearch,\n expression: \"showSearch\",\n },\n ],\n ref: \"queryForm\",\n attrs: {\n model: _vm.queryParams,\n size: \"small\",\n inline: true,\n \"label-width\": \"68px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信签名\", prop: \"signature\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信签名\", clearable: \"\" },\n nativeOn: {\n keyup: function ($event) {\n if (\n !$event.type.indexOf(\"key\") &&\n _vm._k($event.keyCode, \"enter\", 13, $event.key, \"Enter\")\n ) {\n return null\n }\n return _vm.handleQuery($event)\n },\n },\n model: {\n value: _vm.queryParams.signature,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"signature\", $$v)\n },\n expression: \"queryParams.signature\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"启用状态\", prop: \"status\" } },\n [\n _c(\n \"el-select\",\n {\n attrs: { placeholder: \"请选择启用状态\", clearable: \"\" },\n model: {\n value: _vm.queryParams.status,\n callback: function ($$v) {\n _vm.$set(_vm.queryParams, \"status\", $$v)\n },\n expression: \"queryParams.status\",\n },\n },\n _vm._l(\n this.getDictDatas(_vm.DICT_TYPE.COMMON_STATUS),\n function (dict) {\n return _c(\"el-option\", {\n key: dict.value,\n attrs: { label: dict.label, value: dict.value },\n })\n }\n ),\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"创建时间\" } },\n [\n _c(\"el-date-picker\", {\n staticStyle: { width: \"240px\" },\n attrs: {\n \"value-format\": \"yyyy-MM-dd\",\n type: \"daterange\",\n \"range-separator\": \"-\",\n \"start-placeholder\": \"开始日期\",\n \"end-placeholder\": \"结束日期\",\n },\n model: {\n value: _vm.dateRangeCreateTime,\n callback: function ($$v) {\n _vm.dateRangeCreateTime = $$v\n },\n expression: \"dateRangeCreateTime\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n [\n _c(\n \"el-button\",\n {\n attrs: { type: \"primary\", icon: \"el-icon-search\" },\n on: { click: _vm.handleQuery },\n },\n [_vm._v(\"搜索\")]\n ),\n _c(\n \"el-button\",\n {\n attrs: { icon: \"el-icon-refresh\" },\n on: { click: _vm.resetQuery },\n },\n [_vm._v(\"重置\")]\n ),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-row\",\n { staticClass: \"mb8\", attrs: { gutter: 10 } },\n [\n _c(\n \"el-col\",\n { attrs: { span: 1.5 } },\n [\n _c(\n \"el-button\",\n {\n directives: [\n {\n name: \"hasPermi\",\n rawName: \"v-hasPermi\",\n value: [\"system:sms-channel:create\"],\n expression: \"['system:sms-channel:create']\",\n },\n ],\n attrs: {\n type: \"primary\",\n plain: \"\",\n icon: \"el-icon-plus\",\n size: \"mini\",\n },\n on: { click: _vm.handleAdd },\n },\n [_vm._v(\"新增\")]\n ),\n ],\n 1\n ),\n _c(\"right-toolbar\", {\n attrs: { showSearch: _vm.showSearch },\n on: {\n \"update:showSearch\": function ($event) {\n _vm.showSearch = $event\n },\n \"update:show-search\": function ($event) {\n _vm.showSearch = $event\n },\n queryTable: _vm.getList,\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-table\",\n {\n directives: [\n {\n name: \"loading\",\n rawName: \"v-loading\",\n value: _vm.loading,\n expression: \"loading\",\n },\n ],\n attrs: { data: _vm.list },\n },\n [\n _c(\"el-table-column\", {\n attrs: { label: \"编号\", align: \"center\", prop: \"id\" },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"短信签名\", align: \"center\", prop: \"signature\" },\n }),\n _c(\"el-table-column\", {\n attrs: { label: \"渠道编码\", align: \"center\", prop: \"code\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\"dict-tag\", {\n attrs: {\n type: _vm.DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE,\n value: scope.row.code,\n },\n }),\n ]\n },\n },\n ]),\n }),\n _vm._v(\"> \"),\n _c(\"el-table-column\", {\n attrs: { label: \"启用状态\", align: \"center\", prop: \"status\" },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\"dict-tag\", {\n attrs: {\n type: _vm.DICT_TYPE.COMMON_STATUS,\n value: scope.row.status,\n },\n }),\n ]\n },\n },\n ]),\n }),\n _vm._v(\"> \"),\n _c(\"el-table-column\", {\n attrs: { label: \"备注\", align: \"center\", prop: \"remark\" },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"短信 API 的账号\",\n align: \"center\",\n prop: \"apiKey\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"短信 API 的密钥\",\n align: \"center\",\n prop: \"apiSecret\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"短信发送回调 URL\",\n align: \"center\",\n prop: \"callbackUrl\",\n },\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"创建时间\",\n align: \"center\",\n prop: \"createTime\",\n width: \"180\",\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\"span\", [\n _vm._v(_vm._s(_vm.parseTime(scope.row.createTime))),\n ]),\n ]\n },\n },\n ]),\n }),\n _c(\"el-table-column\", {\n attrs: {\n label: \"操作\",\n align: \"center\",\n \"class-name\": \"small-padding fixed-width\",\n },\n scopedSlots: _vm._u([\n {\n key: \"default\",\n fn: function (scope) {\n return [\n _c(\n \"el-button\",\n {\n directives: [\n {\n name: \"hasPermi\",\n rawName: \"v-hasPermi\",\n value: [\"system:sms-channel:update\"],\n expression: \"['system:sms-channel:update']\",\n },\n ],\n attrs: {\n size: \"mini\",\n type: \"text\",\n icon: \"el-icon-edit\",\n },\n on: {\n click: function ($event) {\n return _vm.handleUpdate(scope.row)\n },\n },\n },\n [_vm._v(\"修改\")]\n ),\n _c(\n \"el-button\",\n {\n directives: [\n {\n name: \"hasPermi\",\n rawName: \"v-hasPermi\",\n value: [\"system:sms-channel:delete\"],\n expression: \"['system:sms-channel:delete']\",\n },\n ],\n attrs: {\n size: \"mini\",\n type: \"text\",\n icon: \"el-icon-delete\",\n },\n on: {\n click: function ($event) {\n return _vm.handleDelete(scope.row)\n },\n },\n },\n [_vm._v(\"删除\")]\n ),\n ]\n },\n },\n ]),\n }),\n ],\n 1\n ),\n _c(\"pagination\", {\n directives: [\n {\n name: \"show\",\n rawName: \"v-show\",\n value: _vm.total > 0,\n expression: \"total > 0\",\n },\n ],\n attrs: {\n total: _vm.total,\n page: _vm.queryParams.pageNo,\n limit: _vm.queryParams.pageSize,\n },\n on: {\n \"update:page\": function ($event) {\n return _vm.$set(_vm.queryParams, \"pageNo\", $event)\n },\n \"update:limit\": function ($event) {\n return _vm.$set(_vm.queryParams, \"pageSize\", $event)\n },\n pagination: _vm.getList,\n },\n }),\n _c(\n \"el-dialog\",\n {\n attrs: {\n title: _vm.title,\n visible: _vm.open,\n width: \"500px\",\n \"append-to-body\": \"\",\n },\n on: {\n \"update:visible\": function ($event) {\n _vm.open = $event\n },\n },\n },\n [\n _c(\n \"el-form\",\n {\n ref: \"form\",\n attrs: {\n model: _vm.form,\n rules: _vm.rules,\n \"label-width\": \"80px\",\n },\n },\n [\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信签名\", prop: \"signature\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信签名\" },\n model: {\n value: _vm.form.signature,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"signature\", $$v)\n },\n expression: \"form.signature\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"渠道编码\", prop: \"code\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入渠道编码\" },\n model: {\n value: _vm.form.code,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"code\", $$v)\n },\n expression: \"form.code\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"启用状态\" } },\n [\n _c(\n \"el-radio-group\",\n {\n model: {\n value: _vm.form.status,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"status\", $$v)\n },\n expression: \"form.status\",\n },\n },\n _vm._l(\n this.getDictDatas(_vm.DICT_TYPE.COMMON_STATUS),\n function (dict) {\n return _c(\n \"el-radio\",\n {\n key: dict.value,\n attrs: { label: parseInt(dict.value) },\n },\n [_vm._v(_vm._s(dict.label))]\n )\n }\n ),\n 1\n ),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"备注\", prop: \"remark\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入备注\" },\n model: {\n value: _vm.form.remark,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"remark\", $$v)\n },\n expression: \"form.remark\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信 API 的账号\", prop: \"apiKey\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信 API 的账号\" },\n model: {\n value: _vm.form.apiKey,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"apiKey\", $$v)\n },\n expression: \"form.apiKey\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信 API 的密钥\", prop: \"apiSecret\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信 API 的密钥\" },\n model: {\n value: _vm.form.apiSecret,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"apiSecret\", $$v)\n },\n expression: \"form.apiSecret\",\n },\n }),\n ],\n 1\n ),\n _c(\n \"el-form-item\",\n { attrs: { label: \"短信发送回调 URL\", prop: \"callbackUrl\" } },\n [\n _c(\"el-input\", {\n attrs: { placeholder: \"请输入短信发送回调 URL\" },\n model: {\n value: _vm.form.callbackUrl,\n callback: function ($$v) {\n _vm.$set(_vm.form, \"callbackUrl\", $$v)\n },\n expression: \"form.callbackUrl\",\n },\n }),\n ],\n 1\n ),\n ],\n 1\n ),\n _c(\n \"div\",\n {\n staticClass: \"dialog-footer\",\n attrs: { slot: \"footer\" },\n slot: \"footer\",\n },\n [\n _c(\n \"el-button\",\n { attrs: { type: \"primary\" }, on: { click: _vm.submitForm } },\n [_vm._v(\"确 定\")]\n ),\n _c(\"el-button\", { on: { click: _vm.cancel } }, [_vm._v(\"取 消\")]),\n ],\n 1\n ),\n ],\n 1\n ),\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\n\n\n//# sourceURL=webpack:///./src/views/system/sms/smsChannel.vue?./node_modules/cache-loader/dist/cjs.js?%7B%22cacheDirectory%22:%22node_modules/.cache/vue-loader%22,%22cacheIdentifier%22:%228e17e5e2-vue-loader-template%22%7D!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options");
1488 1488  
1489 1489 /***/ }),
1490 1490  
... ... @@ -4707,4 +4707,4 @@ eval(&quot;__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _nod
4707 4707  
4708 4708 /***/ })
4709 4709  
4710   -}]);
4711 4710 \ No newline at end of file
  4711 +}]);
... ...
yudao-ui-admin/src/views/pay/app/components/wechatChannelForm.vue
... ... @@ -29,14 +29,14 @@
29 29 </el-radio>
30 30 </el-radio-group>
31 31 </el-form-item>
32   - <el-form-item label-width="180px" label="商户秘钥" prop="weChatConfig.mchKey"
  32 + <el-form-item label-width="180px" label="商户密钥" prop="weChatConfig.mchKey"
33 33 v-if="form.weChatConfig.apiVersion === 'v2'">
34   - <el-input v-model="form.weChatConfig.mchKey" placeholder="请输入商户秘钥" clearable
  34 + <el-input v-model="form.weChatConfig.mchKey" placeholder="请输入商户密钥" clearable
35 35 :style="{width: '100%'}" type="textarea" :autosize="{minRows: 8, maxRows: 8}"></el-input>
36 36 </el-form-item>
37 37 <div v-if="form.weChatConfig.apiVersion === 'v3'">
38   - <el-form-item label-width="180px" label="API V3秘钥" prop="weChatConfig.apiV3Key">
39   - <el-input v-model="form.weChatConfig.apiV3Key" placeholder="请输入API V3秘钥" clearable
  38 + <el-form-item label-width="180px" label="API V3密钥" prop="weChatConfig.apiV3Key">
  39 + <el-input v-model="form.weChatConfig.apiV3Key" placeholder="请输入API V3密钥" clearable
40 40 :style="{width: '100%'}" type="textarea" :autosize="{minRows: 8, maxRows: 8}"></el-input>
41 41 </el-form-item>
42 42 <el-form-item label-width="180px" label="apiclient_key.perm证书" prop="weChatConfig.privateKeyContent">
... ... @@ -164,7 +164,7 @@ export default {
164 164 }],
165 165 'weChatConfig.mchKey': [{
166 166 required: true,
167   - message: '请输入商户秘钥',
  167 + message: '请输入商户密钥',
168 168 trigger: 'blur'
169 169 }],
170 170 'weChatConfig.privateKeyContent': [{
... ... @@ -179,7 +179,7 @@ export default {
179 179 }],
180 180 'weChatConfig.apiV3Key': [{
181 181 required: true,
182   - message: '请上传apiV3秘钥值',
  182 + message: '请上传apiV3密钥值',
183 183 trigger: 'blur'
184 184 }],
185 185 },
... ...
yudao-ui-admin/src/views/system/sms/smsChannel.vue
... ... @@ -39,7 +39,7 @@
39 39 <template slot-scope="scope">
40 40 <dict-tag :type="DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE" :value="scope.row.code"/>
41 41 </template>
42   - </el-table-column>>
  42 + </el-table-column>
43 43 <el-table-column label="启用状态" align="center" prop="status">
44 44 <template slot-scope="scope">
45 45 <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status"/>
... ... @@ -47,7 +47,7 @@
47 47 </el-table-column>>
48 48 <el-table-column label="备注" align="center" prop="remark" />
49 49 <el-table-column label="短信 API 的账号" align="center" prop="apiKey" />
50   - <el-table-column label="短信 API 的秘钥" align="center" prop="apiSecret" />
  50 + <el-table-column label="短信 API 的密钥" align="center" prop="apiSecret" />
51 51 <el-table-column label="短信发送回调 URL" align="center" prop="callbackUrl" />
52 52 <el-table-column label="创建时间" align="center" prop="createTime" width="180">
53 53 <template slot-scope="scope">
... ... @@ -68,13 +68,16 @@
68 68 @pagination="getList"/>
69 69  
70 70 <!-- 对话框(添加 / 修改) -->
71   - <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
72   - <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  71 + <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
  72 + <el-form ref="form" :model="form" :rules="rules" label-width="130px">
73 73 <el-form-item label="短信签名" prop="signature">
74 74 <el-input v-model="form.signature" placeholder="请输入短信签名" />
75 75 </el-form-item>
76 76 <el-form-item label="渠道编码" prop="code">
77   - <el-input v-model="form.code" placeholder="请输入渠道编码" />
  77 + <el-select v-model="form.code" placeholder="请选择渠道编码" clearable>
  78 + <el-option v-for="dict in this.getDictDatas(DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE)"
  79 + :key="dict.value" :label="dict.label" :value="dict.value"/>
  80 + </el-select>
78 81 </el-form-item>
79 82 <el-form-item label="启用状态">
80 83 <el-radio-group v-model="form.status">
... ... @@ -88,8 +91,8 @@
88 91 <el-form-item label="短信 API 的账号" prop="apiKey">
89 92 <el-input v-model="form.apiKey" placeholder="请输入短信 API 的账号" />
90 93 </el-form-item>
91   - <el-form-item label="短信 API 的秘钥" prop="apiSecret">
92   - <el-input v-model="form.apiSecret" placeholder="请输入短信 API 的秘钥" />
  94 + <el-form-item label="短信 API 的密钥" prop="apiSecret">
  95 + <el-input v-model="form.apiSecret" placeholder="请输入短信 API 的密钥" />
93 96 </el-form-item>
94 97 <el-form-item label="短信发送回调 URL" prop="callbackUrl">
95 98 <el-input v-model="form.callbackUrl" placeholder="请输入短信发送回调 URL" />
... ...