profile.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. "use strict";
  2. const common_vendor = require("../../common/vendor.js");
  3. const common_assets = require("../../common/assets.js");
  4. const _sfc_main = {
  5. data() {
  6. return {
  7. avatarUrl: "",
  8. nickname: "",
  9. phone: "",
  10. wechatName: "",
  11. editNicknameValue: "",
  12. showNicknamePopup: false
  13. };
  14. },
  15. onLoad() {
  16. this.getUserInfo();
  17. },
  18. methods: {
  19. async getUserInfo() {
  20. const uid = common_vendor.index.getStorageSync("uid");
  21. const res = await common_vendor.index.request({
  22. url: `http://localhost:9527/api/getUid?uid=${uid}`,
  23. method: "GET"
  24. });
  25. if (res.statusCode === 200 && res.data.code === 200) {
  26. const data = res.data.data;
  27. this.avatarUrl = data.avatarUrl;
  28. this.nickname = data.nickname;
  29. this.phone = data.phone;
  30. this.wechatName = data.wechatName || "";
  31. }
  32. },
  33. // 选择并上传头像
  34. chooseAvatar() {
  35. common_vendor.index.chooseImage({
  36. count: 1,
  37. success: async (chooseRes) => {
  38. const filePath = chooseRes.tempFilePaths[0];
  39. const uploadRes = await common_vendor.index.uploadFile({
  40. url: "你的OSS上传接口",
  41. // TODO: 替换为你的OSS上传接口
  42. filePath,
  43. name: "file"
  44. });
  45. const avatarUrl = JSON.parse(uploadRes.data).url;
  46. await common_vendor.index.request({
  47. url: "http://localhost:9527/api/updateUser",
  48. method: "POST",
  49. data: { uid: common_vendor.index.getStorageSync("uid"), avatarUrl }
  50. });
  51. this.avatarUrl = avatarUrl;
  52. common_vendor.index.showToast({ title: "头像已更新", icon: "success" });
  53. }
  54. });
  55. },
  56. // 编辑昵称
  57. editNickname() {
  58. this.editNicknameValue = this.nickname;
  59. this.showNicknamePopup = true;
  60. },
  61. async saveNickname() {
  62. await common_vendor.index.request({
  63. url: "http://localhost:9527/api/updateUser",
  64. method: "POST",
  65. data: { uid: common_vendor.index.getStorageSync("uid"), nickname: this.editNicknameValue }
  66. });
  67. this.nickname = this.editNicknameValue;
  68. this.showNicknamePopup = false;
  69. common_vendor.index.showToast({ title: "昵称已更新", icon: "success" });
  70. },
  71. // 跳转更换手机号
  72. goToChangePhone() {
  73. common_vendor.index.navigateTo({ url: "/pages/mine/changePhone" });
  74. },
  75. // 跳转设置密码
  76. goToSetPassword() {
  77. common_vendor.index.navigateTo({ url: "/pages/mine/setPassword" });
  78. },
  79. // 跳转账号注销
  80. goToCancelAccount() {
  81. common_vendor.index.navigateTo({ url: "/pages/mine/cancelAccount" });
  82. },
  83. // 跳转解绑微信
  84. goToUnbindWechat() {
  85. common_vendor.index.navigateTo({ url: "/pages/mine/unbindWechat" });
  86. }
  87. }
  88. };
  89. function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
  90. return common_vendor.e({
  91. a: $data.avatarUrl,
  92. b: common_vendor.o((...args) => $options.chooseAvatar && $options.chooseAvatar(...args)),
  93. c: common_vendor.t($data.nickname),
  94. d: common_vendor.o((...args) => $options.editNickname && $options.editNickname(...args)),
  95. e: common_vendor.t($data.phone),
  96. f: common_vendor.o((...args) => $options.goToChangePhone && $options.goToChangePhone(...args)),
  97. g: common_assets._imports_0$2,
  98. h: common_vendor.t($data.wechatName),
  99. i: common_vendor.o((...args) => $options.goToUnbindWechat && $options.goToUnbindWechat(...args)),
  100. j: common_vendor.o((...args) => $options.goToSetPassword && $options.goToSetPassword(...args)),
  101. k: common_vendor.o((...args) => $options.goToCancelAccount && $options.goToCancelAccount(...args)),
  102. l: $data.showNicknamePopup
  103. }, $data.showNicknamePopup ? {
  104. m: $data.editNicknameValue,
  105. n: common_vendor.o(($event) => $data.editNicknameValue = $event.detail.value),
  106. o: common_vendor.o(($event) => $data.showNicknamePopup = false),
  107. p: common_vendor.o((...args) => $options.saveNickname && $options.saveNickname(...args))
  108. } : {});
  109. }
  110. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-935803c6"]]);
  111. wx.createPage(MiniProgramPage);
  112. //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/mine/profile.js.map