brand-setting.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta name="author" content=""/>
  6. <meta name="description" content=""/>
  7. <meta name="keywords" content="扫码支付,线上投币,运营数据,物联网"/>
  8. <meta name="format-detection" content="telphone=no,email=no"/>
  9. <meta name="viewport"
  10. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
  11. <meta http-equiv="pragma" content="no-cache">
  12. <meta http-equiv="cache-control" content="no-cache">
  13. <meta http-equiv="expires" content="0">
  14. <title>品牌形象设置</title>
  15. <link rel="stylesheet" href="https://cdn.washpayer.com/components/lib/mui.min.css"/>
  16. <link rel="stylesheet" href="../components/custom/css/common.css"/>
  17. <link rel="stylesheet" href="/app/css/xyf.common.min.css"/>
  18. <style>
  19. .strong {
  20. padding: 2px 5px;
  21. font-size: 12px;
  22. color: #fff;
  23. background: red;
  24. border-radius: 3px;
  25. }
  26. .phone-change-show{
  27. display: none;
  28. }
  29. </style>
  30. </head>
  31. <body>
  32. <div class="input-group-vertical">
  33. <h5 class="mui-content-padded c-black">品牌名称 <span class="strong">限20个字</span></h5>
  34. <div class="input-row input-clear">
  35. <input type="text" maxlength="20" placeholder="品牌名称" id="productName">
  36. </div>
  37. <h5 class="mui-content-padded c-black">品牌Logo <span class="strong">10MB以内</span></h5>
  38. <div class="input-row input-clear padding-10">
  39. <div class="mui-col-xs-4 padding-5">
  40. <div class="upload-pic">
  41. <i class="delpic mui-hidden" key="productLogo">x</i>
  42. <i class="iconfont icon-add-more"></i>
  43. <input id="brandPic" type="file" draggable="false" accept="image/*">
  44. <img class="mui-hidden" src="">
  45. </div>
  46. </div>
  47. </div>
  48. <h5 class="mui-content-padded c-black">公众号二维码 <span class="strong">10MB以内</span></h5>
  49. <div class="input-row input-clear padding-10">
  50. <div class="mui-col-xs-4 padding-5">
  51. <div class="upload-pic">
  52. <i class="delpic mui-hidden" key="gzhServiceQrcodeUrl">x</i>
  53. <i class="iconfont icon-add-more"></i>
  54. <input id="gzhQrcodePic" type="file" draggable="false" accept="image/*">
  55. <img class="mui-hidden" src="">
  56. </div>
  57. </div>
  58. </div>
  59. <div id="titleInfo" class="mui-hidden">
  60. <h5 class="mui-content-padded c-black">二维码上标题</h5>
  61. <div class="input-row input-clear">
  62. <textarea placeholder="上标题" id="title"></textarea>
  63. </div>
  64. <h5 class="mui-content-padded c-black">二维码下标题</h5>
  65. <div class="input-row input-clear">
  66. <textarea placeholder="下标题" id="desc"></textarea>
  67. </div>
  68. </div>
  69. <h5 class="mui-content-padded c-black">客服名称 <span class="strong">限20个字</span></h5>
  70. <div class="input-row input-clear">
  71. <input type="text" maxlength="20" placeholder="客服名称" id="serviceName">
  72. </div>
  73. <div class="phone-change-show">
  74. <h5 class="mui-content-padded c-black">人机交互验证</h5>
  75. <div class="input-row" id="captcha" style="min-height: 46px">
  76. </div>
  77. </div>
  78. <h5 class="mui-content-padded c-black">客服电话</h5>
  79. <div class="input-row input-clear">
  80. <input type="tel" maxlength="11" placeholder="电话" id="servicePhone">
  81. </div>
  82. <div class="input-row code input-clear phone-change-show">
  83. <input id="code" type="tel" maxlength="4" placeholder="验证码">
  84. <button id="sendBtn" type="button" disabled>验证短信</button>
  85. </div>
  86. <h5 class="mui-content-padded c-black">微信二维码 <span class="strong">10MB以内</span></h5>
  87. <div class="input-row input-clear padding-10">
  88. <div class="mui-col-xs-4 padding-5">
  89. <div class="upload-pic">
  90. <i class="delpic mui-hidden" key="serviceQrcodeUrl">x</i>
  91. <i class="iconfont icon-add-more"></i>
  92. <input id="qrcodePic" type="file" draggable="false" accept="image/*">
  93. <img class="mui-hidden" src="">
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. <div class="subt">
  99. <input class="mui-btn-block" type="button" value="保存" onclick="save()">
  100. </div>
  101. </body>
  102. <script src="https://cdn.washpayer.com/components/lib/jquery.min.js"></script>
  103. <script src="https://cdn.washpayer.com/components/lib/mui.min.js"></script>
  104. <script charset="utf-8" src="//g.alicdn.com/sd/nch5/index.js?t=2015052012"></script>
  105. <script src="/components/lib/image-compressor.min.js"></script>
  106. <script src="/components/custom/js/common.js"></script>
  107. <script src="/app/js/xyf.common.js"></script>
  108. <script>
  109. var $gzhqrcodeInput = $('#gzhQrcodePic');
  110. var $qrcodeInput = $('#qrcodePic');
  111. var $brandPic = $('#brandPic');
  112. var productLogo = "";
  113. var gzhServiceQrcodeUrl = "";
  114. var serviceQrcodeUrl = "";
  115. var basicConfig = {
  116. imgPrefix: ""
  117. };
  118. function myImageCompressor(file, callback) {
  119. if (window.ImageCompressor) {
  120. const imageCompressor = new ImageCompressor();
  121. if (file) {
  122. imageCompressor.compress(file, {
  123. quality: .7,
  124. // logo图片不需要太清晰,也不需要太大
  125. maxWidth: 800,
  126. maxHeight: 800,
  127. success: function (result) {
  128. var formData = new FormData();
  129. formData.append('file', result, result.name);
  130. if (callback) {
  131. callback(formData);
  132. }
  133. }
  134. })
  135. }
  136. } else {
  137. //图片插件未加载完成提示
  138. mui.toast("图片上传工具未加载,刷新页面重试...");
  139. }
  140. }
  141. var oldPhone = ''
  142. //获取基本信息
  143. $(function () {
  144. var url = "/agent/getAgentInfo";
  145. var data = {};
  146. sendRequest(url, "GET", data, function (res) {
  147. if (res.result == 1) {
  148. var para = res.para;
  149. var productName = para.productName || '';
  150. if (productName.indexOf('微付乐') > -1) {
  151. $('#titleInfo').removeClass('mui-hidden')
  152. }
  153. $("#productName").val(productName);
  154. $("#title").val(para.title || '');
  155. $("#desc ").val(para.desc || '');
  156. $("#serviceName").val(para.serviceName);
  157. $("#servicePhone").val(para.servicePhone);
  158. oldPhone = para.servicePhone
  159. gzhServiceQrcodeUrl = para.gzhServiceQrcodeUrl;
  160. serviceQrcodeUrl = para.serviceQrcodeUrl;
  161. productLogo = para.productLogo;
  162. if (serviceQrcodeUrl && serviceQrcodeUrl != "") {
  163. $qrcodeInput.siblings('.iconfont').addClass('mui-hidden');
  164. $qrcodeInput.siblings('img').attr('src', serviceQrcodeUrl).removeClass('mui-hidden');
  165. $qrcodeInput.siblings('.delpic').removeClass('mui-hidden');
  166. }
  167. if (gzhServiceQrcodeUrl && gzhServiceQrcodeUrl != "") {
  168. $gzhqrcodeInput.siblings('.iconfont').addClass('mui-hidden');
  169. $gzhqrcodeInput.siblings('img').attr('src', gzhServiceQrcodeUrl).removeClass('mui-hidden');
  170. $gzhqrcodeInput.siblings('.delpic').removeClass('mui-hidden');
  171. }
  172. if (productLogo && productLogo != "") {
  173. $brandPic.siblings('.iconfont').addClass('mui-hidden');
  174. $brandPic.siblings('img').attr('src', productLogo).removeClass('mui-hidden');
  175. $brandPic.siblings('.delpic').removeClass('mui-hidden');
  176. }
  177. $("#servicePhone").trigger("keyup");
  178. } else {
  179. mui.toast(res.description);
  180. }
  181. });
  182. $('.delpic').tap(function (e) {
  183. var self = $(this);
  184. self.siblings('img').attr('src', '').addClass('mui-hidden');
  185. self.addClass('mui-hidden');
  186. self.siblings('.iconfont').removeClass('mui-hidden');
  187. self.siblings('input').show();
  188. var key = self.attr("key");
  189. window[key] = "";
  190. return false;
  191. });
  192. });
  193. //品牌上传
  194. var brandPicUpload = $("#brandPic");
  195. if (typeof FileReader === 'undefined') {
  196. brandPicUpload.attr('disabled', true);
  197. brandPicUpload.tap(function () {
  198. mui.alert('当前微信浏览器版本过低,请升级微信后再试!', '温馨提示', '我知道了');
  199. });
  200. } else {
  201. brandPicUpload.change(function (e) {
  202. var self = $(this);
  203. var file = brandPicUpload[0].files[0];
  204. //大小限制为200k以内
  205. if (file && file.size > 10000 * 1024) {
  206. msgPopup('温馨提示', '图片大小超出规定范围!', '知道了');
  207. return;
  208. }
  209. if (!(/^image\/.*$/i.test(file.type))) {
  210. mui.toast('该文件不是图片,请重新选择!');
  211. return;
  212. } else {
  213. myImageCompressor(file, function (formData) {
  214. var url = '/agent/uploadLogo';
  215. myAjax({
  216. url: url,
  217. type: 'POST',
  218. data: formData,
  219. processData: false,
  220. contentType: false,
  221. beforeSend: function () {
  222. showLoading('上传中...');
  223. },
  224. success: function (res) {
  225. if (res.result == 1) {
  226. productLogo = res.para;
  227. self.hide();
  228. self.siblings('.iconfont').addClass('mui-hidden');
  229. self.siblings('img').attr('src', productLogo).removeClass('mui-hidden');
  230. self.siblings('.delpic').removeClass('mui-hidden');
  231. } else {
  232. mui.toast('上传失败,请重试');
  233. }
  234. },
  235. complete: function () {
  236. hideLoading();
  237. //重置文件路径,避免选中重复不触发onchange
  238. brandPicUpload[0].value = "";
  239. }
  240. });
  241. });
  242. }
  243. });
  244. }
  245. //公众号二维码上传
  246. var gzhQrcodeUpload = $("#gzhQrcodePic");
  247. if (typeof FileReader === 'undefined') {
  248. gzhQrcodeUpload.attr('disabled', true);
  249. gzhQrcodeUpload.tap(function () {
  250. mui.alert('当前微信浏览器版本过低,请升级微信后再试!', '温馨提示', '我知道了');
  251. });
  252. } else {
  253. gzhQrcodeUpload.change(function (e) {
  254. var self = $(this);
  255. var file = gzhQrcodeUpload[0].files[0];
  256. //大小限制为200k以内
  257. if (file && file.size > 10000 * 1024) {
  258. msgPopup('温馨提示', '图片大小超出规定范围!', '知道了');
  259. return;
  260. }
  261. if (!(/^image\/.*$/i.test(file.type))) {
  262. mui.toast('该文件不是图片,请重新选择!');
  263. return;
  264. } else {
  265. myImageCompressor(file, function (formData) {
  266. var url = '/agent/uploadServiceGzhQrcodeUrl';
  267. myAjax({
  268. url: url,
  269. type: 'POST',
  270. data: formData,
  271. processData: false,
  272. contentType: false,
  273. beforeSend: function () {
  274. showLoading('上传中...');
  275. },
  276. success: function (res) {
  277. if (res.result == 1) {
  278. gzhServiceQrcodeUrl = res.para;
  279. self.hide();
  280. self.siblings('.iconfont').addClass('mui-hidden');
  281. self.siblings('img').attr('src', gzhServiceQrcodeUrl).removeClass('mui-hidden');
  282. self.siblings('.delpic').removeClass('mui-hidden');
  283. } else {
  284. mui.toast('上传失败,请重试');
  285. }
  286. },
  287. complete: function () {
  288. hideLoading();
  289. //重置文件路径,避免选中重复不触发onchange
  290. gzhQrcodeUpload[0].value = "";
  291. }
  292. });
  293. })
  294. }
  295. });
  296. }
  297. //客服二维码上传
  298. var qrcodeUpload = $("#qrcodePic");
  299. if (typeof FileReader === 'undefined') {
  300. qrcodeUpload.attr('disabled', true);
  301. qrcodeUpload.tap(function () {
  302. mui.alert('当前微信浏览器版本过低,请升级微信后再试!', '温馨提示', '我知道了');
  303. });
  304. } else {
  305. qrcodeUpload.change(function (e) {
  306. var self = $(this);
  307. var file = qrcodeUpload[0].files[0];
  308. //大小限制为200k以内
  309. if (file && file.size > 10000 * 1024) {
  310. msgPopup('温馨提示', '图片大小超出规定范围!', '知道了');
  311. return;
  312. }
  313. if (!(/^image\/.*$/i.test(file.type))) {
  314. mui.toast('该文件不是图片,请重新选择!');
  315. return;
  316. } else {
  317. myImageCompressor(file, function (formData) {
  318. var url = '/agent/uploadServiceQrcodeUrl';
  319. myAjax({
  320. url: url,
  321. type: 'POST',
  322. data: formData,
  323. processData: false,
  324. contentType: false,
  325. beforeSend: function () {
  326. showLoading('上传中...');
  327. },
  328. success: function (res) {
  329. if (res.result == 1) {
  330. serviceQrcodeUrl = res.para;
  331. self.hide();
  332. self.siblings('.iconfont').addClass('mui-hidden');
  333. self.siblings('img').attr('src', serviceQrcodeUrl).removeClass('mui-hidden');
  334. self.siblings('.delpic').removeClass('mui-hidden');
  335. } else {
  336. mui.toast('上传失败,请重试');
  337. }
  338. },
  339. complete: function () {
  340. hideLoading();
  341. //重置文件路径,避免选中重复不触发onchange
  342. qrcodeUpload[0].value = "";
  343. }
  344. });
  345. })
  346. }
  347. });
  348. }
  349. //保存客服信息
  350. function save() {
  351. var url = "/agent/saveAgentInfo";
  352. var toastOption = {"duration": 5000};
  353. var code = $("#code").val();
  354. //检查手机号码
  355. var servicePhone = $("#servicePhone").val();
  356. // if (!isPhone(servicePhone) && servicePhone != "") {
  357. // mui.toast("请输入11位正确手机号码", toastOption);
  358. // return;
  359. // }
  360. if (servicePhone && oldPhone != servicePhone) {
  361. //检查验证码
  362. var codeReg = /^\d{4}$/;
  363. if (!codeReg.test(code)) {
  364. mui.toast("请输入正确的验证码");
  365. return;
  366. }
  367. }
  368. var data = {
  369. "serviceQrcodeUrl": serviceQrcodeUrl,
  370. "gzhServiceQrcodeUrl": gzhServiceQrcodeUrl,
  371. "productLogo": productLogo,
  372. "productName": $("#productName").val(),
  373. "title": $("#title").val(),
  374. "desc": $("#desc").val(),
  375. "serviceName": $("#serviceName").val(),
  376. "code": code,
  377. "servicePhone": servicePhone
  378. };
  379. sendRequest(url, "POST", JSON.stringify(data), function (res) {
  380. if (res.result == 1) {
  381. mui.toast("保存成功");
  382. var url = "account-setting.html";
  383. goPage(url);
  384. } else {
  385. mui.toast(res.description);
  386. }
  387. });
  388. }
  389. $("#servicePhone").on('keyup', function () {
  390. var phone = $("#servicePhone").val();
  391. if (phone != "") {
  392. $("#sendBtn").attr("disabled", false);
  393. } else {
  394. $("#sendBtn").attr("disabled", true);
  395. }
  396. }).on('change', function () {
  397. $('.phone-change-show').show()
  398. })
  399. //初始化验证码控件
  400. initCheck('agentsModify', function () {
  401. var phone = $("#servicePhone").val();
  402. if (!isPhone(phone)) {
  403. mui.toast("请输入11位正确手机号码");
  404. return;
  405. }
  406. var data = {
  407. phone: phone,
  408. }
  409. return data
  410. }, '/agent/getCheckCode');
  411. </script>
  412. </html>