login.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. import Vue from 'vue'
  2. class Login {
  3. wechatLogin() {
  4. let that = this;
  5. return new Promise((resolve, reject) => {
  6. uni.login({
  7. success(res) {
  8. Vue.prototype.$Http.loginbywechat({
  9. wechat_code: res.code,
  10. "systemclient": "marketingtool"
  11. }).then(res => {
  12. console.log("微信登录", res)
  13. if (Vue.prototype.cutoff(res.msg)) return resolve({});
  14. uni.removeStorage({
  15. key: 'userMsg',
  16. })
  17. uni.setStorageSync('userMsg', res.account_list[0])
  18. Vue.prototype.$Http.systemInitIsComplete = Promise.all([that.query_userauth(), that.querySite_Parameter(), that.querySite()]).then(res => {
  19. Vue.prototype.$Http.systemInitIsComplete = true
  20. Vue.prototype.$Http.HomePageStartRendering && Vue.prototype.$Http.HomePageStartRendering()
  21. })
  22. })
  23. }
  24. })
  25. })
  26. }
  27. /* 获取用户权限 */
  28. query_userauth() {
  29. return new Promise((resolve, reject) => {
  30. Vue.prototype.$Http.basic({
  31. "classname": "sysmanage.develop.userauth.userauth",
  32. "method": "query_userauth",
  33. content: {
  34. nocache: true
  35. }
  36. }).then(res => {
  37. console.log("查询用户权限", res)
  38. if (Vue.prototype.cutoff(res.msg)) return resolve(false);
  39. resolve(true)
  40. this.parsingAuth(res.data)
  41. });
  42. })
  43. }
  44. /* 查询站点数据 */
  45. querySite_Parameter() {
  46. return new Promise((resolve, reject) => {
  47. Vue.prototype.$Http.basic({
  48. "classname": "webmanage.site.site",
  49. "method": "querySite_Parameter", //查询站点数据
  50. "content": {}
  51. }).then(res => {
  52. console.log("查询站点配置", res)
  53. if (Vue.prototype.cutoff(res.msg)) return resolve(false);
  54. uni.removeStorage({
  55. key: 'siteP',
  56. })
  57. uni.setStorageSync('siteP', res.data);
  58. resolve(true)
  59. });
  60. })
  61. }
  62. /* 查询站点数据 */
  63. querySite() {
  64. return new Promise((resolve, reject) => {
  65. Vue.prototype.$Http.basic({
  66. "classname": "webmanage.site.site",
  67. "method": "querySite",
  68. "content": {},
  69. }).then(res => {
  70. console.log("查询站点配置", res)
  71. if (Vue.prototype.cutoff(res.msg)) return resolve(false);
  72. res.data.logo = res.data.attinfos.length ? Vue.prototype.getSpecifiedImage(res.data.attinfos.find(s => s.usetype == "actionlogo") || res.data.attinfos[0]) : ''
  73. uni.removeStorage({
  74. key: 'site',
  75. })
  76. uni.setStorageSync('site', res.data);
  77. resolve(true)
  78. });
  79. })
  80. }
  81. /* 格式化权限 */
  82. parsingAuth(list) {
  83. let authList = {}
  84. list.forEach(system => {
  85. // let systemObj = {}
  86. system.modules.forEach(app => {
  87. let appObj = {}
  88. app.apps.forEach(m => {
  89. appObj[m.meta.title] = {
  90. path: m.path,
  91. pathDetail: m.path_index,
  92. pathDetail: m.path_index,
  93. name: m.name,
  94. remark: m.meta.title,
  95. cover: m.cover,
  96. option: m.meta.auth.map(v => v.option),
  97. optionname: m.meta.auth.map(v => v.optionname)
  98. }
  99. })
  100. // systemObj[app.systemmodulename] = appObj;
  101. authList[app.systemmodulename] = appObj;
  102. })
  103. // authList[system.systemname] = systemObj;
  104. });
  105. uni.removeStorage({
  106. key: 'authList'
  107. })
  108. uni.setStorageSync('authList', authList)
  109. }
  110. }
  111. export {
  112. Login
  113. }