request.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833
  1. const app = getApp();
  2. const env = {
  3. NODE_ENV: 'prd',
  4. dev: {
  5. apiUrl: 'http://zhly.tongyu99.com'
  6. },
  7. prd: {
  8. apiUrl: 'https://wlapi.zhlc.liucheng.gov.cn'
  9. // apiUrl: 'https://wlapi-pro-smartcity.123cx.com'
  10. },
  11. pota: {
  12. // apiUrl: 'http://192.168.110.248:7012' //y
  13. apiUrl: 'http://192.168.110.97:7012' ,//w
  14. apiUrl:'http://192.168.110.109:7012',//w
  15. }
  16. }
  17. var header = {
  18. 'content-type': 'application/x-www-form-urlencoded',
  19. 'appId': 'ZQV47ZfNRAcKDWn',
  20. }
  21. /**小程序配置 */
  22. const publicss = {
  23. WX_GZH_APPID: 'wxc01ea0423e91d9e0',
  24. // WX_GZH_URI: 'http://zhly.zhiqiyun.com/pages/authorize/authorize', //本地
  25. WX_GZH_URI: 'http://lcweb.tongyu99.com/pages/authorize/authorize', //线上
  26. // domain_head:' http://zhly.zhiqiyun.com',
  27. domain_head: 'http://lcweb.tongyu99.com',
  28. picUrls: 'https://zhiqiyun.oss-cn-hangzhou.aliyuncs.com/static/', //图片地址
  29. 'mapLBSKEY': 'LVABZ-ZRC36-BWWS3-E6WJB-BVKZK-7DFP4',
  30. 'homeTopBgCode': '1001', //公共服务平台首页顶部banner位
  31. 'teseTopBgCode': '3001', //特色频道顶部banner位
  32. 'foodBannerCode': '5001', //特色美食顶部banner位
  33. 'hotelBannerCode': '4001', //酒店预订顶部banner位
  34. //产品的分类类型
  35. 'mpOtc': '20', //门票
  36. //信息发布code
  37. 'zwtz': 'zwtz_2', //政务通知
  38. }
  39. /*
  40. * 获取token
  41. */
  42. const getToken = (success) => {
  43. // let token = 'NYSQdiwsrMjGY2tGBqpSQjzeu34zXDUZw';
  44. let token = getStorage('AUTH_TOKENS');
  45. if (token) {
  46. success.call(this, token);
  47. return false;
  48. } else {
  49. loadToken(data => {
  50. success.call(this, data);
  51. });
  52. }
  53. }
  54. const loadToken = (success) => {
  55. let that = this
  56. uni.request({
  57. url: env[env.NODE_ENV].apiUrl + '/api/access_token',
  58. data: {},
  59. method: 'get',
  60. header: header,
  61. success(json) {
  62. if (json.statusCode !== 200) return msg(json.data.message);
  63. if (json.data.code !== 0) return msg(json.data.msg)
  64. setStorage('AUTH_TOKENS', json.data.data);
  65. success.call(that, json.data.data);
  66. },
  67. fail() {
  68. msg('access_token 获取失败');
  69. }
  70. })
  71. }
  72. const clearValueEmpty = (data) => {
  73. let keyValue = {};
  74. for (let key in data) {
  75. let value = typeof data[key];
  76. if (value == 'string' && value) {
  77. if (data[key] != 'undefined' && data[key] != " " && data[key] != undefined && data[key] != null) {
  78. keyValue[key] = data[key];
  79. }
  80. // keyValue[key] = data[key];
  81. } else if (value == 'number' && value != null) {
  82. keyValue[key] = data[key];
  83. } else if (value == 'boolean') {
  84. keyValue[key] = data[key];
  85. } else {
  86. if (data[key]) keyValue[key] = data[key];
  87. }
  88. }
  89. return keyValue;
  90. }
  91. /**
  92. * 公共请求
  93. *
  94. * @param {*} url 请求url
  95. * @param {*} data 请求参数
  96. * @param {*} method 请求方法
  97. * @param {*} success 成功函数
  98. * @param {*} isLoad 是否显示加载提示
  99. */
  100. const baseRequest = (url, data, method, success, isLoad) => {
  101. getToken(token => {
  102. if (isLoad) {
  103. loadIng('加载中');
  104. };
  105. header.authorityToken = token;
  106. if (url.indexOf('/v3') != -1) {
  107. header['content-type'] = 'application/json;charset=UTF-8'
  108. }
  109. if (url.indexOf('manage/v3') != -1) {
  110. header.authorityToken = getStorage('admin_authToken');
  111. }
  112. uni.request({
  113. // url: env[env.NODE_ENV].apiUrl + url,
  114. url: url,
  115. data: clearValueEmpty(data),
  116. method: method,
  117. header: header,
  118. success(json) {
  119. if (isLoad) {
  120. uni.hideLoading();
  121. }
  122. if (json.statusCode !== 200) return msg(json.data.message);
  123. if (json.data.code === 10021 || json.data.code === 10020) {
  124. removeStorage('AUTH_TOKENS');
  125. return redirectIndex();
  126. }
  127. if (getStorage('userInfo').type != 1 && json.data.code === 25001) { //未认证
  128. uni.redirectTo({
  129. url: '/pages/company/company'
  130. });
  131. return;
  132. }
  133. if (json.data.code !== 0) {
  134. return msg(json.data.msg)
  135. }
  136. let data = json.data.data;
  137. if (typeof data === 'string' && data.indexOf("{") === 0) {
  138. data = JSON.parse(data);
  139. }
  140. if (data == null) {
  141. data = {};
  142. }
  143. success.call(this, data);
  144. },
  145. fail() {
  146. if (isLoad) {
  147. uni.hideLoading();
  148. }
  149. },
  150. })
  151. })
  152. }
  153. const loadIng = (msg) => {
  154. uni.showLoading({
  155. title: msg,
  156. mask: true
  157. })
  158. }
  159. /**POST请求 */
  160. const postRequest = (url, data, success, isLoad) => {
  161. header['content-type'] = 'application/x-www-form-urlencoded'
  162. baseRequest(url, data, 'post', success, isLoad);
  163. }
  164. const postRequestLoding = (url, data, success, isLoding) => {
  165. header['content-type'] = 'application/x-www-form-urlencoded'
  166. baseRequest(url, data, 'post', success, false, isLoding);
  167. }
  168. /**GET请求 */
  169. const getRequest = (url, data, success, isLoad) => {
  170. header['content-type'] = 'application/x-www-form-urlencoded'
  171. baseRequest(url, data, 'get', success, isLoad);
  172. }
  173. /**Put请求 */
  174. const putRequest = (url, data, success, isLoad) => {
  175. header['content-type'] = 'application/x-www-form-urlencoded'
  176. baseRequest(url, data, 'put', success, isLoad)
  177. }
  178. const putRequestJson = (url, data, success, isLoad) => {
  179. header['content-type'] = 'application/json;charset=UTF-8'
  180. baseRequest(url, data, 'put', success, isLoad)
  181. }
  182. /**
  183. * 上传文件
  184. * @param {*} url 请求url
  185. * @param {*} data 携带数据
  186. * @param {*} success 请求成功函数
  187. */
  188. const uploadFile = (url, data, success, isLoad) => {
  189. // console.log(env[env.NODE_ENV].apiUrl + url, data)
  190. getToken(token => {
  191. if (isLoad) {
  192. loadIng('加载中');
  193. };
  194. uni.uploadFile({
  195. url: env[env.NODE_ENV].apiUrl + url,
  196. filePath: data,
  197. name: 'file',
  198. header: {
  199. 'appId': header['appId'],
  200. 'authorityToken': token
  201. },
  202. success(res) {
  203. uni.hideLoading();
  204. if (res.statusCode !== 200) {
  205. return msg('文件上传失败');
  206. }
  207. let data = JSON.parse(res.data);
  208. if (data.code !== 0) {
  209. return msg(data.msg);
  210. }
  211. success.call(this, data.data);
  212. },
  213. })
  214. })
  215. }
  216. /**弹窗 */
  217. const msg = (title, success) => {
  218. if (title) {
  219. uni.showToast({
  220. title: title,
  221. icon: 'none',
  222. success() {
  223. if (success) success.call(this);
  224. }
  225. });
  226. }
  227. return false;
  228. }
  229. const msgConfirm = (msg, success, cancel) => {
  230. uni.showModal({
  231. title: '提示',
  232. content: msg,
  233. success(res) {
  234. if (res.confirm) {
  235. success.call(this);
  236. } else {
  237. if (cancel) cancel.call(this);
  238. }
  239. }
  240. })
  241. }
  242. const msgConfirmText = (msg, confirmText, success, cancel) => {
  243. uni.showModal({
  244. title: '提示',
  245. content: msg,
  246. confirmText: confirmText,
  247. success(res) {
  248. if (res.confirm) {
  249. success.call(this);
  250. } else {
  251. if (cancel) cancel.call(this);
  252. }
  253. }
  254. })
  255. }
  256. const alertMsg = (msg, success) => {
  257. uni.showModal({
  258. title: '提示',
  259. content: msg,
  260. showCancel: false,
  261. success(res) {
  262. if (success) success.call(this);
  263. }
  264. })
  265. return false;
  266. }
  267. const load = msg => {
  268. uni.showLoading({
  269. title: msg,
  270. mask: true
  271. })
  272. }
  273. const g = (url, success, isLoad) => {
  274. getRequest(url, {}, success, isLoad)
  275. }
  276. const p = (url, success, isLoad) => {
  277. postRequest(url, {}, success, isLoad)
  278. }
  279. const send = (url, mobile, success, error) => {
  280. if (!mobile) {
  281. return msg('手机号码不能为空', error);
  282. }
  283. postRequest(url, {
  284. phone: mobile
  285. }, json => {
  286. if (json.code !== 0) {
  287. return msg(json.msg, error);
  288. }
  289. let time = 60;
  290. const initTime = setInterval(() => {
  291. time--;
  292. if (time > 0) {
  293. success.call(this, time + '秒后获取');
  294. } else {
  295. clearInterval(initTime);
  296. success.call(this, '获取验证码');
  297. }
  298. }, 1000)
  299. })
  300. }
  301. // 登陆拦截
  302. const redirectIndex = (params) => {
  303. uni.clearStorageSync();
  304. var pages = getCurrentPages();
  305. let currentUrl;
  306. if (pages) {
  307. var currentPage = pages[pages.length - 1];
  308. if (currentPage) {
  309. currentUrl = currentPage.route;
  310. let query = currentPage.query;
  311. if (query) {
  312. for (let key in query) {
  313. const fo = key + '=' + query[key];
  314. currentUrl += currentUrl.indexOf('?') > -1 ? '&' + fo : '?' + fo;
  315. }
  316. }
  317. if (currentUrl) {
  318. console.log('currentUrl》》》》》', currentUrl);
  319. setStorage("REDIRECT_URL", '/' + currentUrl)
  320. if (currentUrl == 'pages/login/login') {
  321. console.log('当前已经处于登录页面,不在向下执行跳转');
  322. return
  323. }
  324. }
  325. }
  326. }
  327. let redirectUrl = '/pages/login/login' + (params ? params : '');
  328. uni.reLaunch({
  329. url: redirectUrl
  330. })
  331. return false;
  332. }
  333. const saveImage = (url) => {
  334. uni.saveImageToPhotosAlbum({
  335. filePath: url,
  336. success() {
  337. msg('图片保存成功');
  338. }
  339. })
  340. }
  341. const saveImageToPhotosAlbum = (url) => {
  342. if (!url) return msg('小程序码不存在');
  343. uni.getImageInfo({
  344. src: url,
  345. success(json) {
  346. // uni.getSetting({
  347. // success(res) {
  348. // if (!res.authSetting['scope.writePhotosAlbum']) {
  349. // uni.authorize({
  350. // scope: 'scope.writePhotosAlbum',
  351. // success() {
  352. // saveImage(json.path);
  353. // }
  354. // })
  355. // } else {
  356. // saveImage(json.path);
  357. // }
  358. // }
  359. // })
  360. }
  361. })
  362. }
  363. const getConfig = (config, id) => {
  364. let con = {};
  365. config.info.forEach(inf => {
  366. // console.log(inf.version, inf.version ? inf.version.indexOf(id) : '-')
  367. if (inf.isSet && (!inf.version || inf.version.indexOf(id) > -1))
  368. con[inf.setName] = inf.setDefault;
  369. });
  370. config.card.forEach(inf => {
  371. if (inf.isSet && (!inf.version || inf.version.indexOf(id) > -1))
  372. con[inf.setName] = inf.setDefault;
  373. });
  374. config.realTime.forEach(inf => {
  375. if (inf.isSet && (!inf.version || inf.version.indexOf(id) > -1))
  376. con[inf.setName] = inf.setDefault;
  377. });
  378. return con;
  379. }
  380. const isLogin = async (error) => {
  381. let userInfo = getStorage('userInfo');
  382. if (!userInfo || !userInfo.id) {
  383. if (error) return false;
  384. // console.log("第一次执行")
  385. return redirectIndex();
  386. }
  387. return true;
  388. }
  389. //检测是否登录
  390. const isLogins = (isGoLogin) => {
  391. let userInfo = getStorage('userInfo');
  392. if (!userInfo) {
  393. if (isGoLogin) {
  394. redirectIndex();
  395. }
  396. return false;
  397. }
  398. return true;
  399. }
  400. /**
  401. * 退出登录
  402. */
  403. const outLogin = () => {
  404. uni.clearStorageSync();
  405. isLogins(true);
  406. }
  407. const setStorage = (key, value) => {
  408. uni.setStorageSync(env.NODE_ENV + "_" + key, value)
  409. }
  410. const getStorage = (key) => {
  411. return uni.getStorageSync(env.NODE_ENV + "_" + key)
  412. }
  413. const removeStorage = (key) => {
  414. return uni.removeStorageSync(env.NODE_ENV + "_" + key);
  415. }
  416. function isWeixin() {
  417. let ua = window.navigator.userAgent.toLowerCase()
  418. // 通过正则表达式匹配ua中是否含有MicroMessenger字符串
  419. if (ua.match(/MicroMessenger/i) == 'micromessenger') {
  420. return true;
  421. } else {
  422. return false;
  423. }
  424. }
  425. const payOrder = (id, type, success) => {
  426. let isShowLoading = false;
  427. if (!isShowLoading) {
  428. loadIng('加载中');
  429. isShowLoading = true;
  430. }
  431. var loctionAddressMap = getStorage('loctionAddressMap');
  432. var datas = {
  433. id: id
  434. };
  435. if (loctionAddressMap) {
  436. datas.province = loctionAddressMap.province;
  437. datas.city = loctionAddressMap.city;
  438. };
  439. datas.payChannel = 'wx_pub';
  440. postRequest('/api/order/weixin/pay', datas, json => {
  441. //下单完成后,调用验证
  442. if (isWeixin()) {
  443. checkWXJs(id, json, type, success);
  444. }
  445. })
  446. }
  447. //微信支付订单公共方法
  448. // const payOrder = (id, success) => {
  449. // let isShowLoading = false;
  450. // if (!isShowLoading) {
  451. // loadIng('加载中');
  452. // isShowLoading = true;
  453. // }
  454. // var loctionAddressMap = getStorage('loctionAddressMap');
  455. // var datas = {
  456. // id: id
  457. // };
  458. // if (loctionAddressMap) {
  459. // datas.province = loctionAddressMap.province;
  460. // datas.city = loctionAddressMap.city;
  461. // };
  462. // postRequest('/api/order/weixin/pay', datas, json => {
  463. // // console.log(json)
  464. // if (json.type === 2 || json.type === 3) {
  465. // //调用后台判断订单是否支付成功
  466. // let i = 0;
  467. // let timer = setInterval(() => {
  468. // postRequest('/api/order/check', {
  469. // id: id
  470. // }, res => {
  471. // if (res.isSuccess || i === 4) {
  472. // clearInterval(timer);
  473. // success.call(this, res.isSuccess);
  474. // } else {
  475. // i++;
  476. // }
  477. // }, true)
  478. // }, 200);
  479. // // success.call(this);
  480. // return false;
  481. // }
  482. // uni.requestPayment({
  483. // timeStamp: json.timeStamp,
  484. // nonceStr: json.nonceStr,
  485. // package: json.packages,
  486. // signType: json.signType,
  487. // paySign: json.sign,
  488. // success: function() {
  489. // console.log('支付成功')
  490. // let i = 0;
  491. // let timer = setInterval(() => {
  492. // postRequest('/api/order/check', {
  493. // id: id
  494. // }, res => {
  495. // console.log(i)
  496. // if (res.isSuccess || i === 5) {
  497. // clearInterval(timer);
  498. // success.call(this, res.isSuccess);
  499. // } else {
  500. // i++;
  501. // }
  502. // }, true)
  503. // }, 500);
  504. // },
  505. // fail: function(res) {
  506. // console.log('支付失败')
  507. // postRequest('/api/order/cancelPay', {
  508. // id: id
  509. // }, data => {
  510. // uni.redirectTo({
  511. // url: '/mine/orderDet/orderDet?id=' + id,
  512. // })
  513. // })
  514. // console.log(res);
  515. // }
  516. // })
  517. // if (isShowLoading) {
  518. // uni.hideLoading();
  519. // isShowLoading = false;
  520. // }
  521. // })
  522. // }
  523. const authSetting = (authority, success, error) => {
  524. // console.log(authority,success)
  525. // #ifndef H5
  526. uni.getSetting({
  527. success(res) {
  528. if (res.authSetting[authority]) {
  529. success.call(this);
  530. return false;
  531. }
  532. uni.authorize({
  533. scope: authority,
  534. success() {
  535. success.call(this);
  536. },
  537. fail: function(res) {
  538. error.call(this);
  539. }
  540. })
  541. }
  542. })
  543. // #endif
  544. }
  545. const getLocation = (suss) => {
  546. // #ifndef H5
  547. authSetting('scope.userLocation', () => {
  548. // load('定位中…');
  549. uni.getLocation({
  550. type: 'gcj02',
  551. isHighAccuracy: true,
  552. success: function(res) {
  553. // uni.hideLoading();
  554. setStorage('cLocation', res);
  555. console.log(res, "789")
  556. suss.call(this, res);
  557. },
  558. fail: function(res) {
  559. console.log("调用失败", res)
  560. suss.call(this, 2)
  561. // uni.hideLoading();
  562. }
  563. })
  564. }, () => {
  565. // uni.hideLoading();
  566. console.log("取消")
  567. suss.call(this, 1)
  568. });
  569. // #endif
  570. // #ifdef H5
  571. uni.getLocation({
  572. type: 'gcj02',
  573. isHighAccuracy: true,
  574. success: function(res) {
  575. console.log("缓存当前位置的经纬度>>>>>>>", res)
  576. //缓存当前位置的经纬度
  577. setStorage('cLocation', res);
  578. suss.call(this, res, "789");
  579. },
  580. fail: function(res) {
  581. console.log("调用失败", res)
  582. suss.call(this, 2)
  583. }
  584. })
  585. // #endif
  586. }
  587. const scopeAddress = (success) => {
  588. authSetting('scope.address', () => {
  589. uni.chooseAddress({
  590. success: function(res) {
  591. success.call(this, res);
  592. },
  593. })
  594. }, () => {
  595. msg('未设置开放权限')
  596. });
  597. }
  598. const isAuth = () => {
  599. const user = getStorage('userInfo');
  600. return user && user.id;
  601. }
  602. // 去掉字符串中的特殊字符和转义字符
  603. const excludeSpecial = (s) => {
  604. // 去掉转义字符
  605. // s = s.replace(/[\'\"\\\/\b\f\n\r\t]/g, '');
  606. const pattern = /[`~!@#$^&*()=|{}':;',\\\[\]\.<>\/?~!@#¥……&*()——|{}【】';:""' + - - _ % 。,、?\s]/g;
  607. if (s != undefined || s != null) {
  608. s = s.replace(pattern, "")
  609. }
  610. return s;
  611. }
  612. const checkWXJs = (id, payJson, payType, success) => {
  613. var url = window.location.href;
  614. console.log('当前URL地址数据====', url);
  615. getRequest('/api/getWeiXinJsApiInfo', {
  616. url: url
  617. }, res => {
  618. jWeixin.config({
  619. debug: false, // 开启调试模式
  620. appId: res.appId, // 必填,公众号的唯一标识
  621. timestamp: res.timestamp, // 必填,生成签名的时间戳
  622. nonceStr: res.nonceStr, // 必填,生成签名的随机串
  623. signature: res.signature, // 必填,签名
  624. jsApiList: [
  625. 'chooseWXPay', //
  626. ]
  627. });
  628. jWeixin.ready(function() {
  629. jWeixin.chooseWXPay({
  630. timestamp: payJson
  631. .timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
  632. nonceStr: payJson.nonceStr, // 支付签名随机串,不长于 32 位
  633. package: payJson.packages, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
  634. signType: payJson.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
  635. paySign: payJson.sign, // 支付签名
  636. success: function(res) {
  637. console.log('支付成功')
  638. // 支付成功后的回调函数
  639. try {
  640. let i = 0;
  641. let timer = setInterval(() => {
  642. postRequest('/api/order/check', {
  643. id: id
  644. }, res => {
  645. console.log(i)
  646. if (res.isSuccess || i === 5) {
  647. clearInterval(timer);
  648. uni.hideLoading();
  649. success.call(this, res.isSuccess);
  650. } else {
  651. i++;
  652. }
  653. }, true)
  654. }, 500);
  655. } catch (e) {
  656. uni.hideLoading();
  657. }
  658. },
  659. fail: function(res) {
  660. uni.hideLoading();
  661. console.log('支付失败', res)
  662. postRequest('/api/order/cancelPay', {
  663. id: id
  664. }, data => {
  665. if (payType == 'activity') {
  666. } else {
  667. uni.redirectTo({
  668. url: '/mine/orderDet/orderDet?id=' + id,
  669. })
  670. }
  671. })
  672. }
  673. });
  674. });
  675. },
  676. true
  677. );
  678. }
  679. // 获取用户行为操作
  680. const getBehavior = (id, behavior, type, success) => {
  681. let params = {
  682. bindId: id,
  683. behavior: behavior,
  684. type: type
  685. }
  686. getRequest('/api/v3/behavior/have', params, res => {
  687. success.call(this, res)
  688. })
  689. }
  690. // 获取用户行为操作数量
  691. const getBehaviorCount = (id, behavior, type, success) => {
  692. let params = {
  693. bindId: id,
  694. behavior: behavior,
  695. type: type
  696. }
  697. getRequest('/api/v3/behavior/count', params, res => {
  698. success.call(this, res)
  699. })
  700. }
  701. //格式化时间
  702. const dateFormat = (dat)=>{
  703. var dat = new Date(dat)
  704. //获取年月日,时间
  705. var year = dat.getFullYear();
  706. var mon = (dat.getMonth()+1) < 10 ? "0"+(dat.getMonth()+1) : dat.getMonth()+1;
  707. var data = dat.getDate() < 10 ? "0"+(dat.getDate()) : dat.getDate();
  708. var hour = dat.getHours() < 10 ? "0"+(dat.getHours()) : dat.getHours();
  709. var min = dat.getMinutes() < 10 ? "0"+(dat.getMinutes()) : dat.getMinutes();
  710. var seon = dat.getSeconds() < 10 ? "0"+(dat.getSeconds()) : dat.getSeconds();
  711. var a = new Array("日", "一", "二", "三", "四", "五", "六");
  712. var week = dat.getDay();
  713. var str = "星期"+ a[week];
  714. // 获取当前小时
  715. var hours = dat.getHours();
  716. // 设置默认文字
  717. var text = ``;
  718. console.log(hours)
  719. // 判断当前时间段
  720. if (hours >= 0 && hours <= 9) {
  721. text = `早上`;
  722. } else if (hours > 9 && hours <= 13) {
  723. text = `中午`;
  724. } else if (hours > 13 && hours <= 17) {
  725. text = `下午`;
  726. } else if (hours > 17 && hours <= 24) {
  727. text = `晚上`;
  728. }
  729. var newDate = {
  730. v1:year +"-"+ mon +"-"+ data +" "+ hour +":"+ min +":"+ seon,
  731. v2:year +"/"+ mon +"/"+ data +" "+ hour +":"+ min +":"+ seon,
  732. v3:year +"/"+ mon +"/"+ data,
  733. v4:year +"年"+ mon +"月"+ data +"日",
  734. v5:year +"-"+ mon +"-"+ data,
  735. week:str,
  736. text:text
  737. };
  738. return newDate;
  739. }
  740. module.exports = {
  741. setStorage: setStorage,
  742. getStorage: getStorage,
  743. postRequest: postRequest,
  744. postRequestLoding: postRequestLoding,
  745. getRequest: getRequest,
  746. putRequest: putRequest,
  747. putRequestJson: putRequestJson,
  748. msg: msg,
  749. g: g,
  750. p: p,
  751. env: env,
  752. send: send,
  753. redirectIndex: redirectIndex,
  754. saveImage: saveImage,
  755. saveImageToPhotosAlbum: saveImageToPhotosAlbum,
  756. uploadFile: uploadFile,
  757. msgConfirm: msgConfirm,
  758. getConfig: getConfig,
  759. load: load,
  760. isLogin: isLogin,
  761. isLogins: isLogins,
  762. payOrder: payOrder,
  763. getLocation: getLocation,
  764. scopeAddress: scopeAddress,
  765. isAuth: isAuth,
  766. alertMsg: alertMsg,
  767. getToken: getToken,
  768. loadIng: loadIng,
  769. removeStorage: removeStorage,
  770. public: publicss,
  771. header: header,
  772. excludeSpecial: excludeSpecial,
  773. msgConfirmText: msgConfirmText,
  774. isWeixin: isWeixin,
  775. checkWXJs: checkWXJs,
  776. getBehavior: getBehavior,
  777. getBehaviorCount: getBehaviorCount,
  778. outLogin: outLogin,
  779. dateFormat:dateFormat
  780. }