user.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  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 : "http://47.122.23.214", // ip
  32. // ip: "http://172.16.7.101", // ip
  33. port: "9500", // 端口
  34. isCallOff : "2", // 开关
  35. folder: "", // 文件夹
  36. webRtcIp : "", // 呼叫中心的ip
  37. webRtcPort : "", // 呼叫中心的端口
  38. },
  39. systemList: [],
  40. },
  41. mutations: {
  42. SET_USER_ONLINE_STATUS:(state,data)=>{
  43. state.userInfo.onlineStatus = data;
  44. },
  45. SET_USERINFO: (state, data) => {
  46. state.userInfo = data;
  47. },
  48. SET_TOKEN: (state, data) => {
  49. state.token = data;
  50. },
  51. SET_NETCONFIG: (state, data) => {
  52. state.netConfig = data;
  53. },
  54. SET_BELONGSYSTEM: (state, data) => {
  55. const system = state.userInfo.subsystemList.find(item => (item.systemCode == data.code));
  56. if (system) {
  57. state.belongSystem = system;
  58. data.callback && data.callback(true);
  59. } else {
  60. data.callback && data.callback(false);
  61. }
  62. },
  63. SET_ISDS: (state, value) => {
  64. state.isDS = value
  65. },
  66. SET_HOMEOFF: (state, value) => {
  67. state.homeOff = value
  68. },
  69. SET_ISOUT: (state, value) => {
  70. state.isOut = value
  71. },
  72. SET_SYSTEM(state, data) {
  73. state.path = data.path;
  74. state.system = data;
  75. state.abcModel = data.text == "农行催收";
  76. state.spdbModel = data.text == "浦发催收";
  77. state.ccbModel = data.text == "建行催收";
  78. state.publicModel = data.text == "专业催收";
  79. state.dfklModel = data.text == "商账催收";
  80. state.cibModel = data.text == "兴业催收";
  81. state.icbcHModel = data.text == "工行催收";
  82. state.tjxtModel = data.text == "调催系统";
  83. },
  84. SET_UUID(state, data) {
  85. state.uuid = data;
  86. },
  87. SET_SYSTEM_LIST(state, data) {
  88. state.systemList = data;
  89. }
  90. },
  91. actions: {
  92. setSystemlist({
  93. commit,
  94. state
  95. }, systemCodeList) {
  96. state.systemList = systemList.filter(v => systemCodeList.includes(v.value));
  97. },
  98. getUserInfo(store) {
  99. const {
  100. commit,
  101. state,
  102. dispatch
  103. } = store;
  104. return new Promise((resolve, reject) => {
  105. uni.$u.api.getInfo().then(res => {
  106. commit("SET_USERINFO", res.user);
  107. commit("SET_BELONGSYSTEM", {
  108. code: state.system.value,
  109. callback: (flag) => {
  110. if (flag) {
  111. resolve();
  112. } else {
  113. reject();
  114. }
  115. }
  116. });
  117. });
  118. })
  119. },
  120. login({
  121. commit,
  122. dispatch,
  123. state
  124. }, form) {
  125. return new Promise((resolve, reject) => {
  126. uni.$u.api.login(form).then((loginRes) => {
  127. const token = loginRes.data.access_token;
  128. commit("SET_TOKEN", token);
  129. dispatch("getUserInfo").then(() => {
  130. resolve();
  131. }).catch(() => {
  132. commit("SET_TOKEN", "");
  133. commit("SET_USERINFO", {});
  134. reject();
  135. })
  136. })
  137. })
  138. },
  139. logout({
  140. commit,
  141. dispatch
  142. }) {
  143. return uni.$u.api.logout().then(() => {
  144. commit("SET_TOKEN", "");
  145. commit("SET_USERINFO", {});
  146. dispatch("app/logoutCloseData", null, {
  147. root: true
  148. });
  149. Promise.resolve();
  150. }).catch(() => {
  151. Promise.reject();
  152. })
  153. },
  154. }
  155. }