西藏巴青项目

onlineConsult.js 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import request from '@/utils/request'
  2. /** 可问诊兽医分页列表 */
  3. export function listOnlineConsultVets(params) {
  4. return request({
  5. url: '/app/onlineConsult/vet/list',
  6. method: 'GET',
  7. params
  8. })
  9. }
  10. /** 打开或复用与指定兽医的问诊会话 */
  11. export function openOnlineConsultSession(data) {
  12. return request({
  13. url: '/app/onlineConsult/session/open',
  14. method: 'POST',
  15. header: { repeatSubmit: false },
  16. data
  17. })
  18. }
  19. /** 历史消息 */
  20. export function listOnlineConsultMessages(sessionId, params) {
  21. return request({
  22. url: `/app/onlineConsult/session/${sessionId}/messages`,
  23. method: 'GET',
  24. params
  25. })
  26. }
  27. /** 发送消息 */
  28. export function sendOnlineConsultMessage(sessionId, data) {
  29. return request({
  30. url: `/app/onlineConsult/session/${sessionId}/message`,
  31. method: 'POST',
  32. header: { repeatSubmit: false },
  33. data
  34. })
  35. }
  36. /** 隐藏会话(问诊人侧删除列表项) */
  37. export function hideOnlineConsultSession(sessionId) {
  38. return request({
  39. url: `/app/onlineConsult/session/${sessionId}/hide`,
  40. method: 'POST',
  41. header: { repeatSubmit: false }
  42. })
  43. }
  44. /** 问诊人消息 Tab:兽医问诊会话列表(M3) */
  45. export function listAskerConsultSessions(params) {
  46. return request({
  47. url: '/app/onlineConsult/session/list',
  48. method: 'GET',
  49. params
  50. })
  51. }
  52. /** 问诊人删除会话(对兽医隐藏,M4) */
  53. export function hideAskerConsultSession(sessionId) {
  54. return request({
  55. url: `/app/consult/vet/session/${sessionId}/hide`,
  56. method: 'POST',
  57. header: { repeatSubmit: false }
  58. })
  59. }
  60. /** 列表项资料缓存 key(无单独详情接口,供 vet-profile 读取) */
  61. export function vetProfileCacheKey(vetResourceId) {
  62. return `oc_vet_profile_${vetResourceId}`
  63. }
  64. export function saveVetProfileCache(vetResourceId, row) {
  65. if (!vetResourceId || !row) return
  66. try {
  67. uni.setStorageSync(vetProfileCacheKey(vetResourceId), JSON.stringify(row))
  68. } catch (e) {
  69. /* noop */
  70. }
  71. }
  72. export function loadVetProfileCache(vetResourceId) {
  73. if (!vetResourceId) return null
  74. try {
  75. const raw = uni.getStorageSync(vetProfileCacheKey(vetResourceId))
  76. if (!raw) return null
  77. return typeof raw === 'string' ? JSON.parse(raw) : raw
  78. } catch (e) {
  79. return null
  80. }
  81. }