{"version":3,"sources":["webpack:///./src/apps/open/views/devCenter/myApp/Setting/AppKey.vue?4324","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Developer.vue?0aa3","webpack:///./src/apps/open/views/devCenter/myApp/Setting/PersonCallback.vue?3850","webpack:///./src/apps/open/components/DialogBodys/InputForm.vue?ec25","webpack:///./src/apps/open/components/DialogBodys/InputForm.vue","webpack:///./src/apps/open/components/DialogBodys/InputForm.vue?7639","webpack:///./src/apps/open/components/DialogBodys/InputForm.vue?bb02","webpack:///./static/images/open/eye_close.svg","webpack:///./src/apps/open/components/AddOrRemove/AddOrRemove.vue?db29","webpack:///./static/images/open/eye_open.svg","webpack:///./src/apps/open/components/DialogBodys/app/EditDomainWhitelist.vue?db73","webpack:///./src/apps/open/components/DialogBodys/app/EditInceptMsgAdressForm.vue?6ab5","webpack:///./src/apps/open/components/DialogBodys/app/EditIpWhitelist.vue?ee52","webpack:///./src/apps/open/components/DialogBodys/app/ViewInceptMsgAdress.vue?6408","webpack:///./src/apps/open/components/DialogBodys/app/EditMsgType.vue?6478","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Index.vue?5091","webpack:///./src/apps/open/components/DialogBodys/app/EditCsrfWhitelistDialogBody.vue?3dcc","webpack:///./src/apps/open/services/vasopen.ts","webpack:///./src/apps/open/components/Question/Question.vue?39ce","webpack:///./src/apps/open/views/devCenter/myApp/Setting/AppKey.vue?d522","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Index.vue?a28d","webpack:///./src/apps/open/components/Question/Question.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/AppKey.vue?12e8","webpack:///./src/apps/open/components/Question/Question.vue?35c1","webpack:///./src/apps/open/components/Question/Question.vue?b67b","webpack:///./src/apps/open/components/Question/Question.vue?9bef","webpack:///./src/apps/open/components/Question/index.ts","webpack:///./src/apps/open/views/devCenter/myApp/Setting/AppKey.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/AppKey.vue?7667","webpack:///./src/apps/open/views/devCenter/myApp/Setting/AppKey.vue?0d92","webpack:///./src/apps/open/views/devCenter/myApp/Setting/IPWhitelist.vue?6155","webpack:///./src/apps/open/components/DialogBodys/app/EditIpWhitelist.vue?932c","webpack:///./src/apps/open/components/DialogBodys/app/EditIpWhitelist.vue","webpack:///./src/apps/open/components/DialogBodys/app/EditIpWhitelist.vue?032a","webpack:///./src/apps/open/components/DialogBodys/app/EditIpWhitelist.vue?26ad","webpack:///./src/apps/open/views/devCenter/myApp/Setting/IPWhitelist.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/IPWhitelist.vue?16db","webpack:///./src/apps/open/views/devCenter/myApp/Setting/IPWhitelist.vue?0e67","webpack:///./src/apps/open/views/devCenter/myApp/Setting/DomainWhitelist.vue?91ec","webpack:///./src/apps/open/components/DialogBodys/app/EditDomainWhitelist.vue?9901","webpack:///./src/apps/open/components/AddOrRemove/AddOrRemove.vue?ab1f","webpack:///./src/apps/open/components/AddOrRemove/AddOrRemove.vue","webpack:///./src/apps/open/components/AddOrRemove/AddOrRemove.vue?4505","webpack:///./src/apps/open/components/AddOrRemove/AddOrRemove.vue?e63d","webpack:///./src/apps/open/components/AddOrRemove/index.ts","webpack:///./src/apps/open/components/DialogBodys/app/EditDomainWhitelist.vue","webpack:///./src/apps/open/components/DialogBodys/app/EditDomainWhitelist.vue?f28d","webpack:///./src/apps/open/components/DialogBodys/app/EditDomainWhitelist.vue?a09a","webpack:///./src/apps/open/views/devCenter/myApp/Setting/DomainWhitelist.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/DomainWhitelist.vue?ed58","webpack:///./src/apps/open/views/devCenter/myApp/Setting/DomainWhitelist.vue?f710","webpack:///./src/apps/open/views/devCenter/myApp/Setting/CsrfWhitelistSetting.vue?b234","webpack:///./src/apps/open/components/DialogBodys/app/EditCsrfWhitelistDialogBody.vue?14f4","webpack:///./src/apps/open/components/DialogBodys/app/EditCsrfWhitelistDialogBody.vue","webpack:///./src/apps/open/components/DialogBodys/app/EditCsrfWhitelistDialogBody.vue?ee11","webpack:///./src/apps/open/components/DialogBodys/app/EditCsrfWhitelistDialogBody.vue?e9ed","webpack:///./src/apps/open/views/devCenter/myApp/Setting/CsrfWhitelistSetting.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/CsrfWhitelistSetting.vue?7abb","webpack:///./src/apps/open/views/devCenter/myApp/Setting/CsrfWhitelistSetting.vue?c1b0","webpack:///./src/apps/open/views/devCenter/myApp/Setting/PersonCallback.vue?6206","webpack:///./src/apps/open/components/DialogBodys/app/EditPauthCallback.vue?0781","webpack:///./src/apps/open/components/DialogBodys/app/EditPauthCallback.vue","webpack:///./src/apps/open/components/DialogBodys/app/EditPauthCallback.vue?f664","webpack:///./src/apps/open/components/DialogBodys/app/EditPauthCallback.vue?df0a","webpack:///./src/apps/open/views/devCenter/myApp/Setting/PersonCallback.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/PersonCallback.vue?bd76","webpack:///./src/apps/open/views/devCenter/myApp/Setting/PersonCallback.vue?4297","webpack:///./src/apps/open/views/devCenter/myApp/Setting/CorpAuthNotify.vue?9747","webpack:///./src/apps/open/views/devCenter/myApp/Setting/CorpAuthNotify.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/CorpAuthNotify.vue?6d88","webpack:///./src/apps/open/views/devCenter/myApp/Setting/CorpAuthNotify.vue?85dc","webpack:///./src/apps/open/views/devCenter/myApp/Setting/InceptMsgAdress.vue?eee9","webpack:///./src/apps/open/components/DialogBodys/app/EditInceptMsgAdressForm.vue?e885","webpack:///./src/apps/open/components/DialogBodys/app/EditInceptMsgAdressForm.vue","webpack:///./src/apps/open/components/DialogBodys/app/EditInceptMsgAdressForm.vue?c5cf","webpack:///./src/apps/open/components/DialogBodys/app/EditInceptMsgAdressForm.vue?40e9","webpack:///./src/apps/open/components/DialogBodys/app/ViewInceptMsgAdress.vue?72b8","webpack:///./src/apps/open/components/DialogBodys/app/ViewInceptMsgAdress.vue","webpack:///./src/apps/open/components/DialogBodys/app/ViewInceptMsgAdress.vue?8382","webpack:///./src/apps/open/components/DialogBodys/app/ViewInceptMsgAdress.vue?eea0","webpack:///./src/apps/open/components/DialogBodys/app/EditMsgType.vue?ef08","webpack:///./src/apps/open/components/DialogBodys/app/EditMsgType.vue","webpack:///./src/apps/open/components/DialogBodys/app/EditMsgType.vue?2441","webpack:///./src/apps/open/components/DialogBodys/app/EditMsgType.vue?751d","webpack:///./src/apps/open/views/devCenter/myApp/Setting/InceptMsgAdress.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/InceptMsgAdress.vue?8e95","webpack:///./src/apps/open/views/devCenter/myApp/Setting/InceptMsgAdress.vue?4ec0","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Pay.vue?f63b","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Pay.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Pay.vue?55ba","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Pay.vue?8992","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Developer.vue?d2ad","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Developer.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Developer.vue?45a5","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Developer.vue?1b80","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Index.vue","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Index.vue?349c","webpack:///./src/apps/open/views/devCenter/myApp/Setting/Index.vue?b989"],"names":["render","_vm","this","_h","$createElement","_c","_self","ref","attrs","form","rules","_b","placeholder","model","value","callback","$$v","$set","expression","inputProps","staticRenderFns","input","$refs","validate","then","valid","submit","$on","onOk","default","componentName","component","module","exports","resourceName","getVasInfo","id","url","method","Get","getVasList","data","params","setVasCallkack","Post","EPosition","staticClass","_v","_m","_s","appId","isPrivate","_e","isPriDocMiddle","vasInfo","isAppAdmin","on","onView","onReset","tipContent","class","position","content","slot","_t","components","Button","dialogBody","$dialog","show","title","width","body","buttons","text","type","fn","resetAppKey","verifyPhone","action","RESET_APPKEY","okBtn","cb","viewAppKey","VIEW_APPKEY","confirmReset","open_ssid","res","appKey","object","isCopy","message","$route","$store","getters","VerifyPhone","Question","ipList","viewIpWhitelist","setIpWhitelist","IP_URL","errorMsg","invalidIpList","domProps","join","onCancel","validator","length","trim","split","forEach","i","ip","ipRegexp","test","push","submitting","newIpList","EditIpWhitelist","bodyProps","close","submitIpWhitelist","map","filter","$message","success","addList","removeList","requestList","app","Promise","all","load","object_array","item","viewDomainWhitelist","setDomainWhitelist","DOMAIN_URL","settingFileUrl","_l","domain","index","key","domainList","addAble","addDomain","$event","removeDomain","submitCount","disabledSubmit","onSubmit","$emit","DOMAIN_COUNT_LIMIT","required","splice","some","AddOrRemove","dialogButtons","cancelBtn","editable","EditDomainWhitelist","submitDomain","setData","times","Object","keys","warning","result","OK","error","msg","setCsrfWhitelist","csrfWhiteList","initData","csrf_white_list","EditCsrfWhitelistDialogBody","callbackList","viewCallbackList","setCallbackList","CALLBACK_URL","callbackUrl","isSandbox","addItem","removeItem","PAUTH_CALLBACK_COUNT_LIMIT","store","urlReg","RegExp","urlRule","pattern","className","EditPauthCallback","submitCallbackList","event","dispatch","app_id","callback_url","is_sandbox","corpAuthNotifyUrl","showViewDialog","showEditDialog","InputForm","submitUrl","CORP_AUTH_NOTIFY_DOC_URL","showMsgType","staticStyle","topicLength","open_msg_notify_url","catch","e","topic","activeName","tableData","scopedSlots","_u","scope","row","originChecked","name","status","hasNewChecked","handleSubmit","newTopic","checked","initTableData","valueKeys","flag","v","includes","originCheckedSum","checkedSum","inceptMsgAdress","appExtraInfo","submitTopic","switchPaySecret","hidePaySecret","secret","showServiceInfo","PAY_DOC_URL","viewCallbackUrl","setCallbackUrl","$confirm","serviceId","subjectId","dangerouslyUseHTMLString","cancelButtonText","showConfirmButton","cb_url","submitCallbackUrl","service_list","retail_subject","handleAdd","developers","userid","username","removeSubmitLoading","removeId","removeDeveloper","addSubmitLoading","selectedUsers","ids","loadDevelopers","keepAlive","AdminSelector","filterRoles","selectedIds","disabledIds","addDeveloper","showCorpAuthNotifyUrl","showInceptMsgAdress","function_name","loadInfo","AppKeySettiing","AppKey","IPWhitelistSetting","IPWhitelist","DomainWhitelistSetting","DomainWhitelist","PersonCallbackSetting","PersonCallback","corpAuthNotifySetting","PaySetting","Pay","DeveloperSetting","Developer","InceptMsgAdress","CsrfWhitelistSetting"],"mappings":"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","file":"js/app-setting.16f6e386.js","sourcesContent":["import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppKey.vue?vue&type=style&index=1&lang=scss&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppKey.vue?vue&type=style&index=1&lang=scss&\"","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Developer.vue?vue&type=style&index=0&id=47861f3b&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Developer.vue?vue&type=style&index=0&id=47861f3b&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonCallback.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonCallback.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"form\",attrs:{\"model\":_vm.form}},[_c('el-form-item',{attrs:{\"rules\":_vm.rules,\"prop\":\"input\"}},[_c('el-input',_vm._b({attrs:{\"placeholder\":_vm.placeholder},model:{value:(_vm.form.input),callback:function ($$v) {_vm.$set(_vm.form, \"input\", $$v)},expression:\"form.input\"}},'el-input',_vm.inputProps,false))],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport { ElForm } from 'element-ui/types/form'\n\n@Component({\n componentName: 'InputFormDialogBody'\n})\nexport default class InputFormDialogBody extends Vue {\n @Prop({\n default: ''\n })\n value?: string\n\n @Prop()\n rules!: any\n\n @Prop()\n placeholder?: string\n\n @Prop()\n inputProps?: any\n\n @Prop()\n submit!: Function\n\n $refs!: {\n form: ElForm\n }\n\n form = {\n input: this.value\n }\n\n onOk () {\n this.$refs.form.validate().then((valid: boolean) => {\n if (valid) {\n this.submit(this.form.input)\n }\n })\n }\n\n mounted () {\n this.$on('onOk', this.onOk)\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InputForm.vue?vue&type=template&id=35c976b0&\"\nimport script from \"./InputForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./InputForm.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/eye_close.ec816e26.svg\";","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddOrRemove.vue?vue&type=style&index=0&id=09274730&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddOrRemove.vue?vue&type=style&index=0&id=09274730&lang=scss&scoped=true&\"","module.exports = __webpack_public_path__ + \"img/eye_open.b749d906.svg\";","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDomainWhitelist.vue?vue&type=style&index=0&id=6cfd2944&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDomainWhitelist.vue?vue&type=style&index=0&id=6cfd2944&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditInceptMsgAdressForm.vue?vue&type=style&index=0&id=4ff30799&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditInceptMsgAdressForm.vue?vue&type=style&index=0&id=4ff30799&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditIpWhitelist.vue?vue&type=style&index=0&id=0e8bc1d3&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditIpWhitelist.vue?vue&type=style&index=0&id=0e8bc1d3&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewInceptMsgAdress.vue?vue&type=style&index=0&id=6bd2d15e&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewInceptMsgAdress.vue?vue&type=style&index=0&id=6bd2d15e&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditMsgType.vue?vue&type=style&index=0&id=1f092853&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditMsgType.vue?vue&type=style&index=0&id=1f092853&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=style&index=0&id=0294cd68&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=style&index=0&id=0294cd68&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCsrfWhitelistDialogBody.vue?vue&type=style&index=0&id=0e1f7df4&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCsrfWhitelistDialogBody.vue?vue&type=style&index=0&id=0e1f7df4&lang=scss&scoped=true&\"","import axios, { Method } from '@/apps/open/utils/axios'\n\nconst resourceName = '/serviceapi/vas_open'\n\nexport function getVasInfo (id: string) {\n return axios({ url: `${resourceName}/v1/${id}`, method: Method.Get })\n}\n\nexport function getVasList (id: string, data: object) {\n return axios({ url: `${resourceName}/v1/${id}/order`, method: Method.Get, params: data })\n}\n\nexport function setVasCallkack (id: string, data: object) {\n return axios({ url: `${resourceName}/v1/${id}`, method: Method.Post, data: data })\n}\n","import mod from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Question.vue?vue&type=style&index=0&id=9b3f9808&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Question.vue?vue&type=style&index=0&id=9b3f9808&lang=scss&scoped=true&\"","import mod from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppKey.vue?vue&type=style&index=0&id=ee0badfc&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../../node_modules/sass-loader/lib/loader.js??ref--8-oneOf-1-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppKey.vue?vue&type=style&index=0&id=ee0badfc&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"root\"},[_c('span',{staticClass:\"card_title\"},[_vm._v(\"基本设置\")]),_c('div',{staticClass:\"card_title_line\"}),_c('div',{staticClass:\"app-setting-block\"},[_vm._m(0),_c('div',{staticClass:\"app-setting-block-body\"},[_c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(\"APPID\")]),_c('div',[_c('div',[_vm._v(_vm._s(_vm.appId))]),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"APPID是开发者识别码,配合APPKEY可调用接口\")])])]),_c('AppKeySettiing'),_c('IPWhitelistSetting'),(!_vm.isPrivate)?_c('DomainWhitelistSetting'):_vm._e(),(_vm.isPriDocMiddle)?_c('CsrfWhitelistSetting'):_vm._e(),(!_vm.isPriDocMiddle)?_c('PersonCallbackSetting'):_vm._e(),(_vm.showCorpAuthNotifyUrl)?_c('corpAuthNotifySetting'):_vm._e(),(!_vm.isPrivate)?_c('InceptMsgAdress'):_vm._e()],1)]),(_vm.vasInfo)?_c('PaySetting',{attrs:{\"vasInfo\":_vm.vasInfo}}):_vm._e(),(!_vm.isPriDocMiddle)?_c('DeveloperSetting'):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-header\"},[_c('span',{staticClass:\"app-setting-block-title\"},[_vm._v(\"开发信息\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport Button from '@/apps/open/components/Button'\n\nexport enum EPosition {\n LEFT = 'left',\n RIGHT = 'right'\n}\n\n@Component({\n components: {\n Button\n }\n})\nexport default class Question extends Vue {\n @Prop()\n position?: EPosition\n\n @Prop()\n content?: string\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(\"APPKEY\")]),_c('div',[_c('div',[[_c('Button',{attrs:{\"type\":\"text\",\"disabled\":!_vm.isAppAdmin},on:{\"click\":_vm.onView}},[_vm._v(\"查看\")]),_c('Button',{staticClass:\"app-key-reset-btn\",attrs:{\"type\":\"text\",\"disabled\":!_vm.isAppAdmin},on:{\"click\":_vm.onReset}},[_vm._v(\"重置\")])],_c('Question',{attrs:{\"position\":\"right\",\"content\":_vm.tipContent}})],2),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"APPKEY是校验开发者身份的密码,具有极高的安全性,切记勿把密码直接交给第三方开发者或者存储在代码中。\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-popover',{class:_vm.position,attrs:{\"trigger\":\"hover\",\"content\":_vm.content}},[_c('Button',{staticClass:\"icon-question\",attrs:{\"slot\":\"reference\",\"size\":\"medium\",\"type\":\"text\",\"icon\":\"el-icon-question\"},slot:\"reference\"}),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Question.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Question.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Question.vue?vue&type=template&id=9b3f9808&scoped=true&\"\nimport script from \"./Question.vue?vue&type=script&lang=ts&\"\nexport * from \"./Question.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Question.vue?vue&type=style&index=0&id=9b3f9808&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9b3f9808\",\n null\n \n)\n\nexport default component.exports","import Question from './Question.vue'\nexport default Question\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Mixins } from 'vue-property-decorator'\nimport { resetAppKey, getAppKey } from '@/apps/open/services/app'\nimport VerifyPhoneMixin from '@/apps/open/mixins/VerifyPhone'\nimport Question from '@/apps/open/components/Question'\nimport Button from '@/apps/open/components/Button'\nimport { EVerifyPhoneAction } from '@/apps/open/types'\nimport { onRequestError } from '@/apps/open/utils'\n\n@Component({\n components: {\n Question,\n Button\n }\n})\nexport default class AppKeySetting extends Mixins(VerifyPhoneMixin) {\n get appId () {\n return this.$route.params.id\n }\n\n get userInfo () {\n return this.$store.getters['User/userInfo']\n }\n\n get isAppAdmin () {\n return this.$store.getters['isAppAdmin']\n }\n\n get tipContent () {\n return this.isAppAdmin ? '为了保障数据安全,WPS开放平台将不再明文显示APPKEY,如果泄露,请重置' : '仅应用管理员可查看/重置APPKEY'\n }\n\n get isPrivate () {\n return this.$store.getters['isPrivate']\n }\n\n confirmReset () {\n const dialogBody = `\n
\n
确定要重置APPKEY吗?
\n
重置后立即生效,所有使用旧APPKEY的接口将立即失效。为确保应用的正常使用,请尽快更新APPKEY信息
\n
\n `\n this.$dialog.show({\n title: '重置须知',\n width: '400px',\n body: dialogBody,\n buttons: [\n { text: '取消' },\n {\n text: '重置',\n type: 'primary',\n fn: () => {\n this.isPrivate ? this.resetAppKey() : this.verifyPhone({\n title: '重置APPKEY',\n action: EVerifyPhoneAction.RESET_APPKEY,\n okBtn: '下一步',\n cb: this.resetAppKey\n })\n }\n }\n ]\n })\n }\n\n onView () {\n this.isPrivate ? this.viewAppKey() : this.verifyPhone({\n title: '查看APPKEY',\n action: EVerifyPhoneAction.VIEW_APPKEY,\n okBtn: '下一步',\n cb: this.viewAppKey\n })\n }\n\n onReset () {\n this.confirmReset()\n }\n\n async viewAppKey (open_ssid?: string) {\n try {\n const res = await getAppKey(this.appId, open_ssid)\n const appKey = res.data.object\n const dialogBody = `\n
\n
WPS开放平台将不再存储和显示,请妥善保存
\n
\n APPID\n ${this.appId}\n
\n
\n APPKEY\n ${appKey}\n
\n
\n `\n this.$dialog.show({\n title: '查看APPKEY',\n body: dialogBody,\n buttons: [\n { text: '复制APPKEY', type: 'primary', isCopy: true, message: appKey }\n ]\n })\n } catch (error) {\n onRequestError(error)\n }\n }\n\n async resetAppKey (open_ssid?: string) {\n try {\n const res = await resetAppKey(this.appId, open_ssid)\n const appKey = res.data.object\n const dialogBody = `\n
\n
APPKEY已重置,WPS开放平台将不再存储和显示,请妥善保存
\n
\n APPID\n ${this.appId}\n
\n
\n APPKEY\n ${appKey}\n
\n
\n `\n this.$dialog.show({\n title: '重置APPKEY',\n body: dialogBody,\n buttons: [\n { text: '复制APPKEY', type: 'primary', isCopy: true, message: appKey }\n ]\n })\n } catch (error) {\n onRequestError(error)\n }\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppKey.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppKey.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppKey.vue?vue&type=template&id=ee0badfc&scoped=true&\"\nimport script from \"./AppKey.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppKey.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppKey.vue?vue&type=style&index=0&id=ee0badfc&lang=scss&scoped=true&\"\nimport style1 from \"./AppKey.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ee0badfc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(\"IP白名单\")]),_c('div',[_c('div',[(_vm.ipList.length)?_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.viewIpWhitelist}},[_vm._v(\"查看\")]):_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.setIpWhitelist}},[_vm._v(\"配置\")])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"配置IP白名单后,可以在该IP来源下调用WPS开放的特定接口\"),(!_vm.isPrivate)?[_vm._v(\",详情见\"),_c('Button',{attrs:{\"type\":\"text\",\"url\":_vm.IP_URL}},[_vm._v(\"接口文档\")]),_vm._v(\"。\")]:_vm._e()],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-input',{staticClass:\"ip-input\",attrs:{\"type\":\"textarea\",\"placeholder\":\"多个IP地址请用回车隔开\",\"resize\":\"none\",\"rows\":10},model:{value:(_vm.ipList),callback:function ($$v) {_vm.ipList=$$v},expression:\"ipList\"}}),(_vm.errorMsg)?_c('div',{staticClass:\"error-wrap\"},[_c('span',{staticClass:\"el-form-item__error el-form-item__error--inline error-msg\"},[_vm._v(_vm._s(_vm.errorMsg))]),(_vm.invalidIpList.length)?_c('el-popover',{staticClass:\"error-detail\",attrs:{\"trigger\":\"hover\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.invalidIpList.join('
'))}}),_c('Button',{attrs:{\"slot\":\"reference\",\"type\":\"text\"},slot:\"reference\"},[_vm._v(\"查看详情\")])],1):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"open-dialog-footer\"},[_c('span',[_c('Button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.onCancel}},[_vm._v(\"取消\")]),_c('Button',{attrs:{\"size\":\"small\",\"type\":\"primary\"},on:{\"click\":_vm.submit}},[_vm._v(\"确定\")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator'\nimport Button from '@/apps/open/components/Button'\n\n@Component({\n components: {\n Button\n }\n})\nexport default class EditIpWhitelistDialogBody extends Vue {\n @Prop()\n value!: string[]\n\n @Prop()\n onCancel!: Function\n\n @Prop()\n onOk!: Function\n\n ipList = this.value.join('\\n')\n errorMsg = ''\n invalidIpList: string[] = []\n\n @Watch('ipList')\n onIpListChange () {\n this.errorMsg = ''\n }\n\n submit () {\n this.validator()\n if (this.errorMsg) {\n return\n }\n this.onOk(this.ipList)\n }\n\n validator () {\n this.invalidIpList.length = 0\n\n if (!this.ipList.trim()) {\n this.errorMsg = '请输入IP'\n return\n }\n\n this.ipList.split('\\n').forEach((i: string) => {\n const ip = i.trim()\n const ipRegexp = /^(([01]?\\d?\\d|2[0-4]\\d|25[0-5])\\.){3}([01]?\\d?\\d|2[0-4]\\d|25[0-5])(\\/(\\d{1}|[0-2]{1}\\d{1}|3[0-2]))?$/\n if (ip !== '' && !ipRegexp.test(ip)) {\n this.invalidIpList.push(ip)\n }\n })\n\n if (this.invalidIpList.length) {\n this.errorMsg = '含有不合法的IP地址,多个IP地址请用回车隔开'\n }\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditIpWhitelist.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditIpWhitelist.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditIpWhitelist.vue?vue&type=template&id=0e8bc1d3&scoped=true&\"\nimport script from \"./EditIpWhitelist.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditIpWhitelist.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditIpWhitelist.vue?vue&type=style&index=0&id=0e8bc1d3&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e8bc1d3\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Mixins } from 'vue-property-decorator'\nimport { difference } from 'lodash'\nimport Button from '@/apps/open/components/Button'\nimport { ACCESS_KNOW_URL } from '@/apps/open/constants'\nimport { getIpWhitelist, appendIPWhitelist, removeIPWhitelist } from '@/apps/open/services/app'\nimport EditIpWhitelistDialogBody from '@/apps/open/components/DialogBodys/app/EditIpWhitelist.vue'\nimport { onRequestError } from '@/apps/open/utils'\n\n@Component({\n components: {\n Button\n }\n})\nexport default class IPWhitelistSetting extends Vue {\n IP_URL = ACCESS_KNOW_URL\n ipList: string[] = []\n submitting = false\n errorMsg = ''\n newIpList = ''\n\n get appId () {\n return this.$route.params.id\n }\n\n get isPrivate () {\n return this.$store.getters['isPrivate']\n }\n\n setIpWhitelist () {\n this.$dialog.show({\n title: 'IP白名单配置',\n body: EditIpWhitelistDialogBody,\n bodyProps: {\n value: this.ipList,\n onCancel: this.$dialog.close,\n onOk: this.submitIpWhitelist\n }\n })\n }\n\n viewIpWhitelist () {\n this.$dialog.show({\n title: 'IP白名单配置',\n body: `
${this.ipList.join('
')}
`,\n buttons: [\n { text: '取消' },\n { text: '修改', type: 'primary', fn: this.setIpWhitelist }\n ]\n })\n }\n\n async submitIpWhitelist (value: string) {\n this.submitting = true\n const newIpList = value.split('\\n').map((i: string) => i.trim()).filter((i: string) => i !== '')\n if (this.ipList.join('\\n') === newIpList.join('\\n')) {\n this.$message.success('IP白名单保存成功')\n this.$dialog.close()\n return\n }\n const addList = difference(newIpList, this.ipList)\n const removeList = difference(this.ipList, newIpList)\n const requestList = []\n if (addList.length) {\n requestList.push(appendIPWhitelist(this.appId, addList))\n }\n if (removeList.length) {\n requestList.push(removeIPWhitelist(this.appId, removeList))\n }\n try {\n await Promise.all(requestList)\n this.load()\n this.$message.success('IP白名单保存成功')\n } catch (error) {\n onRequestError(error)\n }\n this.$dialog.close()\n }\n\n async load () {\n try {\n const res = await getIpWhitelist(this.appId)\n this.ipList = res.data.object_array.map((item: any) => item.ip)\n } catch (error) {\n onRequestError(error)\n }\n }\n\n mounted () {\n this.load()\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IPWhitelist.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IPWhitelist.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IPWhitelist.vue?vue&type=template&id=58cf3e5b&\"\nimport script from \"./IPWhitelist.vue?vue&type=script&lang=ts&\"\nexport * from \"./IPWhitelist.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(_vm._s(_vm.title))]),_c('div',[_c('div',[(_vm.viewable)?_c('Button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.viewDomainWhitelist}},[_vm._v(\"查看\")]):_c('Button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.setDomainWhitelist}},[_vm._v(\"配置\")])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"配置域名白名单后,可以在该域名下调用WPS开放的RPC接口,详情见\"),_c('Button',{attrs:{\"type\":\"text\",\"url\":_vm.DOMAIN_URL}},[_vm._v(\"接口文档\")]),_vm._v(\"。\")],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"msg\"},[_vm._v(\"\\n 配置流程:\"),_c('br'),_vm._v(\"\\n 1. 请先\"),_c('Button',{attrs:{\"type\":\"text\",\"url\":_vm.settingFileUrl}},[_vm._v(\"下载配置文件\")]),_vm._v(\",并将文件放置在域名的根目录下,并确保文件可以访问\"),_c('br'),_vm._v(\"\\n 2. 放置文件后可填写域名,点击【确定】,域名校验通过即可\\n \")],1),_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.form}},_vm._l((_vm.form.domainList),function(domain,index){return _c('el-form-item',{key:index,staticClass:\"input-with-add-remove\",attrs:{\"rules\":_vm.rules,\"prop\":(\"domainList.\" + index)}},[_c('el-input',{staticClass:\"input\",attrs:{\"placeholder\":\"请输入域名,例:open.wps.cn\"},model:{value:(_vm.form.domainList[index]),callback:function ($$v) {_vm.$set(_vm.form.domainList, index, $$v)},expression:\"form.domainList[index]\"}}),_c('AddOrRemove',{attrs:{\"showAdd\":index === 0 && _vm.addAble},on:{\"add\":_vm.addDomain,\"remove\":function($event){return _vm.removeDomain(index)}}})],1)}),1),_c('div',{staticClass:\"open-dialog-footer\"},[_c('div',{staticClass:\"tip\"},[_vm._v(\"\\n 本月剩余保存次数: \"+_vm._s(_vm.submitCount)+\"\\n \"),_c('Question',[_c('div',{staticClass:\"desc\"},[_c('div',[_vm._v(\"注意事项:\")]),_c('div',[_vm._v(\"1.为保持域名校验通过的状态,校验成功后请不要删除配置文件\")]),_c('div',[_vm._v(\"2.域名必须通过ICP备案,新备案域名需24小时后才可配置\")]),_c('div',[_vm._v(\"3.每月可修改并保存3次\")])])])],1),_c('Button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.onCancel}},[_vm._v(\"取消\")]),_c('Button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"disabled\":_vm.disabledSubmit,\"loading\":_vm.submitting},on:{\"click\":_vm.onSubmit}},[_vm._v(\"确定\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.showAdd)?_c('Button',{staticClass:\"btn\",attrs:{\"type\":\"text\",\"size\":\"medium\",\"icon\":\"el-icon-circle-plus-outline\"},on:{\"click\":function($event){return _vm.$emit('add')}}}):_c('Button',{staticClass:\"btn remove\",attrs:{\"type\":\"text\",\"size\":\"medium\",\"icon\":\"el-icon-remove-outline\"},on:{\"click\":function($event){return _vm.$emit('remove')}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport Button from '@/apps/open/components/Button'\n\n@Component({\n components: {\n Button\n }\n})\nexport default class AddOrRemove extends Vue {\n @Prop()\n showAdd!: boolean\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddOrRemove.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddOrRemove.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddOrRemove.vue?vue&type=template&id=09274730&scoped=true&\"\nimport script from \"./AddOrRemove.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddOrRemove.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AddOrRemove.vue?vue&type=style&index=0&id=09274730&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"09274730\",\n null\n \n)\n\nexport default component.exports","import AddOrRemove from './AddOrRemove.vue'\nexport default AddOrRemove\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\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport Button from '@/apps/open/components/Button'\nimport Question from '@/apps/open/components/Question'\nimport AddOrRemove from '@/apps/open/components/AddOrRemove'\nimport { ElForm } from 'element-ui/types/form'\n\nconst DOMAIN_COUNT_LIMIT = 3 // 最多设置三个域名白名单\n\n@Component({\n componentName: 'EditDomainWhitelistDialogBody',\n components: {\n Button,\n Question,\n AddOrRemove\n }\n})\nexport default class EditDomainWhitelistDialogBody extends Vue {\n @Prop()\n domainList!: string[]\n\n @Prop()\n submitCount!: number\n\n @Prop({\n default: false\n })\n submitting?: boolean\n\n @Prop()\n appId?: string\n\n @Prop()\n onCancel!: Function\n\n @Prop()\n onOk!: Function\n\n $refs!: {\n form: ElForm\n }\n\n get addAble () {\n return this.form.domainList.length < DOMAIN_COUNT_LIMIT\n }\n\n get disabledSubmit () {\n return this.form.domainList.some(i => i === '')\n }\n\n get settingFileUrl () {\n return `/serviceapi/openapi/domain/${this.appId}/settingsfile`\n }\n\n form = {\n domainList: this.domainList\n }\n\n rules = [\n { required: true, message: '请输入域名' }\n ]\n\n addDomain () {\n this.form.domainList.push('')\n }\n\n removeDomain (index: number) {\n this.form.domainList.splice(index, 1)\n }\n\n onSubmit () {\n this.$refs.form.validate((valid) => {\n this.onOk(this.form.domainList)\n })\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDomainWhitelist.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditDomainWhitelist.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditDomainWhitelist.vue?vue&type=template&id=6cfd2944&scoped=true&\"\nimport script from \"./EditDomainWhitelist.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditDomainWhitelist.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditDomainWhitelist.vue?vue&type=style&index=0&id=6cfd2944&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6cfd2944\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Mixins } from 'vue-property-decorator'\nimport Button from '@/apps/open/components/Button'\nimport { ACCESS_KNOW_URL } from '@/apps/open/constants'\nimport { getDomainWhitelist, updateDomainWhitelist } from '@/apps/open/services/app'\nimport EditDomainWhitelistDialogBody from '@/apps/open/components/DialogBodys/app/EditDomainWhitelist.vue'\nimport { ErrorCode } from '@/apps/open/utils/axios'\nimport { onRequestError } from '@/apps/open/utils'\n\n@Component({\n components: {\n Button\n },\n data: () => ({\n DOMAIN_URL: ACCESS_KNOW_URL\n })\n})\nexport default class DomainWhitelistSetting extends Vue {\n title = '域名白名单'\n domainList: string[] = []\n submitCount = 0\n submitting = false\n\n get appId () {\n return this.$route.params.id\n }\n\n get viewable () {\n return this.domainList.length > 0\n }\n\n get editable () {\n return this.submitCount > 0\n }\n\n viewDomainWhitelist () {\n const dialogButtons = []\n const cancelBtn = { text: '取消' }\n const okBtn: any = {\n text: this.editable ? '修改' : '确定',\n type: 'primary',\n fn: this.editable ? this.setDomainWhitelist : this.$dialog.close\n }\n if (!this.editable) {\n dialogButtons.push(cancelBtn)\n }\n dialogButtons.push(okBtn)\n this.$dialog.show({\n title: this.title,\n body: this.domainList.join('
'),\n buttons: dialogButtons\n })\n }\n\n setDomainWhitelist () {\n this.$dialog.show({\n title: this.title,\n body: EditDomainWhitelistDialogBody,\n bodyProps: {\n appId: this.appId,\n domainList: this.domainList.length ? [...this.domainList] : [''],\n submitCount: this.submitCount,\n onCancel: this.$dialog.close,\n onOk: this.submitDomain\n }\n })\n }\n\n async load () {\n try {\n const data = await getDomainWhitelist(this.appId)\n this.setData(data.data)\n } catch (error) {\n onRequestError(error)\n }\n }\n\n setData (data: any) {\n this.submitCount = data.times\n this.domainList = []\n Object.keys(data).forEach(key => {\n if (/^domain/.test(key) && data[key]) {\n this.domainList.push(data[key])\n }\n })\n }\n\n async submitDomain (domainList: string[]) {\n if (domainList.join(',') === this.domainList.join(',')) {\n this.$message.warning('域名没有更新,无需重复配置')\n } else {\n try {\n this.submitting = true\n const res = await updateDomainWhitelist(this.appId, domainList)\n const data = res.data\n if (data.result !== ErrorCode.OK) {\n this.$message.error(data.msg)\n return\n }\n this.setData(data)\n this.$message.success('域名白名单保存成功')\n } catch (error) {\n onRequestError(error)\n }\n }\n this.$dialog.close()\n this.submitting = false\n }\n\n mounted () {\n this.load()\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DomainWhitelist.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DomainWhitelist.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DomainWhitelist.vue?vue&type=template&id=5c3f482e&\"\nimport script from \"./DomainWhitelist.vue?vue&type=script&lang=ts&\"\nexport * from \"./DomainWhitelist.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(_vm._s(_vm.title))]),_c('div',[_c('div',[_c('Button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.setCsrfWhitelist}},[_vm._v(\"配置\")])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"配置跨域白名单后,可以在该域名或IP来源下调用开放平台接口\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.form}},_vm._l((_vm.form.domainList),function(domain,index){return _c('el-form-item',{key:index,staticClass:\"input-with-add-remove\",attrs:{\"rules\":_vm.rules,\"prop\":(\"domainList.\" + index)}},[_c('el-input',{staticClass:\"input\",attrs:{\"placeholder\":\"请输入域名或IP,例:open.wps.cn\"},model:{value:(_vm.form.domainList[index]),callback:function ($$v) {_vm.$set(_vm.form.domainList, index, $$v)},expression:\"form.domainList[index]\"}}),_c('AddOrRemove',{attrs:{\"showAdd\":index === 0},on:{\"add\":_vm.addDomain,\"remove\":function($event){return _vm.removeDomain(index)}}})],1)}),1),_c('div',{staticClass:\"open-dialog-footer\"},[_c('Button',{attrs:{\"size\":\"small\"},on:{\"click\":_vm.onCancel}},[_vm._v(\"取消\")]),_c('Button',{attrs:{\"size\":\"small\",\"type\":\"primary\",\"disabled\":_vm.disabledSubmit,\"loading\":_vm.submitting},on:{\"click\":_vm.onSubmit}},[_vm._v(\"确定\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator'\r\nimport Button from '@/apps/open/components/Button'\r\nimport Question from '@/apps/open/components/Question'\r\nimport AddOrRemove from '@/apps/open/components/AddOrRemove'\r\nimport { ElForm } from 'element-ui/types/form'\r\n\r\n@Component({\r\n componentName: 'EditDomainWhitelistDialogBody',\r\n components: {\r\n Button,\r\n Question,\r\n AddOrRemove\r\n }\r\n})\r\nexport default class EditDomainWhitelistDialogBody extends Vue {\r\n @Prop()\r\n domainList!: string[]\r\n\r\n @Prop()\r\n submitCount!: number\r\n\r\n @Prop({\r\n default: false\r\n })\r\n submitting?: boolean\r\n\r\n @Prop()\r\n appId?: string\r\n\r\n @Prop()\r\n onCancel!: Function\r\n\r\n @Prop()\r\n onOk!: Function\r\n\r\n $refs!: {\r\n form: ElForm\r\n }\r\n\r\n get disabledSubmit () {\r\n return this.form.domainList.some(i => i === '')\r\n }\r\n\r\n form = {\r\n domainList: this.domainList\r\n }\r\n\r\n rules = [\r\n { required: true, message: '请输入域名或IP' }\r\n ]\r\n\r\n addDomain () {\r\n this.form.domainList.push('')\r\n }\r\n\r\n removeDomain (index: number) {\r\n this.form.domainList.splice(index, 1)\r\n }\r\n\r\n onSubmit () {\r\n this.$refs.form.validate(() => {\r\n this.onOk(this.form.domainList)\r\n })\r\n }\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCsrfWhitelistDialogBody.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditCsrfWhitelistDialogBody.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditCsrfWhitelistDialogBody.vue?vue&type=template&id=0e1f7df4&scoped=true&\"\nimport script from \"./EditCsrfWhitelistDialogBody.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditCsrfWhitelistDialogBody.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditCsrfWhitelistDialogBody.vue?vue&type=style&index=0&id=0e1f7df4&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e1f7df4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Mixins } from 'vue-property-decorator'\nimport Button from '@/apps/open/components/Button'\nimport { getCsrfWhitelistConfig, setCsrfWhitelistConfig } from '@/apps/open/services/app'\nimport EditCsrfWhitelistDialogBody from '@/apps/open/components/DialogBodys/app/EditCsrfWhitelistDialogBody.vue'\nimport { onRequestError } from '@/apps/open/utils'\n\n@Component({\n components: {\n Button\n },\n data: () => ({\n DOMAIN_URL: '#/docs/middle-app/appmgr/access-know'\n })\n})\nexport default class DomainWhitelistSetting extends Vue {\n title = '跨域白名单'\n csrfWhiteList: string[] = []\n submitCount = 0\n submitting = false\n\n get appId () {\n return this.$route.params.id\n }\n\n get viewable () {\n return this.csrfWhiteList.length > 0\n }\n\n get editable () {\n return this.submitCount > 0\n }\n\n mounted () {\n this.initData()\n }\n\n async initData () {\n try {\n const res = await getCsrfWhitelistConfig(this.appId)\n if (res.data && res.data.result === 'ok') {\n this.csrfWhiteList = res.data.object.csrf_white_list.split(',')\n }\n } catch (err) {\n onRequestError(err)\n }\n }\n\n async setCsrfWhitelist () {\n await this.initData()\n this.$dialog.show({\n title: this.title,\n body: EditCsrfWhitelistDialogBody,\n bodyProps: {\n appId: this.appId,\n domainList: this.csrfWhiteList.length ? [...this.csrfWhiteList] : [''],\n submitCount: this.submitCount,\n onCancel: this.$dialog.close,\n onOk: this.submit\n }\n })\n }\n\n async submit (domainList: string[]) {\n try {\n const res = await setCsrfWhitelistConfig(this.appId, { csrf_white_list: domainList.join(',') })\n if (res.data && res.data.result === 'ok') {\n this.$message.success('跨域白名单保存成功')\n }\n } catch (err) {\n onRequestError(err)\n }\n this.$dialog.close()\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CsrfWhitelistSetting.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CsrfWhitelistSetting.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CsrfWhitelistSetting.vue?vue&type=template&id=74163d54&\"\nimport script from \"./CsrfWhitelistSetting.vue?vue&type=script&lang=ts&\"\nexport * from \"./CsrfWhitelistSetting.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(_vm._s(_vm.title))]),_c('div',[_c('div',[(_vm.callbackList[0] !== '')?_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.viewCallbackList}},[_vm._v(\"查看\")]):_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.setCallbackList}},[_vm._v(\"配置\")])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"授权回调地址用于OAuth2.0登录回调验证地址\"),(!_vm.isPrivate)?[_vm._v(\",详情见\"),_c('Button',{attrs:{\"type\":\"text\",\"url\":_vm.CALLBACK_URL}},[_vm._v(\"接口文档\")]),_vm._v(\"。\")]:_vm._e()],2)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',{ref:\"form\",attrs:{\"model\":_vm.form}},_vm._l((_vm.form.callbackList),function(callbackUrl,index){return _c('el-form-item',{key:index,staticClass:\"input-with-add-remove\",attrs:{\"rules\":_vm.rules,\"prop\":(\"callbackList.\" + index)}},[_c('el-input',{staticClass:\"input\",attrs:{\"placeholder\":(\"请输入\" + (_vm.isSandbox ? '' : 'https://开头的') + \"回调地址\")},model:{value:(_vm.form.callbackList[index]),callback:function ($$v) {_vm.$set(_vm.form.callbackList, index, $$v)},expression:\"form.callbackList[index]\"}}),_c('AddOrRemove',{attrs:{\"showAdd\":index === 0 && _vm.addAble},on:{\"add\":_vm.addItem,\"remove\":function($event){return _vm.removeItem(index)}}})],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport AddOrRemove from '@/apps/open/components/AddOrRemove'\nimport { ElForm } from 'element-ui/types/form'\nimport store from '@/apps/open/store'\nimport { priUrlReg } from '@/apps/open/constants'\n\nconst PAUTH_CALLBACK_COUNT_LIMIT = 20 // 最多设置20个回调地址\n\n@Component({\n componentName: 'EditPauthCallbackDialogBody',\n components: {\n AddOrRemove\n }\n})\nexport default class EditPauthCallbackDialogBody extends Vue {\n @Prop()\n callbackList?: string[]\n\n @Prop()\n isSandbox!: boolean\n\n @Prop()\n submit!: Function\n\n $refs!: {\n form: ElForm\n }\n\n form = {\n callbackList: this.callbackList ? [...this.callbackList] : []\n }\n\n get isPrivate () {\n return store.getters['isPrivate']\n }\n\n get rules () {\n const urlReg = new RegExp(priUrlReg, 'i')\n const urlRule = this.isPrivate ? { pattern: urlReg, message: '请输入正确的回调地址' } : { type: 'url', message: '请输入正确的回调地址' }\n const rules = [\n { required: true, message: '请输入回调地址' },\n urlRule\n ] as any\n if (!this.isSandbox) {\n rules.push({ pattern: /^(https|http):\\/\\//, message: '请输入https://开头的回调地址' })\n }\n return rules\n }\n\n get addAble () {\n return this.form.callbackList.length < PAUTH_CALLBACK_COUNT_LIMIT\n }\n\n addItem () {\n this.form.callbackList.push('')\n }\n\n removeItem (index: number) {\n this.form.callbackList.splice(index, 1)\n }\n\n onOk () {\n this.$refs.form.validate((valid: boolean) => {\n if (valid) {\n this.submit(this.form.callbackList)\n }\n })\n }\n\n mounted () {\n this.$on('onOk', this.onOk)\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPauthCallback.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditPauthCallback.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditPauthCallback.vue?vue&type=template&id=4f9a0a66&\"\nimport script from \"./EditPauthCallback.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditPauthCallback.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Mixins } from 'vue-property-decorator'\nimport { ElForm } from 'element-ui/types/form'\nimport Button from '@/apps/open/components/Button'\nimport { ACCESS_KNOW_URL } from '@/apps/open/constants'\nimport EditPauthCallbackDialogBody from '@/apps/open/components/DialogBodys/app/EditPauthCallback.vue'\nimport { onRequestError } from '@/apps/open/utils'\nimport { IAppInfo } from '@/apps/open/store/modules/app/types'\n\n@Component({\n components: {\n Button\n },\n data: () => ({\n CALLBACK_URL: ACCESS_KNOW_URL\n })\n})\nexport default class PersonAuthCallbackSetting extends Vue {\n title = '授权回调地址'\n\n get isPrivate () {\n return this.$store.getters['isPrivate']\n }\n\n get appId () {\n return this.$route.params.id\n }\n\n get callbackList () {\n return this.app.callback_url ? this.app.callback_url.split('|') : ['']\n }\n\n get app (): IAppInfo {\n return this.$store.getters['App/appInfo']\n }\n\n get isSandbox () {\n return this.app.is_sandbox\n }\n\n viewCallbackList () {\n this.$dialog.show({\n title: this.title,\n body: this.callbackList.join('
'),\n buttons: [\n { text: '取消' },\n { text: '修改', type: 'primary', fn: this.setCallbackList }\n ]\n })\n }\n\n setCallbackList () {\n this.$dialog.show({\n title: `${this.title}配置`,\n className: 'pauth-calllback-dialog',\n body: EditPauthCallbackDialogBody,\n bodyProps: {\n callbackList: this.callbackList,\n isSandbox: this.isSandbox,\n submit: this.submitCallbackList\n },\n buttons: [\n { text: '取消' },\n { text: '确定', type: 'primary', event: 'onOk' }\n ]\n })\n }\n\n async submitCallbackList (callbackList: string[]) {\n try {\n await this.$store.dispatch('App/UPDATE_APP_INFO', { app_id: this.appId, callback_url: callbackList.join('|') })\n this.$message.success('授权回调地址保存成功')\n } catch (error) {\n onRequestError(error)\n }\n this.$dialog.close()\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonCallback.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PersonCallback.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PersonCallback.vue?vue&type=template&id=30f6247b&\"\nimport script from \"./PersonCallback.vue?vue&type=script&lang=ts&\"\nexport * from \"./PersonCallback.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PersonCallback.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(_vm._s(_vm.title))]),_c('div',[_c('div',[(_vm.corpAuthNotifyUrl.length)?_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.showViewDialog}},[_vm._v(\"查看\")]):_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.showEditDialog}},[_vm._v(\"配置\")])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"企业授权通知地址用于授权变更通知地址。\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Mixins } from 'vue-property-decorator'\nimport { ElForm } from 'element-ui/types/form'\nimport Button from '@/apps/open/components/Button'\nimport { ACCESS_KNOW_URL, priUrlReg } from '@/apps/open/constants'\nimport { getCorpAuthNotifyUrl, setCorpAuthNotifyUrl } from '@/apps/open/services/app'\nimport InputFormDialogBody from '@/apps/open/components/DialogBodys/InputForm.vue'\nimport { onRequestError } from '@/apps/open/utils'\nimport store from '@/apps/open/store'\n\n@Component({\n components: {\n Button\n },\n data: () => ({\n CORP_AUTH_NOTIFY_DOC_URL: ACCESS_KNOW_URL\n })\n})\nexport default class CompanyAuthCallbackSetting extends Vue {\n title = '企业授权通知地址'\n corpAuthNotifyUrl = ''\n\n get appId () {\n return this.$route.params.id\n }\n\n get app () {\n return this.$store.getters['App/appInfo']\n }\n\n get isSandbox () {\n return this.app.is_sandbox\n }\n\n get isPrivate () {\n return store.getters['isPrivate']\n }\n\n get rules () {\n const urlReg = new RegExp(priUrlReg, 'i')\n const urlRule = this.isPrivate ? { pattern: urlReg, message: '通知地址格式不正确,请重新输入' } : { type: 'url', message: '通知地址格式不正确,请重新输入' }\n const rules = [\n { required: true, message: '请输入通知地址' },\n urlRule\n ] as any\n if (!this.isSandbox) {\n rules.push({ pattern: /^https:\\/\\//, message: '通知地址格式不正确,请重新输入' })\n }\n return rules\n }\n\n showViewDialog () {\n this.$dialog.show({\n title: this.title,\n body: this.corpAuthNotifyUrl,\n buttons: [\n { text: '取消' },\n { text: '修改', type: 'primary', fn: this.showEditDialog }\n ]\n })\n }\n\n showEditDialog () {\n this.$dialog.show({\n title: `${this.title}配置`,\n body: InputFormDialogBody,\n bodyProps: {\n value: this.corpAuthNotifyUrl,\n rules: this.rules,\n placeholder: `请输入${this.isSandbox ? '' : 'https://开头的'}通知地址`,\n submit: this.submitUrl\n },\n buttons: [\n { text: '取消' },\n { text: '确定', type: 'primary', event: 'onOk' }\n ]\n })\n }\n\n async submitUrl (url: string) {\n try {\n if (url !== this.corpAuthNotifyUrl) {\n await setCorpAuthNotifyUrl(this.appId, url)\n this.$message.success(`${this.title}保存成功`)\n this.load()\n }\n } catch (error) {\n onRequestError(error)\n }\n this.$dialog.close()\n }\n\n async load () {\n try {\n const res = await getCorpAuthNotifyUrl(this.appId)\n this.corpAuthNotifyUrl = res.data.url\n } catch (error) {\n onRequestError(error)\n }\n }\n\n mounted () {\n this.load()\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpAuthNotify.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CorpAuthNotify.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CorpAuthNotify.vue?vue&type=template&id=9378c858&\"\nimport script from \"./CorpAuthNotify.vue?vue&type=script&lang=ts&\"\nexport * from \"./CorpAuthNotify.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(_vm._s(_vm.title))]),_c('div',[_c('div',[(_vm.inceptMsgAdress)?_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.showViewDialog}},[_vm._v(\"查看\")]):_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.showEditDialog}},[_vm._v(\"配置\")])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"事件订阅地址用于接收企业通讯录变更及日历推送的相关通知\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n 需要填写接收消息的地址\\n \"),_c('el-form',{ref:\"form\",attrs:{\"model\":_vm.form}},[_c('el-form-item',{attrs:{\"rules\":_vm.rules,\"prop\":\"input\"}},[_c('el-input',_vm._b({attrs:{\"placeholder\":_vm.placeholder},model:{value:(_vm.form.input),callback:function ($$v) {_vm.$set(_vm.form, \"input\", $$v)},expression:\"form.input\"}},'el-input',_vm.inputProps,false))],1)],1),_c('Button',{staticClass:\"btn\",attrs:{\"type\":\"text\",\"size\":\"medium\",\"icon\":\"el-icon-circle-plus-outline\"},on:{\"click\":_vm.showMsgType}},[_vm._v(\"添加消息类型\")]),_c('span',{staticStyle:{\"margin-left\":\"20px\"}},[_vm._v(\"已添加\"+_vm._s(_vm.topicLength)+\"种消息类型\")]),_c('div',{staticStyle:{\"text-align\":\"right\",\"margin-top\":\"20px\"}},[_c('el-button',{attrs:{\"type\":\"default\"},on:{\"click\":_vm.onCancel}},[_vm._v(\"\\n 取消\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.form.input},on:{\"click\":_vm.onOk}},[_vm._v(\"\\n 确定\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport { ElForm } from 'element-ui/types/form'\nimport Button from '@/apps/open/components/Button'\n\n@Component({\n componentName: 'EditInceptMsgAdressForm',\n components: {\n Button\n }\n})\nexport default class EditInceptMsgAdressForm extends Vue {\n @Prop({\n default: {}\n })\n value?: any\n\n @Prop()\n rules!: any\n\n @Prop()\n topicLength!: number\n\n @Prop()\n placeholder?: string\n\n @Prop()\n inputProps?: any\n\n @Prop()\n submit!: Function\n\n @Prop()\n onCancel!: Function\n\n @Prop()\n showMsgType!: Function\n\n $refs!: {\n form: ElForm\n }\n\n form = {\n input: this.value.open_msg_notify_url\n }\n\n onOk () {\n this.$refs.form.validate().then((valid: boolean) => {\n if (valid) {\n this.submit(this.form.input)\n }\n }).catch(e => {})\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditInceptMsgAdressForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditInceptMsgAdressForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditInceptMsgAdressForm.vue?vue&type=template&id=4ff30799&scoped=true&\"\nimport script from \"./EditInceptMsgAdressForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditInceptMsgAdressForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditInceptMsgAdressForm.vue?vue&type=style&index=0&id=4ff30799&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4ff30799\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('p',{staticClass:\"d-title\"},[_vm._v(\"接收消息地址\")]),_c('p',[_vm._v(_vm._s(_vm.value.open_msg_notify_url || '无'))]),_c('p',{staticClass:\"d-title\"},[_vm._v(\"接收消息类型\")]),_c('p',[_vm._v(_vm._s(_vm.topic.join(' | ')))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport { APP_TOPIC_MAP } from '@/apps/open/constants'\n\n@Component({\n componentName: 'ViewInceptMsgAdress'\n})\nexport default class ViewInceptMsgAdress extends Vue {\n @Prop({\n default: {}\n })\n value!: object\n\n @Prop()\n submit!: Function\n\n @Prop()\n topic!: string\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewInceptMsgAdress.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewInceptMsgAdress.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ViewInceptMsgAdress.vue?vue&type=template&id=6bd2d15e&scoped=true&\"\nimport script from \"./ViewInceptMsgAdress.vue?vue&type=script&lang=ts&\"\nexport * from \"./ViewInceptMsgAdress.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ViewInceptMsgAdress.vue?vue&type=style&index=0&id=6bd2d15e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6bd2d15e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[_vm._v(\"请根据应用功能合理申请需要接收消息的类型\")]),_c('el-tabs',{model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"订阅事件\",\"name\":\"订阅事件\"}},[_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData}},[_c('el-table-column',{attrs:{\"label\":\"\",\"width\":\"60\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('el-checkbox',{attrs:{\"disabled\":scope.row.originChecked},model:{value:(scope.row.checked),callback:function ($$v) {_vm.$set(scope.row, \"checked\", $$v)},expression:\"scope.row.checked\"}})]}}])}),_c('el-table-column',{attrs:{\"label\":\"消息类型\",\"width\":\"180\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(scope.row.name)+\"\\n \")]}}])}),_c('el-table-column',{attrs:{\"label\":\"状态\"},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_vm._v(\"\\n \"+_vm._s(scope.row.status?'已获取':'未获取')+\"\\n \")]}}])})],1)],1)],1),_c('div',{staticStyle:{\"text-align\":\"right\",\"margin-top\":\"20px\"},on:{\"click\":_vm.onCancel}},[_c('el-button',{attrs:{\"type\":\"default\"}},[_vm._v(\"\\n 取消\\n \")]),_c('el-button',{attrs:{\"type\":\"primary\",\"disabled\":!_vm.hasNewChecked},on:{\"click\":_vm.handleSubmit}},[_vm._v(\"\\n 确定\\n \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport { APP_TOPIC_MAP } from '@/apps/open/constants'\n\n@Component({\n componentName: 'EditMsgType'\n})\nexport default class EditMsgType extends Vue {\n activeName: string = '订阅事件'\n tableData: object[] = []\n\n get hasNewChecked () {\n const originCheckedSum = this.tableData.filter((i:any) => i.originChecked)\n const checkedSum = this.tableData.filter((i:any) => i.checked)\n return checkedSum.length > originCheckedSum.length\n }\n\n @Prop({\n default: ''\n })\n value?: string\n\n @Prop()\n submit!: Function\n\n @Prop()\n onCancel!: Function\n\n handleSubmit () {\n let newTopic:any = this.tableData.filter((i:any) => {\n return i.checked\n })\n newTopic = newTopic.map((i:any) => {\n return i.keys.join(',')\n })\n this.submit(newTopic.join(','))\n }\n\n initTableData () {\n this.tableData = APP_TOPIC_MAP.map((i:any) => {\n i.originChecked = false\n i.checked = false\n i.status = false\n return i\n })\n }\n\n initData () {\n this.initTableData()\n if (!this.value) return\n const valueKeys:any = this.value && this.value.split(',')\n this.tableData.map((i:any) => {\n let flag = false\n i.keys.forEach((v:any) => {\n if (valueKeys.includes(v)) {\n flag = true\n } else {\n flag = false\n }\n })\n i.status = flag\n i.originChecked = flag\n i.checked = flag\n return i\n })\n }\n\n created () {\n this.initData()\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditMsgType.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditMsgType.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditMsgType.vue?vue&type=template&id=1f092853&scoped=true&\"\nimport script from \"./EditMsgType.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditMsgType.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditMsgType.vue?vue&type=style&index=0&id=1f092853&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f092853\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Mixins } from 'vue-property-decorator'\nimport { ElForm } from 'element-ui/types/form'\nimport Button from '@/apps/open/components/Button'\nimport { APP_TOPIC_MAP } from '@/apps/open/constants'\nimport { getInceptMsgAdress, setInceptMsgAdress, getAppExtraInfo, setAppTopic } from '@/apps/open/services/app'\nimport EditInceptMsgAdressForm from '@/apps/open/components/DialogBodys/app/EditInceptMsgAdressForm.vue'\nimport ViewInceptMsgAdress from '@/apps/open/components/DialogBodys/app/ViewInceptMsgAdress.vue'\nimport EditMsgType from '@/apps/open/components/DialogBodys/app/EditMsgType.vue'\nimport { onRequestError } from '@/apps/open/utils'\n\n@Component({\n components: {\n Button\n }\n})\nexport default class InceptMsgAdress extends Vue {\n title = '事件订阅地址'\n inceptMsgAdress = ''\n appExtraInfo:any = {}\n\n get appId () {\n return this.$route.params.id\n }\n\n get app () {\n return this.$store.getters['App/appInfo']\n }\n\n get isSandbox () {\n return this.app.is_sandbox\n }\n\n get topic () {\n const valueKeys:any = this.appExtraInfo.topic && this.appExtraInfo.topic.split(',')\n const topic:any[] = []\n APP_TOPIC_MAP.forEach((i:any) => {\n let flag = false\n i.keys.forEach((v:any) => {\n if (valueKeys.includes(v)) {\n flag = true\n } else {\n flag = false\n }\n })\n if (flag) {\n topic.push(i.name)\n }\n })\n return topic\n }\n\n get rules () {\n const rules = [\n { required: true, message: '请输入通知地址' },\n { type: 'url', message: '通知地址格式不正确,请重新输入' }\n ] as any\n if (!this.isSandbox) {\n rules.push({ pattern: /^https:\\/\\//, message: '通知地址格式不正确,请重新输入' })\n }\n return rules\n }\n\n showViewDialog () {\n this.$dialog.show({\n title: '接收消息',\n body: ViewInceptMsgAdress,\n bodyProps: {\n value: this.appExtraInfo,\n topic: this.topic,\n submit: this.submitUrl\n },\n buttons: [\n { text: '取消' },\n { text: '修改', type: 'primary', fn: this.showEditDialog }\n ]\n })\n }\n\n showEditDialog () {\n this.$dialog.show({\n title: `${this.title}配置`,\n body: EditInceptMsgAdressForm,\n bodyProps: {\n value: this.appExtraInfo,\n topicLength: this.topic.length,\n rules: this.rules,\n placeholder: `请输入${this.isSandbox ? '' : 'https://开头的'}地址`,\n submit: this.submitUrl,\n showMsgType: this.showMsgType,\n onCancel: this.$dialog.close\n }\n })\n }\n\n async submitUrl (url: string) {\n try {\n if (url !== this.inceptMsgAdress) {\n await setInceptMsgAdress(this.appId, url)\n this.$message.success(`${this.title}保存成功`)\n this.load()\n }\n } catch (error) {\n onRequestError(error)\n }\n this.$dialog.close()\n }\n\n async submitTopic (topic: string) {\n try {\n if (topic) {\n await setAppTopic(this.appId, topic)\n this.$message.success(`添加保存成功`)\n this.load()\n }\n } catch (error) {\n onRequestError(error)\n }\n this.$dialog.close()\n }\n\n showMsgType () {\n this.$dialog.show({\n title: `添加消息类型`,\n body: EditMsgType,\n bodyProps: {\n value: this.appExtraInfo.topic,\n rules: this.rules,\n placeholder: `请输入${this.isSandbox ? '' : 'https://开头的'}地址`,\n submit: this.submitTopic,\n showMsgType: this.showMsgType,\n onCancel: this.$dialog.close\n }\n })\n }\n\n async load () {\n try {\n const res = await getAppExtraInfo(this.appId)\n this.inceptMsgAdress = res.data.object.open_msg_notify_url\n this.appExtraInfo = res.data.object\n } catch (error) {\n onRequestError(error)\n }\n }\n\n mounted () {\n this.load()\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InceptMsgAdress.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InceptMsgAdress.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InceptMsgAdress.vue?vue&type=template&id=69b5e9d3&\"\nimport script from \"./InceptMsgAdress.vue?vue&type=script&lang=ts&\"\nexport * from \"./InceptMsgAdress.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block\"},[_vm._m(0),_c('div',{staticClass:\"app-setting-block-body\"},[_c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(\"SECRETKEY\")]),_c('div',[_c('div',[_c('el-button',{staticClass:\"app-setting-visible-btn\",attrs:{\"type\":\"text\"},on:{\"click\":_vm.switchPaySecret}},[(_vm.hidePaySecret)?_c('img',{staticClass:\"eye\",attrs:{\"src\":require(\"static/images/open/eye_close.svg\")}}):_c('img',{staticClass:\"eye\",attrs:{\"src\":require(\"static/images/open/eye_open.svg\")}})]),_c('span',[_vm._v(_vm._s(_vm.hidePaySecret ? '********************************' : _vm.vasInfo.secret))])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"SECRETKEY是开发者唯一凭证密钥,用于支付回调验证\")])])]),_c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(\"支付服务参数\")]),_c('div',[_c('div',[_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.showServiceInfo}},[_vm._v(\"查看\")])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"开发者对接后可用的服务,需要发送邮箱进行配置,详情见\"),_c('Button',{attrs:{\"size\":\"medium\",\"type\":\"text\",\"url\":_vm.PAY_DOC_URL}},[_vm._v(\"接口文档\")])],1)])]),_c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(\"支付回调地址\")]),_c('div',[_c('div',[(_vm.vasInfo.cb_url)?_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.viewCallbackUrl}},[_vm._v(\"查看\")]):_c('el-button',{attrs:{\"type\":\"text\"},on:{\"click\":_vm.setCallbackUrl}},[_vm._v(\"配置\")])],1),_c('div',{staticClass:\"app-setting-block-desc\"},[_vm._v(\"支付回调地址用于支付完成后通知支付结果,详情见\"),_c('Button',{attrs:{\"size\":\"medium\",\"type\":\"text\",\"url\":_vm.CALLBACK_URL}},[_vm._v(\"接口文档\")])],1)])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block-header\"},[_c('span',{staticClass:\"app-setting-block-title\"},[_vm._v(\"支付信息\")])])}]\n\nexport { render, staticRenderFns }","\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\nimport { Component, Vue, Prop, Watch, Mixins } from 'vue-property-decorator'\nimport Button from '@/apps/open/components/Button'\nimport { IPayData } from '@/apps/open/types/pay'\nimport { PAY_CALLBACK_ARG, PAY_CALLBACK_URL } from '@/apps/open/constants'\nimport { setVasCallkack } from '@/apps/open/services/vasopen'\nimport InputFormDialogBody from '@/apps/open/components/DialogBodys/InputForm.vue'\nimport { onRequestError } from '@/apps/open/utils'\n\n@Component({\n data: () => ({\n CALLBACK_URL: PAY_CALLBACK_URL,\n PAY_DOC_URL: PAY_CALLBACK_ARG\n }),\n components: {\n Button\n }\n})\nexport default class PaySetting extends Vue {\n @Prop() vasInfo!: IPayData\n\n hidePaySecret = true\n\n get appId () {\n return this.$route.params.id\n }\n\n get serviceId () {\n return (this.vasInfo as any).service_list.map((item:any) => item.id).filter((item:any) => item).join(',')\n }\n\n get subjectId () {\n return (this.vasInfo as any).service_list.map((item:any) => item.retail_subject).filter((item:any) => item).join(',')\n }\n\n switchPaySecret () {\n this.hidePaySecret = !this.hidePaySecret\n }\n\n showServiceInfo () {\n this.$confirm(\n `\n
\n
服务ID(service_id是开发者对接后可用的服务)
\n
${this.serviceId}
\n
购买内容(subject是服务类型为第三方应用服务时传的服务ID)
\n
${this.subjectId}
\n
\n `,\n '支付服务参数',\n {\n dangerouslyUseHTMLString: true,\n cancelButtonText: '关闭',\n showConfirmButton: false\n }\n )\n }\n\n viewCallbackUrl () {\n this.$dialog.show({\n title: '支付回调地址',\n body: `
${this.vasInfo.cb_url}
`,\n buttons: [\n { text: '取消' },\n { text: '修改', type: 'primary', fn: this.setCallbackUrl }\n ]\n })\n }\n\n setCallbackUrl () {\n this.$dialog.show({\n title: '支付回调地址配置',\n body: InputFormDialogBody,\n bodyProps: {\n value: this.vasInfo.cb_url,\n rules: [\n { required: true, message: '请输入支付回调地址' },\n { type: 'url', message: '请输入正确的支付回调地址' }\n ],\n placeholder: '请输入支付回调地址',\n submit: this.submitCallbackUrl\n },\n buttons: [\n { text: '取消' },\n { text: '确定', type: 'primary', event: 'onOk' }\n ]\n })\n }\n\n submitCallbackUrl (value: string) {\n value = value.trim()\n setVasCallkack(this.appId, { cb_url: value })\n .then(() => {\n this.vasInfo.cb_url = value || ''\n this.$dialog.close()\n this.$message.success('支付回调地址保存成功')\n }).catch((error) => {\n onRequestError(error)\n })\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Pay.vue?vue&type=template&id=93a2bdf4&\"\nimport script from \"./Pay.vue?vue&type=script&lang=ts&\"\nexport * from \"./Pay.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-setting-block\"},[_c('div',{staticClass:\"app-setting-block-header\"},[_c('span',{staticClass:\"app-setting-block-title\"},[_vm._v(\"开发人员\")]),(_vm.isSuperAdmin)?_c('el-button',{staticClass:\"app-setting-block-after-title\",attrs:{\"size\":\"mini\"},on:{\"click\":_vm.handleAdd}},[_vm._v(\"添加\")]):_vm._e(),_c('span',{staticClass:\"add-tips\"},[_vm._v(\"请选择普通管理员添加为此应用的开发人员,添加成功后即可进行应用开发、申请权限等操作。\")])],1),_c('div',{staticClass:\"app-setting-block-body\"},[(!_vm.developers.length)?_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(\"未添加人员\")]):_c('div',{staticClass:\"app-setting-block-row\"},[_c('div',{staticClass:\"app-setting-block-label\"},[_vm._v(\"已添加人员\")]),_c('div',_vm._l((_vm.developers),function(item){return _c('div',{key:item.userid,staticClass:\"user-item\"},[_c('span',{staticClass:\"user-name\",attrs:{\"title\":item.username}},[_vm._v(_vm._s(item.username))]),(_vm.isSuperAdmin)?_c('el-button',{staticClass:\"delete-btn\",attrs:{\"type\":\"text\",\"loading\":_vm.removeSubmitLoading && _vm.removeId === item.userid},on:{\"click\":function($event){return _vm.removeDeveloper(item)}}},[_vm._v(\"移除\")]):_vm._e()],1)}),0)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport { addAppDeveloper, removeAppDeveloper } from '@/apps/open/services/app'\nimport { IUser } from '@/apps/open/types'\nimport AdminSelectorDialogBody from '@/apps/open/components/DialogBodys/AdminSelector.vue'\nimport { onRequestError } from '@/apps/open/utils'\n\n@Component\nexport default class DeveloperSetting extends Vue {\n addSubmitLoading = false\n removeSubmitLoading = false\n removeId: any = null\n\n get appId () {\n return this.$route.params.id\n }\n\n get selectedIds () {\n return this.developers.map((item: any) => item.userid)\n }\n\n get isSuperAdmin () {\n return this.$store.getters['isSuperAdmin']\n }\n\n get developers () {\n return this.$store.getters['App/appDeveloperList']\n }\n\n async loadDevelopers () {\n this.$store.dispatch('App/GET_APP_INFO', this.appId)\n }\n\n async addDeveloper (selectedUsers: IUser[]) {\n this.addSubmitLoading = true\n try {\n const ids = selectedUsers.map((item: IUser) => item.id)\n await addAppDeveloper(this.appId, ids.join(','))\n this.$message.success('添加成功')\n this.$dialog.close()\n this.loadDevelopers()\n } catch (error) {\n onRequestError(error, '当前网络异常,请稍后重试')\n }\n this.addSubmitLoading = false\n }\n\n removeDeveloper (item: any) {\n this.$confirm(\n `确定要移除开发人员 ${item.username} 吗?
移除的开发人员将无法参与应用开发等操作`,\n '移除开发人员',\n { dangerouslyUseHTMLString: true }\n ).then(async () => {\n this.removeSubmitLoading = true\n try {\n this.removeId = item.userid\n await removeAppDeveloper(this.appId, item.userid)\n this.$message.success('移除成功')\n this.loadDevelopers()\n } catch (error) {\n let message = '当前网络异常,请稍后重试'\n if (message === 'ids not Exist') {\n message = '开发人员不存在,请勿重复操作'\n this.loadDevelopers()\n }\n onRequestError(error, message)\n }\n this.removeSubmitLoading = false\n })\n }\n\n async handleAdd () {\n await this.loadDevelopers()\n this.$dialog.show({\n title: '添加开发人员',\n keepAlive: true,\n body: AdminSelectorDialogBody,\n bodyProps: {\n filterRoles: [100],\n selectedIds: this.selectedIds,\n disabledIds: this.selectedIds,\n onCancel: this.$dialog.close,\n onOk: this.addDeveloper\n }\n })\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Developer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Developer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Developer.vue?vue&type=template&id=47861f3b&scoped=true&\"\nimport script from \"./Developer.vue?vue&type=script&lang=ts&\"\nexport * from \"./Developer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Developer.vue?vue&type=style&index=0&id=47861f3b&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47861f3b\",\n null\n \n)\n\nexport default component.exports","\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\nimport { Component, Vue, Prop, Mixins } from 'vue-property-decorator'\nimport { getApplyFeatureList } from '@/apps/open/services/app'\nimport { IPayData } from '@/apps/open/types/pay'\nimport Button from '@/apps/open/components/Button'\nimport AppKeySettiing from './AppKey.vue'\nimport IPWhitelistSetting from './IPWhitelist.vue'\nimport DomainWhitelistSetting from './DomainWhitelist.vue'\nimport CsrfWhitelistSetting from './CsrfWhitelistSetting.vue'\nimport PersonCallbackSetting from './PersonCallback.vue'\nimport corpAuthNotifySetting from './CorpAuthNotify.vue'\nimport InceptMsgAdress from './InceptMsgAdress.vue'\nimport PaySetting from './Pay.vue'\nimport DeveloperSetting from './Developer.vue'\nimport { onRequestError } from '@/apps/open/utils'\n\n@Component({\n components: {\n Button,\n AppKeySettiing,\n IPWhitelistSetting,\n DomainWhitelistSetting,\n PersonCallbackSetting,\n corpAuthNotifySetting,\n PaySetting,\n DeveloperSetting,\n InceptMsgAdress,\n CsrfWhitelistSetting\n }\n})\nexport default class AppSetting extends Vue {\n @Prop() vasInfo!: IPayData\n\n showCorpAuthNotifyUrl = false\n showInceptMsgAdress = false\n\n get appId () {\n return this.$route.params.id\n }\n\n get isPrivate () {\n return this.$store.getters['isPrivate']\n }\n\n get isPriDocMiddle () {\n return this.$store.getters['isPriDocMiddle']\n }\n\n async loadInfo () {\n const res = await getApplyFeatureList(this.appId)\n this.showCorpAuthNotifyUrl = res.data.object_array.some((i: any) => i.function_name === (this.isPrivate ? '企业授权' : '企业通讯录') && i.status === 1)\n this.showInceptMsgAdress = res.data.object_array.some((i: any) => i.function_name === '消息订阅' && i.status === 1)\n }\n\n async mounted () {\n try {\n // appifo 和 adminList 数据统一从这里获取,提供给子组件使用\n await Promise.all([\n this.loadInfo(),\n this.$store.dispatch('App/GET_APP_INFO', this.appId),\n this.$store.dispatch('Admin/GET_ADMIN_LIST')\n ])\n } catch (error) {\n onRequestError(error)\n }\n }\n}\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/ts-loader/index.js??ref--14-3!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=0294cd68&scoped=true&\"\nimport script from \"./Index.vue?vue&type=script&lang=ts&\"\nexport * from \"./Index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Index.vue?vue&type=style&index=0&id=0294cd68&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0294cd68\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}