金诚优选前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

200 lines
5.4 KiB

  1. import config from './config';
  2. var gbConfig = {
  3. appid: 'wx43759fe438b7b066'
  4. };
  5. /*获取当前页带参数的url*/
  6. function getCurrentPageUrlWithArgs(){
  7. var pages = getCurrentPages() //获取加载的页面
  8. var currentPage = pages[pages.length-1] //获取当前页面的对象
  9. var url = currentPage.route //当前页面url
  10. var options = currentPage.options //如果要获取url中所带的参数可以查看options
  11. //拼接url的参数
  12. var urlWithArgs = url + '?'
  13. for(var key in options){
  14. var value = options[key]
  15. urlWithArgs += key + '=' + value + '&'
  16. }
  17. urlWithArgs = urlWithArgs.substring(0, urlWithArgs.length-1)
  18. return encodeURIComponent(urlWithArgs)
  19. };
  20. export const sandBox = {
  21. get({api, data, header}){
  22. let extConfig = {};
  23. if (extConfig.appid) {
  24. gbConfig = extConfig
  25. }
  26. if (header) {
  27. header.appid = gbConfig.appid
  28. } else {
  29. header = {};
  30. header.appid = gbConfig.appid
  31. }
  32. return new Promise((resolve, reject) => {
  33. wx.request({
  34. url:`${config.GLOBAL.baseUrl}${api}`,
  35. header:header,
  36. data:data,
  37. method:'GET',
  38. success:res => {
  39. sandBox.error(res).then(()=>{
  40. resolve(res)
  41. })
  42. },
  43. fail:rej => {
  44. reject(rej)
  45. }
  46. })
  47. })
  48. },
  49. post({api, data, header}){
  50. let extConfig = '';
  51. if (extConfig.appid) {
  52. gbConfig = extConfig
  53. }
  54. if (header) {
  55. header.appid = gbConfig.appid
  56. } else {
  57. header = {};
  58. header.appid = gbConfig.appid
  59. }
  60. return new Promise((resolve, reject) => {
  61. wx.request({
  62. url:`${config.GLOBAL.baseUrl}${api}`,
  63. data:data,
  64. header:header,
  65. method:'POST',
  66. success:res => {
  67. sandBox.error(res).then(()=>{
  68. resolve(res)
  69. })
  70. },
  71. fail:rej => {
  72. reject(rej)
  73. }
  74. })
  75. })
  76. },
  77. error(res){
  78. return new Promise((resolve,reject)=>{
  79. var url = getCurrentPageUrlWithArgs();
  80. if (res.data.message == 'Unauthenticated.') {
  81. uni.removeStorageSync('user_token');
  82. wx.showModal({
  83. content:'请重新登录',
  84. duration:1500,
  85. showCancel: false,
  86. success:(res)=>{
  87. if (res.confirm) {
  88. wx.navigateTo({
  89. url:`/pages/user/register/register?url=${url}`
  90. })
  91. return;
  92. }
  93. },
  94. cancel:()=>{
  95. wx.navigateTo({
  96. url:`/pages/user/register/register?url=${url}`
  97. })
  98. return;
  99. }
  100. })
  101. reject()
  102. return
  103. }
  104. resolve();
  105. return
  106. })
  107. },
  108. ajax({api, data, method, header}) {
  109. let extConfig = '';
  110. if (extConfig.appid) {
  111. gbConfig = extConfig
  112. }
  113. if (header) {
  114. header.appid = gbConfig.appid
  115. } else {
  116. header = {};
  117. header.appid = gbConfig.appid
  118. }
  119. return new Promise((resolve,reject) => {
  120. wx.request({
  121. url:`${config.GLOBAL.baseUrl}${api}`,
  122. data,
  123. header,
  124. method:method.toUpperCase(),
  125. success:res => {
  126. sandBox.error(res).then(()=>{
  127. resolve(res)
  128. })
  129. },
  130. fail:rej => {
  131. reject(rej)
  132. }
  133. })
  134. })
  135. },
  136. uploadFile({api,filePath,header,name}){
  137. let extConfig = '';
  138. if (extConfig.appid) {
  139. gbConfig = extConfig
  140. }
  141. if (header) {
  142. header.appid = gbConfig.appid
  143. } else {
  144. header = {};
  145. header.appid = gbConfig.appid
  146. }
  147. return new Promise((resolve,reject) =>{
  148. wx.uploadFile({
  149. url:`${config.GLOBAL.baseUrl}${api}`,
  150. header,
  151. filePath,
  152. name,
  153. success:res => {
  154. resolve(res)
  155. },
  156. fail:rej => {
  157. reject(rej)
  158. }
  159. })
  160. })
  161. },
  162. dowloadFile({api, filePath, header, name}) {
  163. let extConfig = '';
  164. if (extConfig.appid) {
  165. gbConfig = extConfig
  166. }
  167. if (header) {
  168. header.appid = gbConfig.appid
  169. } else {
  170. header = {};
  171. header.appid = gbConfig.appid
  172. }
  173. return new Promise((resolve, reject) => {
  174. wx.downloadFile({
  175. url:api,
  176. header,
  177. filePath,
  178. name,
  179. success:res => {
  180. resolve(res)
  181. },
  182. fail:rej => {
  183. reject(rej)
  184. }
  185. })
  186. })
  187. }
  188. };