util.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. import Toast from '@vant/weapp/toast/toast';
  2. const { loginURL, registerURL } = require('../API/appraise')
  3. const baseURL = "https://trade.may1145.xyz";//后台服务提供的地址
  4. const wsConnectURL = "ws://trade.may1145.xyz";//websocket连接地址
  5. const uploadUrl = "/pic/upload";
  6. const formatTime = timestamp => {
  7. let date = new Date(timestamp);
  8. const year = date.getFullYear()
  9. const month = date.getMonth() + 1
  10. const day = date.getDate()
  11. const hour = date.getHours()
  12. const minute = date.getMinutes()
  13. const second = date.getSeconds()
  14. return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
  15. }
  16. const messageMap = new Map();
  17. const formatNumber = n => {
  18. n = n.toString()
  19. return n[1] ? n : `0${n}`
  20. }
  21. function http(url, option) {
  22. return new Promise ((resolve, reject) => {
  23. wx.request({
  24. url: baseURL + url,
  25. header:{
  26. "Authorization": (url!=loginURL && url!=registerURL) ? wx.getStorageSync('token') : '',
  27. "content-type":"application/json"
  28. },
  29. ...option,
  30. success(res) {
  31. const {data,code,message} = res.data;
  32. if(code == 200){
  33. // resolve(data);
  34. resolve(res);
  35. }else if(code == 500){
  36. reject(res);
  37. }else{
  38. reject(res);
  39. }
  40. },
  41. fail(err) {
  42. console.log(err);
  43. reject(err);
  44. },
  45. //数据加载完毕关闭loading
  46. complete: () => {
  47. wx.hideLoading()
  48. }
  49. })
  50. })
  51. }
  52. function ws(url , option) {
  53. return new Promise((resolve,reject) => {
  54. wx.connectSocket({
  55. url: wsConnectURL+url,
  56. ...option,
  57. })
  58. // 监听websocket连接打开
  59. wx.onSocketOpen((result) => {
  60. console.log("websocket连接已打开");
  61. })
  62. // 失败监控
  63. wx.onSocketError((result) => {
  64. console.log("websocket连接失败", result);
  65. })
  66. })
  67. }
  68. function upLoad(filePath) {
  69. return new Promise((resolve,reject) => {
  70. wx.uploadFile({
  71. filePath: filePath,
  72. name: 'pic',
  73. url: baseURL+uploadUrl,
  74. success: (res) => {
  75. const {data,code,message} = JSON.parse(res.data);
  76. if(code == 200){
  77. resolve(data);
  78. }else{
  79. Toast.fail(message);
  80. reject();
  81. }
  82. },
  83. fail: (err) => {
  84. console.log();
  85. Toast.fail('上传失败');
  86. console.log(err);
  87. reject(err);
  88. }
  89. })
  90. }
  91. )
  92. }
  93. function chooseImage(){
  94. return new Promise((resolve,reject) => {
  95. wx.chooseImage({
  96. count: 1,//可选择图片数量
  97. sizeType: ['original'],//原图
  98. sourceType: ['album','camera'],//来源
  99. success: (res)=>{
  100. resolve(res);
  101. }
  102. })
  103. })
  104. }
  105. function wxLogin(){
  106. return new Promise((resolve,reject)=>{
  107. wx.login({
  108. success: (res) => {
  109. console.log(res);
  110. resolve(res);
  111. },
  112. fail: (err) => {
  113. console.log(err);
  114. reject(err);
  115. }
  116. })
  117. })
  118. }
  119. module.exports = {
  120. formatTime: formatTime,
  121. http,
  122. ws,
  123. upLoad,
  124. chooseImage,
  125. messageMap,
  126. wxLogin
  127. }