api.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. import axios from "axios"
  2. import store from "@/store/index.js"
  3. import router from "@/router"
  4. axios.interceptors.response.use(function (response) {
  5. // 2xx 范围内的状态码都会触发该函数。
  6. if (response.data.code === 5001 || response.data.code === 5002) {
  7. store.commit('logoutCallback')
  8. // router.push({ name: 'HomeView' })
  9. location.href = `https://open.weixin.qq.com/connect/qrconnect?appid=wx3d4f2e0cfc3b8e54&redirect_uri=https%3A%2F%2Fsit-wuxicishan.4dage.com%2F%23%2Flogin-temp&response_type=code&scope=snsapi_login&state=${encodeURIComponent(router.currentRoute.value.name)}#wechat_redirect`
  10. return Promise.reject('登录态过期')
  11. }
  12. return response
  13. }, function (error) {
  14. return error
  15. })
  16. export function reportVisitPage(pageId) {
  17. return axios({
  18. method: 'post',
  19. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/visit/addVisit`,
  20. data: {
  21. device: 'pc',
  22. id: pageId,
  23. }
  24. })
  25. }
  26. // export async function checkLoginStatusAndProcess() {
  27. // const lastToken = localStorage.getItem('token')
  28. // const lastUserInfoStr = localStorage.getItem('userInfo')
  29. // if (lastToken && lastUserInfoStr) {
  30. // const res = await axios({
  31. // method: 'get',
  32. // url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/checkLogin`,
  33. // headers: {
  34. // token: lastToken,
  35. // }
  36. // })
  37. // if (res?.data?.code === 0 && res?.data?.data) {
  38. // store.commit('setLoginStatus', store.getters.loginStatusEnum.notLogin)
  39. // store.commit('setToken', lastToken)
  40. // store.commit('setUserInfo', JSON.parse(lastUserInfoStr))
  41. // return true
  42. // } else {
  43. // store.commit('logoutCallback')
  44. // return false
  45. // }
  46. // } else {
  47. // store.commit('logoutCallback')
  48. // return false
  49. // }
  50. // }
  51. export function loginByWxCode(code) {
  52. return axios({
  53. method: 'get',
  54. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/wx/pcLogin/${code}`,
  55. }).then((res) => {
  56. return res.data.data
  57. })
  58. }
  59. export function getUserFromStorageIfNeed() {
  60. if (!store.state.token || !store.state.userInfo) {
  61. const lastToken = localStorage.getItem('token')
  62. const lastUserInfoStr = localStorage.getItem('userInfo')
  63. if (process.env.VUE_APP_CLI_MODE !== 'dev') {
  64. if (lastToken && lastUserInfoStr) {
  65. store.commit('setLoginStatus', store.getters.loginStatusEnum.wxUser)
  66. store.commit('setToken', lastToken)
  67. store.commit('setUserInfo', JSON.parse(lastUserInfoStr))
  68. }
  69. } else {
  70. if (lastToken) {
  71. store.commit('setLoginStatus', store.getters.loginStatusEnum.wxUser)
  72. store.commit('setToken', lastToken)
  73. }
  74. }
  75. }
  76. }
  77. export function getRelicList(searchKey, region) {
  78. return axios({
  79. method: 'get',
  80. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/visit/getList`,
  81. // headers: {
  82. // appId: "CA02F83A5FA162B930AA2F962D202F43B0F6DE0B51AD79FEDB03FA8202BB4909330105B3B347510D87C97060C4288280D4A744E00565A4EC",
  83. // "Content-Type": "application/json",
  84. // },
  85. params: {
  86. type: 'scene',
  87. searchKey,
  88. region
  89. },
  90. }).then((res) => {
  91. return res.data.data
  92. })
  93. }
  94. export function submitFeedback (name, phone, content, randCode) {
  95. return axios({
  96. method: 'post',
  97. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/cms/game/message`,
  98. headers: {
  99. token: store.state.token,
  100. },
  101. data: {
  102. name,
  103. phone,
  104. content,
  105. randCode,
  106. }
  107. }).then((res) => {
  108. if (res.data.code !== 0) {
  109. throw (res.data)
  110. } else {
  111. return
  112. }
  113. })
  114. }
  115. export function getPrizeList (pageNum, pageSize) {
  116. return axios({
  117. method: 'post',
  118. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/cms/game/prize/pageList`,
  119. headers: {
  120. token: store.state.token,
  121. },
  122. data: {
  123. pageNum,
  124. pageSize,
  125. searchKey: '',
  126. }
  127. }).then((res) => {
  128. return res.data.data
  129. })
  130. }
  131. export function getMyScore () {
  132. return axios({
  133. method: 'get',
  134. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/cms/game/getPoint`,
  135. headers: {
  136. token: store.state.token,
  137. },
  138. }).then((res) => {
  139. return res.data.data.total
  140. })
  141. }
  142. export function getShopContact() {
  143. return axios({
  144. method: 'post',
  145. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/getRuleConfig`,
  146. headers: {
  147. token: store.state.token,
  148. },
  149. }).then((res) => {
  150. return res.data.data
  151. })
  152. }
  153. export function getRedeemRecord() {
  154. return axios({
  155. method: 'get',
  156. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/cms/game/point/getList`,
  157. headers: {
  158. token: store.state.token,
  159. },
  160. }).then((res) => {
  161. return res.data.data
  162. })
  163. }
  164. export function getRankingListApi (limit = 10) {
  165. return axios({
  166. method: 'get',
  167. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/cms/game/point/user/getSort`,
  168. headers: {
  169. token: store.state.token,
  170. },
  171. params: {
  172. limit
  173. }
  174. }).then((res) => {
  175. return res.data.data
  176. })
  177. }
  178. export const checkRedeemApi = () => {
  179. return axios({
  180. method: 'get',
  181. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/cms/game/redeem/check`,
  182. headers: {
  183. token: store.state.token,
  184. },
  185. }).then((res) => {
  186. return res.data.data
  187. })
  188. }
  189. export const getRedeemApi = () => {
  190. return axios({
  191. method: 'get',
  192. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/cms/game/redeem/info`,
  193. headers: {
  194. token: store.state.token,
  195. },
  196. }).then((res) => {
  197. return res.data.data
  198. })
  199. }
  200. export function redeemApi(data) {
  201. return axios({
  202. method: 'post',
  203. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/cms/game/prize/redeem`,
  204. headers: {
  205. token: store.state.token,
  206. },
  207. data
  208. }).then((res) => {
  209. return res.data
  210. })
  211. }
  212. export function validateNickName (name) {
  213. return axios({
  214. method: 'post',
  215. url: `${process.env.VUE_APP_DEPLOY_ORIGIN}/api/show/saveNickname/${name}`,
  216. headers: {
  217. token: store.state.token,
  218. },
  219. }).then((res) => {
  220. return res.data
  221. })
  222. }