page.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import { createPublish } from "applet-page-component";
  2. import { queryToUrl } from "./index";
  3. const getOptions = () => ({
  4. ...createPublish(),
  5. data: {
  6. pageType: undefined,
  7. componentData: undefined,
  8. query: {},
  9. title: "",
  10. header: "",
  11. },
  12. onReadyHeader({ height }) {
  13. const { componentData = {} } = this.data;
  14. componentData.headerHeight = height;
  15. this.setData({
  16. componentData: { ...componentData },
  17. });
  18. },
  19. onLoad(query) {
  20. const { title, pageType, header = "", ...other } = query;
  21. title &&
  22. my.setNavigationBar({
  23. title,
  24. });
  25. const { globalData } = getApp();
  26. const { pageTemp = {} } = globalData;
  27. const componentData = pageTemp[pageType] || {};
  28. this.setData({
  29. title,
  30. header,
  31. pageType,
  32. componentData,
  33. query: other,
  34. });
  35. },
  36. onUnload() {
  37. if (getApp().globalData.pageTemp) {
  38. delete getApp().globalData.pageTemp[this.data.pageType];
  39. }
  40. },
  41. // 分享
  42. onShareAppMessage() {
  43. const { pageType, query, title } = this.data;
  44. return {
  45. title,
  46. path: `${this.route}?pageType=${pageType}&title=${title}${queryToUrl(
  47. query
  48. )}`,
  49. };
  50. },
  51. });
  52. export default getOptions;