sms.blade.php 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310
  1. @extends('layouts.base')
  2. @section('content')
  3. <style>
  4. .panel{
  5. margin-bottom:10px!important;
  6. padding-left: 20px;
  7. border-radius: 10px;
  8. }
  9. .panel .active a {
  10. background-color: #29ba9c!important;
  11. border-radius: 18px!important;
  12. color:#fff;
  13. }
  14. .panel a{
  15. border:none!important;
  16. background-color:#fff!important;
  17. }
  18. .content{
  19. background: #eff3f6;
  20. padding: 10px!important;
  21. }
  22. .con{
  23. padding-bottom:40px;
  24. position:relative;
  25. min-height:100vh;
  26. background-color:#fff;
  27. }
  28. .con .setting .block{
  29. padding:10px;
  30. margin-bottom:10px;
  31. border-radius:8px;
  32. }
  33. .con .setting .block .title{
  34. display:flex;
  35. align-items:center;
  36. margin-bottom:15px;
  37. }
  38. .confirm-btn{
  39. width: calc(100% - 266px);
  40. position:fixed;
  41. bottom:0;
  42. right:0;
  43. margin-right:10px;
  44. line-height:63px;
  45. background-color: #ffffff;
  46. box-shadow: 0px 8px 23px 1px
  47. rgba(51, 51, 51, 0.3);
  48. background-color:#fff;
  49. text-align:center;
  50. }
  51. b{
  52. font-size:14px;
  53. }
  54. </style>
  55. <div id='re_content' >
  56. @include('layouts.newTabs')
  57. <div class="con">
  58. <div class="setting">
  59. <el-form ref="form" :model="form" label-width="15%">
  60. <div class="block">
  61. <div class="title"> <span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>基础设置</b></div>
  62. <el-form-item label="短信图形验证码">
  63. <template>
  64. <el-switch
  65. v-model="form.status"
  66. active-value="1"
  67. inactive-value="0"
  68. >
  69. </el-switch>
  70. </template>
  71. </el-form-item>
  72. <el-form-item label="国家区号" >
  73. <template>
  74. <el-switch
  75. v-model="form.country_code"
  76. active-value="1"
  77. inactive-value="0"
  78. >
  79. </el-switch>
  80. </template>
  81. </el-form-item>
  82. </div>
  83. <div style="background: #eff3f6;width:100%;height:15px;"></div>
  84. <div class="block" >
  85. <div class="title"> <span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>通道设置</b></div>
  86. <el-form-item label="短信设置" >
  87. <template>
  88. <el-radio-group v-model="form.type">
  89. <el-radio label="1">互亿无线</el-radio>
  90. <el-radio label="2">阿里大鱼</el-radio>
  91. <el-radio label="3">阿里云</el-radio>
  92. <el-radio label="5">腾讯云</el-radio>
  93. </el-radio-group>
  94. </template>
  95. </el-form-item>
  96. <el-form-item label="国内短信账号" v-if="form.type==1">
  97. <el-input v-model="form.account" style="width:70%;"></el-input>
  98. </el-form-item>
  99. <el-form-item label="国内短信密码" v-if="form.type==1">
  100. <el-input v-model="form.password" style="width:70%;"></el-input>
  101. </el-form-item>
  102. <el-form-item label="国际短信账号" v-if="form.type==1">
  103. <el-input v-model="form.account2" style="width:70%;"></el-input>
  104. </el-form-item>
  105. <el-form-item label="国际短信密码" v-if="form.type==1">
  106. <el-input v-model="form.password2" style="width:70%;"></el-input>
  107. </el-form-item>
  108. <el-form-item v-if="form.type==2" style="margin-top:-30px;">
  109. <span>提示:请到 阿里大鱼 去申请开通,短信模板中必须包含code和product,请参考默认用户注册验证码设置</span>
  110. </el-form-item>
  111. <el-form-item label="AppKey" v-if="form.type==2">
  112. <el-input v-model="form.appkey" style="width:70%;"></el-input>
  113. </el-form-item>
  114. <el-form-item label="secret" v-if="form.type==2">
  115. <el-input v-model="form.secret" style="width:70%;"></el-input>
  116. </el-form-item>
  117. <el-form-item label="短信签名" v-if="form.type==2">
  118. <el-input v-model="form.signname" style="width:70%;" placeholder="例如注册验证"></el-input>
  119. </el-form-item>
  120. <el-form-item label="注册短信模板ID" v-if="form.type==2">
  121. <el-input v-model="form.templateCode" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  122. </el-form-item>
  123. <el-form-item label="注册模板变量" v-if="form.type==2">
  124. <el-input v-model="form.product" style="width:70%;" placeholder="product=xx商城"></el-input>
  125. </el-form-item>
  126. <el-form-item label="找回密码短信模板ID" v-if="form.type==2">
  127. <el-input v-model="form.templateCodeForget" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  128. </el-form-item>
  129. <el-form-item label="找回密码变量" v-if="form.type==2">
  130. <el-input v-model="form.forget" style="width:70%;" placeholder="product=xx商城"></el-input>
  131. </el-form-item>
  132. <el-form-item label="登录短信模板ID" v-if="form.type==2">
  133. <el-input v-model="form.templateCodeLogin" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  134. </el-form-item>
  135. <el-form-item label="登录变量" v-if="form.type==2">
  136. <el-input v-model="form.login" style="width:70%;" placeholder="product=xx商城"></el-input>
  137. </el-form-item>
  138. <el-form-item v-if="form.type==3" style="margin-top:-30px;">
  139. <span>请到 阿里云 去申请开通,短信模板中必须包含number;阿里云默认模板为code,将code改为number,请参考默认用户注册验证码设置。</span>
  140. </el-form-item>
  141. <el-form-item label="AccessKeyId" v-if="form.type==3">
  142. <el-input v-model="form.aly_appkey" style="width:70%;"></el-input>
  143. </el-form-item>
  144. <el-form-item label="AccessKeySecret" v-if="form.type==3">
  145. <el-input v-model="form.aly_secret" style="width:70%;"></el-input>
  146. </el-form-item>
  147. <el-form-item label="短信签名" v-if="form.type==3">
  148. <el-input v-model="form.aly_signname" style="width:70%;" placeholder="例如注册验证"></el-input>
  149. </el-form-item>
  150. <el-form-item label="注册模板编号" v-if="form.type==3">
  151. <el-input v-model="form.aly_templateCode" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  152. </el-form-item>
  153. <el-form-item label="找回密码模板编号" v-if="form.type==3">
  154. <el-input v-model="form.aly_templateCodeForget" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  155. </el-form-item>
  156. <el-form-item label="登录模板编号" v-if="form.type==3">
  157. <el-input v-model="form.aly_templateCodeLogin" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  158. </el-form-item>
  159. <el-form-item label="余额定时提醒" v-if="form.type==3">
  160. <el-input v-model="form.aly_templateBalanceCode" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  161. </el-form-item>
  162. <el-form-item label="商品发货提醒" v-if="form.type==3">
  163. <el-input v-model="form.aly_templateSendMessageCode" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  164. </el-form-item>
  165. <el-form-item label="会员充值提醒" v-if="form.type==3">
  166. <el-input v-model="form.aly_templatereChargeCode" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  167. </el-form-item>
  168. @if(app('plugins')->isEnabled('audit-debt'))
  169. <el-form-item label="审核成功提醒" v-if="form.type==3">
  170. <el-input v-model="form.audit_debt_confirm" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  171. <div>短信参数:number--姓名</div>
  172. </el-form-item>
  173. <el-form-item label="审核驳回提醒" v-if="form.type==3">
  174. <el-input v-model="form.audit_debt_reject" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  175. <div>短信参数:number--姓名,remark--驳回原因</div>
  176. </el-form-item>
  177. <el-form-item label="提交资料短信验证码" v-if="form.type==3">
  178. <el-input v-model="form.audit_debt_submit" style="width:70%;" placeholder="例如:SMS_5057806"></el-input>
  179. <div>短信参数:number--验证码</div>
  180. </el-form-item>
  181. @endif
  182. <el-form-item v-if="form.type==5" style="margin-top:-30px;">
  183. <span>请到 腾讯云 去申请开通。</span>
  184. </el-form-item>
  185. <el-form-item label="SDKAppID" v-if="form.type==5">
  186. <el-input v-model="form.tx_sdkappid" style="width:70%;"></el-input>
  187. </el-form-item>
  188. <el-form-item label="AppKey" v-if="form.type==5">
  189. <el-input v-model="form.tx_appkey" style="width:70%;"></el-input>
  190. </el-form-item>
  191. <el-form-item label="短信签名" v-if="form.type==5">
  192. <el-input v-model="form.tx_signname" style="width:70%;" placeholder="例如注册验证"></el-input>
  193. </el-form-item>
  194. <el-form-item label="注册模板ID" v-if="form.type==5">
  195. <el-input v-model="form.tx_templateCode" style="width:70%;" placeholder="例如5057806"></el-input>
  196. </el-form-item>
  197. <el-form-item label="找回密码模板ID" v-if="form.type==5">
  198. <el-input v-model="form.tx_templateCodeForget" style="width:70%;" placeholder="例如5057806"></el-input>
  199. </el-form-item>
  200. <el-form-item label="登录模板ID" v-if="form.type==5">
  201. <el-input v-model="form.tx_templateCodeLogin" style="width:70%;" placeholder="例如5057806"></el-input>
  202. </el-form-item>
  203. <el-form-item label="余额定时提醒" v-if="form.type==5">
  204. <el-input v-model="form.tx_templateBalanceCode" style="width:70%;" placeholder="例如5057806"></el-input>
  205. </el-form-item>
  206. <el-form-item label="商品发货提醒" v-if="form.type==5">
  207. <el-input v-model="form.tx_templateSendMessageCode" style="width:70%;" placeholder="例如5057806"></el-input>
  208. </el-form-item>
  209. <el-form-item label="会员充值提醒" v-if="form.type==5">
  210. <el-input v-model="form.tx_templatereChargeCode" style="width:70%;" placeholder="例如5057806"></el-input>
  211. </el-form-item>
  212. </div>
  213. </div>
  214. <div class="confirm-btn">
  215. <el-button type="primary" @click="submit">提交</el-button>
  216. </div>
  217. </el-form>
  218. </div>
  219. </div>
  220. <script>
  221. var vm = new Vue({
  222. el: "#re_content",
  223. delimiters: ['[[', ']]'],
  224. data() {
  225. return {
  226. activeName: 'one',
  227. level:[],
  228. form:{
  229. account:'',
  230. password:'',
  231. account2:'',
  232. password2:'',
  233. aly_appkey:'',
  234. aly_secret:'',
  235. aly_signname:'',
  236. aly_templateCode:'',
  237. aly_templateCodeForget:'',
  238. aly_templateCodeLogin:'',
  239. aly_templateBalanceCode:'',
  240. aly_templateSendMessageCode:'',
  241. aly_templatereChargeCode:'',
  242. audit_debt_submit:'',
  243. audit_debt_confirm:'',
  244. audit_debt_reject:'',
  245. tx_sdkappid:'',
  246. tx_appkey:'',
  247. tx_signname:'',
  248. tx_templateCode:'',
  249. tx_templateCodeForget:'',
  250. tx_templateCodeLogin:'',
  251. tx_templateBalanceCode:'',
  252. tx_templateSendMessageCode:'',
  253. tx_templatereChargeCode:'',
  254. status:'0',
  255. country_code:'0',
  256. type:'2',
  257. appkey:'',
  258. secret:'',
  259. signname:'',
  260. templateCode:'',
  261. product:'',
  262. templateCodeForget:'',
  263. forget:'',
  264. templateCodeLogin:'',
  265. login:'',
  266. time:1,
  267. },
  268. }
  269. },
  270. mounted () {
  271. this.getData();
  272. },
  273. methods: {
  274. getData(){
  275. this.$http.post('{!! yzWebFullUrl('setting.shop.sms') !!}').then(function (response){
  276. if (response.data.result) {
  277. if(response.data.data.set){
  278. for(let i in response.data.data.set){
  279. this.form[i]=response.data.data.set[i]
  280. }
  281. }
  282. }else {
  283. this.$message({message: response.data.msg,type: 'error'});
  284. }
  285. },function (response) {
  286. this.$message({message: response.data.msg,type: 'error'});
  287. })
  288. },
  289. submit() {
  290. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  291. this.$http.post('{!! yzWebFullUrl('setting.shop.sms') !!}',{'sms':this.form}).then(function (response){
  292. if (response.data.result) {
  293. this.$message({message: response.data.msg,type: 'success'});
  294. }else {
  295. this.$message({message: response.data.msg,type: 'error'});
  296. }
  297. loading.close();
  298. location.reload();
  299. },function (response) {
  300. this.$message({message: response.data.msg,type: 'error'});
  301. })
  302. },
  303. },
  304. });
  305. </script>
  306. @endsection