imBll.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. import { getImAdminToken,imAccountCheck,registerImUser,getImUserToken,updateImUser } from "@/pages_im/api/imApi";
  2. export const imAccountCheckReg = (userID) => {
  3. return new Promise(async (resolve, reject) => {
  4. let data={};
  5. let hasReg=false;
  6. try {
  7. let token = uni.getStorageSync('IMAdminToken');
  8. let tokenData={};
  9. if(!token){
  10. const respTokenObj = await getImAdminToken();
  11. if(respTokenObj.errCode==0){
  12. tokenData = respTokenObj.data;
  13. token=tokenData.token;
  14. uni.setStorageSync("IMAdminToken",token);
  15. }
  16. }
  17. data = await imAccountCheck(userID);
  18. if(data.results.lenth>0){
  19. uni.setStorage({key: "IMUserID",data: userID});
  20. hasReg=true;
  21. }
  22. data={hasReg:hasReg};
  23. resolve(data);
  24. } catch (e) {
  25. reject(e);
  26. }
  27. });
  28. };
  29. export const getImUserTokenReq = (userID) => {
  30. return new Promise(async (resolve, reject) => {
  31. let data={};
  32. try {
  33. let token = uni.getStorageSync('IMAdminToken');
  34. let tokenData={};
  35. if(!token){
  36. const data = await getImAdminToken();
  37. console.log("qxj getImAdminToken data:"+JSON.stringify(data));
  38. token=data.token;
  39. uni.setStorageSync("IMAdminToken",token);
  40. }
  41. data = await getImUserToken(userID);
  42. uni.setStorage({key: "IMToken", data: data.token});
  43. uni.setStorage({key: "IMUserID",data: userID});
  44. resolve(data);
  45. } catch (err) {
  46. reject(err);
  47. }
  48. });
  49. };
  50. export const registerImUserReq = (userID,nickname,faceURL) => {
  51. return new Promise(async (resolve, reject) => {
  52. let data={};
  53. try {
  54. let token = uni.getStorageSync('IMAdminToken');
  55. let tokenData={};
  56. const respTokenObj = await getImAdminToken();
  57. if(!token){
  58. if(!!respTokenObj && respTokenObj.token){
  59. token=respTokenObj.token;
  60. uni.setStorageSync("IMAdminToken",token);
  61. }
  62. }
  63. let params={
  64. users:[ { userID:userID,nickname:nickname,faceURL:faceURL } ]
  65. };
  66. let respObj = await registerImUser(params);
  67. console.log("----qxj registerImUserReq respObj:"+JSON.stringify(respObj));
  68. //if(respObj.errCode==0){
  69. data = await getImUserToken(userID);
  70. uni.setStorage({key: "IMToken", data: data.token});
  71. uni.setStorage({key: "IMUserID",data: userID});
  72. //}
  73. resolve(data);
  74. } catch (e) {
  75. reject(e);
  76. }
  77. });
  78. };
  79. export const updateImUserReq = (userID,nickname,faceURL) => {
  80. return new Promise(async (resolve, reject) => {
  81. let data={};
  82. try {
  83. let token = uni.getStorageSync('IMAdminToken');
  84. let tokenData={};
  85. const respTokenObj = await getImAdminToken();
  86. if(!token){
  87. if(!!respTokenObj && respTokenObj.token){
  88. token=respTokenObj.token;
  89. uni.setStorageSync("IMAdminToken",token);
  90. }
  91. }
  92. let params={
  93. userInfo:{ "userID":userID,"nickname":nickname,"faceURL":faceURL }
  94. };
  95. let respObj = await updateImUser(params);
  96. //if(respObj.errCode==0){
  97. data = await getImUserToken(userID);
  98. uni.setStorage({key: "IMToken", data: data.token});
  99. uni.setStorage({key: "IMUserID",data: userID});
  100. //}
  101. resolve(data);
  102. } catch (e) {
  103. reject(e);
  104. }
  105. });
  106. };
  107. export const openImLoginApi =async (data,IMToken,IMUserID,succCallBack,failCallBack) => {
  108. console.log("----qxj IMUserID:"+IMUserID+" IMToken:"+IMToken);
  109. let userID=data.userID;
  110. let nickName=data.nickName;
  111. let faceURL=data.avatar;
  112. if(!!IMUserID || !!IMToken){
  113. getImUserTokenReq(IMUserID).then(res => {
  114. updateImUserReq(userID,nickName,faceURL).then(res1 => {
  115. succCallBack(res.token);
  116. },
  117. rej => {
  118. failCallBack();
  119. }
  120. ).catch((res) => {
  121. failCallBack();
  122. });
  123. //succCallBack();
  124. },
  125. rej => {
  126. if(rej.errCode==1004 && rej.errMsg=="RecordNotFoundError"){ //未找到
  127. registerImUserReq(userID,nickName,faceURL).then(res => {
  128. succCallBack();
  129. },
  130. rej => {
  131. failCallBack();
  132. }
  133. ).catch((res) => {
  134. failCallBack();
  135. });
  136. }
  137. failCallBack();
  138. }
  139. ).catch((err) => {
  140. failCallBack();
  141. });
  142. }
  143. else{
  144. registerImUserReq(userID,nickName,faceURL).then(res => {
  145. succCallBack();
  146. },
  147. rej => {
  148. failCallBack();
  149. }
  150. ).catch(() => {
  151. });
  152. }
  153. };