ts-glitter 13.8.57 → 13.8.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bq35s7n6px.json +1 -0
- package/lowcode/Entry.js +1 -1
- package/lowcode/Entry.ts +1 -1
- package/lowcode/backend-manager/bg-widget.js +7 -3
- package/lowcode/backend-manager/bg-widget.ts +9 -1
- package/lowcode/cms-plugin/ai-generator/product-ai.js +196 -0
- package/lowcode/cms-plugin/ai-generator/product-ai.ts +203 -0
- package/lowcode/cms-plugin/shopping-product-setting.js +43 -2
- package/lowcode/cms-plugin/shopping-product-setting.ts +55 -4
- package/lowcode/glitter-base/route/ai-chat.js +1 -1
- package/lowcode/glitter-base/route/ai-chat.ts +3 -2
- package/package.json +1 -1
- package/src/api-public/services/notify.js +7 -0
- package/src/api-public/services/notify.js.map +1 -1
- package/src/api-public/services/notify.ts +8 -0
- package/src/index.html +1 -0
package/bq35s7n6px.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"request":["請問要如何新增訂單","新增訂單該怎麼做"],"response":"請前往訂單管理的「訂單」,點擊右上角「新增」即可新增訂單"},{"request":["請問要如何編輯訂單","編輯訂單該怎麼做","如何修改訂單"],"response":"請前往訂單管理的「訂單」,點擊一份訂單進行編輯操作"},{"request":["請問要如何封存訂單","封存訂單該怎麼做"],"response":"請前往訂單管理的「訂單」,在列表中勾選想要封存的訂單,即可批量封存"},{"request":["請問要如何解除封存訂單","解除封存訂單該怎麼做"],"response":"請前往訂單管理的「已封存訂單」,在列表中勾選想要解除封存的訂單,即可批量解除封存"},{"request":["請問要如何刪除訂單","刪除訂單該怎麼做"],"response":"目前系統沒有設計訂單刪除的功能,僅可勾選想要封存的訂單,將訂單以封存的方式改變狀態"},{"request":["請問要如何搜尋訂單","搜尋訂單該怎麼做","我想要按照日期排序訂單,該怎麼做","可以只顯示付款狀態已付款的訂單嗎"],"response":"請前往訂單管理的「訂單」,在列表左上方可以根據訂單編號、訂購人姓名、商品名稱等進行關鍵字搜尋,也可以在右上選擇篩選和排序,可以做到更仔細的訂單查詢"},{"request":["請問要如何查看訂單狀態","訂單付款狀態如何得知","訂單出貨狀態如何得知","請問出貨狀態在哪"],"response":"請前往訂單管理的「訂單」,點擊任一訂單,在右上角有出貨狀態、付款狀態、訂單進度的顯示,也可以在詳細訂單中查看更多內容"},{"request":["請問要如何匯出訂單列表","匯出訂單列表要怎麼做","有辦法匯出訂單"],"response":"請前往訂單管理的「訂單」,點擊右上角「匯出」即匯出當前搜尋結果的訂單excel檔案"},{"request":["如何上架商品","如何下架商品","有辦法上架或下架多個商品嗎","上架商品","下架商品"],"response":"請前往商品管理的「商品列表」,可直接在列表上下架商品,或勾選多個商品後,點擊「更多操作」來批量更改"},{"request":["請問要如何新增商品","新增商品該怎麼做","新增商品在哪","新增商品","如何添加商品","添加商品該怎麼做"],"response":"請前往商品管理的「商品列表」,點擊右上角「新增」即可新增商品"},{"request":["請問要如何匯出商品列表","匯出商品列表要怎麼做","有辦法匯出商品列表嗎"],"response":"請前往商品管理的「商品列表」,點擊右上角「匯入」或「匯出」,即可匯入多個商品,或匯出當前搜尋結果的商品excel檔案"},{"request":["如何透過訂單編號查詢商品","如何用商品條碼來搜尋商品","有辦法在商品列表中加入篩選嗎","排序建立時間為最新的商品列表"],"response":"請前往商品管理的「商品列表」,在列表左上方可以根據商品名稱、SKU、商品條碼等進行關鍵字搜尋,也可以在右上選擇篩選和排序,可以做到更仔細的商品查詢"},{"request":["如何新增商品規格","如何編輯商品規格","調整商品規格","能更改商品規格的大小、尺寸、顏色、型號嗎","新增規格","如何修改規格"],"response":"請前往商品管理的「商品列表」,點擊任一商品,往下找到「商品規格」欄位,可以新增與編輯規格種類,下方「規格設定」將會顯示所有商品規格的組合"},{"request":["如何修改商品狀態","如何編輯商品狀態為草稿的商品","啟用商品該如何設定","如何讓商品無法購買"],"response":"請前往商品管理的「商品列表」,點擊任一商品,「商品狀態」在右上角,「啟用」為在前台公布並開放購買,「草稿」則在前台暫時不公布也不可購買"},{"request":["如何設定商品價格","商品的原價該怎麼設定","商品的價格該在哪裡設定"],"response":"請前往商品管理的「商品列表」,點擊任一商品,若有多個規格請點擊任一規格,往下找到「定價」欄位,「售價」為消費者商品購買金額,「原價」為較高價格的售價,可依照銷售策略訂定您想要的價格"},{"request":["如何設定商品運費","如何設定商品重量","如何設定商品材積","商品的重量該怎麼設定","商品的材積該在哪裡設定"],"response":"請前往商品管理的「商品列表」,點擊任一商品,若有多個規格請點擊任一規格,往下找到「運費計算」欄位,可針對商品的運費計算方式選擇依照「材積」、「重量」或不計算,並在下方填入商品的單位值,隨後會依照商店設定中「運費設定」的級距後,計算出消費者購物車的運費總金額"},{"request":["如何新增商品分類","商品分類該怎麼設定","商品分類在哪裡設定"],"response":"請前往商品管理的「商品分類」,點擊右上角「新增」,輸入分類標題與連結網址(唯一),並設定該分類的商品與SEO,即可儲存完成新增"},{"request":["如何編輯商品分類","商品分類在哪裡編輯"],"response":"請前往商品管理的「商品分類」,點擊任一商品分類進行編輯"},{"request":["如何刪除商品分類","商品分類在哪裡刪除"],"response":"請前往商品管理的「商品分類」,點擊任一商品分類,下方功能列中按下「刪除類別」,請注意刪除類別時,若有包含子類別,也將一併刪除"},{"request":["如何調整商品分類的順序","想調整商品分類在前台的順序"],"response":"請前往商品管理的「商品分類」,點擊右上角「編輯順序」,可拖曳父子層的類別,進而改變前台瀏覽商品的分類順序"},{"request":["如何設定商店的基本訊息","如何設定商店的基本資料","設定商店名稱和統一編號,該從哪裡開始"],"response":"請前往商店設定的「商店訊息」,在基本資訊欄位可填寫商家資料,作為對外宣傳與首頁資訊"},{"request":["如何設定商店的SEO","如何設定商店的圖示","設定商店縮圖,該從哪裡開始"],"response":"請前往商店設定的「商店訊息」,在SEO欄位可填寫商家在網頁上的SEO設定與圖片,並自訂網域、Google Analytics(GA4)、代碼管理工具"},{"request":["如何編輯商店金流","商店線上或線下金流該怎麼設定","商店的付款方式","atm或貨到付款在哪裡設定","信用卡付款方式在哪裡設定","如何設定line pay"],"response":"請前往商店設定的「金流設定」,可管理線上與線下金流,無論是指定付款方式、付款告知提醒等,商家皆可自訂"},{"request":["如何編輯商店物流","超商配送該怎麼設定","711店到店如何設定","全家店到店如何設定","ok店到店如何設定","萊爾富店到店如何設定","交貨方式在哪裡設定"],"response":"請前往商店設定的「配送設定」,可設定啟用物流的方式,以及設定給消費者的配送說明,超商店到店請詳閱各大超商配送與價格資訊"},{"request":["如何填寫商店物流追蹤","物流追蹤該怎麼設定","如何新增物流追蹤"],"response":"請前往商店設定的「配送設定」,點擊右上角的「物流追蹤設定」,可設定綠界物流參數,設定完成即可達成物流追蹤與托運單列印功能"},{"request":["如何填寫商店物流運費","運費級距該怎麼設定"],"response":"請前往商店設定的「運費設定」,可以設定訂單「總材積」或「總重量」所在的級距,進而計算該訂單運費金額"},{"request":["如何開啟或關閉購物金功能","新加入會員購物金該怎麼設定","購物金的使用期限","生日禮發放購物金的方式","如何設定購物金折抵上限","如何允許購物金是否可折抵"],"response":"請前往商店設定的「購物金設定」,可以設定消費者在訂單結帳時可使用折抵的購物金,以及新註冊加入會員或會員生日禮的購物金自動發放、訂單折抵上限、購物金使用期限等"},{"request":["線上金流有哪些"],"response":"我們有提供「藍新金流」與「綠界金流」的串接,並提供正式測試區切分與多種付款方式"},{"request":["線下金流有哪些"],"response":"我們有提供「ATM轉帳」、「LINE PAY」與基本的「貨到付款」,在不執行線上付款時,可由店家自行與消費者商議付款方式"},{"request":["訂單重量的運費計算方式","訂單材積的運費計算方式"],"response":"訂單內的商品會設定依「重量」或依「材積」,分別做出總計,再按照總計值找出「運費設定」所設定的區間,算出該訂單的運費金額"},{"request":["購物金的用途是什麼","什麼是購物金"],"response":"購物金是商家發送給消費者的訂單可抵用金額,1點購物金代表1元,並搭配新加入會員、生日禮、優惠券,或是手動給予消費者購物金,來達到行銷作用"},{"request":["如何查看商品庫存","什麼是商品庫存"],"response":"請前往商品管理的「庫存列表」,會顯示商品的每個規格中各自的安全庫存與實際庫存數量,可即時查看與編輯值,點擊則可查看商品規格詳細資料"},{"request":["如何設定商品庫存"],"response":"請前往商品管理的「商品列表」,點擊任一商品,若有多個規格請點擊任一規格,往下找到「庫存政策」欄位,可設定是否追蹤庫存,系統將會記錄購買商品時的增減"},{"request":["什麼是安全庫存"],"response":"安全庫存指的是商品啟用庫存追蹤時,若實際庫存低於安全庫存量,系統將會通知商家,商品低於安全庫存量的提醒"},{"request":["什麼是POS"],"response":"POS是指在零售行業中用於處理交易的硬軟體組合。通常包括一台電腦、POS軟體、條碼掃描儀、收銀機、發票列印機和付款處理等設備"},{"request":["如何查看POS訂單","怎麼篩選POS訂單"],"response":"請前往訂單管理的「訂單」,在列表上方可以點選「POS訂單」的標籤,即可查看所有的POS訂單"},{"request":["什麼是已封存訂單"],"response":"已封存的訂單將不會在所有訂單中顯示,需要到訂單管理的「已封存訂單」中解除封存訂單,才會顯示於所有訂單的列表中"},{"request":["如何新增退貨單"],"response":"請前往訂單管理的「退貨單」,點擊右上角新增,輸入想要退貨的訂單編號,並設定退貨單的詳細內容,即可建立退貨單"},{"request":["如何新增顧客"],"response":"請前往顧客管理的「顧客列表」,點擊右上角新增,輸入顧客基本資料,即可新增"},{"request":["如何加入黑名單","什麼是顧客黑名單"],"response":"請前往顧客管理的「顧客列表」,點擊想要加入黑名單的顧客,在顧客詳細右上角點擊「加入黑名單」即可,黑名單的顧客將無法登入與購物車結帳"},{"request":["什麼是顧客分群"],"response":"顧客分群是將所有的顧客分類,目前有提供「電子郵件訂閱者」、「尚未購買過的顧客」、「已購買多次的顧客」,可透過顧客分群了解到不同客群有哪些會員"},{"request":["什麼是會員等級"],"response":"會員等級是按照顧客訂單消費紀錄來給予不同等級的設定,條件可分為累計蕭累或單次消費,會員等級可以在優惠券、生日禮等活動時,界定不同內容與優惠身份"},{"request":["什麼是優惠券","如何設定優惠券","如何設定優惠促銷活動","優惠券要怎麼新增","如何建立優惠券"],"response":"請前往優惠促銷的「折扣活動」,可以新增一個新的優惠券活動,可指定產品、顧客、設定金額、套用範圍、計算方式等,建立專屬店家的活動"},{"request":["怎樣啟用或關閉優惠券","如何更改優惠券狀態"],"response":"點擊任一優惠券,在設定中有「活動狀態」的按鈕,可以點擊啟用與關閉並儲存"},{"request":["如何設定優惠券代碼","如何指定優惠券可使用的對象","如何指定想要的顧客才可以使用的優惠券","怎麼設定優惠券可使用的來源","如何僅限POS使用優惠券"],"response":"點擊任一優惠券,在設定中有「活動方式」、「活動對象」、「可使用訂單來源」,這些設定可以限制優惠券的使用範圍與來源"},{"request":["如何設定優惠券折扣金額","如何指定優惠券折抵的百分比","怎麼設定優惠券套用的商品分類","指定商品才可以使用優惠券","如何應用優惠券到特定商品"],"response":"點擊任一優惠券,在設定中有「折扣金額」與「套用至」,這些設定可以限制優惠券折扣條件,以及在商品上的套用限制"},{"request":["如何設定優惠券消費條件","如何指定滿額送","怎麼設定優惠券觸發條件","如何設定買幾送幾的優惠券"],"response":"點擊任一優惠券,在設定中有「消費條件」、「計算單位」、「重複觸發」,這些設定可以讓優惠券有其觸發條件、是否重複觸發,以及計算單位的標的"},{"request":["如何設定優惠券使用次數","如何設定全館使用次數","怎麼設定一個人使用優惠券的次數","指定優惠券使用次數"],"response":"點擊任一優惠券,在設定中有「全館總使用次數」與「個人總使用次數」,可以設定在全館或個人,在商店中無限制次數或限制使用次數"},{"request":["如何設定優惠券使用期限","怎麼設定優惠券的開始時間與結束時間","無期限的優惠券要如何設定"],"response":"點擊任一優惠券,在設定中有「有效日期」,可以設定優惠券啟用的開始時間與結束時間"},{"request":["如何刪除優惠券"],"response":"點擊任一優惠券,下方功能列有「刪除優惠券」,或是在列表勾選洗要刪除的優惠券,點擊「批量移除」,即可刪除優惠券"},{"request":["如何新增購物金","如何發放購物金"],"response":"請前往優惠促銷的「購物金紀錄」,點擊右上角新增,輸入欲增加或減少的金額,並設定天數,接著指定顧客,即可完成購物金增減"},{"request":["如何新增隱形賣場"],"response":"請前往行銷推廣的「隱形賣場」,點擊右上角新增,選擇符合您需求的模板,接著設定網頁名稱、連結、SEO,以及賣場內的產品,儲存即可完成隱形賣場"},{"request":["什麼是隱形賣場"],"response":"隱形賣場是指透過專屬的連結,可進入的賣場,只有透過專屬連結進入網站時,才可進入此隱形賣場,進而做到行銷與分流追蹤的目的"},{"request":["如何新增一頁商店"],"response":"請前往行銷推廣的「一頁商店」,點擊右上角新增,選擇符合您需求的模板,接著設定網頁名稱、連結、SEO,以及賣場內的產品,儲存即可完成一頁商店"},{"request":["什麼是一頁商店"],"response":"一頁商店是指透過單一頁面設計,推廣指定商品與類別,讓頁面獨立展現特色,進而做到行銷與分流追蹤的目的"},{"request":["如何設定分銷連結"],"response":"請前往行銷推廣的「分銷連結」,點擊右上角新增,設定分銷代碼、導向的網址、專屬網址,以及分潤條件與類型,並設定推薦人,儲存即可完成分銷連結"},{"request":["什麼是分銷連結"],"response":"分銷連結指的是特別給予推薦人引薦用的商城連結,透過推薦人的廣發與行銷,來達到觸擊連結的效果,讓電商與賣場得到更多關注與曝光率"},{"request":["分銷連結的推薦人是什麼","如何新增推薦人"],"response":"請前往行銷推廣的「推薦人列表」,點擊右上角新增,可新增行銷用的推薦人帳號,並可以在「分銷連結」設定上選取該推薦人"},{"request":["自動寄件是什麼功能","如何使用自動寄件"],"response":"自動寄件是系統在指定事件發生時自動發送的寄信功能,諸如商品出到貨、訂單成立與付款、生日祝福、客服訊息等寄件格式設定,以及是否啟用功能"},{"request":["手動寄件是什麼功能","如何使用手動寄件"],"response":"手動寄件是系統提供商家寄信給消費者的寄信功能,可以指定多個客群或顧客,輸入標題與內文,並指定寄送時間"},{"request":["如何自訂網頁主題","如何設定網站佈景主題","前台網頁要如何設計","什麼是佈景主題","如何修改網站排版","網頁設計該怎麼做"],"response":"請前往品牌官網的「佈景主題」,在第一張卡的右側點擊「自訂」,即可進入頁面編輯系統,在該系統可以自由設定您想要的網站設計與排版"},{"request":["如何新增網誌文章","網誌文章是什麼","如何發佈網誌"],"response":"請前往品牌官網的「網誌文章」,在右上角點擊新增,選定一個模板並設定網誌內容,儲存即建立網誌完成"},{"request":["如何設定分頁","分頁列表是什麼","分頁列表在哪"],"response":"請前往品牌官網的「分頁列表」,列表是自訂新增的連結,可配合「佈景主題」在頁面中自訂添加需要有連結的地方"},{"request":["如何設定選單管理","選單管理是什麼","頁腳連結在哪","導覽列的連結要如何設定","如何設定主選單"],"response":"請前往品牌官網的「選單管理」,選單分為主選單與頁腳,可加入指定的頁面連結與外部連結,系統將自動在每個頁面的頁首頁腳添加超連結"},{"request":["如何切換商店","其他的商城要如何開啟","切換商店的地方在哪","如何新增商店"],"response":"請移動至右上角會員頭像處,點擊「所有商店」,即可查看所有您建立的商店、當前方案與預覽圖"},{"request":["要如何為商品添加圖片和描述","如何新增商品圖片或敘述"],"response":"點擊任一商品編輯,可以在「商品說明」欄位添加商品的敘述,「圖片」則可以新增多張不同角度和種類的圖片"},{"request":["怎樣將商品分類到不同的分類目錄中","可以將商品新增到不同的分類嗎"],"response":"商品可以填加到多個不同的「商品分類」,在父層的商品分類中會同時包含底下的子層商品,讓您的商品有更多方式來分類"},{"request":["如何查看最新的訂單"],"response":"訂單管理的「訂單」列表,預設已按照最新到最舊的方式排列"},{"request":["如何處理待處理的訂單","如何篩選已付款的訂單"],"response":"訂單管理的「訂單」列表右上有篩選器,可以從篩選器中選取訂單裝態處理中、付款狀態已付款等設定"},{"request":["怎樣查看訂單的配送地址","怎樣查看訂購人資料","如何知道訂單的結帳方式"],"response":"訂單管理的「訂單」點選任一訂單,右側有「訂購人資料」、「收件人資料」、「付款方式」、「配送方式」,這些欄位可以讓您清楚知道訂單的消費者資訊"},{"request":["怎樣更新訂單的訂單狀態","如何更新訂單的付款狀態","訂單該怎麼更新出貨狀態"],"response":"訂單管理的「訂單」點選任一訂單,可以查找「訂單狀態」、「付款狀態」、「配送狀態」,這些欄位可以讓您調整訂單的各項狀態"},{"request":["怎樣處理顧客在訂單的疑問","如何回答顧客對訂單的疑問"],"response":"顧客管理的「客服系統」可以針對不同的顧客來專一答覆,顧客在購物車結帳時也可以填寫備註,在訂單詳細裡的「訂單備註」中可以查看"},{"request":["如何查看顧客的訂單紀錄"],"response":"顧客管理的「顧客列表」搜尋顧客後,點擊該顧客,顧客詳細中有「訂單記錄」,可查閱顧客訂單歷史紀錄"},{"request":["怎麼查找顧客的購物金紀錄"],"response":"顧客管理的「顧客列表」搜尋顧客後,點擊該顧客,顧客詳細中有「購物金」,可瞭解到顧客現有購物金餘額,與購物金增減紀錄"},{"request":["怎麼設定免運費"],"response":"請前往優惠促銷的「免運費活動」,可以新增一個免運費優惠券活動,並設定消費條件、觸發方式、使用期限等"}]
|
package/lowcode/Entry.js
CHANGED
|
@@ -64,7 +64,7 @@ export class Entry {
|
|
|
64
64
|
}
|
|
65
65
|
window.renderClock = (_a = window.renderClock) !== null && _a !== void 0 ? _a : clockF();
|
|
66
66
|
console.log(`Entry-time:`, window.renderClock.stop());
|
|
67
|
-
glitter.share.editerVersion = 'V_13.8.
|
|
67
|
+
glitter.share.editerVersion = 'V_13.8.59';
|
|
68
68
|
glitter.share.start = new Date();
|
|
69
69
|
const vm = {
|
|
70
70
|
appConfig: [],
|
package/lowcode/Entry.ts
CHANGED
|
@@ -64,7 +64,7 @@ export class Entry {
|
|
|
64
64
|
}
|
|
65
65
|
(window as any).renderClock = (window as any).renderClock ?? clockF();
|
|
66
66
|
console.log(`Entry-time:`, (window as any).renderClock.stop());
|
|
67
|
-
glitter.share.editerVersion = 'V_13.8.
|
|
67
|
+
glitter.share.editerVersion = 'V_13.8.59';
|
|
68
68
|
glitter.share.start = new Date();
|
|
69
69
|
const vm: {
|
|
70
70
|
appConfig: any;
|
|
@@ -101,6 +101,9 @@ export class BgWidget {
|
|
|
101
101
|
<span class="tx_700_white">${text}</span>
|
|
102
102
|
</button>`;
|
|
103
103
|
}
|
|
104
|
+
static ai_generator(gvc, format, callback) {
|
|
105
|
+
return ``;
|
|
106
|
+
}
|
|
104
107
|
static cancel(event, text = '取消') {
|
|
105
108
|
return html `
|
|
106
109
|
<button class="btn btn-snow" type="button" onclick="${event}">
|
|
@@ -2479,6 +2482,7 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
|
|
|
2479
2482
|
bind: vm.id,
|
|
2480
2483
|
view: () => {
|
|
2481
2484
|
var _a, _b, _c;
|
|
2485
|
+
const footer = (_a = obj.footer_html(gvc)) !== null && _a !== void 0 ? _a : '';
|
|
2482
2486
|
if (vm.loading) {
|
|
2483
2487
|
return html `
|
|
2484
2488
|
<div class="my-4">${this.spinner()}</div>`;
|
|
@@ -2486,7 +2490,7 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
|
|
|
2486
2490
|
return html `
|
|
2487
2491
|
<div class="bg-white shadow rounded-3" style="width: 100%; overflow-y: auto;">
|
|
2488
2492
|
<div class="w-100 d-flex align-items-center p-3 border-bottom">
|
|
2489
|
-
<div class="tx_700">${(
|
|
2493
|
+
<div class="tx_700">${(_b = obj.title) !== null && _b !== void 0 ? _b : '產品列表'}</div>
|
|
2490
2494
|
<div class="flex-fill"></div>
|
|
2491
2495
|
<i
|
|
2492
2496
|
class="fa-regular fa-circle-xmark fs-5 text-dark cursor_pointer"
|
|
@@ -2502,9 +2506,9 @@ ${(_c = obj.default) !== null && _c !== void 0 ? _c : ''}</textarea
|
|
|
2502
2506
|
<div class="c_dialog_body">
|
|
2503
2507
|
<div class="c_dialog_main"
|
|
2504
2508
|
style="gap: 24px; height: ${obj.height ? `${obj.height}px` : 'auto'}; max-height: 500px;">
|
|
2505
|
-
${(
|
|
2509
|
+
${(_c = obj.innerHTML(gvc)) !== null && _c !== void 0 ? _c : ''}
|
|
2506
2510
|
</div>
|
|
2507
|
-
|
|
2511
|
+
${footer ? `<div class="c_dialog_bar">${footer}</div>` : ``}
|
|
2508
2512
|
</div>
|
|
2509
2513
|
</div>
|
|
2510
2514
|
</div>`;
|
|
@@ -157,6 +157,13 @@ export class BgWidget {
|
|
|
157
157
|
<span class="tx_700_white">${text}</span>
|
|
158
158
|
</button>`;
|
|
159
159
|
}
|
|
160
|
+
static ai_generator(gvc:GVC,format:any,callback:(data:any)=>void) {
|
|
161
|
+
return ``
|
|
162
|
+
// return html`
|
|
163
|
+
// <button class="btn btn-black ${customClass ?? ``}" type="button" onclick="${event}">
|
|
164
|
+
// <span class="tx_700_white">${text}</span>
|
|
165
|
+
// </button>`;
|
|
166
|
+
}
|
|
160
167
|
|
|
161
168
|
static cancel(event: string, text: string = '取消') {
|
|
162
169
|
return html`
|
|
@@ -2940,6 +2947,7 @@ ${obj.default ?? ''}</textarea
|
|
|
2940
2947
|
${gvc.bindView({
|
|
2941
2948
|
bind: vm.id,
|
|
2942
2949
|
view: () => {
|
|
2950
|
+
const footer =obj.footer_html(gvc) ?? ''
|
|
2943
2951
|
if (vm.loading) {
|
|
2944
2952
|
return html`
|
|
2945
2953
|
<div class="my-4">${this.spinner()}</div>`;
|
|
@@ -2965,7 +2973,7 @@ ${obj.default ?? ''}</textarea
|
|
|
2965
2973
|
style="gap: 24px; height: ${obj.height ? `${obj.height}px` : 'auto'}; max-height: 500px;">
|
|
2966
2974
|
${obj.innerHTML(gvc) ?? ''}
|
|
2967
2975
|
</div>
|
|
2968
|
-
|
|
2976
|
+
${footer ? `<div class="c_dialog_bar">${footer}</div>`:``}
|
|
2969
2977
|
</div>
|
|
2970
2978
|
</div>
|
|
2971
2979
|
</div>`;
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { BgWidget } from "../../backend-manager/bg-widget.js";
|
|
2
|
+
import { ShareDialog } from "../../glitterBundle/dialog/ShareDialog.js";
|
|
3
|
+
import { AiChat } from "../../glitter-base/route/ai-chat.js";
|
|
4
|
+
export class ProductAi {
|
|
5
|
+
static setProduct(gvc, product_data, refresh) {
|
|
6
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
7
|
+
BgWidget.settingDialog({
|
|
8
|
+
gvc: gvc,
|
|
9
|
+
title: 'AI 商品生成',
|
|
10
|
+
innerHTML: (gvc) => {
|
|
11
|
+
const html = String.raw;
|
|
12
|
+
let message = '';
|
|
13
|
+
return html `
|
|
14
|
+
<div class="">
|
|
15
|
+
${[
|
|
16
|
+
html `
|
|
17
|
+
<lottie-player src="${gvc.glitter.root_path}lottie/ai.json" class="mx-auto my-n4"
|
|
18
|
+
speed="1"
|
|
19
|
+
style="max-width: 100%;width: 250px;height:250px;" loop
|
|
20
|
+
autoplay></lottie-player>`,
|
|
21
|
+
`<div class="w-100 d-flex align-items-center justify-content-center my-3">${BgWidget.grayNote('透過 AI 可以幫你新增或調整商品內容', `font-weight: 500;`)}</div>`,
|
|
22
|
+
html `
|
|
23
|
+
<div class="w-100" ">
|
|
24
|
+
${BgWidget.textArea({
|
|
25
|
+
gvc: gvc,
|
|
26
|
+
title: '',
|
|
27
|
+
default: '',
|
|
28
|
+
placeHolder: `商品標題為Adidas衣服,規格有顏色和尺寸,其中有紅藍黃三種顏色,尺寸有S,M,L三種尺寸,紅色S號的販售價格為2000,紅色M號的價格為1500,其餘販售價格為1000元。`,
|
|
29
|
+
callback: (text) => {
|
|
30
|
+
message = text;
|
|
31
|
+
},
|
|
32
|
+
style: `min-height:100px;`
|
|
33
|
+
})}
|
|
34
|
+
</div>`,
|
|
35
|
+
`<div class="w-100 d-flex align-items-center justify-content-end">
|
|
36
|
+
${BgWidget.save(gvc.event(() => {
|
|
37
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
38
|
+
dialog.dataLoading({ visible: true });
|
|
39
|
+
AiChat.editorHtml({
|
|
40
|
+
text: message,
|
|
41
|
+
format: ProductAi.schema,
|
|
42
|
+
token: window.parent.saasConfig.config.token
|
|
43
|
+
}).then((res) => {
|
|
44
|
+
dialog.dataLoading({ visible: false });
|
|
45
|
+
const obj = res.response.data && res.response.data.obj;
|
|
46
|
+
if (obj) {
|
|
47
|
+
const usage = res.response.data.usage;
|
|
48
|
+
if (usage) {
|
|
49
|
+
(obj.name) && (product_data.title = obj.name);
|
|
50
|
+
(obj.content) && (product_data.content = obj.content);
|
|
51
|
+
if (obj.spec_define && obj.spec_define.length) {
|
|
52
|
+
product_data.specs = obj.spec_define.map((dd) => {
|
|
53
|
+
return {
|
|
54
|
+
"title": dd.value,
|
|
55
|
+
"option": dd.spec_define.map((dd) => {
|
|
56
|
+
return {
|
|
57
|
+
"title": dd.value
|
|
58
|
+
};
|
|
59
|
+
})
|
|
60
|
+
};
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
if (obj.spec && obj.spec.length) {
|
|
64
|
+
product_data.variants = obj.spec.map((dd) => {
|
|
65
|
+
return {
|
|
66
|
+
"sku": "",
|
|
67
|
+
"cost": 0,
|
|
68
|
+
"spec": (obj.spec.length === 1) ? [] : (dd.value.includes('-')) ? dd.value.split('-') : dd.value.split(' '),
|
|
69
|
+
"type": "variants",
|
|
70
|
+
"stock": 0,
|
|
71
|
+
"profit": 0,
|
|
72
|
+
"weight": "1",
|
|
73
|
+
"barcode": "",
|
|
74
|
+
"v_width": 0,
|
|
75
|
+
"editable": false,
|
|
76
|
+
"v_height": 0,
|
|
77
|
+
"v_length": 0,
|
|
78
|
+
"sale_price": dd.sale_price,
|
|
79
|
+
"compare_price": (dd.original_price === dd.sale_price) ? 0 : dd.original_price,
|
|
80
|
+
"preview_image": "",
|
|
81
|
+
"shipment_type": "weight",
|
|
82
|
+
"shipment_weight": 0,
|
|
83
|
+
"show_understocking": "false"
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
dialog.successMessage({ text: `生成成功,消耗了『${usage}』點 AI-Points` });
|
|
88
|
+
refresh();
|
|
89
|
+
gvc.closeDialog();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
dialog.errorMessage({ text: 'AI Points 點數不足' });
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
dialog.errorMessage({ text: '發生錯誤' });
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}), "確認生成", "w-100 mt-3 py-2")}
|
|
100
|
+
</div>`
|
|
101
|
+
].join('<div class="my-2"></div>')}
|
|
102
|
+
</div>`;
|
|
103
|
+
},
|
|
104
|
+
footer_html: (gvc) => {
|
|
105
|
+
return ``;
|
|
106
|
+
},
|
|
107
|
+
width: 500
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
ProductAi.schema = {
|
|
112
|
+
"name": "html_element_modification",
|
|
113
|
+
"strict": true,
|
|
114
|
+
"schema": {
|
|
115
|
+
"type": "object",
|
|
116
|
+
"properties": {
|
|
117
|
+
"name": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"description": "商品名稱"
|
|
120
|
+
},
|
|
121
|
+
"spec_define": {
|
|
122
|
+
"type": "array",
|
|
123
|
+
"items": {
|
|
124
|
+
"type": "object",
|
|
125
|
+
"properties": {
|
|
126
|
+
"value": {
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "規格標題"
|
|
129
|
+
},
|
|
130
|
+
"spec_define": {
|
|
131
|
+
"type": "array",
|
|
132
|
+
"items": {
|
|
133
|
+
"type": "object",
|
|
134
|
+
"properties": {
|
|
135
|
+
"value": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"description": "規格內容"
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"additionalProperties": false,
|
|
141
|
+
"required": [
|
|
142
|
+
"value"
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
"description": "代表規格內容"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"additionalProperties": false,
|
|
149
|
+
"required": [
|
|
150
|
+
"value",
|
|
151
|
+
"spec_define"
|
|
152
|
+
]
|
|
153
|
+
},
|
|
154
|
+
"description": "代表規格類型"
|
|
155
|
+
},
|
|
156
|
+
"spec": {
|
|
157
|
+
"type": "array",
|
|
158
|
+
"items": {
|
|
159
|
+
"type": "object",
|
|
160
|
+
"properties": {
|
|
161
|
+
"value": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"description": "規格名稱使用-號進行分割"
|
|
164
|
+
},
|
|
165
|
+
"original_price": {
|
|
166
|
+
"type": "number",
|
|
167
|
+
"description": "商品原價,預設為商品售價"
|
|
168
|
+
},
|
|
169
|
+
"sale_price": {
|
|
170
|
+
"type": "number",
|
|
171
|
+
"description": "商品售價"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"additionalProperties": false,
|
|
175
|
+
"required": [
|
|
176
|
+
"value",
|
|
177
|
+
"original_price",
|
|
178
|
+
"sale_price"
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
"description": "代表variants,依據規格內容進行組合"
|
|
182
|
+
},
|
|
183
|
+
"content": {
|
|
184
|
+
"type": "string",
|
|
185
|
+
"description": "商品內文"
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
"required": [
|
|
189
|
+
"name",
|
|
190
|
+
"spec",
|
|
191
|
+
"spec_define",
|
|
192
|
+
"content"
|
|
193
|
+
],
|
|
194
|
+
"additionalProperties": false
|
|
195
|
+
}
|
|
196
|
+
};
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import {GVC} from "../../glitterBundle/GVController.js";
|
|
2
|
+
import {BgWidget} from "../../backend-manager/bg-widget.js";
|
|
3
|
+
import {ApiUser} from "../../glitter-base/route/user.js";
|
|
4
|
+
import {AiPointsApi} from "../../glitter-base/route/ai-points-api.js";
|
|
5
|
+
import {ShareDialog} from "../../glitterBundle/dialog/ShareDialog.js";
|
|
6
|
+
import {AiChat} from "../../glitter-base/route/ai-chat.js";
|
|
7
|
+
|
|
8
|
+
export class ProductAi {
|
|
9
|
+
public static schema={
|
|
10
|
+
"name": "html_element_modification",
|
|
11
|
+
"strict": true,
|
|
12
|
+
"schema": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"name": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "商品名稱"
|
|
18
|
+
},
|
|
19
|
+
"spec_define": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"value": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "規格標題"
|
|
27
|
+
},
|
|
28
|
+
"spec_define": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"items": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"properties": {
|
|
33
|
+
"value": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"description": "規格內容"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"additionalProperties": false,
|
|
39
|
+
"required": [
|
|
40
|
+
"value"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"description": "代表規格內容"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"additionalProperties": false,
|
|
47
|
+
"required": [
|
|
48
|
+
"value",
|
|
49
|
+
"spec_define"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"description": "代表規格類型"
|
|
53
|
+
},
|
|
54
|
+
"spec": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"items": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"properties": {
|
|
59
|
+
"value": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"description": "規格名稱使用-號進行分割"
|
|
62
|
+
},
|
|
63
|
+
"original_price": {
|
|
64
|
+
"type": "number",
|
|
65
|
+
"description": "商品原價,預設為商品售價"
|
|
66
|
+
},
|
|
67
|
+
"sale_price": {
|
|
68
|
+
"type": "number",
|
|
69
|
+
"description": "商品售價"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"additionalProperties": false,
|
|
73
|
+
"required": [
|
|
74
|
+
"value",
|
|
75
|
+
"original_price",
|
|
76
|
+
"sale_price"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
"description": "代表variants,依據規格內容進行組合"
|
|
80
|
+
},
|
|
81
|
+
"content": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"description": "商品內文"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"required": [
|
|
87
|
+
"name",
|
|
88
|
+
"spec",
|
|
89
|
+
"spec_define",
|
|
90
|
+
"content"
|
|
91
|
+
],
|
|
92
|
+
"additionalProperties": false
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
public static setProduct(gvc: GVC,product_data:any,refresh:()=>void) {
|
|
96
|
+
const dialog = new ShareDialog(gvc.glitter)
|
|
97
|
+
BgWidget.settingDialog({
|
|
98
|
+
gvc: gvc,
|
|
99
|
+
title: 'AI 商品生成',
|
|
100
|
+
innerHTML: (gvc: GVC) => {
|
|
101
|
+
const html = String.raw
|
|
102
|
+
let message = ''
|
|
103
|
+
return html`
|
|
104
|
+
<div class="">
|
|
105
|
+
${[
|
|
106
|
+
html`
|
|
107
|
+
<lottie-player src="${gvc.glitter.root_path}lottie/ai.json" class="mx-auto my-n4"
|
|
108
|
+
speed="1"
|
|
109
|
+
style="max-width: 100%;width: 250px;height:250px;" loop
|
|
110
|
+
autoplay></lottie-player>`,
|
|
111
|
+
`<div class="w-100 d-flex align-items-center justify-content-center my-3">${BgWidget.grayNote('透過 AI 可以幫你新增或調整商品內容', `font-weight: 500;`)}</div>`,
|
|
112
|
+
html`
|
|
113
|
+
<div class="w-100" ">
|
|
114
|
+
${BgWidget.textArea({
|
|
115
|
+
gvc: gvc,
|
|
116
|
+
title: '',
|
|
117
|
+
default: '',
|
|
118
|
+
placeHolder: `商品標題為Adidas衣服,規格有顏色和尺寸,其中有紅藍黃三種顏色,尺寸有S,M,L三種尺寸,紅色S號的販售價格為2000,紅色M號的價格為1500,其餘販售價格為1000元。`,
|
|
119
|
+
callback: (text) => {
|
|
120
|
+
message = text;
|
|
121
|
+
},
|
|
122
|
+
style: `min-height:100px;`
|
|
123
|
+
})}
|
|
124
|
+
</div>`,
|
|
125
|
+
`<div class="w-100 d-flex align-items-center justify-content-end">
|
|
126
|
+
${BgWidget.save(gvc.event(() => {
|
|
127
|
+
const dialog=new ShareDialog(gvc.glitter)
|
|
128
|
+
dialog.dataLoading({visible:true})
|
|
129
|
+
AiChat.editorHtml({
|
|
130
|
+
text: message,
|
|
131
|
+
format: ProductAi.schema,
|
|
132
|
+
token:(window.parent as any).saasConfig.config.token
|
|
133
|
+
}).then((res)=>{
|
|
134
|
+
dialog.dataLoading({visible:false})
|
|
135
|
+
const obj=res.response.data && res.response.data.obj
|
|
136
|
+
if(obj){
|
|
137
|
+
const usage=res.response.data.usage
|
|
138
|
+
if(usage){
|
|
139
|
+
//替換標題
|
|
140
|
+
(obj.name) && (product_data.title=obj.name);
|
|
141
|
+
//替換內文
|
|
142
|
+
(obj.content) && (product_data.content=obj.content);
|
|
143
|
+
//替換規格列表
|
|
144
|
+
if(obj.spec_define && obj.spec_define.length){
|
|
145
|
+
product_data.specs = obj.spec_define.map((dd:any)=>{
|
|
146
|
+
return {
|
|
147
|
+
"title": dd.value,
|
|
148
|
+
"option": dd.spec_define.map((dd:any)=>{
|
|
149
|
+
return {
|
|
150
|
+
"title": dd.value
|
|
151
|
+
}
|
|
152
|
+
})
|
|
153
|
+
}
|
|
154
|
+
})
|
|
155
|
+
|
|
156
|
+
}
|
|
157
|
+
//變體列表
|
|
158
|
+
if(obj.spec && obj.spec.length){
|
|
159
|
+
product_data.variants=obj.spec.map((dd:any)=>{
|
|
160
|
+
return {
|
|
161
|
+
"sku": "",
|
|
162
|
+
"cost": 0,
|
|
163
|
+
"spec": (obj.spec.length===1) ? []:(dd.value.includes('-')) ? dd.value.split('-'):dd.value.split(' '),
|
|
164
|
+
"type": "variants",
|
|
165
|
+
"stock": 0,
|
|
166
|
+
"profit": 0,
|
|
167
|
+
"weight": "1",
|
|
168
|
+
"barcode": "",
|
|
169
|
+
"v_width": 0,
|
|
170
|
+
"editable": false,
|
|
171
|
+
"v_height": 0,
|
|
172
|
+
"v_length": 0,
|
|
173
|
+
"sale_price": dd.sale_price,
|
|
174
|
+
"compare_price": (dd.original_price === dd.sale_price) ? 0:dd.original_price,
|
|
175
|
+
"preview_image": "",
|
|
176
|
+
"shipment_type": "weight",
|
|
177
|
+
"shipment_weight": 0,
|
|
178
|
+
"show_understocking": "false"
|
|
179
|
+
}
|
|
180
|
+
})
|
|
181
|
+
}
|
|
182
|
+
dialog.successMessage({text:`生成成功,消耗了『${usage}』點 AI-Points`})
|
|
183
|
+
refresh()
|
|
184
|
+
gvc.closeDialog()
|
|
185
|
+
}else{
|
|
186
|
+
dialog.errorMessage({text:'AI Points 點數不足'})
|
|
187
|
+
}
|
|
188
|
+
}else{
|
|
189
|
+
dialog.errorMessage({text:'發生錯誤'})
|
|
190
|
+
}
|
|
191
|
+
})
|
|
192
|
+
}), "確認生成", "w-100 mt-3 py-2")}
|
|
193
|
+
</div>`
|
|
194
|
+
].join('<div class="my-2"></div>')}
|
|
195
|
+
</div>`
|
|
196
|
+
},
|
|
197
|
+
footer_html: (gvc: GVC) => {
|
|
198
|
+
return ``
|
|
199
|
+
},
|
|
200
|
+
width:500
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
@@ -19,6 +19,7 @@ import { BgListComponent } from '../backend-manager/bg-list-component.js';
|
|
|
19
19
|
import { Tool } from '../modules/tool.js';
|
|
20
20
|
import { CheckInput } from '../modules/checkInput.js';
|
|
21
21
|
import { imageLibrary } from '../modules/image-library.js';
|
|
22
|
+
import { ProductAi } from "./ai-generator/product-ai.js";
|
|
22
23
|
class Excel {
|
|
23
24
|
constructor(gvc, headers, lineName) {
|
|
24
25
|
this.gvc = gvc;
|
|
@@ -378,6 +379,7 @@ export class ShoppingProductSetting {
|
|
|
378
379
|
orderString: '',
|
|
379
380
|
filter: {},
|
|
380
381
|
replaceData: '',
|
|
382
|
+
ai_initial: {}
|
|
381
383
|
};
|
|
382
384
|
const rowInitData = {
|
|
383
385
|
name: '',
|
|
@@ -461,6 +463,8 @@ export class ShoppingProductSetting {
|
|
|
461
463
|
}
|
|
462
464
|
`);
|
|
463
465
|
switch (vm.type) {
|
|
466
|
+
case 'ai-initial':
|
|
467
|
+
return ShoppingProductSetting.editProduct({ vm: vm, gvc: gvc, type: 'add', product_type: type, initial_data: vm.ai_initial });
|
|
464
468
|
case 'add':
|
|
465
469
|
return ShoppingProductSetting.editProduct({ vm: vm, gvc: gvc, type: 'add', product_type: type });
|
|
466
470
|
case 'list':
|
|
@@ -505,7 +509,7 @@ export class ShoppingProductSetting {
|
|
|
505
509
|
}
|
|
506
510
|
})())}
|
|
507
511
|
<div class="flex-fill"></div>
|
|
508
|
-
<div style="display: flex; gap:
|
|
512
|
+
<div style="display: flex; gap: 10px;">
|
|
509
513
|
${[
|
|
510
514
|
BgWidget.grayButton('匯入', gvc.event(() => {
|
|
511
515
|
gvc.glitter.innerDialog((gvc) => {
|
|
@@ -960,6 +964,37 @@ export class ShoppingProductSetting {
|
|
|
960
964
|
}, 'export');
|
|
961
965
|
return;
|
|
962
966
|
})),
|
|
967
|
+
BgWidget.grayButton("AI 生成", gvc.event(() => {
|
|
968
|
+
vm.ai_initial = {
|
|
969
|
+
title: '',
|
|
970
|
+
productType: {
|
|
971
|
+
product: true,
|
|
972
|
+
addProduct: false,
|
|
973
|
+
giveaway: false,
|
|
974
|
+
},
|
|
975
|
+
content: '',
|
|
976
|
+
visible: 'true',
|
|
977
|
+
status: 'active',
|
|
978
|
+
collection: [],
|
|
979
|
+
hideIndex: 'false',
|
|
980
|
+
preview_image: [],
|
|
981
|
+
specs: [],
|
|
982
|
+
variants: [],
|
|
983
|
+
seo: {
|
|
984
|
+
title: '',
|
|
985
|
+
content: '',
|
|
986
|
+
keywords: '',
|
|
987
|
+
domain: '',
|
|
988
|
+
},
|
|
989
|
+
relative_product: [],
|
|
990
|
+
template: '',
|
|
991
|
+
content_array: [],
|
|
992
|
+
content_json: [],
|
|
993
|
+
};
|
|
994
|
+
ProductAi.setProduct(gvc, vm.ai_initial, () => {
|
|
995
|
+
vm.type = 'ai-initial';
|
|
996
|
+
});
|
|
997
|
+
}), {}),
|
|
963
998
|
BgWidget.darkButton('新增', gvc.event(() => {
|
|
964
999
|
vm.type = 'add';
|
|
965
1000
|
}), {
|
|
@@ -1795,7 +1830,7 @@ export class ShoppingProductSetting {
|
|
|
1795
1830
|
static editProduct(obj) {
|
|
1796
1831
|
var _a, _b;
|
|
1797
1832
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1798
|
-
let postMD = {
|
|
1833
|
+
let postMD = obj.initial_data || {
|
|
1799
1834
|
title: '',
|
|
1800
1835
|
productType: {
|
|
1801
1836
|
product: true,
|
|
@@ -2023,6 +2058,12 @@ export class ShoppingProductSetting {
|
|
|
2023
2058
|
}))}
|
|
2024
2059
|
<h3 class="mb-0 me-3 tx_title">${obj.type === 'replace' ? postMD.title || '編輯商品' : `新增商品`}</h3>
|
|
2025
2060
|
<div class="flex-fill"></div>
|
|
2061
|
+
${BgWidget.grayButton("AI 生成", gvc.event(() => {
|
|
2062
|
+
ProductAi.setProduct(gvc, postMD, () => {
|
|
2063
|
+
gvc.notifyDataChange(vm.id);
|
|
2064
|
+
});
|
|
2065
|
+
}), {})}
|
|
2066
|
+
<div class="mx-1"></div>
|
|
2026
2067
|
${BgWidget.grayButton(document.body.clientWidth > 768 ? '預覽商品' : '預覽', gvc.event(() => {
|
|
2027
2068
|
const href = `https://${window.parent.glitter.share.editorViewModel.domain}/products/${postMD.seo.domain}`;
|
|
2028
2069
|
window.parent.glitter.openNewTab(href);
|
|
@@ -11,6 +11,7 @@ import { BgListComponent } from '../backend-manager/bg-list-component.js';
|
|
|
11
11
|
import { Tool } from '../modules/tool.js';
|
|
12
12
|
import { CheckInput } from '../modules/checkInput.js';
|
|
13
13
|
import { imageLibrary } from '../modules/image-library.js';
|
|
14
|
+
import {ProductAi} from "./ai-generator/product-ai.js";
|
|
14
15
|
|
|
15
16
|
interface variant {
|
|
16
17
|
save_stock?: string;
|
|
@@ -448,7 +449,7 @@ export class ShoppingProductSetting {
|
|
|
448
449
|
const vm: {
|
|
449
450
|
id: string;
|
|
450
451
|
tableId: string;
|
|
451
|
-
type: 'list' | 'add' | 'replace' | 'editSpec';
|
|
452
|
+
type: 'list' | 'add' | 'replace' | 'editSpec' | 'ai-initial';
|
|
452
453
|
dataList: any;
|
|
453
454
|
query: string;
|
|
454
455
|
last_scroll: number;
|
|
@@ -456,6 +457,7 @@ export class ShoppingProductSetting {
|
|
|
456
457
|
orderString: string;
|
|
457
458
|
filter?: any;
|
|
458
459
|
replaceData: any;
|
|
460
|
+
ai_initial:any;
|
|
459
461
|
} = {
|
|
460
462
|
id: glitter.getUUID(),
|
|
461
463
|
tableId: glitter.getUUID(),
|
|
@@ -467,6 +469,7 @@ export class ShoppingProductSetting {
|
|
|
467
469
|
orderString: '',
|
|
468
470
|
filter: {},
|
|
469
471
|
replaceData: '',
|
|
472
|
+
ai_initial:{}
|
|
470
473
|
};
|
|
471
474
|
const rowInitData: {
|
|
472
475
|
name: string;
|
|
@@ -590,6 +593,8 @@ export class ShoppingProductSetting {
|
|
|
590
593
|
}
|
|
591
594
|
`);
|
|
592
595
|
switch (vm.type) {
|
|
596
|
+
case 'ai-initial':
|
|
597
|
+
return ShoppingProductSetting.editProduct({ vm: vm, gvc: gvc, type: 'add', product_type: type,initial_data:vm.ai_initial });
|
|
593
598
|
case 'add':
|
|
594
599
|
return ShoppingProductSetting.editProduct({ vm: vm, gvc: gvc, type: 'add', product_type: type });
|
|
595
600
|
case 'list':
|
|
@@ -636,7 +641,7 @@ export class ShoppingProductSetting {
|
|
|
636
641
|
})()
|
|
637
642
|
)}
|
|
638
643
|
<div class="flex-fill"></div>
|
|
639
|
-
<div style="display: flex; gap:
|
|
644
|
+
<div style="display: flex; gap: 10px;">
|
|
640
645
|
${[
|
|
641
646
|
BgWidget.grayButton(
|
|
642
647
|
'匯入',
|
|
@@ -1150,6 +1155,42 @@ export class ShoppingProductSetting {
|
|
|
1150
1155
|
return;
|
|
1151
1156
|
})
|
|
1152
1157
|
),
|
|
1158
|
+
BgWidget.grayButton(
|
|
1159
|
+
"AI 生成",
|
|
1160
|
+
gvc.event(() => {
|
|
1161
|
+
vm.ai_initial={
|
|
1162
|
+
title: '',
|
|
1163
|
+
productType: {
|
|
1164
|
+
product: true,
|
|
1165
|
+
addProduct: false,
|
|
1166
|
+
giveaway: false,
|
|
1167
|
+
},
|
|
1168
|
+
content: '',
|
|
1169
|
+
visible: 'true',
|
|
1170
|
+
status: 'active',
|
|
1171
|
+
collection: [],
|
|
1172
|
+
hideIndex: 'false',
|
|
1173
|
+
preview_image: [],
|
|
1174
|
+
specs: [],
|
|
1175
|
+
variants: [],
|
|
1176
|
+
seo: {
|
|
1177
|
+
title: '',
|
|
1178
|
+
content: '',
|
|
1179
|
+
keywords: '',
|
|
1180
|
+
domain: '',
|
|
1181
|
+
},
|
|
1182
|
+
relative_product: [],
|
|
1183
|
+
template: '',
|
|
1184
|
+
content_array: [],
|
|
1185
|
+
content_json: [],
|
|
1186
|
+
}
|
|
1187
|
+
ProductAi.setProduct(gvc,vm.ai_initial,()=>{
|
|
1188
|
+
vm.type='ai-initial'
|
|
1189
|
+
|
|
1190
|
+
})
|
|
1191
|
+
}),
|
|
1192
|
+
{ }
|
|
1193
|
+
),
|
|
1153
1194
|
BgWidget.darkButton(
|
|
1154
1195
|
'新增',
|
|
1155
1196
|
gvc.event(() => {
|
|
@@ -2053,7 +2094,7 @@ export class ShoppingProductSetting {
|
|
|
2053
2094
|
</div>`;
|
|
2054
2095
|
}
|
|
2055
2096
|
|
|
2056
|
-
public static async editProduct(obj: { vm: any; gvc: GVC; type?: 'add' | 'replace'; defData?: any; product_type?: 'product' | 'addProduct' | 'giveaway' | 'hidden' }) {
|
|
2097
|
+
public static async editProduct(obj: { vm: any; gvc: GVC; type?: 'add' | 'replace'; defData?: any;initial_data?:any, product_type?: 'product' | 'addProduct' | 'giveaway' | 'hidden' }) {
|
|
2057
2098
|
let postMD: {
|
|
2058
2099
|
shipment_type?: string;
|
|
2059
2100
|
id?: string;
|
|
@@ -2084,7 +2125,7 @@ export class ShoppingProductSetting {
|
|
|
2084
2125
|
id: string;
|
|
2085
2126
|
list: { key: string; value: string }[];
|
|
2086
2127
|
}[];
|
|
2087
|
-
} = {
|
|
2128
|
+
} = obj.initial_data || {
|
|
2088
2129
|
title: '',
|
|
2089
2130
|
productType: {
|
|
2090
2131
|
product: true,
|
|
@@ -2338,6 +2379,16 @@ export class ShoppingProductSetting {
|
|
|
2338
2379
|
)}
|
|
2339
2380
|
<h3 class="mb-0 me-3 tx_title">${obj.type === 'replace' ? postMD.title || '編輯商品' : `新增商品`}</h3>
|
|
2340
2381
|
<div class="flex-fill"></div>
|
|
2382
|
+
${BgWidget.grayButton(
|
|
2383
|
+
"AI 生成",
|
|
2384
|
+
gvc.event(() => {
|
|
2385
|
+
ProductAi.setProduct(gvc,postMD,()=>{
|
|
2386
|
+
gvc.notifyDataChange(vm.id)
|
|
2387
|
+
})
|
|
2388
|
+
}),
|
|
2389
|
+
{ }
|
|
2390
|
+
)}
|
|
2391
|
+
<div class="mx-1"></div>
|
|
2341
2392
|
${BgWidget.grayButton(
|
|
2342
2393
|
document.body.clientWidth > 768 ? '預覽商品' : '預覽',
|
|
2343
2394
|
gvc.event(() => {
|
|
@@ -44,7 +44,7 @@ export class AiChat {
|
|
|
44
44
|
"headers": {
|
|
45
45
|
"Content-Type": "application/json",
|
|
46
46
|
"g-app": json.app_name || getConfig().config.appName,
|
|
47
|
-
"Authorization": GlobalUser.token
|
|
47
|
+
"Authorization": json.token || GlobalUser.token
|
|
48
48
|
},
|
|
49
49
|
"data": JSON.stringify(json)
|
|
50
50
|
});
|
|
@@ -50,7 +50,8 @@ export class AiChat{
|
|
|
50
50
|
}
|
|
51
51
|
public static editorHtml(json: { app_name?:string,
|
|
52
52
|
text:string,
|
|
53
|
-
format:any
|
|
53
|
+
format:any,
|
|
54
|
+
token?:string
|
|
54
55
|
}) {
|
|
55
56
|
return BaseApi.create({
|
|
56
57
|
"url": getBaseUrl() + `/api-public/v1/ai/edit-component`,
|
|
@@ -58,7 +59,7 @@ export class AiChat{
|
|
|
58
59
|
"headers": {
|
|
59
60
|
"Content-Type": "application/json",
|
|
60
61
|
"g-app": json.app_name || getConfig().config.appName,
|
|
61
|
-
"Authorization": GlobalUser.token
|
|
62
|
+
"Authorization": json.token || GlobalUser.token
|
|
62
63
|
},
|
|
63
64
|
"data":JSON.stringify(json)
|
|
64
65
|
})
|
package/package.json
CHANGED
|
@@ -360,6 +360,13 @@ class ManagerNotify {
|
|
|
360
360
|
const user_data = (await database_js_1.default.query(`SELECT *
|
|
361
361
|
FROM \`${this.app_name}\`.t_user
|
|
362
362
|
WHERE userID = ?`, [cf.user_id]))[0];
|
|
363
|
+
await database_js_1.default.query(`insert into \`${saas.brand}\`.t_ai_points (orderID,userID,money,status,note) values (?,?,?,?,?)`, [
|
|
364
|
+
`${new Date().getTime()}`,
|
|
365
|
+
cf.user_id,
|
|
366
|
+
500,
|
|
367
|
+
1,
|
|
368
|
+
{ text: '註冊贈送500點AI Points', type: 'free' }
|
|
369
|
+
]);
|
|
363
370
|
if (await this.checkNotify('register')) {
|
|
364
371
|
const link = `./index?type=editor&appName=${this.app_name}&function=backend-manger&tab=user_list`;
|
|
365
372
|
const body = html `新用戶『 ${user_data.userData.name || user_data.account} 』註冊了帳號。`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.js","sourceRoot":"","sources":["notify.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["notify.ts"],"names":[],"mappings":"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"}
|
|
@@ -403,6 +403,14 @@ export class ManagerNotify {
|
|
|
403
403
|
[cf.user_id]
|
|
404
404
|
)
|
|
405
405
|
)[0];
|
|
406
|
+
//贈送Ai-points
|
|
407
|
+
await db.query(`insert into \`${saas.brand}\`.t_ai_points (orderID,userID,money,status,note) values (?,?,?,?,?)`,[
|
|
408
|
+
`${new Date().getTime()}`,
|
|
409
|
+
cf.user_id,
|
|
410
|
+
500,
|
|
411
|
+
1,
|
|
412
|
+
{text:'註冊贈送500點AI Points',type:'free'}
|
|
413
|
+
])
|
|
406
414
|
if (await this.checkNotify('register')) {
|
|
407
415
|
const link = `./index?type=editor&appName=${this.app_name}&function=backend-manger&tab=user_list`;
|
|
408
416
|
const body = html`新用戶『 ${user_data.userData.name || user_data.account} 』註冊了帳號。`;
|