package core import ( "fmt" ) // PreviewRender render HTML for the preview func (page *Page) PreviewRender(referer string) (string, error) { // get the page config page.GetConfig() // Render the page request := NewRequestMock(page.Config.Mock) if referer != "" { request.Referer = referer } warnings := []string{} ctx := NewBuildContext(nil) doc, warnings, err := page.Build(ctx, &BuildOption{ SSR: true, AssetRoot: fmt.Sprintf("/api/__yao/sui/v1/%s/asset/%s/@assets", page.SuiID, page.TemplateID), KeepPageTag: false, }) // Get the data var data Data = nil if page.Codes.DATA.Code != "" || page.GlobalData != nil { data, err = page.Exec(request) if err != nil { warnings = append(warnings, err.Error()) } } // Add Frame Height if request.Referer != "" { doc.Selection.Find("body").AppendHtml(` `) } // Add Warning if len(warnings) > 0 { warningHTML := "