A2Main.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import http from "@/utils/http";
  2. import store, { AppDispatch } from "..";
  3. import { A2R_fSaveType, A2SelectType, A2getGoodsDataType } from "@/types";
  4. /**
  5. * 获文物列表数据
  6. */
  7. export const A2_APIgetGoodsList = (data: A2getGoodsDataType) => {
  8. return async (dispatch: AppDispatch) => {
  9. const res = await http.post("show/goods/pageList", data);
  10. if (res.code === 0) {
  11. dispatch({
  12. type: "main/goodsList",
  13. payload: res.data.records,
  14. });
  15. }
  16. };
  17. };
  18. /**
  19. * 获取下拉框列表
  20. */
  21. export const A2_APIgetSelectData = (type: "age" | "texture") => {
  22. return async (dispatch: AppDispatch) => {
  23. const res = await http.get(`/show/dict/list?type=${type}`);
  24. if (res.code === 0) {
  25. const obj = store.getState().A2Main.selectData;
  26. let newObj = {} as A2SelectType;
  27. const data = res.data.map((v: any) => ({ value: v.name, label: v.name }));
  28. data.unshift({
  29. value: "",
  30. label: type === "age" ? "全部年代" : "全部种类",
  31. });
  32. if (type === "age") {
  33. newObj = {
  34. ...obj,
  35. age: data,
  36. };
  37. } else {
  38. newObj = {
  39. ...obj,
  40. texture: data,
  41. };
  42. }
  43. dispatch({
  44. type: "main/goodsSelect",
  45. payload: newObj,
  46. });
  47. }
  48. };
  49. };
  50. /**
  51. * 获取知识列表
  52. */
  53. export const A2_APIgetKnowData = (type: string) => {
  54. return http.get(`show/getKnowledge?tagType=${type}`);
  55. };
  56. /**
  57. * 通过id获取详情
  58. */
  59. export const A2_APIgetGoodsInfo = (id: number) => {
  60. return http.get(`show/goods/detail/${id}`);
  61. };
  62. /**
  63. * 获取问答列表
  64. */
  65. export const A2_APIgetQuestion = (id: number) => {
  66. return http.get(`show/goods/getQuestion/${id}`);
  67. };
  68. /**
  69. * 获取留言列表
  70. */
  71. export const A2_APIgetBarrage = (id: number) => {
  72. return http.get(`show/goods/getBarrage/${id}`);
  73. };
  74. /**
  75. * 获取弹幕列表随机 20条
  76. */
  77. export const A2_APIgetBarrageAll = () => {
  78. return http.get(`show/barrage/limitList/20`);
  79. };
  80. /**
  81. * 获取弹幕总开关
  82. */
  83. export const A2_APIgetConfigBarrage = () => {
  84. return http.get("show/getConfig/barrage");
  85. };
  86. /**
  87. * 文物点赞
  88. */
  89. export const A2_APIgoodsaddStar = (id: number) => {
  90. return http.get(`show/goods/addStar/${id}`);
  91. };
  92. //------------left2
  93. /**
  94. * 获取知识列表
  95. */
  96. export const A2_APIgetKnowledge = (type: string) => {
  97. return http.get(`show/goods/getKnowledge/${type}`);
  98. };
  99. //------------R_FORM
  100. /**
  101. * 获取验证码
  102. */
  103. export const A2_APIgetRandCode = () => {
  104. return http.get("show/getRandCode", { responseType: "blob" });
  105. };
  106. /**
  107. * 新增留言(弹幕)
  108. */
  109. export const A2_APIsaveBarrage = (data: A2R_fSaveType) => {
  110. return http.post("show/goods/saveBarrage", data);
  111. };