user.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. import permision from "@/js_sdk/wa-permission/permission.js";
  2. import {
  3. getMacAddress
  4. } from "../../utils/util";
  5. import {
  6. systemList
  7. } from "@/utils/commonDicts.js";
  8. export default {
  9. namespaced: true,
  10. state: {
  11. userInfo: {},
  12. token: "",
  13. belongSystem: null, // 子系统实体类
  14. isDS: false, // 是否处于脱敏状态
  15. path: "", // 请求的前缀
  16. system: {}, // 当前选择的系统
  17. abcModel: false,
  18. spdbModel: false,
  19. ccbModel: false,
  20. dfklModel: false,
  21. publicModel: false,
  22. cibModel: false,
  23. icbcHModel: false,
  24. tjxtModel: false,
  25. homeOff: false, // 居家
  26. isOut: false, // 外访
  27. uuid: null, // 设备id
  28. netConfig: {
  29. // http://59.42.9.166:9520/proxy
  30. // http://10.0.7.100:9500
  31. // ip: "https://crm.nanjingshiyu.com/prod-api", // ip
  32. ip: "https://crmtest.nanjingshiyu.com/prod-api", // 测试环境ip
  33. // ip : "/api", // 测试环境ip
  34. // ip : "http://47.113.184.101", // 测试环境ip
  35. // ip: "http://172.16.7.200", // ip
  36. // port: "9500", // 端口
  37. isCallOff: "2", // 开关
  38. folder: "", // 文件夹
  39. webRtcIp: "", // 呼叫中心的ip
  40. webRtcPort: "", // 呼叫中心的端口s
  41. },
  42. systemList: [],
  43. redirectUrl: null,
  44. },
  45. mutations: {
  46. SET_REDIRECTURL(state, data) {
  47. state.redirectUrl = data;
  48. },
  49. SET_USER_ONLINE_STATUS: (state, data) => {
  50. state.userInfo.onlineStatus = data;
  51. },
  52. SET_USERINFO: (state, data) => {
  53. state.userInfo = data;
  54. },
  55. SET_TOKEN: (state, data) => {
  56. state.token = data;
  57. },
  58. SET_NETCONFIG: (state, data) => {
  59. state.netConfig = data;
  60. },
  61. SET_BELONGSYSTEM: (state, data) => {
  62. const system = state.userInfo.subsystemList.find(item => (item.systemCode == data.code));
  63. if (system) {
  64. state.belongSystem = system;
  65. data.callback && data.callback(true);
  66. } else {
  67. data.callback && data.callback(false);
  68. }
  69. },
  70. SET_ISDS: (state, value) => {
  71. state.isDS = value
  72. },
  73. SET_HOMEOFF: (state, value) => {
  74. state.homeOff = value
  75. },
  76. SET_ISOUT: (state, value) => {
  77. state.isOut = value
  78. },
  79. SET_SYSTEM(state, data) {
  80. state.path = data.path;
  81. state.system = data;
  82. state.abcModel = data.text == "农行催收";
  83. state.spdbModel = data.text == "浦发催收";
  84. state.ccbModel = data.text == "建行催收";
  85. state.publicModel = data.text == "专业催收";
  86. state.dfklModel = data.text == "商账催收";
  87. state.cibModel = data.text == "兴业催收";
  88. state.icbcHModel = data.text == "工行催收";
  89. state.tjxtModel = data.text == "调催系统";
  90. },
  91. SET_UUID(state, data) {
  92. state.uuid = data;
  93. },
  94. SET_SYSTEM_LIST(state, data) {
  95. state.systemList = data;
  96. }
  97. },
  98. actions: {
  99. setSystemlist({
  100. commit,
  101. state
  102. }, systemCodeList) {
  103. state.systemList = systemList.filter(v => systemCodeList.includes(v.value));
  104. },
  105. getUserInfo(store) {
  106. const {
  107. commit,
  108. state,
  109. dispatch
  110. } = store;
  111. return new Promise((resolve, reject) => {
  112. uni.$u.api.getInfo().then(res => {
  113. commit("SET_USERINFO", res.user);
  114. commit("SET_BELONGSYSTEM", {
  115. code: state.system.value,
  116. callback: (flag) => {
  117. resolve(res.user);
  118. }
  119. });
  120. });
  121. })
  122. },
  123. login({
  124. commit,
  125. dispatch,
  126. state
  127. }, form) {
  128. return new Promise((resolve, reject) => {
  129. uni.$u.api.login(form).then((loginRes) => {
  130. const token = loginRes.data.access_token;
  131. commit("SET_TOKEN", token);
  132. dispatch("getUserInfo").then((userInfo) => {
  133. const { userId } = userInfo;
  134. resolve(userId);
  135. }).catch(() => {
  136. commit("SET_TOKEN", "");
  137. commit("SET_USERINFO", {});
  138. reject();
  139. })
  140. })
  141. })
  142. },
  143. logout({
  144. commit,
  145. dispatch
  146. }) {
  147. return uni.$u.api.logout().then(() => {
  148. // 停止电话监听
  149. dispatch("call/stopPhoneListener", null, { root: true }).catch(error => {
  150. console.error('退出登录时停止电话监听失败:', error);
  151. });
  152. commit("SET_TOKEN", "");
  153. commit("SET_USERINFO", {});
  154. dispatch("app/logoutCloseData", null, {
  155. root: true
  156. });
  157. Promise.resolve();
  158. }).catch(() => {
  159. Promise.reject();
  160. })
  161. },
  162. }
  163. }