ionic-vhframeworks 9.1.7 → 9.1.9
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.
|
@@ -11981,6 +11981,44 @@ export declare class VhQueryAutoWeb {
|
|
|
11981
11981
|
private configChanged;
|
|
11982
11982
|
private renderer;
|
|
11983
11983
|
constructor(vhMGDB_database: VhMGDB_database, vhMGDB_socketMongoDB: VhMGDB_socketMongoDB, vhQuery: VhQuery, vhAuth: VhAuth, vhMGDB_rootdatabase: VhMGDB_rootdatabase, vhMGDB_auth: VhMGDB_auth, vhOTP: VhOTP, vhAlgorithm: VhAlgorithm, vhBuildAutoWeb: VhBuildAutoWeb, vhDesignAutoWeb: VhDesignAutoWeb, vhEventMediator: VhEventMediator, http: HttpClient, renderFactory: RendererFactory2);
|
|
11984
|
+
/**
|
|
11985
|
+
* Lấy về danh sách các ngân hàng (kèm logo) mà vietqr hỗ trợ tạo mã QR
|
|
11986
|
+
* @example:
|
|
11987
|
+
* this.vhQueryAutoWeb.vietqr_getBanks()
|
|
11988
|
+
.then((rsp:any)=>{
|
|
11989
|
+
if(rsp.vcode === 0){
|
|
11990
|
+
}
|
|
11991
|
+
}, error=>{
|
|
11992
|
+
console.log(error)
|
|
11993
|
+
})
|
|
11994
|
+
* @returns Promise => rsp ={vcode, msg, data(array)} / error
|
|
11995
|
+
* vcode == 0: success
|
|
11996
|
+
*/
|
|
11997
|
+
vietqr_getBanks(): Promise<unknown>;
|
|
11998
|
+
/**
|
|
11999
|
+
* Tạo mã QR cho khách hàng quét thanh toán
|
|
12000
|
+
* @example:
|
|
12001
|
+
* this.vhQueryAutoWeb.vietqr_generateQR('0909925354', 'LE DUC HUY', '970422', 'compact2', '674fd94a9ace7267deb685fd', 99000)
|
|
12002
|
+
.then((rsp:any)=>{
|
|
12003
|
+
if(rsp.vcode === 0){
|
|
12004
|
+
}
|
|
12005
|
+
}, error=>{
|
|
12006
|
+
console.log(error)
|
|
12007
|
+
})
|
|
12008
|
+
* @param accountNo: số tài khoản ngân hàng
|
|
12009
|
+
* @param accountName: tên chủ tài khoản
|
|
12010
|
+
* @param acqId: mã bin của ngân hàng (lấy từ hàm vietqr_getBanks())
|
|
12011
|
+
* @param template: compact2, compact, qr_only, print
|
|
12012
|
+
+ compact2: 540x640 Bao gồm : Mã QR, các logo , thông tin chuyển khoản
|
|
12013
|
+
+ compact: 540x540 QR kèm logo VietQR, Napas, ngân hàng
|
|
12014
|
+
+ qr_only: 480x480 Trả về ảnh QR đơn giản, chỉ bao gồm QR
|
|
12015
|
+
+ print: 600x776 Bao gồm : Mã QR, các logo và đầy đủ thông tin chuyển khoản
|
|
12016
|
+
* @param id_bill: _id của đơn hàng
|
|
12017
|
+
* @param amount: tổng tiền khách phải thanh toán
|
|
12018
|
+
* @returns Promise => rsp ={vcode, msg, data(img_base64)} / error
|
|
12019
|
+
* vcode == 0: success
|
|
12020
|
+
*/
|
|
12021
|
+
vietqr_generateQR(accountNo: string, accountName: string, acqId: string, template: string, id_bill: string, amount: number): Promise<unknown>;
|
|
11984
12022
|
/**
|
|
11985
12023
|
* Hàm tạo template theo chuẩn flexbox từ tempplate theo chuẩn position
|
|
11986
12024
|
* @example:
|
|
@@ -12135,10 +12173,9 @@ export declare class VhQueryAutoWeb {
|
|
|
12135
12173
|
*/
|
|
12136
12174
|
deployWebAppsource_toBuild_byEmail(build_email: string, build_password: string): Promise<unknown>;
|
|
12137
12175
|
/**
|
|
12138
|
-
* Hàm này Enduser deploy source webapp
|
|
12139
|
-
* Lưu ý: hàm này tự động kiểm tra enduser đã đăng nhập mới cho deploy
|
|
12176
|
+
* Hàm này Enduser deploy source webapp lên hosting, và deploy database lên mysql trong hosting. Nghĩa là website sẽ chạy độc lập với hosting và mysql riêng của nó.
|
|
12140
12177
|
* @example:
|
|
12141
|
-
* const cloning_options = {source_webapp:'renew', template_webapp:'renew',
|
|
12178
|
+
* const cloning_options = {source_webapp:'renew', template_webapp:'renew', database_webapp:'renew'};
|
|
12142
12179
|
* this.vhQueryAutoWeb.deployWebAppsource_toMySqlHosting_byEndUser('664483e744da7a03b4d5e1a2', 'domain07.webappgiare.vn', cloning_options)
|
|
12143
12180
|
.then((rsp:any)=>{
|
|
12144
12181
|
console.log('rsp', rsp);
|
|
@@ -12150,9 +12187,10 @@ export declare class VhQueryAutoWeb {
|
|
|
12150
12187
|
},(error:any)=>{
|
|
12151
12188
|
console.log('error', error)
|
|
12152
12189
|
})
|
|
12153
|
-
* @param db_webapp
|
|
12154
|
-
* @param hosting
|
|
12155
|
-
* @
|
|
12190
|
+
* @param db_webapp: là các dự án trong tài khoản thiết kế webappgiare@gmail.com
|
|
12191
|
+
* @param hosting: hosting đã đc chính EndUser tạo trước đây
|
|
12192
|
+
* @param cloning_options = {source_webapp:none/renew/overwrite, template_webapp: none/renew/overwrite, database_webapp: none/renew/overwrite}
|
|
12193
|
+
* @return Promise object => response = {vcode, msg, data(url)} - Hàm trả về url của chính hosting đó
|
|
12156
12194
|
* vcode == 0: Message sent to email address successfully
|
|
12157
12195
|
* vcode == 1: Email address does not exist
|
|
12158
12196
|
* vcode == 11: 'not logged in'
|
|
@@ -12161,7 +12199,7 @@ export declare class VhQueryAutoWeb {
|
|
|
12161
12199
|
/**
|
|
12162
12200
|
* Hàm này đẩy source webapp từ dự án Autoweb_design lên hosting dự án Autoweb_build, dùng database Cloud Mongo của Viethas
|
|
12163
12201
|
* @example:
|
|
12164
|
-
* const cloning_options = {source_webapp:'renew', template_webapp:'renew',
|
|
12202
|
+
* const cloning_options = {source_webapp:'renew', template_webapp:'renew', database_webapp:'renew'};
|
|
12165
12203
|
* this.vhQueryAutoWeb.deployWebAppsource_toMongoHosting_byEmail('domain07.webappgiare.vn', 'userhosting@gmail.com','123456', cloning_options)
|
|
12166
12204
|
.then((rsp:any)=>{
|
|
12167
12205
|
console.log('rsp', rsp);
|
|
@@ -12175,34 +12213,12 @@ export declare class VhQueryAutoWeb {
|
|
|
12175
12213
|
})
|
|
12176
12214
|
* @param hosting_email
|
|
12177
12215
|
* @param hosting_password
|
|
12178
|
-
* @param cloning_options = {source_webapp:none/renew/overwrite, template_webapp: none/renew/overwrite,
|
|
12216
|
+
* @param cloning_options = {source_webapp:none/renew/overwrite, template_webapp: none/renew/overwrite, database_webapp: none/renew/overwrite}
|
|
12179
12217
|
* @return Promise object => response = {vcode, msg}
|
|
12180
12218
|
* vcode == 0: Message sent to email address successfully
|
|
12181
12219
|
* vcode == 1: Email address does not exist
|
|
12182
12220
|
*/
|
|
12183
12221
|
deployWebAppsource_toMongoHosting_byEmail(hosting: string, hosting_email: string, hosting_password: string, cloning_options: any): Promise<unknown>;
|
|
12184
|
-
/**
|
|
12185
|
-
* Hàm này đẩy source webapp từ dự án Autoweb_design lên hosting dự án Autoweb_build, dùng database MySQL của hosting
|
|
12186
|
-
* @example:
|
|
12187
|
-
* this.vhQueryAutoWeb.deployWebAppsource_toMySqlHosting_byEmail('domain05', 'devdomain05@gmail.com','123456')
|
|
12188
|
-
.then((rsp:any)=>{
|
|
12189
|
-
console.log('rsp', rsp);
|
|
12190
|
-
if(rsp.vcode === 0){
|
|
12191
|
-
//-----------your code 0-----------
|
|
12192
|
-
}else if(rsp.vcode === 1){
|
|
12193
|
-
//-----------your code 1-----------
|
|
12194
|
-
}
|
|
12195
|
-
},(error:any)=>{
|
|
12196
|
-
console.log('error', error)
|
|
12197
|
-
})
|
|
12198
|
-
* @param hosting_email
|
|
12199
|
-
* @param hosting_password
|
|
12200
|
-
* @param cloning_options = {source_webapp:none/renew/overwrite, template_webapp: none/renew/overwrite, commondata_webapp: none/renew/overwrite, database_webapp: none/renew/overwrite}
|
|
12201
|
-
* @return Promise object => response = {vcode, msg}
|
|
12202
|
-
* vcode == 0: Message sent to email address successfully
|
|
12203
|
-
* vcode == 1: Email address does not exist
|
|
12204
|
-
*/
|
|
12205
|
-
deployWebAppsource_toMySqlHosting_byEmail(hosting: string, hosting_email: string, hosting_password: string, cloning_options: any): Promise<unknown>;
|
|
12206
12222
|
/**
|
|
12207
12223
|
* Hàm này tải source webapp từ dự án Autoweb_design về dạng package, chép lên hosting, chạy url cài đặt, sau đó vào website bình thường
|
|
12208
12224
|
* @example:
|
|
@@ -12593,15 +12609,51 @@ export declare class VhQueryAutoWeb {
|
|
|
12593
12609
|
*/
|
|
12594
12610
|
onAuthStateChangedEndUser(): Promise<any>;
|
|
12595
12611
|
/**
|
|
12612
|
+
* Lấy về tất cả hosting của EndUser
|
|
12613
|
+
* @example
|
|
12596
12614
|
* this.vhQueryAutoWeb.getHostings_byEndUser()
|
|
12597
|
-
|
|
12615
|
+
.then(rsp=>{
|
|
12616
|
+
console.log('getHostings_byEndUser', rsp);
|
|
12617
|
+
if(rsp.vcode === 0){
|
|
12618
|
+
//-----------your code-----------
|
|
12619
|
+
}
|
|
12620
|
+
},(error:any)=>{
|
|
12621
|
+
console.log('error', error)
|
|
12622
|
+
})
|
|
12623
|
+
* @returns Promise object => response = {vcode, msg, data}
|
|
12598
12624
|
*/
|
|
12599
12625
|
getHostings_byEndUser(): Promise<any>;
|
|
12600
12626
|
/**
|
|
12601
|
-
*
|
|
12602
|
-
* @
|
|
12627
|
+
* Tạo mới hosting bởi EndUser
|
|
12628
|
+
* @example
|
|
12629
|
+
* this.vhQueryAutoWeb.createHosting_byEndUser('domain.webappgiare.vn')
|
|
12630
|
+
.then(rsp=>{
|
|
12631
|
+
console.log('createHosting_byEndUser', rsp);
|
|
12632
|
+
if(rsp.vcode === 0){
|
|
12633
|
+
//-----------your code-----------
|
|
12634
|
+
}
|
|
12635
|
+
},(error:any)=>{
|
|
12636
|
+
console.log('error', error)
|
|
12637
|
+
})
|
|
12638
|
+
* @param hosting
|
|
12639
|
+
* @returns Promise object => response = {vcode, msg, data}
|
|
12603
12640
|
*/
|
|
12604
12641
|
createHosting_byEndUser(hosting: string): Promise<any>;
|
|
12642
|
+
/**
|
|
12643
|
+
* xóa hosting bởi EndUser
|
|
12644
|
+
* @example
|
|
12645
|
+
* this.vhQueryAutoWeb.removeHosting_byEndUser('domain.webappgiare.vn')
|
|
12646
|
+
.then(rsp=>{
|
|
12647
|
+
console.log('removeHosting_byEndUser', rsp);
|
|
12648
|
+
if(rsp.vcode === 0){
|
|
12649
|
+
//-----------your code-----------
|
|
12650
|
+
}
|
|
12651
|
+
},(error:any)=>{
|
|
12652
|
+
console.log('error', error)
|
|
12653
|
+
})
|
|
12654
|
+
* @param hosting
|
|
12655
|
+
* @returns Promise object => response = {vcode, msg, data}
|
|
12656
|
+
*/
|
|
12605
12657
|
removeHosting_byEndUser(hosting: string): Promise<any>;
|
|
12606
12658
|
/**
|
|
12607
12659
|
* @example
|
|
@@ -14579,6 +14631,113 @@ export declare class VhQueryAutoWeb {
|
|
|
14579
14631
|
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
14580
14632
|
*/
|
|
14581
14633
|
getCombos_byFields(query: object, projection?: object, sort?: object, limit?: number, page?: number): Promise<unknown>;
|
|
14634
|
+
/**
|
|
14635
|
+
* @example:
|
|
14636
|
+
* this.vhQueryAutoWeb.admin_addWallet(data)
|
|
14637
|
+
.then((rsp:any)=>{
|
|
14638
|
+
if(rsp.vcode === 0){
|
|
14639
|
+
let branch = rsp.data;
|
|
14640
|
+
}
|
|
14641
|
+
}, error=>{
|
|
14642
|
+
reject(error)
|
|
14643
|
+
})
|
|
14644
|
+
* @param data
|
|
14645
|
+
* @return Promise => rsp ={vcode, msg, data(object)} / error
|
|
14646
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
14647
|
+
* vcode == 0: success
|
|
14648
|
+
* vcode == 11: 'not logged in
|
|
14649
|
+
*/
|
|
14650
|
+
admin_addWallet(data: any): Promise<unknown>;
|
|
14651
|
+
/**
|
|
14652
|
+
* @example:
|
|
14653
|
+
* this.vhQueryAutoWeb.admin_updateWallet('5fb6780ca2148e09806c5b01', {hidden:true})
|
|
14654
|
+
.then((rsp:any)=>{
|
|
14655
|
+
if(rsp.vcode === 0){
|
|
14656
|
+
console.log('admin_updateWallet succeed');
|
|
14657
|
+
}
|
|
14658
|
+
}, error=>{
|
|
14659
|
+
console.log('error', error);
|
|
14660
|
+
})
|
|
14661
|
+
* @param id_wallets
|
|
14662
|
+
* @param data
|
|
14663
|
+
* @return Promise object => rsp ={vcode, msg, data(true or false)} / error
|
|
14664
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
14665
|
+
* vcode == 0: success
|
|
14666
|
+
* vcode == 11: 'not logged in
|
|
14667
|
+
*/
|
|
14668
|
+
admin_updateWallet(id_wallets: string, data: object): Promise<unknown>;
|
|
14669
|
+
/**
|
|
14670
|
+
* @example:
|
|
14671
|
+
* this.vhQueryAutoWeb.admin_deleteWallet('5fb67fda87c0f21d484cbdf3')
|
|
14672
|
+
.then((rsp:any)=>{
|
|
14673
|
+
if(rsp.vcode === 0){
|
|
14674
|
+
console.log('admin_deleteWallet succeed');
|
|
14675
|
+
}
|
|
14676
|
+
}, error=>{
|
|
14677
|
+
reject(error)
|
|
14678
|
+
})
|
|
14679
|
+
* @param id_wallet
|
|
14680
|
+
* @return Promise => rsp ={vcode, msg, data(true or false)} / error
|
|
14681
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
14682
|
+
* vcode == 0: success
|
|
14683
|
+
* vcode == 11: 'not logged in
|
|
14684
|
+
*/
|
|
14685
|
+
admin_deleteWallet(id_wallet: string): Promise<unknown>;
|
|
14686
|
+
/**
|
|
14687
|
+
* @example
|
|
14688
|
+
* this.vhQueryAutoWeb.admin_getWallet('5fb67fda87c0f21d484cbdf3')
|
|
14689
|
+
.then((wallet)=>{
|
|
14690
|
+
console.log('admin_getWallet', wallet);
|
|
14691
|
+
})
|
|
14692
|
+
* @param id_wallet
|
|
14693
|
+
* @return Promise object => rsp ={vcode, msg, data(object or null)} / error
|
|
14694
|
+
* vcode == 0: success
|
|
14695
|
+
* vcode == 11: 'not logged in
|
|
14696
|
+
*/
|
|
14697
|
+
admin_getWallet(id_wallet: string): Promise<unknown>;
|
|
14698
|
+
/**
|
|
14699
|
+
* @example:
|
|
14700
|
+
* this.vhQueryAutoWeb.admin_getWallets_byFields({name:{$eq:'name abc'}}, {},{},6)
|
|
14701
|
+
.then(response=>{
|
|
14702
|
+
console.log('response', response);
|
|
14703
|
+
if(response.vcode === 0){
|
|
14704
|
+
//-----------your code-----------
|
|
14705
|
+
let products = response.data;
|
|
14706
|
+
}
|
|
14707
|
+
},(error:any)=>{
|
|
14708
|
+
console.log('error', error)
|
|
14709
|
+
})
|
|
14710
|
+
* @param query
|
|
14711
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
14712
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
14713
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
14714
|
+
* @return Promise object => response = {vcode, msg, data(array)}
|
|
14715
|
+
* vcode == 0: success
|
|
14716
|
+
* vcode == 11: 'not logged in
|
|
14717
|
+
*/
|
|
14718
|
+
admin_getWallets_byFields(query: object, projection?: object, sort?: object, limit?: number): Promise<unknown>;
|
|
14719
|
+
/**
|
|
14720
|
+
* @example:
|
|
14721
|
+
* this.vhQueryAutoWeb.admin_getWallets_byFields_byPages({name:{$eq:'name abc'}}, {},{},6,1)
|
|
14722
|
+
.then(response=>{
|
|
14723
|
+
console.log('response', response);
|
|
14724
|
+
if(response.vcode === 0){
|
|
14725
|
+
//-----------your code-----------
|
|
14726
|
+
let products = response.data;
|
|
14727
|
+
}
|
|
14728
|
+
},(error:any)=>{
|
|
14729
|
+
console.log('error', error)
|
|
14730
|
+
})
|
|
14731
|
+
* @param query
|
|
14732
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
14733
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
14734
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
14735
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
14736
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
14737
|
+
* vcode == 0: success
|
|
14738
|
+
* vcode == 11: 'not logged in
|
|
14739
|
+
*/
|
|
14740
|
+
admin_getWallets_byFields_byPages(query: object, projection?: object, sort?: object, limit?: number, page?: number): Promise<unknown>;
|
|
14582
14741
|
/**
|
|
14583
14742
|
* Hàm này tạo toppings (type=1), blog (type=2),.....
|
|
14584
14743
|
* @example:
|
|
@@ -18567,6 +18726,18 @@ export declare class VhBuildAutoWeb {
|
|
|
18567
18726
|
*/
|
|
18568
18727
|
onAuthStateChangedEndUser(): Promise<any>;
|
|
18569
18728
|
getHostings_byEndUser(): Promise<any>;
|
|
18729
|
+
/**
|
|
18730
|
+
* vhBuildAutoWeb
|
|
18731
|
+
* @param hosting
|
|
18732
|
+
* @returns
|
|
18733
|
+
*/
|
|
18734
|
+
createHosting_byEndUser(hosting: string): Promise<any>;
|
|
18735
|
+
/**
|
|
18736
|
+
*
|
|
18737
|
+
* @param hosting
|
|
18738
|
+
* @returns
|
|
18739
|
+
*/
|
|
18740
|
+
removeHosting_byEndUser(hosting: string): Promise<any>;
|
|
18570
18741
|
/**
|
|
18571
18742
|
* @example
|
|
18572
18743
|
* this.vhBuildAutoWeb.signoutEndUser();
|
|
@@ -18733,8 +18904,8 @@ export declare class VhBuildAutoWeb {
|
|
|
18733
18904
|
*/
|
|
18734
18905
|
getDetailObject_byObject(object: any): Promise<unknown>;
|
|
18735
18906
|
/**
|
|
18736
|
-
|
|
18737
|
-
|
|
18907
|
+
* @example:
|
|
18908
|
+
* this.vhBuildAutoWeb.vietqr_generateQR({})
|
|
18738
18909
|
.then((rsp)=>{
|
|
18739
18910
|
if(rsp.vcode === 0){
|
|
18740
18911
|
console.log('dynamic_addDoc_fromDatabase', rsp.data);
|
|
@@ -18744,19 +18915,36 @@ export declare class VhBuildAutoWeb {
|
|
|
18744
18915
|
})
|
|
18745
18916
|
* @param colname
|
|
18746
18917
|
* @param data
|
|
18918
|
+
* @return Promise => rsp ={vcode, msg, data(img_base64)} / error
|
|
18919
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
18920
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
18921
|
+
* vcode == 0: success
|
|
18922
|
+
*/
|
|
18923
|
+
vietqr_generateQR(data: any): Promise<unknown>;
|
|
18924
|
+
/**
|
|
18925
|
+
* @example:
|
|
18926
|
+
* this.vhBuildAutoWeb.admin_dynamic_addDoc('atw_pages',{name:name: 'Quảng cáo 1'})
|
|
18927
|
+
.then((rsp)=>{
|
|
18928
|
+
if(rsp.vcode === 0){
|
|
18929
|
+
console.log('admin_dynamic_addDoc', rsp.data);
|
|
18930
|
+
}
|
|
18931
|
+
}, error=>{
|
|
18932
|
+
console.log('error', error);
|
|
18933
|
+
})
|
|
18934
|
+
* @param colname
|
|
18935
|
+
* @param data
|
|
18747
18936
|
* @return Promise => response.data ={vcode, msg, data(object)} / error
|
|
18748
|
-
* @notice : hàm này chỉ add được dữ liệu sau khi
|
|
18937
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
18749
18938
|
* vcode == 0: success
|
|
18750
18939
|
* vcode == 11: 'not logged in'
|
|
18751
|
-
* vcode == 2: wrong projectname
|
|
18752
18940
|
*/
|
|
18753
|
-
|
|
18941
|
+
admin_dynamic_addDoc(colname: string, data: object): Promise<unknown>;
|
|
18754
18942
|
/**
|
|
18755
18943
|
* @example:
|
|
18756
|
-
* this.vhBuildAutoWeb.
|
|
18944
|
+
* this.vhBuildAutoWeb.admin_dynamic_updateDoc('categories', '5fb6780ca2148e09806c5b01', {name: 'Quảng cáo 1'})
|
|
18757
18945
|
.then((rsp:any)=>{
|
|
18758
18946
|
if(rsp.vcode === 0){
|
|
18759
|
-
console.log('
|
|
18947
|
+
console.log('admin_dynamic_updateDoc succeed');
|
|
18760
18948
|
}
|
|
18761
18949
|
}, error=>{
|
|
18762
18950
|
console.log('error', error);
|
|
@@ -18764,40 +18952,38 @@ export declare class VhBuildAutoWeb {
|
|
|
18764
18952
|
* @param colname
|
|
18765
18953
|
* @param id_doc
|
|
18766
18954
|
* @param data
|
|
18767
|
-
* @return Promise => rsp ={vcode, msg, data(
|
|
18768
|
-
* @notice : hàm này chỉ add được dữ liệu sau khi
|
|
18955
|
+
* @return Promise => rsp ={vcode, msg, data(true or false)} / error
|
|
18956
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
18769
18957
|
* vcode == 0: success
|
|
18770
18958
|
* vcode == 11: 'not logged in
|
|
18771
|
-
* vcode == 2: wrong projectname
|
|
18772
18959
|
*/
|
|
18773
|
-
|
|
18960
|
+
admin_dynamic_updateDoc(colname: string, id_doc: string, value: object): Promise<unknown>;
|
|
18774
18961
|
/**
|
|
18775
18962
|
* @example:
|
|
18776
|
-
* this.vhBuildAutoWeb.
|
|
18963
|
+
* this.vhBuildAutoWeb.admin_dynamic_deleteDoc('categories', '5fb67fda87c0f21d484cbdf3')
|
|
18777
18964
|
.then((rsp:any)=>{
|
|
18778
18965
|
if(rsp.vcode === 0){
|
|
18779
|
-
console.log('
|
|
18966
|
+
console.log('admin_dynamic_deleteDoc succeed');
|
|
18780
18967
|
}
|
|
18781
18968
|
}, error=>{
|
|
18782
18969
|
reject(error)
|
|
18783
18970
|
})
|
|
18784
18971
|
* @param colname
|
|
18785
18972
|
* @param id_doc
|
|
18786
|
-
* @return Promise => response.data ={vcode, msg, data(
|
|
18787
|
-
* @notice : hàm này chỉ add được dữ liệu sau khi
|
|
18973
|
+
* @return Promise => response.data ={vcode, msg, data(true or false)} / error
|
|
18974
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
18788
18975
|
* vcode == 0: success
|
|
18789
18976
|
* vcode == 11: 'not logged in
|
|
18790
|
-
* vcode == 2: wrong projectname
|
|
18791
18977
|
*/
|
|
18792
|
-
|
|
18978
|
+
admin_dynamic_deleteDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
18793
18979
|
/**
|
|
18794
18980
|
* Hàm này lấy về dữ liệu động trong database (ko có sẳn trong service(RAM)) như: khách hàng, đơn hàng
|
|
18795
18981
|
* Dữ liệu này quan trọng nên nhân viên quản trị hoặc khách hàng phải đăng nhập mới get về được
|
|
18796
18982
|
* @example
|
|
18797
|
-
* this.vhBuildAutoWeb.
|
|
18983
|
+
* this.vhBuildAutoWeb.admin_dynamic_getDoc('atw_customers', '5fb67fda87c0f21d484cbdf3')
|
|
18798
18984
|
.then((rsp)=>{
|
|
18799
18985
|
if(rsp.vcode === 0){
|
|
18800
|
-
console.log('
|
|
18986
|
+
console.log('admin_dynamic_getDoc', rsp.data);
|
|
18801
18987
|
}
|
|
18802
18988
|
},(error:any)=>{
|
|
18803
18989
|
console.log('error', error)
|
|
@@ -18805,17 +18991,16 @@ export declare class VhBuildAutoWeb {
|
|
|
18805
18991
|
* @param colname
|
|
18806
18992
|
* @param id_doc
|
|
18807
18993
|
* @return Promise => response.data ={vcode, msg, data(object or null)} / error
|
|
18808
|
-
* @notice : hàm này chỉ get được dữ liệu sau khi
|
|
18994
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
18809
18995
|
* vcode == 0: success
|
|
18810
18996
|
* vcode == 11: 'not logged in
|
|
18811
|
-
* vcode == 2: wrong projectname
|
|
18812
18997
|
*/
|
|
18813
|
-
|
|
18998
|
+
admin_dynamic_getDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
18814
18999
|
/**
|
|
18815
19000
|
* @example:
|
|
18816
|
-
* this.vhBuildAutoWeb.
|
|
19001
|
+
* this.vhBuildAutoWeb.admin_dynamic_getDocs_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},0)
|
|
18817
19002
|
.then(rsp=>{
|
|
18818
|
-
console.log('
|
|
19003
|
+
console.log('admin_dynamic_getDocs_byFields', rsp);
|
|
18819
19004
|
if(rsp.vcode === 0){
|
|
18820
19005
|
//-----------your code-----------
|
|
18821
19006
|
let products = rsp.data;
|
|
@@ -18832,61 +19017,11 @@ export declare class VhBuildAutoWeb {
|
|
|
18832
19017
|
* @notice : hàm này chỉ add được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
18833
19018
|
* vcode == 0: success
|
|
18834
19019
|
* vcode == 11: 'not logged in'
|
|
18835
|
-
* vcode == 2: wrong projectname
|
|
18836
|
-
*/
|
|
18837
|
-
dynamic_getDocs_fromDatabase_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
18838
|
-
/**
|
|
18839
|
-
* @example:
|
|
18840
|
-
* this.vhBuildAutoWeb.dynamic_getDocs_fromDatabase_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
18841
|
-
.then(response=>{
|
|
18842
|
-
console.log('response', response);
|
|
18843
|
-
if(response.vcode === 0){
|
|
18844
|
-
//-----------your code-----------
|
|
18845
|
-
let products = response.data;
|
|
18846
|
-
}
|
|
18847
|
-
},(error:any)=>{
|
|
18848
|
-
console.log('error', error)
|
|
18849
|
-
})
|
|
18850
|
-
* @param colname
|
|
18851
|
-
* @param query
|
|
18852
|
-
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
18853
|
-
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
18854
|
-
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
18855
|
-
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
18856
|
-
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
18857
|
-
*/
|
|
18858
|
-
dynamic_getDocs_fromDatabase_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
18859
|
-
/**
|
|
18860
|
-
* @example
|
|
18861
|
-
* this.vhBuildAutoWeb.dynamic_getDoc_fromService('categories', '5fb67fda87c0f21d484cbdf3')
|
|
18862
|
-
.then((doc)=>{
|
|
18863
|
-
console.log('dynamic_getDoc_fromService', doc);
|
|
18864
|
-
})
|
|
18865
|
-
* @param id_doc
|
|
18866
|
-
* @return null or object
|
|
18867
|
-
*/
|
|
18868
|
-
dynamic_getDoc_fromService(colname: string, id_doc: string): Promise<unknown>;
|
|
18869
|
-
/**
|
|
18870
|
-
* @example:
|
|
18871
|
-
* this.vhBuildAutoWeb.dynamic_getDocs_fromService_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
18872
|
-
.then(response=>{
|
|
18873
|
-
console.log('response', response);
|
|
18874
|
-
//-----------your code-----------
|
|
18875
|
-
let products = response;
|
|
18876
|
-
},(error:any)=>{
|
|
18877
|
-
console.log('error', error)
|
|
18878
|
-
})
|
|
18879
|
-
* @param colname
|
|
18880
|
-
* @param query
|
|
18881
|
-
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
18882
|
-
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
18883
|
-
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
18884
|
-
* @return Promise => array(object) = [{},{},..]
|
|
18885
19020
|
*/
|
|
18886
|
-
|
|
19021
|
+
admin_dynamic_getDocs_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
18887
19022
|
/**
|
|
18888
19023
|
* @example:
|
|
18889
|
-
* this.vhBuildAutoWeb.
|
|
19024
|
+
* this.vhBuildAutoWeb.admin_dynamic_getDocs_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
18890
19025
|
.then(response=>{
|
|
18891
19026
|
console.log('response', response);
|
|
18892
19027
|
if(response.vcode === 0){
|
|
@@ -18903,145 +19038,94 @@ export declare class VhBuildAutoWeb {
|
|
|
18903
19038
|
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
18904
19039
|
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
18905
19040
|
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19041
|
+
* vcode == 0: success
|
|
19042
|
+
* vcode == 11: 'not logged in'
|
|
18906
19043
|
*/
|
|
18907
|
-
|
|
19044
|
+
admin_dynamic_getDocs_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
18908
19045
|
/**
|
|
18909
|
-
|
|
18910
|
-
|
|
18911
|
-
|
|
18912
|
-
|
|
18913
|
-
|
|
18914
|
-
* @param id_doc
|
|
18915
|
-
* @return null or object
|
|
18916
|
-
*/
|
|
18917
|
-
static_getDoc_fromService(colname: string, id_doc: string): Promise<unknown>;
|
|
18918
|
-
/**
|
|
18919
|
-
* @example
|
|
18920
|
-
* this.vhBuildAutoWeb.static_getDoc_fromDatabase('categories', '5fb67fda87c0f21d484cbdf3')
|
|
18921
|
-
.then((doc)=>{
|
|
18922
|
-
console.log('static_getDoc_fromDatabase', doc);
|
|
18923
|
-
})
|
|
18924
|
-
* @param id_doc
|
|
18925
|
-
* @return null or object
|
|
18926
|
-
*/
|
|
18927
|
-
static_getDoc_fromDatabase(colname: string, id_doc: string): Promise<unknown>;
|
|
18928
|
-
/**
|
|
18929
|
-
* @example:
|
|
18930
|
-
* this.vhBuildAutoWeb.static_getDocs_fromService_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
18931
|
-
.then(response=>{
|
|
18932
|
-
console.log('response', response);
|
|
18933
|
-
if(response.vcode === 0){
|
|
18934
|
-
//-----------your code-----------
|
|
18935
|
-
let products = response.data;
|
|
19046
|
+
* @example:
|
|
19047
|
+
* this.vhBuildAutoWeb.enduser_dynamic_addDoc('atw_pages',{name:name: 'Quảng cáo 1'})
|
|
19048
|
+
.then((rsp)=>{
|
|
19049
|
+
if(rsp.vcode === 0){
|
|
19050
|
+
console.log('enduser_dynamic_addDoc', rsp.data);
|
|
18936
19051
|
}
|
|
18937
|
-
},
|
|
18938
|
-
|
|
19052
|
+
}, error=>{
|
|
19053
|
+
console.log('error', error);
|
|
18939
19054
|
})
|
|
18940
|
-
|
|
18941
|
-
|
|
18942
|
-
|
|
18943
|
-
|
|
18944
|
-
|
|
18945
|
-
|
|
18946
|
-
|
|
18947
|
-
|
|
18948
|
-
static_getDocs_fromService_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19055
|
+
* @param colname
|
|
19056
|
+
* @param data
|
|
19057
|
+
* @return Promise => response.data ={vcode, msg, data(object)} / error
|
|
19058
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
19059
|
+
* vcode == 0: success
|
|
19060
|
+
* vcode == 11: 'not logged in'
|
|
19061
|
+
*/
|
|
19062
|
+
enduser_dynamic_addDoc(colname: string, data: object): Promise<unknown>;
|
|
18949
19063
|
/**
|
|
18950
19064
|
* @example:
|
|
18951
|
-
* this.vhBuildAutoWeb.
|
|
18952
|
-
.then(
|
|
18953
|
-
|
|
18954
|
-
|
|
18955
|
-
//-----------your code-----------
|
|
18956
|
-
let products = response.data;
|
|
19065
|
+
* this.vhBuildAutoWeb.enduser_dynamic_updateDoc('categories', '5fb6780ca2148e09806c5b01', {name: 'Quảng cáo 1'})
|
|
19066
|
+
.then((rsp:any)=>{
|
|
19067
|
+
if(rsp.vcode === 0){
|
|
19068
|
+
console.log('enduser_dynamic_updateDoc succeed');
|
|
18957
19069
|
}
|
|
18958
|
-
},
|
|
18959
|
-
|
|
19070
|
+
}, error=>{
|
|
19071
|
+
console.log('error', error);
|
|
18960
19072
|
})
|
|
18961
|
-
|
|
18962
|
-
|
|
18963
|
-
|
|
18964
|
-
|
|
18965
|
-
|
|
18966
|
-
|
|
18967
|
-
|
|
18968
|
-
|
|
18969
|
-
|
|
19073
|
+
* @param colname
|
|
19074
|
+
* @param id_doc
|
|
19075
|
+
* @param data
|
|
19076
|
+
* @return Promise => rsp ={vcode, msg, data(true or false)} / error
|
|
19077
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
19078
|
+
* vcode == 0: success
|
|
19079
|
+
* vcode == 11: 'not logged in
|
|
19080
|
+
*/
|
|
19081
|
+
enduser_dynamic_updateDoc(colname: string, id_doc: string, value: object): Promise<unknown>;
|
|
18970
19082
|
/**
|
|
18971
19083
|
* @example:
|
|
18972
|
-
* this.vhBuildAutoWeb.
|
|
18973
|
-
.then(webapp_abouts=>{
|
|
18974
|
-
console.log('static_getDocs_fromDatabase_byFields', webapp_abouts);
|
|
18975
|
-
},(error:any)=>{
|
|
18976
|
-
console.log('error', error)
|
|
18977
|
-
})
|
|
18978
|
-
* @param colname
|
|
18979
|
-
* @param query
|
|
18980
|
-
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
18981
|
-
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
18982
|
-
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
18983
|
-
* @return Promise => array(object) = [{},{},..]
|
|
18984
|
-
*/
|
|
18985
|
-
static_getDocs_fromDatabase_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
18986
|
-
/**
|
|
18987
|
-
* @example:
|
|
18988
|
-
* this.vhBuildAutoWeb.dynamic_deleteProduct('categories', '5fb67fda87c0f21d484cbdf3')
|
|
18989
|
-
.then((rsp:any)=>{
|
|
18990
|
-
if(rsp.vcode === 0){
|
|
18991
|
-
console.log('dynamic_deleteDoc_fromDatabase succeed');
|
|
18992
|
-
}
|
|
18993
|
-
}, error=>{
|
|
18994
|
-
reject(error)
|
|
18995
|
-
})
|
|
18996
|
-
* @param colname
|
|
18997
|
-
* @param id_doc
|
|
18998
|
-
* @return Promise => response.data ={vcode, msg, data(undefined)} / error
|
|
18999
|
-
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
19000
|
-
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
19001
|
-
* vcode == 0: success
|
|
19002
|
-
* vcode == 1: 'Bạn không thể xóa, bạn phải xóa các thuộc tính của sản phẩm trước'
|
|
19003
|
-
* vcode == 2: 'Bạn không thể xóa, vì sản phẩm con này đang liên kết với sản phẩm combo khác'
|
|
19004
|
-
* vcode == 3: 'Bạn không thể xóa, vì sản phẩm con này đã phát sinh hóa đơn'
|
|
19005
|
-
*/
|
|
19006
|
-
dynamic_deleteProduct(colname: string, id_doc: string): Promise<unknown>;
|
|
19007
|
-
/**
|
|
19008
|
-
* @example:
|
|
19009
|
-
* this.vhBuildAutoWeb.dynamic_deleteSubProduct('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19084
|
+
* this.vhBuildAutoWeb.enduser_dynamic_deleteDoc('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19010
19085
|
.then((rsp:any)=>{
|
|
19011
19086
|
if(rsp.vcode === 0){
|
|
19012
|
-
console.log('
|
|
19087
|
+
console.log('enduser_dynamic_deleteDoc succeed');
|
|
19013
19088
|
}
|
|
19014
19089
|
}, error=>{
|
|
19015
19090
|
reject(error)
|
|
19016
19091
|
})
|
|
19017
|
-
|
|
19018
|
-
|
|
19019
|
-
|
|
19020
|
-
|
|
19021
|
-
|
|
19022
|
-
|
|
19023
|
-
|
|
19024
|
-
|
|
19025
|
-
* vcode == 3: 'Bạn không thể xóa, vì sản phẩm con này đã phát sinh hóa đơn'
|
|
19026
|
-
*/
|
|
19027
|
-
dynamic_deleteSubProduct(colname: string, id_doc: string): Promise<unknown>;
|
|
19092
|
+
* @param colname
|
|
19093
|
+
* @param id_doc
|
|
19094
|
+
* @return Promise => response.data ={vcode, msg, data(true or false)} / error
|
|
19095
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
19096
|
+
* vcode == 0: success
|
|
19097
|
+
* vcode == 11: 'not logged in
|
|
19098
|
+
*/
|
|
19099
|
+
enduser_dynamic_deleteDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
19028
19100
|
/**
|
|
19029
|
-
|
|
19030
|
-
|
|
19031
|
-
|
|
19032
|
-
|
|
19033
|
-
|
|
19034
|
-
|
|
19035
|
-
|
|
19036
|
-
|
|
19037
|
-
|
|
19101
|
+
* Hàm này lấy về dữ liệu động trong database (ko có sẳn trong service(RAM)) như: khách hàng, đơn hàng
|
|
19102
|
+
* Dữ liệu này quan trọng nên nhân viên quản trị hoặc khách hàng phải đăng nhập mới get về được
|
|
19103
|
+
* @example
|
|
19104
|
+
* this.vhBuildAutoWeb.enduser_dynamic_getDoc('atw_customers', '5fb67fda87c0f21d484cbdf3')
|
|
19105
|
+
.then((rsp)=>{
|
|
19106
|
+
if(rsp.vcode === 0){
|
|
19107
|
+
console.log('enduser_dynamic_getDoc', rsp.data);
|
|
19108
|
+
}
|
|
19109
|
+
},(error:any)=>{
|
|
19110
|
+
console.log('error', error)
|
|
19111
|
+
})
|
|
19112
|
+
* @param colname
|
|
19113
|
+
* @param id_doc
|
|
19114
|
+
* @return Promise => response.data ={vcode, msg, data(object or null)} / error
|
|
19115
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
19116
|
+
* vcode == 0: success
|
|
19117
|
+
* vcode == 11: 'not logged in
|
|
19118
|
+
*/
|
|
19119
|
+
enduser_dynamic_getDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
19038
19120
|
/**
|
|
19039
19121
|
* @example:
|
|
19040
|
-
* this.vhBuildAutoWeb.
|
|
19041
|
-
.then(
|
|
19042
|
-
console.log('
|
|
19043
|
-
|
|
19044
|
-
|
|
19122
|
+
* this.vhBuildAutoWeb.enduser_dynamic_getDocs_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},0)
|
|
19123
|
+
.then(rsp=>{
|
|
19124
|
+
console.log('enduser_dynamic_getDocs_byFields', rsp);
|
|
19125
|
+
if(rsp.vcode === 0){
|
|
19126
|
+
//-----------your code-----------
|
|
19127
|
+
let products = rsp.data;
|
|
19128
|
+
}
|
|
19045
19129
|
},(error:any)=>{
|
|
19046
19130
|
console.log('error', error)
|
|
19047
19131
|
})
|
|
@@ -19050,13 +19134,15 @@ export declare class VhBuildAutoWeb {
|
|
|
19050
19134
|
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19051
19135
|
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19052
19136
|
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19053
|
-
* @
|
|
19054
|
-
* @
|
|
19137
|
+
* @return Promise => rsp.data ={vcode, msg, data(array(object) = [{},{},..])} / error
|
|
19138
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
19139
|
+
* vcode == 0: success
|
|
19140
|
+
* vcode == 11: 'not logged in'
|
|
19055
19141
|
*/
|
|
19056
|
-
|
|
19142
|
+
enduser_dynamic_getDocs_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19057
19143
|
/**
|
|
19058
19144
|
* @example:
|
|
19059
|
-
* this.vhBuildAutoWeb.
|
|
19145
|
+
* this.vhBuildAutoWeb.enduser_dynamic_getDocs_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19060
19146
|
.then(response=>{
|
|
19061
19147
|
console.log('response', response);
|
|
19062
19148
|
if(response.vcode === 0){
|
|
@@ -19073,15 +19159,38 @@ export declare class VhBuildAutoWeb {
|
|
|
19073
19159
|
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19074
19160
|
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19075
19161
|
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19162
|
+
* vcode == 0: success
|
|
19163
|
+
* vcode == 11: 'not logged in'
|
|
19076
19164
|
*/
|
|
19077
|
-
|
|
19165
|
+
enduser_dynamic_getDocs_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19166
|
+
/**
|
|
19167
|
+
* Hàm này lấy về dữ liệu động trong database (ko có sẳn trong service(RAM)) như: khách hàng, đơn hàng
|
|
19168
|
+
* Dữ liệu này quan trọng nên nhân viên quản trị hoặc khách hàng phải đăng nhập mới get về được
|
|
19169
|
+
* @example
|
|
19170
|
+
* this.vhBuildAutoWeb.free_dynamic_getDoc('atw_customers', '5fb67fda87c0f21d484cbdf3')
|
|
19171
|
+
.then((rsp)=>{
|
|
19172
|
+
if(rsp.vcode === 0){
|
|
19173
|
+
console.log('free_dynamic_getDoc', rsp.data);
|
|
19174
|
+
}
|
|
19175
|
+
},(error:any)=>{
|
|
19176
|
+
console.log('error', error)
|
|
19177
|
+
})
|
|
19178
|
+
* @param colname
|
|
19179
|
+
* @param id_doc
|
|
19180
|
+
* @return Promise => response.data ={vcode, msg, data(object or null)} / error
|
|
19181
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi nhân viên (admin) đã đăng nhập
|
|
19182
|
+
* vcode == 0: success
|
|
19183
|
+
*/
|
|
19184
|
+
free_dynamic_getDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
19078
19185
|
/**
|
|
19079
19186
|
* @example:
|
|
19080
|
-
* this.vhBuildAutoWeb.
|
|
19081
|
-
.then(
|
|
19082
|
-
console.log('
|
|
19083
|
-
|
|
19084
|
-
|
|
19187
|
+
* this.vhBuildAutoWeb.free_dynamic_getDocs_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},0)
|
|
19188
|
+
.then(rsp=>{
|
|
19189
|
+
console.log('free_dynamic_getDocs_byFields', rsp);
|
|
19190
|
+
if(rsp.vcode === 0){
|
|
19191
|
+
//-----------your code-----------
|
|
19192
|
+
let products = rsp.data;
|
|
19193
|
+
}
|
|
19085
19194
|
},(error:any)=>{
|
|
19086
19195
|
console.log('error', error)
|
|
19087
19196
|
})
|
|
@@ -19090,13 +19199,14 @@ export declare class VhBuildAutoWeb {
|
|
|
19090
19199
|
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19091
19200
|
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19092
19201
|
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19093
|
-
* @
|
|
19094
|
-
* @
|
|
19202
|
+
* @return Promise => rsp.data ={vcode, msg, data(array(object) = [{},{},..])} / error
|
|
19203
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
19204
|
+
* vcode == 0: success
|
|
19095
19205
|
*/
|
|
19096
|
-
|
|
19206
|
+
free_dynamic_getDocs_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19097
19207
|
/**
|
|
19098
19208
|
* @example:
|
|
19099
|
-
* this.vhBuildAutoWeb.
|
|
19209
|
+
* this.vhBuildAutoWeb.free_dynamic_getDocs_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19100
19210
|
.then(response=>{
|
|
19101
19211
|
console.log('response', response);
|
|
19102
19212
|
if(response.vcode === 0){
|
|
@@ -19113,171 +19223,614 @@ export declare class VhBuildAutoWeb {
|
|
|
19113
19223
|
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19114
19224
|
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19115
19225
|
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19226
|
+
* vcode == 0: success
|
|
19116
19227
|
*/
|
|
19117
|
-
|
|
19228
|
+
free_dynamic_getDocs_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19118
19229
|
/**
|
|
19119
|
-
|
|
19120
|
-
|
|
19121
|
-
.then((
|
|
19122
|
-
|
|
19123
|
-
|
|
19124
|
-
|
|
19230
|
+
* @example:
|
|
19231
|
+
* this.vhBuildAutoWeb.dynamic_addDoc_fromDatabase('atw_pages',{name:name: 'Quảng cáo 1'})
|
|
19232
|
+
.then((rsp)=>{
|
|
19233
|
+
if(rsp.vcode === 0){
|
|
19234
|
+
console.log('dynamic_addDoc_fromDatabase', rsp.data);
|
|
19235
|
+
}
|
|
19236
|
+
}, error=>{
|
|
19237
|
+
console.log('error', error);
|
|
19125
19238
|
})
|
|
19126
|
-
* @param
|
|
19127
|
-
* @
|
|
19239
|
+
* @param colname
|
|
19240
|
+
* @param data
|
|
19241
|
+
* @return Promise => response.data ={vcode, msg, data(object)} / error
|
|
19242
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
19243
|
+
* vcode == 0: success
|
|
19244
|
+
* vcode == 11: 'not logged in'
|
|
19128
19245
|
*/
|
|
19129
|
-
|
|
19246
|
+
dynamic_addDoc_fromDatabase(colname: string, data: object): Promise<unknown>;
|
|
19130
19247
|
/**
|
|
19131
|
-
* @example
|
|
19132
|
-
* this.vhBuildAutoWeb.
|
|
19133
|
-
.then(
|
|
19134
|
-
|
|
19135
|
-
|
|
19136
|
-
//-----------your code-----------
|
|
19137
|
-
let product = response.data;
|
|
19248
|
+
* @example:
|
|
19249
|
+
* this.vhBuildAutoWeb.dynamic_updateDoc_fromDatabase('categories', '5fb6780ca2148e09806c5b01', {name: 'Quảng cáo 1'})
|
|
19250
|
+
.then((rsp:any)=>{
|
|
19251
|
+
if(rsp.vcode === 0){
|
|
19252
|
+
console.log('dynamic_updateDoc_fromDatabase succeed');
|
|
19138
19253
|
}
|
|
19139
|
-
},
|
|
19140
|
-
|
|
19254
|
+
}, error=>{
|
|
19255
|
+
console.log('error', error);
|
|
19141
19256
|
})
|
|
19142
|
-
* @param
|
|
19143
|
-
* @
|
|
19257
|
+
* @param colname
|
|
19258
|
+
* @param id_doc
|
|
19259
|
+
* @param data
|
|
19260
|
+
* @return Promise => rsp ={vcode, msg, data(undefined)} / error
|
|
19261
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
19262
|
+
* vcode == 0: success
|
|
19263
|
+
* vcode == 11: 'not logged in
|
|
19264
|
+
* vcode == 2: wrong projectname
|
|
19144
19265
|
*/
|
|
19266
|
+
dynamic_updateDoc_fromDatabase(colname: string, id_doc: string, value: object): Promise<unknown>;
|
|
19145
19267
|
/**
|
|
19146
|
-
|
|
19147
|
-
|
|
19148
|
-
.then(
|
|
19149
|
-
|
|
19150
|
-
|
|
19151
|
-
//-----------your code-----------
|
|
19152
|
-
let product = response.data;
|
|
19268
|
+
* @example:
|
|
19269
|
+
* this.vhBuildAutoWeb.dynamic_deleteDoc_fromDatabase('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19270
|
+
.then((rsp:any)=>{
|
|
19271
|
+
if(rsp.vcode === 0){
|
|
19272
|
+
console.log('dynamic_deleteDoc_fromDatabase succeed');
|
|
19153
19273
|
}
|
|
19154
|
-
},
|
|
19155
|
-
|
|
19274
|
+
}, error=>{
|
|
19275
|
+
reject(error)
|
|
19156
19276
|
})
|
|
19157
|
-
|
|
19158
|
-
|
|
19159
|
-
|
|
19160
|
-
|
|
19277
|
+
* @param colname
|
|
19278
|
+
* @param id_doc
|
|
19279
|
+
* @return Promise => response.data ={vcode, msg, data(undefined)} / error
|
|
19280
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
19281
|
+
* vcode == 0: success
|
|
19282
|
+
* vcode == 11: 'not logged in
|
|
19283
|
+
* vcode == 2: wrong projectname
|
|
19284
|
+
*/
|
|
19285
|
+
dynamic_deleteDoc_fromDatabase(colname: string, id_doc: string): Promise<unknown>;
|
|
19161
19286
|
/**
|
|
19162
|
-
|
|
19163
|
-
|
|
19164
|
-
|
|
19165
|
-
|
|
19166
|
-
|
|
19287
|
+
* Hàm này lấy về dữ liệu động trong database (ko có sẳn trong service(RAM)) như: khách hàng, đơn hàng
|
|
19288
|
+
* Dữ liệu này quan trọng nên nhân viên quản trị hoặc khách hàng phải đăng nhập mới get về được
|
|
19289
|
+
* @example
|
|
19290
|
+
* this.vhBuildAutoWeb.dynamic_getDoc_fromDatabase('atw_customers', '5fb67fda87c0f21d484cbdf3')
|
|
19291
|
+
.then((rsp)=>{
|
|
19292
|
+
if(rsp.vcode === 0){
|
|
19293
|
+
console.log('dynamic_getDoc_fromDatabase', rsp.data);
|
|
19294
|
+
}
|
|
19295
|
+
},(error:any)=>{
|
|
19296
|
+
console.log('error', error)
|
|
19297
|
+
})
|
|
19298
|
+
* @param colname
|
|
19299
|
+
* @param id_doc
|
|
19300
|
+
* @return Promise => response.data ={vcode, msg, data(object or null)} / error
|
|
19301
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
19302
|
+
* vcode == 0: success
|
|
19303
|
+
* vcode == 11: 'not logged in
|
|
19304
|
+
* vcode == 2: wrong projectname
|
|
19305
|
+
*/
|
|
19306
|
+
dynamic_getDoc_fromDatabase(colname: string, id_doc: string): Promise<unknown>;
|
|
19307
|
+
/**
|
|
19308
|
+
* @example:
|
|
19309
|
+
* this.vhBuildAutoWeb.dynamic_getDocs_fromDatabase_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},0)
|
|
19310
|
+
.then(rsp=>{
|
|
19311
|
+
console.log('dynamic_getDocs_fromDatabase_byFields', rsp);
|
|
19312
|
+
if(rsp.vcode === 0){
|
|
19167
19313
|
//-----------your code-----------
|
|
19168
|
-
let
|
|
19314
|
+
let products = rsp.data;
|
|
19169
19315
|
}
|
|
19170
19316
|
},(error:any)=>{
|
|
19171
19317
|
console.log('error', error)
|
|
19172
19318
|
})
|
|
19173
19319
|
* @param colname
|
|
19174
|
-
* @param
|
|
19175
|
-
* @param
|
|
19176
|
-
* @param sort null hoặc {}:không sắp xếp; {date:1}: sắp xếp
|
|
19320
|
+
* @param query
|
|
19321
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19322
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19177
19323
|
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19178
|
-
* @
|
|
19179
|
-
* @
|
|
19324
|
+
* @return Promise => rsp.data ={vcode, msg, data(array(object) = [{},{},..])} / error
|
|
19325
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
19326
|
+
* vcode == 0: success
|
|
19327
|
+
* vcode == 11: 'not logged in'
|
|
19328
|
+
* vcode == 2: wrong projectname
|
|
19180
19329
|
*/
|
|
19181
|
-
|
|
19182
|
-
|
|
19183
|
-
|
|
19184
|
-
|
|
19185
|
-
|
|
19186
|
-
|
|
19187
|
-
|
|
19188
|
-
|
|
19189
|
-
|
|
19190
|
-
|
|
19191
|
-
|
|
19192
|
-
|
|
19193
|
-
|
|
19194
|
-
|
|
19330
|
+
dynamic_getDocs_fromDatabase_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19331
|
+
/**
|
|
19332
|
+
* @example:
|
|
19333
|
+
* this.vhBuildAutoWeb.dynamic_getDocs_fromDatabase_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19334
|
+
.then(response=>{
|
|
19335
|
+
console.log('response', response);
|
|
19336
|
+
if(response.vcode === 0){
|
|
19337
|
+
//-----------your code-----------
|
|
19338
|
+
let products = response.data;
|
|
19339
|
+
}
|
|
19340
|
+
},(error:any)=>{
|
|
19341
|
+
console.log('error', error)
|
|
19342
|
+
})
|
|
19343
|
+
* @param colname
|
|
19344
|
+
* @param query
|
|
19345
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19346
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19347
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19348
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19349
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19350
|
+
*/
|
|
19351
|
+
dynamic_getDocs_fromDatabase_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19352
|
+
/**
|
|
19353
|
+
* @example
|
|
19354
|
+
* this.vhBuildAutoWeb.dynamic_getDoc_fromService('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19355
|
+
.then((doc)=>{
|
|
19356
|
+
console.log('dynamic_getDoc_fromService', doc);
|
|
19357
|
+
})
|
|
19358
|
+
* @param id_doc
|
|
19359
|
+
* @return null or object
|
|
19360
|
+
*/
|
|
19361
|
+
dynamic_getDoc_fromService(colname: string, id_doc: string): Promise<unknown>;
|
|
19195
19362
|
/**
|
|
19196
19363
|
* @example:
|
|
19197
|
-
* this.
|
|
19198
|
-
.then(
|
|
19199
|
-
console.log('
|
|
19364
|
+
* this.vhBuildAutoWeb.dynamic_getDocs_fromService_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19365
|
+
.then(response=>{
|
|
19366
|
+
console.log('response', response);
|
|
19367
|
+
//-----------your code-----------
|
|
19368
|
+
let products = response;
|
|
19200
19369
|
},(error:any)=>{
|
|
19201
|
-
|
|
19370
|
+
console.log('error', error)
|
|
19202
19371
|
})
|
|
19203
|
-
* @param data
|
|
19204
|
-
* @return Promise => obj = {}
|
|
19205
|
-
* Luu ý: chỉ có 2 trường hợp, hoặc là thêm thành công, hoặc là báo lỗi error
|
|
19206
|
-
*/
|
|
19207
|
-
private addPatternBlock;
|
|
19208
|
-
/**
|
|
19209
|
-
* @example:
|
|
19210
|
-
* this.vhDevAutoWeb.addPatternBlock_byID('nvliw974854hf848ugrgh3498', {name:'camera 2', quantity:20, price:200000})
|
|
19211
|
-
.then((block)=>{
|
|
19212
|
-
console.log('addPatternBlock_byID', block);
|
|
19213
|
-
}, error=>{
|
|
19214
|
-
console.log('error', error);
|
|
19215
|
-
})
|
|
19216
19372
|
* @param colname
|
|
19217
|
-
* @param
|
|
19218
|
-
* @
|
|
19219
|
-
*
|
|
19373
|
+
* @param query
|
|
19374
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19375
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19376
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19377
|
+
* @return Promise => array(object) = [{},{},..]
|
|
19220
19378
|
*/
|
|
19221
|
-
|
|
19379
|
+
dynamic_getDocs_fromService_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19222
19380
|
/**
|
|
19223
|
-
|
|
19224
|
-
|
|
19225
|
-
|
|
19226
|
-
|
|
19227
|
-
|
|
19228
|
-
|
|
19229
|
-
|
|
19230
|
-
|
|
19231
|
-
|
|
19232
|
-
|
|
19233
|
-
|
|
19234
|
-
|
|
19235
|
-
|
|
19381
|
+
* @example:
|
|
19382
|
+
* this.vhBuildAutoWeb.dynamic_getDocs_fromService_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19383
|
+
.then(response=>{
|
|
19384
|
+
console.log('response', response);
|
|
19385
|
+
if(response.vcode === 0){
|
|
19386
|
+
//-----------your code-----------
|
|
19387
|
+
let products = response.data;
|
|
19388
|
+
}
|
|
19389
|
+
},(error:any)=>{
|
|
19390
|
+
console.log('error', error)
|
|
19391
|
+
})
|
|
19392
|
+
* @param colname
|
|
19393
|
+
* @param query
|
|
19394
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19395
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19396
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19397
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19398
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19399
|
+
*/
|
|
19400
|
+
dynamic_getDocs_fromService_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19236
19401
|
/**
|
|
19237
|
-
|
|
19238
|
-
|
|
19239
|
-
.then(
|
|
19240
|
-
console.log('
|
|
19402
|
+
* @example
|
|
19403
|
+
* this.vhBuildAutoWeb.static_getDoc_fromService('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19404
|
+
.then((doc)=>{
|
|
19405
|
+
console.log('static_getDoc_fromService', doc);
|
|
19241
19406
|
})
|
|
19242
|
-
* @param
|
|
19243
|
-
* @
|
|
19244
|
-
* @return Promise => bool = true or false
|
|
19407
|
+
* @param id_doc
|
|
19408
|
+
* @return null or object
|
|
19245
19409
|
*/
|
|
19246
|
-
|
|
19410
|
+
static_getDoc_fromService(colname: string, id_doc: string): Promise<unknown>;
|
|
19247
19411
|
/**
|
|
19248
|
-
|
|
19249
|
-
|
|
19250
|
-
|
|
19251
|
-
|
|
19252
|
-
|
|
19253
|
-
|
|
19254
|
-
|
|
19255
|
-
|
|
19256
|
-
|
|
19257
|
-
* @return Promise => obj ={} or null
|
|
19258
|
-
*/
|
|
19259
|
-
getPatternBlock(_id: string): Promise<unknown>;
|
|
19412
|
+
* @example
|
|
19413
|
+
* this.vhBuildAutoWeb.static_getDoc_fromDatabase('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19414
|
+
.then((doc)=>{
|
|
19415
|
+
console.log('static_getDoc_fromDatabase', doc);
|
|
19416
|
+
})
|
|
19417
|
+
* @param id_doc
|
|
19418
|
+
* @return null or object
|
|
19419
|
+
*/
|
|
19420
|
+
static_getDoc_fromDatabase(colname: string, id_doc: string): Promise<unknown>;
|
|
19260
19421
|
/**
|
|
19261
19422
|
* @example:
|
|
19262
|
-
* this.
|
|
19263
|
-
|
|
19264
|
-
|
|
19265
|
-
|
|
19266
|
-
|
|
19267
|
-
|
|
19268
|
-
|
|
19269
|
-
|
|
19270
|
-
|
|
19271
|
-
|
|
19272
|
-
|
|
19273
|
-
* @
|
|
19274
|
-
* @
|
|
19423
|
+
* this.vhBuildAutoWeb.static_getDocs_fromService_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19424
|
+
.then(response=>{
|
|
19425
|
+
console.log('response', response);
|
|
19426
|
+
if(response.vcode === 0){
|
|
19427
|
+
//-----------your code-----------
|
|
19428
|
+
let products = response.data;
|
|
19429
|
+
}
|
|
19430
|
+
},(error:any)=>{
|
|
19431
|
+
console.log('error', error)
|
|
19432
|
+
})
|
|
19433
|
+
* @param colname
|
|
19434
|
+
* @param query
|
|
19435
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19436
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19437
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19438
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19439
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19275
19440
|
*/
|
|
19276
|
-
|
|
19441
|
+
static_getDocs_fromService_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19277
19442
|
/**
|
|
19278
|
-
|
|
19279
|
-
|
|
19280
|
-
|
|
19443
|
+
* @example:
|
|
19444
|
+
* this.vhBuildAutoWeb.static_getDocs_fromService_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19445
|
+
.then(response=>{
|
|
19446
|
+
console.log('response', response);
|
|
19447
|
+
if(response.vcode === 0){
|
|
19448
|
+
//-----------your code-----------
|
|
19449
|
+
let products = response.data;
|
|
19450
|
+
}
|
|
19451
|
+
},(error:any)=>{
|
|
19452
|
+
console.log('error', error)
|
|
19453
|
+
})
|
|
19454
|
+
* @param colname
|
|
19455
|
+
* @param query
|
|
19456
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19457
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19458
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19459
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19460
|
+
* @return Promise => array(object) = [{},{},..]
|
|
19461
|
+
*/
|
|
19462
|
+
static_getDocs_fromService_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19463
|
+
/**
|
|
19464
|
+
* @example:
|
|
19465
|
+
* this.vhBuildAutoWeb.static_getDocs_fromDatabase_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19466
|
+
.then(webapp_abouts=>{
|
|
19467
|
+
console.log('static_getDocs_fromDatabase_byFields', webapp_abouts);
|
|
19468
|
+
},(error:any)=>{
|
|
19469
|
+
console.log('error', error)
|
|
19470
|
+
})
|
|
19471
|
+
* @param colname
|
|
19472
|
+
* @param query
|
|
19473
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19474
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19475
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19476
|
+
* @return Promise => array(object) = [{},{},..]
|
|
19477
|
+
*/
|
|
19478
|
+
static_getDocs_fromDatabase_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19479
|
+
/**
|
|
19480
|
+
* @example:
|
|
19481
|
+
* this.vhBuildAutoWeb.dynamic_deleteProduct('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19482
|
+
.then((rsp:any)=>{
|
|
19483
|
+
if(rsp.vcode === 0){
|
|
19484
|
+
console.log('dynamic_deleteDoc_fromDatabase succeed');
|
|
19485
|
+
}
|
|
19486
|
+
}, error=>{
|
|
19487
|
+
reject(error)
|
|
19488
|
+
})
|
|
19489
|
+
* @param colname
|
|
19490
|
+
* @param id_doc
|
|
19491
|
+
* @return Promise => response.data ={vcode, msg, data(undefined)} / error
|
|
19492
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
19493
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
19494
|
+
* vcode == 0: success
|
|
19495
|
+
* vcode == 1: 'Bạn không thể xóa, bạn phải xóa các thuộc tính của sản phẩm trước'
|
|
19496
|
+
* vcode == 2: 'Bạn không thể xóa, vì sản phẩm con này đang liên kết với sản phẩm combo khác'
|
|
19497
|
+
* vcode == 3: 'Bạn không thể xóa, vì sản phẩm con này đã phát sinh hóa đơn'
|
|
19498
|
+
*/
|
|
19499
|
+
dynamic_deleteProduct(colname: string, id_doc: string): Promise<unknown>;
|
|
19500
|
+
/**
|
|
19501
|
+
* @example:
|
|
19502
|
+
* this.vhBuildAutoWeb.dynamic_deleteSubProduct('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19503
|
+
.then((rsp:any)=>{
|
|
19504
|
+
if(rsp.vcode === 0){
|
|
19505
|
+
console.log('dynamic_deleteSubProduct succeed');
|
|
19506
|
+
}
|
|
19507
|
+
}, error=>{
|
|
19508
|
+
reject(error)
|
|
19509
|
+
})
|
|
19510
|
+
* @param colname
|
|
19511
|
+
* @param id_doc
|
|
19512
|
+
* @return Promise => response.data ={vcode, msg, data(undefined)} / error
|
|
19513
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
19514
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
19515
|
+
* vcode == 0: success
|
|
19516
|
+
* vcode == 1: 'Bạn không thể xóa, bạn phải xóa các thuộc tính của sản phẩm trước'
|
|
19517
|
+
* vcode == 2: 'Bạn không thể xóa, vì sản phẩm con này đang liên kết với sản phẩm combo khác'
|
|
19518
|
+
* vcode == 3: 'Bạn không thể xóa, vì sản phẩm con này đã phát sinh hóa đơn'
|
|
19519
|
+
*/
|
|
19520
|
+
dynamic_deleteSubProduct(colname: string, id_doc: string): Promise<unknown>;
|
|
19521
|
+
/**
|
|
19522
|
+
* @example
|
|
19523
|
+
* this.vhBuildAutoWeb.dynamic_getProduct('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19524
|
+
.then((doc)=>{
|
|
19525
|
+
console.log('dynamic_getProduct', doc);
|
|
19526
|
+
})
|
|
19527
|
+
* @param id_doc
|
|
19528
|
+
* @return null or object
|
|
19529
|
+
*/
|
|
19530
|
+
dynamic_getProduct(colname: string, id_doc: string): Promise<unknown>;
|
|
19531
|
+
/**
|
|
19532
|
+
* @example:
|
|
19533
|
+
* this.vhBuildAutoWeb.dynamic_getProducts_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19534
|
+
.then(response=>{
|
|
19535
|
+
console.log('response', response);
|
|
19536
|
+
//-----------your code-----------
|
|
19537
|
+
let products = response.data;
|
|
19538
|
+
},(error:any)=>{
|
|
19539
|
+
console.log('error', error)
|
|
19540
|
+
})
|
|
19541
|
+
* @param colname
|
|
19542
|
+
* @param query
|
|
19543
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19544
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19545
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19546
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19547
|
+
* @return Promise => array(object) = [{},{},..]
|
|
19548
|
+
*/
|
|
19549
|
+
dynamic_getProducts_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19550
|
+
/**
|
|
19551
|
+
* @example:
|
|
19552
|
+
* this.vhBuildAutoWeb.dynamic_getProducts_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19553
|
+
.then(response=>{
|
|
19554
|
+
console.log('response', response);
|
|
19555
|
+
if(response.vcode === 0){
|
|
19556
|
+
//-----------your code-----------
|
|
19557
|
+
let products = response.data;
|
|
19558
|
+
}
|
|
19559
|
+
},(error:any)=>{
|
|
19560
|
+
console.log('error', error)
|
|
19561
|
+
})
|
|
19562
|
+
* @param colname
|
|
19563
|
+
* @param query
|
|
19564
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19565
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19566
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19567
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19568
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19569
|
+
*/
|
|
19570
|
+
dynamic_getProducts_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19571
|
+
/**
|
|
19572
|
+
* @example:
|
|
19573
|
+
* this.vhBuildAutoWeb.dynamic_getDetailProducts_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19574
|
+
.then(response=>{
|
|
19575
|
+
console.log('response', response);
|
|
19576
|
+
//-----------your code-----------
|
|
19577
|
+
let products = response.data;
|
|
19578
|
+
},(error:any)=>{
|
|
19579
|
+
console.log('error', error)
|
|
19580
|
+
})
|
|
19581
|
+
* @param colname
|
|
19582
|
+
* @param query
|
|
19583
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19584
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19585
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19586
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19587
|
+
* @return Promise => array(object) = [{},{},..]
|
|
19588
|
+
*/
|
|
19589
|
+
dynamic_getDetailProducts_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19590
|
+
/**
|
|
19591
|
+
* @example:
|
|
19592
|
+
* this.vhBuildAutoWeb.dynamic_getDetailProducts_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19593
|
+
.then(response=>{
|
|
19594
|
+
console.log('response', response);
|
|
19595
|
+
if(response.vcode === 0){
|
|
19596
|
+
//-----------your code-----------
|
|
19597
|
+
let products = response.data;
|
|
19598
|
+
}
|
|
19599
|
+
},(error:any)=>{
|
|
19600
|
+
console.log('error', error)
|
|
19601
|
+
})
|
|
19602
|
+
* @param colname
|
|
19603
|
+
* @param query
|
|
19604
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19605
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19606
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19607
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19608
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19609
|
+
*/
|
|
19610
|
+
dynamic_getDetailProducts_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19611
|
+
/**
|
|
19612
|
+
* @example
|
|
19613
|
+
* this.vhBuildAutoWeb.dynamic_getDetailProduct('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19614
|
+
.then((doc)=>{
|
|
19615
|
+
console.log('dynamic_getDetailProduct', doc);
|
|
19616
|
+
},(error:any)=>{
|
|
19617
|
+
console.log('error', error)
|
|
19618
|
+
})
|
|
19619
|
+
* @param id_sub_or_product
|
|
19620
|
+
* @Promise => obj ={} or null
|
|
19621
|
+
*/
|
|
19622
|
+
dynamic_getDetailProduct(id_sub_or_product: any): Promise<unknown>;
|
|
19623
|
+
/**
|
|
19624
|
+
* @example
|
|
19625
|
+
* this.vhBuildAutoWeb.dynamic_getDetailProduct_fromService('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19626
|
+
.then(response=>{
|
|
19627
|
+
console.log('response', response);
|
|
19628
|
+
if(response.vcode === 0){
|
|
19629
|
+
//-----------your code-----------
|
|
19630
|
+
let product = response.data;
|
|
19631
|
+
}
|
|
19632
|
+
},(error:any)=>{
|
|
19633
|
+
console.log('error', error)
|
|
19634
|
+
})
|
|
19635
|
+
* @param id_sub_or_product
|
|
19636
|
+
* @return Promise object => response = {vcode, msg, data(object)}
|
|
19637
|
+
*/
|
|
19638
|
+
/**
|
|
19639
|
+
* @example
|
|
19640
|
+
* this.vhBuildAutoWeb.dynamic_getDetailFood('categories', '5fb67fda87c0f21d484cbdf3')
|
|
19641
|
+
.then(response=>{
|
|
19642
|
+
console.log('dynamic_getDetailFood', response);
|
|
19643
|
+
if(response.vcode === 0){
|
|
19644
|
+
//-----------your code-----------
|
|
19645
|
+
let product = response.data;
|
|
19646
|
+
}
|
|
19647
|
+
},(error:any)=>{
|
|
19648
|
+
console.log('error', error)
|
|
19649
|
+
})
|
|
19650
|
+
* @param id_sub_or_food
|
|
19651
|
+
* @return Promise object => response = {vcode, msg, data(object)}
|
|
19652
|
+
*/
|
|
19653
|
+
dynamic_getDetailFood(id_sub_or_food: any): Promise<unknown>;
|
|
19654
|
+
/**
|
|
19655
|
+
* @example
|
|
19656
|
+
* this.vhBuildAutoWeb.searchList('atw_products',["name", "describe"], 'Điện Thoại', 20, 1)
|
|
19657
|
+
.then(response=>{
|
|
19658
|
+
console.log('response', response);
|
|
19659
|
+
if(response.vcode === 0){
|
|
19660
|
+
//-----------your code-----------
|
|
19661
|
+
let array_searched_data = response.data;
|
|
19662
|
+
}
|
|
19663
|
+
},(error:any)=>{
|
|
19664
|
+
console.log('error', error)
|
|
19665
|
+
})
|
|
19666
|
+
* @param colname
|
|
19667
|
+
* @param array_field
|
|
19668
|
+
* @param value
|
|
19669
|
+
* @param sort null hoặc {}:không sắp xếp; {date:1}: sắp xếp date theo ASC; {date:-1}: sắp xếp date theo DESC
|
|
19670
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19671
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19672
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
19673
|
+
*/
|
|
19674
|
+
searchList_textSearch(colname: string, value: string, query?: object, sort?: object): Promise<unknown>;
|
|
19675
|
+
searchList_likeSearch(colname: string, fieldsearch: string, value: string, query?: object, sort?: object): Promise<unknown>;
|
|
19676
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VhBuildAutoWeb, never>;
|
|
19677
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<VhBuildAutoWeb>;
|
|
19678
|
+
}
|
|
19679
|
+
export declare class VhDevAutoWeb {
|
|
19680
|
+
private vhAlgorithm;
|
|
19681
|
+
private vhAuth;
|
|
19682
|
+
private vhMGDB_auth;
|
|
19683
|
+
private vhMGDB_rootdatabase;
|
|
19684
|
+
private vhMGDB_pattern;
|
|
19685
|
+
private vhMGDB_database;
|
|
19686
|
+
private vhMGDB_image;
|
|
19687
|
+
constructor(vhAlgorithm: VhAlgorithm, vhAuth: VhAuth, vhMGDB_auth: VhMGDB_auth, vhMGDB_rootdatabase: VhMGDB_rootdatabase, vhMGDB_pattern: VhMGDB_pattern, vhMGDB_database: VhMGDB_database, vhMGDB_image: VhMGDB_image);
|
|
19688
|
+
/**
|
|
19689
|
+
* @example:
|
|
19690
|
+
* this.vhDevAutoWeb.addPatternBlock({name:'Danh mục 1'})
|
|
19691
|
+
.then((block)=>{
|
|
19692
|
+
console.log('addPatternBlock', block);
|
|
19693
|
+
},(error:any)=>{
|
|
19694
|
+
console.log('error', error);
|
|
19695
|
+
})
|
|
19696
|
+
* @param data
|
|
19697
|
+
* @return Promise => obj = {}
|
|
19698
|
+
* Luu ý: chỉ có 2 trường hợp, hoặc là thêm thành công, hoặc là báo lỗi error
|
|
19699
|
+
*/
|
|
19700
|
+
private addPatternBlock;
|
|
19701
|
+
/**
|
|
19702
|
+
* @example:
|
|
19703
|
+
* this.vhDevAutoWeb.addPatternBlock_byID('nvliw974854hf848ugrgh3498', {name:'camera 2', quantity:20, price:200000})
|
|
19704
|
+
.then((block)=>{
|
|
19705
|
+
console.log('addPatternBlock_byID', block);
|
|
19706
|
+
}, error=>{
|
|
19707
|
+
console.log('error', error);
|
|
19708
|
+
})
|
|
19709
|
+
* @param colname
|
|
19710
|
+
* @param data
|
|
19711
|
+
* @return Promise => obj = {}
|
|
19712
|
+
* Luu y: truong hop trung _id nó sẽ báo lỗi error
|
|
19713
|
+
*/
|
|
19714
|
+
addPatternBlock_byID(_id: string, data: object): Promise<unknown>;
|
|
19715
|
+
/**
|
|
19716
|
+
* @example:
|
|
19717
|
+
* this.vhDevAutoWeb.updatePatternBlock('5fb6780ca2148e09806c5b01', {quantity:400})
|
|
19718
|
+
.then((bool:any)=>{
|
|
19719
|
+
console.log('updatePatternBlock', bool);
|
|
19720
|
+
}, error=>{
|
|
19721
|
+
console.log('error', error);
|
|
19722
|
+
})
|
|
19723
|
+
* @param colname
|
|
19724
|
+
* @param _id
|
|
19725
|
+
* @param data
|
|
19726
|
+
* @return Promise => bool = true or false
|
|
19727
|
+
*/
|
|
19728
|
+
updatePatternBlock(_id: string, data: object): Promise<unknown>;
|
|
19729
|
+
/**
|
|
19730
|
+
* @example:
|
|
19731
|
+
* this.vhDevAutoWeb.deletePatternBlock('5fb67fda87c0f21d484cbdf3')
|
|
19732
|
+
.then(bool=>{
|
|
19733
|
+
console.log('deletePatternBlock', bool);
|
|
19734
|
+
})
|
|
19735
|
+
* @param colname
|
|
19736
|
+
* @param _id
|
|
19737
|
+
* @return Promise => bool = true or false
|
|
19738
|
+
*/
|
|
19739
|
+
deletePatternBlock(_id: string): Promise<unknown>;
|
|
19740
|
+
/**
|
|
19741
|
+
* @example
|
|
19742
|
+
* this.vhDevAutoWeb.getPatternBlock('5fb67fda87c0f21d484cbdf3')
|
|
19743
|
+
.then((product)=>{
|
|
19744
|
+
console.log('getPatternBlock', product);
|
|
19745
|
+
},(error:any)=>{
|
|
19746
|
+
console.log('error', error);
|
|
19747
|
+
})
|
|
19748
|
+
* @param colname
|
|
19749
|
+
* @param _id
|
|
19750
|
+
* @return Promise => obj ={} or null
|
|
19751
|
+
*/
|
|
19752
|
+
getPatternBlock(_id: string): Promise<unknown>;
|
|
19753
|
+
/**
|
|
19754
|
+
* @example:
|
|
19755
|
+
* this.vhDevAutoWeb.getPBlocksByFields({group_type:{$eq:10}}, {})
|
|
19756
|
+
.then((pblocks)=>{
|
|
19757
|
+
console.log('getPBlocksByFields', pblocks);
|
|
19758
|
+
},error=>{
|
|
19759
|
+
console.log('error', error);
|
|
19760
|
+
})
|
|
19761
|
+
* @param colname
|
|
19762
|
+
* @param query : {}
|
|
19763
|
+
* @param projection {} đang tìm hiểu
|
|
19764
|
+
* @param sort null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19765
|
+
* @param limit null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19766
|
+
* @return Array -> array = [{},{},...]
|
|
19767
|
+
* @notice : trường hợp ko get đc data thì array.length = 0;
|
|
19768
|
+
*/
|
|
19769
|
+
private getPatternBlocksByFields;
|
|
19770
|
+
/**
|
|
19771
|
+
* @example:
|
|
19772
|
+
* this.vhDevAutoWeb.getPatternBlocks_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19773
|
+
.then(response=>{
|
|
19774
|
+
console.log('response', response);
|
|
19775
|
+
if(response.vcode === 0){
|
|
19776
|
+
//-----------your code-----------
|
|
19777
|
+
let products = response.data;
|
|
19778
|
+
}
|
|
19779
|
+
},(error:any)=>{
|
|
19780
|
+
console.log('error', error)
|
|
19781
|
+
})
|
|
19782
|
+
* @param colname
|
|
19783
|
+
* @param query
|
|
19784
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19785
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19786
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19787
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19788
|
+
* @return Promise object => response = {vcode, message, data(array), limit, page, totalpages}
|
|
19789
|
+
*/
|
|
19790
|
+
getPatternBlocks_byFields_byPages(query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19791
|
+
/**
|
|
19792
|
+
* @example:
|
|
19793
|
+
* this.vhDevAutoWeb.addPatternBlock_Thumbnail_byID('nvliw974854hf848ugrgh3498', {name:'camera 2', quantity:20, price:200000})
|
|
19794
|
+
.then((block)=>{
|
|
19795
|
+
console.log('addPatternBlock_Thumbnail_byID', block);
|
|
19796
|
+
}, error=>{
|
|
19797
|
+
console.log('error', error);
|
|
19798
|
+
})
|
|
19799
|
+
* @param colname
|
|
19800
|
+
* @param data
|
|
19801
|
+
* @return Promise => obj = {}
|
|
19802
|
+
* Luu y: truong hop trung _id nó sẽ báo lỗi error
|
|
19803
|
+
*/
|
|
19804
|
+
addPatternBlock_Thumbnail_byID(_id: string, data: object): Promise<unknown>;
|
|
19805
|
+
/**
|
|
19806
|
+
* @example:
|
|
19807
|
+
* this.vhDevAutoWeb.updatePatternBlock_Thumbnail('5fb6780ca2148e09806c5b01', {quantity:400})
|
|
19808
|
+
.then((bool:any)=>{
|
|
19809
|
+
console.log('updatePatternBlock_Thumbnail', bool);
|
|
19810
|
+
}, error=>{
|
|
19811
|
+
console.log('error', error);
|
|
19812
|
+
})
|
|
19813
|
+
* @param colname
|
|
19814
|
+
* @param _id
|
|
19815
|
+
* @param data
|
|
19816
|
+
* @return Promise => bool = true or false
|
|
19817
|
+
*/
|
|
19818
|
+
updatePatternBlock_Thumbnail(_id: string, data: object): Promise<unknown>;
|
|
19819
|
+
/**
|
|
19820
|
+
* @example:
|
|
19821
|
+
* this.vhDevAutoWeb.deletePatternBlock_Thumbnail('5fb67fda87c0f21d484cbdf3')
|
|
19822
|
+
.then(bool=>{
|
|
19823
|
+
console.log('deletePatternBlock_Thumbnail', bool);
|
|
19824
|
+
})
|
|
19825
|
+
* @param colname
|
|
19826
|
+
* @param _id
|
|
19827
|
+
* @return Promise => bool = true or false
|
|
19828
|
+
*/
|
|
19829
|
+
deletePatternBlock_Thumbnail(_id: string): Promise<unknown>;
|
|
19830
|
+
/**
|
|
19831
|
+
* @example:
|
|
19832
|
+
* this.vhDevAutoWeb.getPatternBlocks_Thumbnail_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
19833
|
+
.then(response=>{
|
|
19281
19834
|
console.log('response', response);
|
|
19282
19835
|
if(response.vcode === 0){
|
|
19283
19836
|
//-----------your code-----------
|
|
@@ -19294,716 +19847,969 @@ export declare class VhDevAutoWeb {
|
|
|
19294
19847
|
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19295
19848
|
* @return Promise object => response = {vcode, message, data(array), limit, page, totalpages}
|
|
19296
19849
|
*/
|
|
19297
|
-
|
|
19850
|
+
getPatternBlocks_Thumbnail_byFields_byPages(query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19851
|
+
/**
|
|
19852
|
+
* @example:
|
|
19853
|
+
* this.vhDevAutoWeb.getSubProject_byEmail('email@gmail.com')
|
|
19854
|
+
.then((subprojects)=>{
|
|
19855
|
+
console.log('getSubProject_byEmail', subprojects);
|
|
19856
|
+
}, error=>{
|
|
19857
|
+
console.log(error, error);
|
|
19858
|
+
})
|
|
19859
|
+
* @param email
|
|
19860
|
+
* @return Promise => array =[{},{},...] / error
|
|
19861
|
+
*/
|
|
19862
|
+
getSubProject_byEmail(email: string): Promise<unknown>;
|
|
19863
|
+
/**
|
|
19864
|
+
* @example
|
|
19865
|
+
* this.vhDevAutoWeb.getSubProject_byID('5fb67fda87c0f21d484cbdf3')
|
|
19866
|
+
.then((subproject)=>{
|
|
19867
|
+
console.log('getSubProject_byID', subproject);
|
|
19868
|
+
})
|
|
19869
|
+
* @param id_subproject
|
|
19870
|
+
* @return Promise => obj ={} or null
|
|
19871
|
+
*/
|
|
19872
|
+
getSubProject_byID(id_subproject: string): Promise<unknown>;
|
|
19873
|
+
/**
|
|
19874
|
+
* @example:Lấy hình ảnh từ DOM
|
|
19875
|
+
* let html = document.getElementById('my-node')
|
|
19876
|
+
* this.vhDevAutoWeb.getThumbnailPatternFromHtml(html, 128, 128, id_block, "blocks/thumbnails").then(
|
|
19877
|
+
photoURL => {
|
|
19878
|
+
this.img = photoURL;
|
|
19879
|
+
this.vhComponent.showToast(2000, (this.languageService.translate("Image was loaded successfully")));
|
|
19880
|
+
},
|
|
19881
|
+
() => {
|
|
19882
|
+
this.vhComponent.showToast(2000, (this.languageService.translate("Image was failed")));
|
|
19883
|
+
}
|
|
19884
|
+
);
|
|
19885
|
+
* @param w
|
|
19886
|
+
* @param h
|
|
19887
|
+
* @param folder
|
|
19888
|
+
* @param oldthumbnailURL
|
|
19889
|
+
* @returns
|
|
19890
|
+
*/
|
|
19891
|
+
getThumbnailPatternFromHtml(html: any, w: any, h: any, filename: string, folder: string): Promise<any>;
|
|
19892
|
+
private createImageFromDiv;
|
|
19893
|
+
/**
|
|
19894
|
+
*@example
|
|
19895
|
+
this.vhDevAutoWeb.deleteThumbnail([url_img, url_img1])
|
|
19896
|
+
.then(()=>{
|
|
19897
|
+
//-----------your code here-----------
|
|
19898
|
+
},(error:any)=>{
|
|
19899
|
+
console.log('error', error)
|
|
19900
|
+
})
|
|
19901
|
+
* @param thumbnailURL : Array
|
|
19902
|
+
* @returns Promise => true or false : xóa thành công tất cả hình trong mảng về true, xóa không thành công hoặc link một hình sai trả về false
|
|
19903
|
+
*/
|
|
19904
|
+
deleteThumbnail(thumbnailURL: any): Promise<any>;
|
|
19905
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<VhDevAutoWeb, never>;
|
|
19906
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<VhDevAutoWeb>;
|
|
19907
|
+
}
|
|
19908
|
+
export declare class VhDesignAutoWeb {
|
|
19909
|
+
private vhAlgorithm;
|
|
19910
|
+
private vhAuth;
|
|
19911
|
+
private vhMGDB_auth;
|
|
19912
|
+
private socket;
|
|
19913
|
+
private signedin;
|
|
19914
|
+
private enduser;
|
|
19915
|
+
private branchs;
|
|
19916
|
+
private database_RAM;
|
|
19917
|
+
private memoryPageZY;
|
|
19918
|
+
private memory_Ctrl_Z;
|
|
19919
|
+
private memory_Ctrl_Y;
|
|
19920
|
+
private database_Ctrl_C;
|
|
19921
|
+
private code_Ctrl_Z;
|
|
19922
|
+
constructor(vhAlgorithm: VhAlgorithm, vhAuth: VhAuth, vhMGDB_auth: VhMGDB_auth);
|
|
19923
|
+
getProjectName(): string;
|
|
19924
|
+
/**
|
|
19925
|
+
* Hàm tính toán và tìm kiếm các block bị ảnh hưởng khi nó dịch chuyển theo hướng direction, sau đó dịch chuyển nó và các block bị ảnh hưởng theo hướng direction
|
|
19926
|
+
* Lưu ý: các block không bị ảnh hưởng sẽ ko bị dịch theo hướng direction, mà đứng im
|
|
19927
|
+
* @example:
|
|
19928
|
+
* this.vhDesignAutoWeb.shiftingBlocks(this, 'bottom', 20)
|
|
19929
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
19930
|
+
* @param direction: 'top', 'bottom', 'left' or 'right'
|
|
19931
|
+
* @param distance: khoảng cách cần dịch chuyển theo hướng direction
|
|
19932
|
+
* @returns
|
|
19933
|
+
*/
|
|
19934
|
+
shiftingBlocks(_this: any, direction: any, distance: any): any;
|
|
19935
|
+
/**
|
|
19936
|
+
* Hàm tính toán và tìm kiếm các block bị ảnh hưởng khi nó dịch chuyển xuống dưới, sau đó dịch chuyển nó và các block bị ảnh hưởng xuống dưới
|
|
19937
|
+
* Lưu ý: các block không bị ảnh hưởng sẽ ko bị dịch xuống dưới
|
|
19938
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
19939
|
+
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19940
|
+
* @param distance: khoảng cách cần dịch chuyển xuống dưới
|
|
19941
|
+
* @returns
|
|
19942
|
+
*/
|
|
19943
|
+
private findLimitBottomBlocks_andShifting;
|
|
19944
|
+
/**
|
|
19945
|
+
* Hàm tính toán và tìm kiếm các block bị ảnh hưởng khi nó dịch chuyển lên trên, sau đó dịch chuyển nó và các block bị ảnh hưởng lên trên
|
|
19946
|
+
* Lưu ý: các block không bị ảnh hưởng sẽ ko bị dịch lên trên
|
|
19947
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
19948
|
+
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19949
|
+
* @param distance: khoảng cách cần dịch chuyển lên trên
|
|
19950
|
+
* @returns
|
|
19951
|
+
*/
|
|
19952
|
+
private findLimitTopBlocks_andShifting;
|
|
19953
|
+
/**
|
|
19954
|
+
* Hàm dùng đệ quy để tìm kiếm khối cuối cùng (gần đỉnh nhất) mà có ảnh hưởng bởi khối cần dịch chuyển lên trên.
|
|
19955
|
+
* Tìm đc khối này (có trường hợp ko có) sẽ tính được khối dịch chuyển với distance bao nhiêu là hợp lý
|
|
19956
|
+
* @param _this
|
|
19957
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
19958
|
+
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19959
|
+
* @param distance: khoảng cách cần dịch chuyển lên trên
|
|
19960
|
+
* @param last_limittop_block: vì đệ quy nhiều lần để tìm giá trị mới, lúc đầu truyền vào hàm giá trị null
|
|
19961
|
+
* @returns
|
|
19962
|
+
*/
|
|
19963
|
+
private findLastLimitTopBlock;
|
|
19964
|
+
/**
|
|
19965
|
+
* Hàm tính toán và tìm kiếm các block bị ảnh hưởng khi nó dịch chuyển sang trái, sau đó dịch chuyển nó và các block bị ảnh hưởng sang trái
|
|
19966
|
+
* Lưu ý: các block không bị ảnh hưởng sẽ ko bị dịch sang trái
|
|
19967
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
19968
|
+
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19969
|
+
* @param distance: khoảng cách cần dịch chuyển sang trái
|
|
19970
|
+
* @returns
|
|
19971
|
+
*/
|
|
19972
|
+
private findLimitLeftBlocks_andShifting;
|
|
19973
|
+
/**
|
|
19974
|
+
* Hàm dùng đệ quy để tìm kiếm khối cuối cùng (gần đỉnh nhất) mà có ảnh hưởng bởi khối cần dịch chuyển sang trái.
|
|
19975
|
+
* Tìm đc khối này (có trường hợp ko có) sẽ tính được khối dịch chuyển với distance bao nhiêu là hợp lý
|
|
19976
|
+
* @param _this
|
|
19977
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
19978
|
+
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19979
|
+
* @param distance: khoảng cách cần dịch chuyển sang trái
|
|
19980
|
+
* @param last_limittop_block: vì đệ quy nhiều lần để tìm giá trị mới, lúc đầu truyền vào hàm giá trị null
|
|
19981
|
+
* @returns
|
|
19982
|
+
*/
|
|
19983
|
+
private findLastLimitLeftBlock;
|
|
19984
|
+
/**
|
|
19985
|
+
* Hàm tính toán và tìm kiếm các block bị ảnh hưởng khi nó dịch chuyển sang phải, sau đó dịch chuyển nó và các block bị ảnh hưởng sang phải
|
|
19986
|
+
* Lưu ý: các block không bị ảnh hưởng sẽ ko bị dịch sang phải
|
|
19987
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
19988
|
+
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19989
|
+
* @param distance: khoảng cách cần dịch chuyển sang phải
|
|
19990
|
+
* @returns
|
|
19991
|
+
*/
|
|
19992
|
+
private findLimitRightBlocks_andShifting;
|
|
19993
|
+
/**
|
|
19994
|
+
* Hàm dùng đệ quy để tìm kiếm khối cuối cùng (gần đỉnh nhất) mà có ảnh hưởng bởi khối cần dịch chuyển sang phải.
|
|
19995
|
+
* Tìm đc khối này (có trường hợp ko có) sẽ tính được khối dịch chuyển với distance bao nhiêu là hợp lý
|
|
19996
|
+
* @param _this
|
|
19997
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
19998
|
+
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19999
|
+
* @param distance: khoảng cách cần dịch chuyển sang phải
|
|
20000
|
+
* @param last_limittop_block: vì đệ quy nhiều lần để tìm giá trị mới, lúc đầu truyền vào hàm giá trị null
|
|
20001
|
+
* @returns
|
|
20002
|
+
*/
|
|
20003
|
+
private findLastLimitRightBlock;
|
|
20004
|
+
/**
|
|
20005
|
+
* Hàm tính toán và dịch chuyển khối đã chọn theo hướng direction
|
|
20006
|
+
* Lưu ý: các block khác sẽ ko bị dịch theo hướng direction, mà đứng im
|
|
20007
|
+
* @example:
|
|
20008
|
+
* this.vhDesignAutoWeb.shiftingBlock(this, 'bottom', 20)
|
|
20009
|
+
* @param block: khối được chọn và cần dịch chuyển
|
|
20010
|
+
* @param direction: 'top', 'bottom', 'left' or 'right'
|
|
20011
|
+
* @param distance: khoảng cách cần dịch chuyển theo hướng direction
|
|
20012
|
+
* @returns
|
|
20013
|
+
*/
|
|
20014
|
+
shiftingBlock(_this: any, direction: any, distance: any): any;
|
|
20015
|
+
private findLimitTopBlock;
|
|
20016
|
+
private findLimitBottomBlock;
|
|
20017
|
+
private findLimitLeftBlock;
|
|
20018
|
+
private findLimitRightBlock;
|
|
20019
|
+
/****************************************************************************************/
|
|
20020
|
+
/**
|
|
20021
|
+
*Hàm này thực hiện tăng hoặc giảm z-index của object, frame được chọn
|
|
20022
|
+
*/
|
|
20023
|
+
changeZIndex(_this: any, layer_type: any): any;
|
|
20024
|
+
/**
|
|
20025
|
+
*Hàm này thực hiện tăng hoặc giảm z-index của block
|
|
20026
|
+
*/
|
|
20027
|
+
private changeZindexBlock;
|
|
20028
|
+
/**
|
|
20029
|
+
*Hàm này thực hiện tăng hoặc giảm z-index của object
|
|
20030
|
+
*/
|
|
20031
|
+
private changeZindexObject;
|
|
20032
|
+
/**
|
|
20033
|
+
* Khi di chuyển một object trong block hoặc object trong frame đến 1 vị trí nào đó, hàm này sẽ trả về hoặc là giá trị của object nó đè lên
|
|
20034
|
+
* hoặc là null (vị trí đè lên là vị trí trông)
|
|
20035
|
+
* @param id_block
|
|
20036
|
+
* @param x
|
|
20037
|
+
* @param y
|
|
20038
|
+
* @returns
|
|
20039
|
+
*/
|
|
20040
|
+
private calculateOverlapObjects;
|
|
20041
|
+
/**
|
|
20042
|
+
* Hàm lấy về mảng tất cả các phần tử object trong block, hoặc tất cả các phần tử object trong object
|
|
20043
|
+
* @returns
|
|
20044
|
+
*/
|
|
20045
|
+
private queryElementAllObjectsInBlockOrObject;
|
|
20046
|
+
/**
|
|
20047
|
+
* khi zindex đã xuống lớp thấp nhất (zindex=1) thị cập nhật lại zindex của tất cả các object trong cùng object hoặc cùng block
|
|
20048
|
+
* cha lên 10
|
|
20049
|
+
* @param _this
|
|
20050
|
+
* @returns
|
|
20051
|
+
*/
|
|
20052
|
+
private updateZindexOfElementAllInBlockOrObject;
|
|
20053
|
+
/****************************************************************************************/
|
|
20054
|
+
/**
|
|
20055
|
+
* object trong block, object trong object, và có thể qua rất nhiều cấp, do đó cần hàm này để tìm ra object đó,
|
|
20056
|
+
* cách tìm là duyệt qua từng block đến từng object
|
|
20057
|
+
* @param block
|
|
20058
|
+
* @param id_frame
|
|
20059
|
+
* @returns Promise => trả về object có _id là id_object hoặc null(ko tìm thấy)
|
|
20060
|
+
*/
|
|
20061
|
+
private findObjectInBlock;
|
|
20062
|
+
/**
|
|
20063
|
+
* Hàm này tìm object trong các block trên page và xóa nó đi
|
|
20064
|
+
* object trong block, object trong object, và có thể qua rất nhiều cấp, do đó cần hàm này để tìm ra object đó,
|
|
20065
|
+
* cách tìm là duyệt qua từng block đến từng object
|
|
20066
|
+
* @param block
|
|
20067
|
+
* @param id_object
|
|
20068
|
+
* @returns Promise => trả về object có _id là id_object hoặc null(ko tìm thấy)
|
|
20069
|
+
*/
|
|
20070
|
+
findObjectInBlockAndDelete(block: any, id_object: any): any;
|
|
19298
20071
|
/**
|
|
19299
20072
|
* @example:
|
|
19300
|
-
* this.
|
|
19301
|
-
|
|
19302
|
-
|
|
19303
|
-
|
|
19304
|
-
|
|
19305
|
-
|
|
19306
|
-
|
|
19307
|
-
|
|
19308
|
-
|
|
19309
|
-
|
|
20073
|
+
* this.vhDesignAutoWeb.deployWebAppsource_toBuild_byEmail('nlQaKuDIMi6M7XtwmNMk', 'devdomain01@gmail.com', '******')
|
|
20074
|
+
.then(response=>{
|
|
20075
|
+
console.log('response', response);
|
|
20076
|
+
if(response.vcode === 0){
|
|
20077
|
+
//-----------your code 0-----------
|
|
20078
|
+
}else if(response.vcode === 1){
|
|
20079
|
+
//-----------your code 1-----------
|
|
20080
|
+
}
|
|
20081
|
+
},(error:any)=>{
|
|
20082
|
+
console.log('error', error)
|
|
20083
|
+
})
|
|
20084
|
+
* @param email
|
|
20085
|
+
* @param password
|
|
20086
|
+
* @return Promise object => response = {vcode, msg}
|
|
20087
|
+
* vcode == 0: Message sent to email address successfully
|
|
20088
|
+
* vcode == 1: Email address does not exist
|
|
19310
20089
|
*/
|
|
19311
|
-
|
|
20090
|
+
deployWebAppsource_toBuild_byEmail(database: string, build_email: string, build_password: string): Promise<any>;
|
|
19312
20091
|
/**
|
|
19313
|
-
|
|
19314
|
-
|
|
19315
|
-
|
|
19316
|
-
|
|
19317
|
-
|
|
19318
|
-
|
|
19319
|
-
})
|
|
19320
|
-
|
|
19321
|
-
|
|
19322
|
-
|
|
19323
|
-
|
|
20092
|
+
* @example:
|
|
20093
|
+
* this.vhDesignAutoWeb.deployWebAppsource_toMySqlHosting_byEndUser('664483e744da7a03b4d5e1a2', 'domain07.webappgiare.vn')
|
|
20094
|
+
.then(response=>{
|
|
20095
|
+
console.log('response', response);
|
|
20096
|
+
if(response.vcode === 0){
|
|
20097
|
+
//-----------your code 0-----------
|
|
20098
|
+
}else if(response.vcode === 1){
|
|
20099
|
+
//-----------your code 1-----------
|
|
20100
|
+
}
|
|
20101
|
+
},(error:any)=>{
|
|
20102
|
+
console.log('error', error)
|
|
20103
|
+
})
|
|
20104
|
+
* @param db_webapp
|
|
20105
|
+
* @param hosting
|
|
20106
|
+
* @return Promise object => response = {vcode, msg}
|
|
20107
|
+
* vcode == 0: Message sent to email address successfully
|
|
20108
|
+
* vcode == 1: Email address does not exist
|
|
20109
|
+
* vcode == 11: 'not logged in'
|
|
20110
|
+
*/
|
|
20111
|
+
deployWebAppsource_toMySqlHosting_byEndUser(db_webapp: string, hosting: string, cloning_options: any): Promise<any>;
|
|
20112
|
+
/**
|
|
20113
|
+
* @example:
|
|
20114
|
+
* this.vhDesignAutoWeb.deployWebAppsource_toMongoHosting_byEmail('nlQaKuDIMi6M7XtwmNMk', 'domain05', 'devhosting@gmail.com', '***')
|
|
20115
|
+
.then((response:any)=>{
|
|
20116
|
+
console.log('response', response);
|
|
20117
|
+
if(response.vcode === 0){
|
|
20118
|
+
//-----------your code 0-----------
|
|
20119
|
+
}else if(response.vcode === 1){
|
|
20120
|
+
//-----------your code 1-----------
|
|
20121
|
+
}
|
|
20122
|
+
},(error:any)=>{
|
|
20123
|
+
console.log('error', error)
|
|
20124
|
+
})
|
|
20125
|
+
* @param email
|
|
20126
|
+
* @param password
|
|
20127
|
+
* @param cloning_options = {source_webapp:none/renew/overwrite, template_webapp: none/renew/overwrite, database_webapp: none/renew/overwrite}
|
|
20128
|
+
* @return Promise object => response = {vcode, msg}
|
|
20129
|
+
* vcode == 0: Message sent to email address successfully
|
|
20130
|
+
* vcode == 1: Email address does not exist
|
|
20131
|
+
*/
|
|
20132
|
+
deployWebAppsource_toMongoHosting_byEmail(database: string, hosting: string, hosting_email: string, hosting_password: string, cloning_options: any): Promise<any>;
|
|
20133
|
+
deployWebAppsource_toPackage(database: string): Promise<any>;
|
|
20134
|
+
/**
|
|
20135
|
+
* @example:
|
|
20136
|
+
* this.vhDesignAutoWeb.forgotPasswordEndUser_byEmail('salesf110@gmail.com','h674567')
|
|
20137
|
+
.then(response=>{
|
|
20138
|
+
console.log('response', response);
|
|
20139
|
+
if(response.vcode === 0){
|
|
20140
|
+
//-----------your code 0-----------
|
|
20141
|
+
let user = response.data;
|
|
20142
|
+
}else if(response.vcode === 1){
|
|
20143
|
+
//-----------your code 1-----------
|
|
20144
|
+
}
|
|
20145
|
+
},(error:any)=>{
|
|
20146
|
+
console.log('error', error)
|
|
20147
|
+
})
|
|
20148
|
+
* @param email
|
|
20149
|
+
* @param password
|
|
20150
|
+
* @return Promise object => response = {vcode, msg}
|
|
20151
|
+
* vcode == 0: Message sent to email address successfully
|
|
20152
|
+
* vcode == 1: Email address does not exist
|
|
20153
|
+
*/
|
|
20154
|
+
forgotPasswordEndUser_byEmail(database: string, email: string, password: string): Promise<any>;
|
|
20155
|
+
/**
|
|
20156
|
+
* @example:
|
|
20157
|
+
* this.vhDesignAutoWeb.changePasswordEndUser_byEmail('salesf110@gmail.com','h674567', 'V12345678')
|
|
20158
|
+
.then(response=>{
|
|
20159
|
+
console.log('response', response);
|
|
20160
|
+
if(response.vcode === 0){
|
|
20161
|
+
//-----------your code 0-----------
|
|
20162
|
+
let user = response.data;
|
|
20163
|
+
}else if(response.vcode === 1){
|
|
20164
|
+
//-----------your code 1-----------
|
|
20165
|
+
}else if(response.vcode === 2){
|
|
20166
|
+
//-----------your code 2-----------
|
|
20167
|
+
}else if(response.vcode === 3){
|
|
20168
|
+
//-----------your code 3-----------
|
|
20169
|
+
}
|
|
20170
|
+
},(error:any)=>{
|
|
20171
|
+
console.log('error', error)
|
|
20172
|
+
})
|
|
20173
|
+
* @param email
|
|
20174
|
+
* @param oldpassword
|
|
20175
|
+
* @param newpassword
|
|
20176
|
+
* @return Promise object => response = {vcode, msg}
|
|
20177
|
+
* vcode == 0: Message sent to email address successfully
|
|
20178
|
+
* vcode == 1: Email address does not exist
|
|
20179
|
+
* vcode == 2: wrong oldpassword
|
|
20180
|
+
* vcode == 3: please reset your password
|
|
19324
20181
|
*/
|
|
19325
|
-
|
|
20182
|
+
changePasswordEndUser_byEmail(database: string, email: string, oldpassword: string, newpassword: string): Promise<any>;
|
|
19326
20183
|
/**
|
|
19327
|
-
|
|
19328
|
-
|
|
19329
|
-
|
|
19330
|
-
console.log('
|
|
20184
|
+
* @example:
|
|
20185
|
+
* this.vhDesignAutoWeb.signupEndUser_byEmail('salesf110@gmail.com','h674567',{})
|
|
20186
|
+
.then(rsp=>{
|
|
20187
|
+
console.log('signupEndUser_byEmail', rsp);
|
|
20188
|
+
if(rsp.vcode === 0){
|
|
20189
|
+
//-----------your code 1-----------
|
|
20190
|
+
let enduser = rsp.data;
|
|
20191
|
+
}else if(rsp.vcode === 1){
|
|
20192
|
+
//-----------your code 2-----------
|
|
20193
|
+
}
|
|
20194
|
+
},(error:any)=>{
|
|
20195
|
+
console.log('error', error)
|
|
19331
20196
|
})
|
|
19332
|
-
|
|
19333
|
-
|
|
19334
|
-
|
|
19335
|
-
|
|
19336
|
-
|
|
20197
|
+
* @param email
|
|
20198
|
+
* @param password
|
|
20199
|
+
* @param info : thông tin của enduser
|
|
20200
|
+
* @return Promise object => rsp = {vcode, msg, data}
|
|
20201
|
+
* vcode == 0: User account registered successful
|
|
20202
|
+
* vcode == 1: User Email already exists
|
|
20203
|
+
* @notice : sau khi đăng ký thành công, người dùng phải vào email xác nhận xác nhận việc đăng ký này
|
|
20204
|
+
*/
|
|
20205
|
+
signupEndUser_byEmail(database: string, email: string, password: string, info: object): Promise<any>;
|
|
19337
20206
|
/**
|
|
19338
20207
|
* @example:
|
|
19339
|
-
* this.
|
|
19340
|
-
|
|
20208
|
+
* this.vhDesignAutoWeb.signinEndUser_byEmail('salesf110@gmail.com','h674567')
|
|
20209
|
+
.then(response=>{
|
|
19341
20210
|
console.log('response', response);
|
|
19342
20211
|
if(response.vcode === 0){
|
|
19343
|
-
//-----------your code-----------
|
|
19344
|
-
let
|
|
20212
|
+
//-----------your code 0-----------
|
|
20213
|
+
let user = response.data;
|
|
20214
|
+
}else if(response.vcode === 1){
|
|
20215
|
+
//-----------your code 1-----------
|
|
20216
|
+
}else if(response.vcode === 2){
|
|
20217
|
+
//-----------your code 2-----------
|
|
20218
|
+
}else if(response.vcode === 3){
|
|
20219
|
+
//-----------your code 3-----------
|
|
20220
|
+
}else if(response.vcode === 4){
|
|
20221
|
+
//-----------your code 4-----------
|
|
19345
20222
|
}
|
|
19346
20223
|
},(error:any)=>{
|
|
19347
|
-
|
|
19348
|
-
})
|
|
19349
|
-
* @param colname
|
|
19350
|
-
* @param query
|
|
19351
|
-
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
19352
|
-
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
19353
|
-
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
19354
|
-
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
19355
|
-
* @return Promise object => response = {vcode, message, data(array), limit, page, totalpages}
|
|
19356
|
-
*/
|
|
19357
|
-
getPatternBlocks_Thumbnail_byFields_byPages(query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19358
|
-
/**
|
|
19359
|
-
* @example:
|
|
19360
|
-
* this.vhDevAutoWeb.getSubProject_byEmail('email@gmail.com')
|
|
19361
|
-
.then((subprojects)=>{
|
|
19362
|
-
console.log('getSubProject_byEmail', subprojects);
|
|
19363
|
-
}, error=>{
|
|
19364
|
-
console.log(error, error);
|
|
19365
|
-
})
|
|
19366
|
-
* @param email
|
|
19367
|
-
* @return Promise => array =[{},{},...] / error
|
|
19368
|
-
*/
|
|
19369
|
-
getSubProject_byEmail(email: string): Promise<unknown>;
|
|
19370
|
-
/**
|
|
19371
|
-
* @example
|
|
19372
|
-
* this.vhDevAutoWeb.getSubProject_byID('5fb67fda87c0f21d484cbdf3')
|
|
19373
|
-
.then((subproject)=>{
|
|
19374
|
-
console.log('getSubProject_byID', subproject);
|
|
20224
|
+
console.log('error', error)
|
|
19375
20225
|
})
|
|
19376
|
-
|
|
19377
|
-
|
|
19378
|
-
|
|
19379
|
-
|
|
19380
|
-
|
|
19381
|
-
|
|
19382
|
-
|
|
19383
|
-
|
|
19384
|
-
|
|
19385
|
-
|
|
19386
|
-
this.vhComponent.showToast(2000, (this.languageService.translate("Image was loaded successfully")));
|
|
19387
|
-
},
|
|
19388
|
-
() => {
|
|
19389
|
-
this.vhComponent.showToast(2000, (this.languageService.translate("Image was failed")));
|
|
19390
|
-
}
|
|
19391
|
-
);
|
|
19392
|
-
* @param w
|
|
19393
|
-
* @param h
|
|
19394
|
-
* @param folder
|
|
19395
|
-
* @param oldthumbnailURL
|
|
19396
|
-
* @returns
|
|
19397
|
-
*/
|
|
19398
|
-
getThumbnailPatternFromHtml(html: any, w: any, h: any, filename: string, folder: string): Promise<any>;
|
|
19399
|
-
private createImageFromDiv;
|
|
20226
|
+
* @param email
|
|
20227
|
+
* @param password
|
|
20228
|
+
* @return Promise object => response = {vcode, msg, data}
|
|
20229
|
+
* vcode == 0: Signed in successfully
|
|
20230
|
+
* vcode == 1: Wrong email
|
|
20231
|
+
* vcode == 2: Please login into your email to confirm your account on my website or APP
|
|
20232
|
+
* vcode == 3: Please reset your password
|
|
20233
|
+
* vcode == 4: Wrong password
|
|
20234
|
+
*/
|
|
20235
|
+
signinEndUser_byEmail(database: string, email: string, password: string): Promise<any>;
|
|
19400
20236
|
/**
|
|
19401
|
-
|
|
19402
|
-
|
|
19403
|
-
.then(
|
|
19404
|
-
|
|
20237
|
+
* @example:
|
|
20238
|
+
* this.vhDesignAutoWeb.onAuthStateChangedEndUser()
|
|
20239
|
+
.then(response=>{
|
|
20240
|
+
console.log('response', response);
|
|
20241
|
+
if(response.vcode === 0){
|
|
20242
|
+
//-----------your code 0-----------
|
|
20243
|
+
let user = response.data;
|
|
20244
|
+
}else if(response.vcode === 1){
|
|
20245
|
+
//-----------your code 1-----------
|
|
20246
|
+
}else if(response.vcode === 2){
|
|
20247
|
+
//-----------your code 2-----------
|
|
20248
|
+
}else if(response.vcode === 3){
|
|
20249
|
+
//-----------your code 3-----------
|
|
20250
|
+
}else if(response.vcode === 4){
|
|
20251
|
+
//-----------your code 4-----------
|
|
20252
|
+
}
|
|
19405
20253
|
},(error:any)=>{
|
|
19406
|
-
|
|
20254
|
+
console.log('error', error)
|
|
19407
20255
|
})
|
|
19408
|
-
* @
|
|
19409
|
-
*
|
|
20256
|
+
* @return Promise object => response = {vcode, msg}
|
|
20257
|
+
* vcode == 0: Signed in successfully
|
|
20258
|
+
* vcode == 1: wrong access_token->email
|
|
20259
|
+
* vcode == 2: wrong access_token->password
|
|
20260
|
+
* vcode == 3: Please login into your email to confirm your account on my website or APP
|
|
20261
|
+
* vcode == 4: Please reset your password
|
|
19410
20262
|
*/
|
|
19411
|
-
|
|
19412
|
-
|
|
19413
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<VhDevAutoWeb>;
|
|
19414
|
-
}
|
|
19415
|
-
export declare class VhDesignAutoWeb {
|
|
19416
|
-
private vhAlgorithm;
|
|
19417
|
-
private vhAuth;
|
|
19418
|
-
private vhMGDB_auth;
|
|
19419
|
-
private socket;
|
|
19420
|
-
private signedin;
|
|
19421
|
-
private enduser;
|
|
19422
|
-
private branchs;
|
|
19423
|
-
private database_RAM;
|
|
19424
|
-
private memoryPageZY;
|
|
19425
|
-
private memory_Ctrl_Z;
|
|
19426
|
-
private memory_Ctrl_Y;
|
|
19427
|
-
private database_Ctrl_C;
|
|
19428
|
-
private code_Ctrl_Z;
|
|
19429
|
-
constructor(vhAlgorithm: VhAlgorithm, vhAuth: VhAuth, vhMGDB_auth: VhMGDB_auth);
|
|
19430
|
-
getProjectName(): string;
|
|
19431
|
-
/**
|
|
19432
|
-
* Hàm tính toán và tìm kiếm các block bị ảnh hưởng khi nó dịch chuyển theo hướng direction, sau đó dịch chuyển nó và các block bị ảnh hưởng theo hướng direction
|
|
19433
|
-
* Lưu ý: các block không bị ảnh hưởng sẽ ko bị dịch theo hướng direction, mà đứng im
|
|
19434
|
-
* @example:
|
|
19435
|
-
* this.vhDesignAutoWeb.shiftingBlocks(this, 'bottom', 20)
|
|
19436
|
-
* @param block: khối được chọn và cần dịch chuyển
|
|
19437
|
-
* @param direction: 'top', 'bottom', 'left' or 'right'
|
|
19438
|
-
* @param distance: khoảng cách cần dịch chuyển theo hướng direction
|
|
19439
|
-
* @returns
|
|
19440
|
-
*/
|
|
19441
|
-
shiftingBlocks(_this: any, direction: any, distance: any): any;
|
|
20263
|
+
onAuthStateChangedEndUser(database: string): Promise<any>;
|
|
20264
|
+
getHostings_byEndUser(database: string): Promise<any>;
|
|
19442
20265
|
/**
|
|
19443
|
-
*
|
|
19444
|
-
*
|
|
19445
|
-
* @param block: khối được chọn và cần dịch chuyển
|
|
19446
|
-
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19447
|
-
* @param distance: khoảng cách cần dịch chuyển xuống dưới
|
|
20266
|
+
* vhDesignAutoWeb
|
|
20267
|
+
* @param hosting
|
|
19448
20268
|
* @returns
|
|
19449
20269
|
*/
|
|
19450
|
-
|
|
19451
|
-
|
|
19452
|
-
* Hàm tính toán và tìm kiếm các block bị ảnh hưởng khi nó dịch chuyển lên trên, sau đó dịch chuyển nó và các block bị ảnh hưởng lên trên
|
|
19453
|
-
* Lưu ý: các block không bị ảnh hưởng sẽ ko bị dịch lên trên
|
|
19454
|
-
* @param block: khối được chọn và cần dịch chuyển
|
|
19455
|
-
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19456
|
-
* @param distance: khoảng cách cần dịch chuyển lên trên
|
|
19457
|
-
* @returns
|
|
19458
|
-
*/
|
|
19459
|
-
private findLimitTopBlocks_andShifting;
|
|
19460
|
-
/**
|
|
19461
|
-
* Hàm dùng đệ quy để tìm kiếm khối cuối cùng (gần đỉnh nhất) mà có ảnh hưởng bởi khối cần dịch chuyển lên trên.
|
|
19462
|
-
* Tìm đc khối này (có trường hợp ko có) sẽ tính được khối dịch chuyển với distance bao nhiêu là hợp lý
|
|
19463
|
-
* @param _this
|
|
19464
|
-
* @param block: khối được chọn và cần dịch chuyển
|
|
19465
|
-
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19466
|
-
* @param distance: khoảng cách cần dịch chuyển lên trên
|
|
19467
|
-
* @param last_limittop_block: vì đệ quy nhiều lần để tìm giá trị mới, lúc đầu truyền vào hàm giá trị null
|
|
19468
|
-
* @returns
|
|
19469
|
-
*/
|
|
19470
|
-
private findLastLimitTopBlock;
|
|
19471
|
-
/**
|
|
19472
|
-
* Hàm tính toán và tìm kiếm các block bị ảnh hưởng khi nó dịch chuyển sang trái, sau đó dịch chuyển nó và các block bị ảnh hưởng sang trái
|
|
19473
|
-
* Lưu ý: các block không bị ảnh hưởng sẽ ko bị dịch sang trái
|
|
19474
|
-
* @param block: khối được chọn và cần dịch chuyển
|
|
19475
|
-
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19476
|
-
* @param distance: khoảng cách cần dịch chuyển sang trái
|
|
19477
|
-
* @returns
|
|
19478
|
-
*/
|
|
19479
|
-
private findLimitLeftBlocks_andShifting;
|
|
20270
|
+
createHosting_byEndUser(hosting: string): Promise<any>;
|
|
20271
|
+
removeHosting_byEndUser(hosting: string): Promise<any>;
|
|
19480
20272
|
/**
|
|
19481
|
-
*
|
|
19482
|
-
*
|
|
19483
|
-
* @
|
|
19484
|
-
* @param block: khối được chọn và cần dịch chuyển
|
|
19485
|
-
* @param blocks_of_page: các khối đang ở trong trang hiện hữu
|
|
19486
|
-
* @param distance: khoảng cách cần dịch chuyển sang trái
|
|
19487
|
-
* @param last_limittop_block: vì đệ quy nhiều lần để tìm giá trị mới, lúc đầu truyền vào hàm giá trị null
|
|
19488
|
-
* @returns
|
|
20273
|
+
* @example
|
|
20274
|
+
* this.vhDesignAutoWeb.signoutEndUser();
|
|
20275
|
+
* @return void
|
|
19489
20276
|
*/
|
|
19490
|
-
|
|
20277
|
+
signoutEndUser(database: string): void;
|
|
19491
20278
|
/**
|
|
19492
|
-
|
|
19493
|
-
|
|
19494
|
-
|
|
19495
|
-
|
|
19496
|
-
|
|
19497
|
-
* @returns
|
|
19498
|
-
*/
|
|
19499
|
-
private findLimitRightBlocks_andShifting;
|
|
20279
|
+
* @example
|
|
20280
|
+
* let bool = this.vhDesignAutoWeb.checkSigninEndUser();
|
|
20281
|
+
* @return Boolean => true or false
|
|
20282
|
+
*/
|
|
20283
|
+
checkSigninEndUser(): any;
|
|
19500
20284
|
/**
|
|
19501
|
-
|
|
19502
|
-
|
|
19503
|
-
|
|
19504
|
-
|
|
19505
|
-
|
|
19506
|
-
* @param distance: khoảng cách cần dịch chuyển sang phải
|
|
19507
|
-
* @param last_limittop_block: vì đệ quy nhiều lần để tìm giá trị mới, lúc đầu truyền vào hàm giá trị null
|
|
19508
|
-
* @returns
|
|
19509
|
-
*/
|
|
19510
|
-
private findLastLimitRightBlock;
|
|
20285
|
+
* @example:
|
|
20286
|
+
* let enduser = this.vhDesignAutoWeb.getlocalEndUser();
|
|
20287
|
+
* @return object => obj = {}
|
|
20288
|
+
*/
|
|
20289
|
+
getlocalEndUser(): any;
|
|
19511
20290
|
/**
|
|
19512
|
-
* Hàm
|
|
19513
|
-
* Lưu ý: các block khác sẽ ko bị dịch theo hướng direction, mà đứng im
|
|
20291
|
+
* Hàm này cập nhật thông tin người dùng webapp (người dùng đã nhập vào webapp mới cập nhật được)
|
|
19514
20292
|
* @example:
|
|
19515
|
-
* this.vhDesignAutoWeb.
|
|
19516
|
-
|
|
19517
|
-
|
|
19518
|
-
|
|
19519
|
-
|
|
20293
|
+
* this.vhDesignAutoWeb.updateEndUser('5fb6780ca2148e09806c5b01', {name:'Nguyễn Văn A'})
|
|
20294
|
+
.then(rsp=>{
|
|
20295
|
+
console.log('updateEndUser', rsp);
|
|
20296
|
+
if(rsp.vcode === 0){
|
|
20297
|
+
//-----------your code-----------
|
|
20298
|
+
}
|
|
20299
|
+
},(error:any)=>{
|
|
20300
|
+
console.log('error', error)
|
|
20301
|
+
})
|
|
20302
|
+
* @param value : object
|
|
20303
|
+
* @return Promise => rsp ={vcode, msg, data(undefined)} / error
|
|
20304
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20305
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20306
|
+
* vcode == 0: success
|
|
20307
|
+
* vcode == 2: wrong projectname
|
|
20308
|
+
*/
|
|
20309
|
+
updateEndUser(database: string, value: object): Promise<unknown>;
|
|
20310
|
+
/**
|
|
20311
|
+
* Hàm này xóa email người dùng webapp (người dùng đã nhập vào webapp mới xóa được)
|
|
20312
|
+
* @example:
|
|
20313
|
+
* this.vhDesignAutoWeb.deleteEndUser()
|
|
20314
|
+
.then(response=>{
|
|
20315
|
+
console.log('response', response);
|
|
20316
|
+
if(response.vcode === 0){
|
|
20317
|
+
//-----------your code-----------
|
|
20318
|
+
//thoat ra trang chưa đăng nhập
|
|
20319
|
+
}
|
|
20320
|
+
},(error:any)=>{
|
|
20321
|
+
console.log('error', error)
|
|
20322
|
+
})
|
|
20323
|
+
* @return Promise object => response = {vcode, msg}
|
|
20324
|
+
* vcode == 0: Deleted successfully
|
|
20325
|
+
*/
|
|
20326
|
+
deleteEndUser(database: string): Promise<unknown>;
|
|
20327
|
+
/**
|
|
20328
|
+
* Hàm này người thiết kế ở (vhuserweb) tạo tài khoản cho khách hàng của họ ở (vhdevweb)
|
|
20329
|
+
* @example:
|
|
20330
|
+
* this.vhDesignAutoWeb.signUpWebAppOwner('huyleduc92', '123456', '+84909925359',{})
|
|
20331
|
+
.then((owner)=>{
|
|
20332
|
+
console.log('signUpWebAppOwner', owner);
|
|
20333
|
+
},(error:any)=>{
|
|
20334
|
+
console.log('error', error);
|
|
20335
|
+
})
|
|
20336
|
+
* @param email
|
|
20337
|
+
* @param password
|
|
20338
|
+
* @param phoneNumber
|
|
20339
|
+
* @param info
|
|
20340
|
+
* @return Promise => owner={}
|
|
19520
20341
|
*/
|
|
19521
|
-
|
|
19522
|
-
|
|
19523
|
-
|
|
19524
|
-
|
|
19525
|
-
private findLimitRightBlock;
|
|
19526
|
-
/****************************************************************************************/
|
|
20342
|
+
signUpWebAppOwner(email: string, password: string, phoneNumber: any, info: any): Promise<unknown>;
|
|
20343
|
+
detailPage: any;
|
|
20344
|
+
detailPage_byScroll: any;
|
|
20345
|
+
detailFreeBlock: any;
|
|
19527
20346
|
/**
|
|
19528
|
-
*
|
|
20347
|
+
* vhDesignAutoWeb
|
|
20348
|
+
* @param _this
|
|
20349
|
+
* @param scrollTop
|
|
19529
20350
|
*/
|
|
19530
|
-
|
|
20351
|
+
displayBocksOfPage_byScroll(_this: any, scrollTop: number): void;
|
|
19531
20352
|
/**
|
|
19532
|
-
*
|
|
20353
|
+
* vhDesignAutoWeb
|
|
20354
|
+
* @param _this
|
|
20355
|
+
* @param scrollTop
|
|
20356
|
+
* @param refresh
|
|
19533
20357
|
*/
|
|
19534
|
-
|
|
20358
|
+
displayBocksOfPage_byScroll_toEnd(_this: any, scrollTop: number, refresh: boolean): void;
|
|
19535
20359
|
/**
|
|
19536
|
-
*
|
|
20360
|
+
* vhDesignAutoWeb
|
|
20361
|
+
* @param id_page
|
|
20362
|
+
* @returns
|
|
19537
20363
|
*/
|
|
19538
|
-
|
|
20364
|
+
getDetailPage(id_page: any): Promise<unknown>;
|
|
20365
|
+
getDetailFreeBlocks(): Promise<unknown>;
|
|
19539
20366
|
/**
|
|
19540
|
-
*
|
|
19541
|
-
* hoặc là null (vị trí đè lên là vị trí trông)
|
|
20367
|
+
* vhDesignAutoWeb
|
|
19542
20368
|
* @param id_block
|
|
19543
|
-
* @param x
|
|
19544
|
-
* @param y
|
|
19545
20369
|
* @returns
|
|
19546
20370
|
*/
|
|
19547
|
-
|
|
20371
|
+
getDetailFreeBlock(id_block: any): Promise<unknown>;
|
|
19548
20372
|
/**
|
|
19549
|
-
*
|
|
20373
|
+
* vhDesignAutoWeb
|
|
20374
|
+
* @param id_block
|
|
19550
20375
|
* @returns
|
|
19551
20376
|
*/
|
|
19552
|
-
|
|
20377
|
+
getDetailBlock(id_block: any): Promise<unknown>;
|
|
19553
20378
|
/**
|
|
19554
|
-
*
|
|
19555
|
-
*
|
|
19556
|
-
* @param _this
|
|
20379
|
+
* vhDesignAutoWeb
|
|
20380
|
+
* @param block
|
|
19557
20381
|
* @returns
|
|
19558
20382
|
*/
|
|
19559
|
-
|
|
19560
|
-
|
|
20383
|
+
getDetailBlock_byBlock(block: any): Promise<unknown>;
|
|
20384
|
+
getDetailObject(id_object: any): Promise<unknown>;
|
|
19561
20385
|
/**
|
|
19562
|
-
*
|
|
19563
|
-
*
|
|
19564
|
-
*
|
|
19565
|
-
|
|
19566
|
-
|
|
20386
|
+
* Hàm này trả về 1 object (có đủ thông tin object), trong mỗi object có trường objects (có đủ thông tin từng object)
|
|
20387
|
+
* @example
|
|
20388
|
+
* this.vhDesignAutoWeb.getDetailObject_byObject('00Tm41GNYN0aYbAtuncH')
|
|
20389
|
+
.then((object)=>{
|
|
20390
|
+
console.log('getDetailObject', object);
|
|
20391
|
+
}, error=>{
|
|
20392
|
+
console.log('error', error);
|
|
20393
|
+
})
|
|
20394
|
+
* @param id_object
|
|
20395
|
+
* @return Promise => page = {}
|
|
20396
|
+
*/
|
|
20397
|
+
getDetailObject_byObject(object: any): Promise<unknown>;
|
|
20398
|
+
/**
|
|
20399
|
+
* vhDesignAutoWeb
|
|
19567
20400
|
*/
|
|
19568
|
-
|
|
20401
|
+
startSocketDatabase(): void;
|
|
20402
|
+
private checkModifiedType;
|
|
20403
|
+
private addBlockOrObject_fromDetailPage;
|
|
19569
20404
|
/**
|
|
19570
|
-
*
|
|
19571
|
-
* object trong block, object trong object, và có thể qua rất nhiều cấp, do đó cần hàm này để tìm ra object đó,
|
|
19572
|
-
* cách tìm là duyệt qua từng block đến từng object
|
|
19573
|
-
* @param block
|
|
19574
|
-
* @param id_object
|
|
19575
|
-
* @returns Promise => trả về object có _id là id_object hoặc null(ko tìm thấy)
|
|
20405
|
+
* Thên Block hoặc Object nhân bản vào detailpage
|
|
19576
20406
|
*/
|
|
19577
|
-
|
|
20407
|
+
private addCloneBlockOrObject_fromDetailPage;
|
|
20408
|
+
private deleteCloneBlockOrObject_fromDetailPage;
|
|
20409
|
+
private updateBlockOrObject_fromDetailPage;
|
|
20410
|
+
private deleteBlockOrObject_fromDetailPage;
|
|
20411
|
+
stopSocketDatabase(): void;
|
|
20412
|
+
/**
|
|
20413
|
+
* @example SET:
|
|
20414
|
+
* this.vhDesignAutoWeb.localStorageSET('local_name', {a=1, b='hai'});
|
|
20415
|
+
* this.vhDesignAutoWeb.localStorageSET('local_name', 15000);
|
|
20416
|
+
* this.vhDesignAutoWeb.localStorageSET('local_name', 'muoi lam nghin dong');
|
|
20417
|
+
* this.vhDesignAutoWeb.localStorageSET('local_name', null);
|
|
20418
|
+
* @returns
|
|
20419
|
+
*/
|
|
20420
|
+
localStorageSET(name: string, value: any): void;
|
|
20421
|
+
/**
|
|
20422
|
+
* @example GET:
|
|
20423
|
+
* let object = this.vhDesignAutoWeb.localStorageGET('local_name');
|
|
20424
|
+
* @returns
|
|
20425
|
+
*/
|
|
20426
|
+
localStorageGET(name: string): any;
|
|
19578
20427
|
/**
|
|
19579
20428
|
* @example:
|
|
19580
|
-
* this.vhDesignAutoWeb.
|
|
19581
|
-
|
|
19582
|
-
|
|
19583
|
-
|
|
19584
|
-
|
|
19585
|
-
}
|
|
19586
|
-
|
|
19587
|
-
|
|
19588
|
-
|
|
19589
|
-
|
|
19590
|
-
|
|
19591
|
-
|
|
19592
|
-
* @
|
|
19593
|
-
*
|
|
19594
|
-
|
|
19595
|
-
|
|
20429
|
+
* this.vhDesignAutoWeb.createIndexes('atw_products', {name_textsearch:'text'})
|
|
20430
|
+
.then((obj:any)=>{
|
|
20431
|
+
console.log('createIndexes', obj);
|
|
20432
|
+
}, error=>{
|
|
20433
|
+
reject(error)
|
|
20434
|
+
})
|
|
20435
|
+
* @param colname
|
|
20436
|
+
* @param index
|
|
20437
|
+
* @return null or object
|
|
20438
|
+
*/
|
|
20439
|
+
createIndexes(colname: string, index: any): Promise<unknown>;
|
|
20440
|
+
/**
|
|
20441
|
+
* @example:
|
|
20442
|
+
* this.vhDesignAutoWeb.addBranch({name:'Chi nhánh 2'})
|
|
20443
|
+
.then((rsp:any)=>{
|
|
20444
|
+
if(rsp.vcode === 0){
|
|
20445
|
+
let branch = rsp.data;
|
|
20446
|
+
}
|
|
20447
|
+
}, error=>{
|
|
20448
|
+
reject(error)
|
|
20449
|
+
})
|
|
20450
|
+
* @param data
|
|
20451
|
+
* @return Promise => rsp ={vcode, msg, data(object)} / error
|
|
20452
|
+
* @notice : hàm này chỉ add được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập
|
|
20453
|
+
* vcode == 0: success
|
|
20454
|
+
* vcode == 11: 'not logged in'
|
|
20455
|
+
*/
|
|
20456
|
+
addBranch(data: any): Promise<unknown>;
|
|
20457
|
+
/**
|
|
20458
|
+
* @example
|
|
20459
|
+
* this.vhDesignAutoWeb.getbranchs()
|
|
20460
|
+
.then((branchs)=>{
|
|
20461
|
+
console.log('getbranchs', branchs);
|
|
20462
|
+
})
|
|
20463
|
+
* @return Promise => array(object) = [{},{},..]
|
|
20464
|
+
*/
|
|
20465
|
+
getbranchs(): Promise<unknown>;
|
|
20466
|
+
/**
|
|
20467
|
+
* @example:
|
|
20468
|
+
* let branch = this.vhDesignAutoWeb.getlocalBranch('5fb6780ca2148e09806c5b01');
|
|
20469
|
+
* @param id_branch
|
|
20470
|
+
* @return Object => obj = {} or null
|
|
19596
20471
|
*/
|
|
19597
|
-
|
|
20472
|
+
getlocalBranch(id_branch: any): any;
|
|
19598
20473
|
/**
|
|
19599
20474
|
* @example:
|
|
19600
|
-
* this.vhDesignAutoWeb.
|
|
19601
|
-
|
|
19602
|
-
console.log('response', response);
|
|
19603
|
-
if(response.vcode === 0){
|
|
19604
|
-
//-----------your code 0-----------
|
|
19605
|
-
}else if(response.vcode === 1){
|
|
19606
|
-
//-----------your code 1-----------
|
|
19607
|
-
}
|
|
19608
|
-
},(error:any)=>{
|
|
19609
|
-
console.log('error', error)
|
|
19610
|
-
})
|
|
19611
|
-
* @param db_webapp
|
|
19612
|
-
* @param hosting
|
|
19613
|
-
* @return Promise object => response = {vcode, msg}
|
|
19614
|
-
* vcode == 0: Message sent to email address successfully
|
|
19615
|
-
* vcode == 1: Email address does not exist
|
|
19616
|
-
* vcode == 11: 'not logged in'
|
|
20475
|
+
* let branchs = this.vhDesignAutoWeb.getlocalBranchs();
|
|
20476
|
+
* @return Array(object) => array = [{},{},...]
|
|
19617
20477
|
*/
|
|
19618
|
-
|
|
20478
|
+
getlocalBranchs(): any[];
|
|
20479
|
+
/**
|
|
20480
|
+
* @example:
|
|
20481
|
+
* this.vhDesignAutoWeb.vietqr_generateQR({})
|
|
20482
|
+
.then((rsp)=>{
|
|
20483
|
+
if(rsp.vcode === 0){
|
|
20484
|
+
console.log('dynamic_addDoc_fromDatabase', rsp.data);
|
|
20485
|
+
}
|
|
20486
|
+
}, error=>{
|
|
20487
|
+
console.log('error', error);
|
|
20488
|
+
})
|
|
20489
|
+
* @param colname
|
|
20490
|
+
* @param data
|
|
20491
|
+
* @return Promise => rsp ={vcode, msg, data(img_base64)} / error
|
|
20492
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20493
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20494
|
+
* vcode == 0: success
|
|
20495
|
+
*/
|
|
20496
|
+
vietqr_generateQR(data: any): Promise<unknown>;
|
|
19619
20497
|
/**
|
|
19620
20498
|
* @example:
|
|
19621
|
-
* this.vhDesignAutoWeb.
|
|
19622
|
-
|
|
19623
|
-
|
|
19624
|
-
|
|
19625
|
-
|
|
19626
|
-
|
|
19627
|
-
|
|
20499
|
+
* this.vhDesignAutoWeb.admin_dynamic_addDoc('atw_pages',{name:name: 'Quảng cáo 1'})
|
|
20500
|
+
.then((rsp)=>{
|
|
20501
|
+
if(rsp.vcode === 0){
|
|
20502
|
+
console.log('admin_dynamic_addDoc', rsp.data);
|
|
20503
|
+
}
|
|
20504
|
+
}, error=>{
|
|
20505
|
+
console.log('error', error);
|
|
20506
|
+
})
|
|
20507
|
+
* @param colname
|
|
20508
|
+
* @param data
|
|
20509
|
+
* @return Promise => rsp ={vcode, msg, data(object)} / error
|
|
20510
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20511
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20512
|
+
* vcode == 0: success
|
|
20513
|
+
* vcode == 11: 'not logged in'
|
|
20514
|
+
*/
|
|
20515
|
+
admin_dynamic_addDoc(colname: string, data: object): Promise<unknown>;
|
|
20516
|
+
/**
|
|
20517
|
+
* @example:
|
|
20518
|
+
* this.vhDesignAutoWeb.admin_dynamic_updateDoc('categories', '5fb6780ca2148e09806c5b01', {name: 'Quảng cáo 1'})
|
|
20519
|
+
.then((rsp:any)=>{
|
|
20520
|
+
if(rsp.vcode === 0){
|
|
20521
|
+
console.log('admin_dynamic_updateDoc succeed');
|
|
20522
|
+
}
|
|
20523
|
+
}, error=>{
|
|
20524
|
+
reject(error)
|
|
20525
|
+
})
|
|
20526
|
+
* @param colname
|
|
20527
|
+
* @param id_doc
|
|
20528
|
+
* @param data
|
|
20529
|
+
* @return Promise => rsp ={vcode, msg, data(true or false)} / error
|
|
20530
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20531
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20532
|
+
* vcode == 0: success
|
|
20533
|
+
* vcode == 11: 'not logged in'
|
|
20534
|
+
*/
|
|
20535
|
+
admin_dynamic_updateDoc(colname: string, id_doc: string, value: object): Promise<unknown>;
|
|
20536
|
+
/**
|
|
20537
|
+
* @example:
|
|
20538
|
+
* this.vhDesignAutoWeb.admin_dynamic_deleteDoc('categories', '5fb67fda87c0f21d484cbdf3')
|
|
20539
|
+
.then((rsp:any)=>{
|
|
20540
|
+
if(rsp.vcode === 0){
|
|
20541
|
+
console.log('admin_dynamic_deleteDoc succeed');
|
|
19628
20542
|
}
|
|
19629
|
-
|
|
19630
|
-
|
|
19631
|
-
|
|
19632
|
-
|
|
19633
|
-
|
|
19634
|
-
|
|
19635
|
-
|
|
19636
|
-
|
|
19637
|
-
|
|
19638
|
-
|
|
19639
|
-
|
|
20543
|
+
}, error=>{
|
|
20544
|
+
reject(error)
|
|
20545
|
+
})
|
|
20546
|
+
* @param colname
|
|
20547
|
+
* @param id_doc
|
|
20548
|
+
* @return Promise => response.data ={vcode, msg, data(true or false)} / error
|
|
20549
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20550
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20551
|
+
* vcode == 0: success
|
|
20552
|
+
* vcode == 11: 'not logged in'
|
|
20553
|
+
*/
|
|
20554
|
+
admin_dynamic_deleteDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
19640
20555
|
/**
|
|
19641
|
-
|
|
19642
|
-
|
|
19643
|
-
|
|
19644
|
-
|
|
19645
|
-
|
|
19646
|
-
|
|
19647
|
-
|
|
19648
|
-
|
|
19649
|
-
|
|
19650
|
-
|
|
19651
|
-
|
|
19652
|
-
|
|
19653
|
-
|
|
19654
|
-
|
|
19655
|
-
|
|
19656
|
-
|
|
19657
|
-
|
|
19658
|
-
|
|
19659
|
-
|
|
19660
|
-
|
|
19661
|
-
deployWebAppsource_toPackage(database: string): Promise<any>;
|
|
20556
|
+
* Hàm này lấy về dữ liệu động trong database (ko có sẳn trong service(RAM)) như: khách hàng, đơn hàng...
|
|
20557
|
+
* Dữ liệu này quan trọng nên nhân viên quản trị hoặc khách hàng phải đăng nhập mới get về được
|
|
20558
|
+
* @example
|
|
20559
|
+
* this.vhDesignAutoWeb.admin_dynamic_getDoc('atw_customers', '5fb67fda87c0f21d484cbdf3')
|
|
20560
|
+
.then((rsp)=>{
|
|
20561
|
+
if(rsp.vcode === 0){
|
|
20562
|
+
console.log('admin_dynamic_getDoc', rsp.data);
|
|
20563
|
+
}
|
|
20564
|
+
},(error:any)=>{
|
|
20565
|
+
console.log('error', error)
|
|
20566
|
+
})
|
|
20567
|
+
* @param colname
|
|
20568
|
+
* @param id_doc
|
|
20569
|
+
* @return Promise => response.data ={vcode, msg, data(object or null)} / error
|
|
20570
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20571
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20572
|
+
* vcode == 0: success
|
|
20573
|
+
* vcode == 11: 'not logged in'
|
|
20574
|
+
*/
|
|
20575
|
+
admin_dynamic_getDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
19662
20576
|
/**
|
|
19663
|
-
|
|
19664
|
-
|
|
19665
|
-
|
|
19666
|
-
|
|
19667
|
-
|
|
19668
|
-
|
|
19669
|
-
|
|
19670
|
-
|
|
19671
|
-
|
|
19672
|
-
}
|
|
19673
|
-
},(error:any)=>{
|
|
20577
|
+
* @example:
|
|
20578
|
+
* this.vhDesignAutoWeb.admin_dynamic_getDocs_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},0)
|
|
20579
|
+
.then(rsp=>{
|
|
20580
|
+
console.log('admin_dynamic_getDocs_byFields', rsp);
|
|
20581
|
+
if(rsp.vcode === 0){
|
|
20582
|
+
//-----------your code-----------
|
|
20583
|
+
let products = rsp.data;
|
|
20584
|
+
}
|
|
20585
|
+
},(error:any)=>{
|
|
19674
20586
|
console.log('error', error)
|
|
19675
|
-
|
|
19676
|
-
|
|
19677
|
-
|
|
19678
|
-
|
|
19679
|
-
|
|
19680
|
-
|
|
19681
|
-
|
|
19682
|
-
|
|
20587
|
+
})
|
|
20588
|
+
* @param colname
|
|
20589
|
+
* @param query
|
|
20590
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
20591
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
20592
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
20593
|
+
* @return Promise => response.data ={vcode, msg, data(array(object) = [{},{},..])} / error
|
|
20594
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20595
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20596
|
+
* vcode == 0: success
|
|
20597
|
+
* vcode == 11: 'not logged in'
|
|
20598
|
+
*/
|
|
20599
|
+
admin_dynamic_getDocs_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19683
20600
|
/**
|
|
19684
20601
|
* @example:
|
|
19685
|
-
* this.vhDesignAutoWeb.
|
|
19686
|
-
|
|
20602
|
+
* this.vhDesignAutoWeb.admin_dynamic_getDocs_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
20603
|
+
.then(response=>{
|
|
19687
20604
|
console.log('response', response);
|
|
19688
20605
|
if(response.vcode === 0){
|
|
19689
|
-
//-----------your code
|
|
19690
|
-
let
|
|
19691
|
-
}else if(response.vcode === 1){
|
|
19692
|
-
//-----------your code 1-----------
|
|
19693
|
-
}else if(response.vcode === 2){
|
|
19694
|
-
//-----------your code 2-----------
|
|
19695
|
-
}else if(response.vcode === 3){
|
|
19696
|
-
//-----------your code 3-----------
|
|
20606
|
+
//-----------your code-----------
|
|
20607
|
+
let products = response.data;
|
|
19697
20608
|
}
|
|
19698
20609
|
},(error:any)=>{
|
|
19699
|
-
console.log('error', error)
|
|
19700
|
-
})
|
|
19701
|
-
* @param email
|
|
19702
|
-
* @param oldpassword
|
|
19703
|
-
* @param newpassword
|
|
19704
|
-
* @return Promise object => response = {vcode, msg}
|
|
19705
|
-
* vcode == 0: Message sent to email address successfully
|
|
19706
|
-
* vcode == 1: Email address does not exist
|
|
19707
|
-
* vcode == 2: wrong oldpassword
|
|
19708
|
-
* vcode == 3: please reset your password
|
|
19709
|
-
*/
|
|
19710
|
-
changePasswordEndUser_byEmail(database: string, email: string, oldpassword: string, newpassword: string): Promise<any>;
|
|
19711
|
-
/**
|
|
19712
|
-
* @example:
|
|
19713
|
-
* this.vhDesignAutoWeb.signupEndUser_byEmail('salesf110@gmail.com','h674567',{})
|
|
19714
|
-
.then(rsp=>{
|
|
19715
|
-
console.log('signupEndUser_byEmail', rsp);
|
|
19716
|
-
if(rsp.vcode === 0){
|
|
19717
|
-
//-----------your code 1-----------
|
|
19718
|
-
let enduser = rsp.data;
|
|
19719
|
-
}else if(rsp.vcode === 1){
|
|
19720
|
-
//-----------your code 2-----------
|
|
19721
|
-
}
|
|
19722
|
-
},(error:any)=>{
|
|
19723
|
-
console.log('error', error)
|
|
19724
|
-
})
|
|
19725
|
-
* @param email
|
|
19726
|
-
* @param password
|
|
19727
|
-
* @param info : thông tin của enduser
|
|
19728
|
-
* @return Promise object => rsp = {vcode, msg, data}
|
|
19729
|
-
* vcode == 0: User account registered successful
|
|
19730
|
-
* vcode == 1: User Email already exists
|
|
19731
|
-
* @notice : sau khi đăng ký thành công, người dùng phải vào email xác nhận xác nhận việc đăng ký này
|
|
19732
|
-
*/
|
|
19733
|
-
signupEndUser_byEmail(database: string, email: string, password: string, info: object): Promise<any>;
|
|
19734
|
-
/**
|
|
19735
|
-
* @example:
|
|
19736
|
-
* this.vhDesignAutoWeb.signinEndUser_byEmail('salesf110@gmail.com','h674567')
|
|
19737
|
-
.then(response=>{
|
|
19738
|
-
console.log('response', response);
|
|
19739
|
-
if(response.vcode === 0){
|
|
19740
|
-
//-----------your code 0-----------
|
|
19741
|
-
let user = response.data;
|
|
19742
|
-
}else if(response.vcode === 1){
|
|
19743
|
-
//-----------your code 1-----------
|
|
19744
|
-
}else if(response.vcode === 2){
|
|
19745
|
-
//-----------your code 2-----------
|
|
19746
|
-
}else if(response.vcode === 3){
|
|
19747
|
-
//-----------your code 3-----------
|
|
19748
|
-
}else if(response.vcode === 4){
|
|
19749
|
-
//-----------your code 4-----------
|
|
19750
|
-
}
|
|
19751
|
-
},(error:any)=>{
|
|
19752
20610
|
console.log('error', error)
|
|
19753
|
-
|
|
19754
|
-
|
|
19755
|
-
|
|
19756
|
-
|
|
19757
|
-
|
|
19758
|
-
|
|
19759
|
-
|
|
19760
|
-
|
|
19761
|
-
|
|
19762
|
-
|
|
19763
|
-
|
|
20611
|
+
})
|
|
20612
|
+
* @param colname
|
|
20613
|
+
* @param query
|
|
20614
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
20615
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
20616
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
20617
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
20618
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
20619
|
+
* vcode == 0: success
|
|
20620
|
+
* vcode == 11: 'not logged in'
|
|
20621
|
+
*/
|
|
20622
|
+
admin_dynamic_getDocs_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19764
20623
|
/**
|
|
19765
|
-
|
|
19766
|
-
|
|
19767
|
-
.then(
|
|
19768
|
-
|
|
19769
|
-
|
|
19770
|
-
//-----------your code 0-----------
|
|
19771
|
-
let user = response.data;
|
|
19772
|
-
}else if(response.vcode === 1){
|
|
19773
|
-
//-----------your code 1-----------
|
|
19774
|
-
}else if(response.vcode === 2){
|
|
19775
|
-
//-----------your code 2-----------
|
|
19776
|
-
}else if(response.vcode === 3){
|
|
19777
|
-
//-----------your code 3-----------
|
|
19778
|
-
}else if(response.vcode === 4){
|
|
19779
|
-
//-----------your code 4-----------
|
|
20624
|
+
* @example:
|
|
20625
|
+
* this.vhDesignAutoWeb.enduser_dynamic_addDoc('atw_pages',{name:name: 'Quảng cáo 1'})
|
|
20626
|
+
.then((rsp)=>{
|
|
20627
|
+
if(rsp.vcode === 0){
|
|
20628
|
+
console.log('enduser_dynamic_addDoc', rsp.data);
|
|
19780
20629
|
}
|
|
19781
|
-
},
|
|
19782
|
-
console.log('error', error)
|
|
20630
|
+
}, error=>{
|
|
20631
|
+
console.log('error', error);
|
|
19783
20632
|
})
|
|
19784
|
-
* @
|
|
19785
|
-
*
|
|
19786
|
-
* vcode
|
|
19787
|
-
*
|
|
19788
|
-
*
|
|
19789
|
-
* vcode ==
|
|
20633
|
+
* @param colname
|
|
20634
|
+
* @param data
|
|
20635
|
+
* @return Promise => rsp ={vcode, msg, data(object)} / error
|
|
20636
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20637
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20638
|
+
* vcode == 0: success
|
|
20639
|
+
* vcode == 11: 'not logged in'
|
|
19790
20640
|
*/
|
|
19791
|
-
|
|
19792
|
-
getHostings_byEndUser(database: string): Promise<any>;
|
|
19793
|
-
/**
|
|
19794
|
-
* vhDesignAutoWeb
|
|
19795
|
-
* @param hosting
|
|
19796
|
-
* @returns
|
|
19797
|
-
*/
|
|
19798
|
-
createHosting_byEndUser(hosting: string): Promise<any>;
|
|
19799
|
-
removeHosting_byEndUser(hosting: string): Promise<any>;
|
|
20641
|
+
enduser_dynamic_addDoc(colname: string, data: object): Promise<unknown>;
|
|
19800
20642
|
/**
|
|
19801
|
-
|
|
19802
|
-
|
|
19803
|
-
|
|
19804
|
-
|
|
19805
|
-
|
|
20643
|
+
* @example:
|
|
20644
|
+
* this.vhDesignAutoWeb.enduser_dynamic_updateDoc('categories', '5fb6780ca2148e09806c5b01', {name: 'Quảng cáo 1'})
|
|
20645
|
+
.then((rsp:any)=>{
|
|
20646
|
+
if(rsp.vcode === 0){
|
|
20647
|
+
console.log('enduser_dynamic_updateDoc succeed');
|
|
20648
|
+
}
|
|
20649
|
+
}, error=>{
|
|
20650
|
+
reject(error)
|
|
20651
|
+
})
|
|
20652
|
+
* @param colname
|
|
20653
|
+
* @param id_doc
|
|
20654
|
+
* @param data
|
|
20655
|
+
* @return Promise => rsp ={vcode, msg, data(true or false)} / error
|
|
20656
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20657
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20658
|
+
* vcode == 0: success
|
|
20659
|
+
* vcode == 11: 'not logged in'
|
|
20660
|
+
*/
|
|
20661
|
+
enduser_dynamic_updateDoc(colname: string, id_doc: string, value: object): Promise<unknown>;
|
|
19806
20662
|
/**
|
|
19807
|
-
|
|
19808
|
-
|
|
19809
|
-
|
|
20663
|
+
* @example:
|
|
20664
|
+
* this.vhDesignAutoWeb.enduser_dynamic_deleteDoc('categories', '5fb67fda87c0f21d484cbdf3')
|
|
20665
|
+
.then((rsp:any)=>{
|
|
20666
|
+
if(rsp.vcode === 0){
|
|
20667
|
+
console.log('enduser_dynamic_deleteDoc succeed');
|
|
20668
|
+
}
|
|
20669
|
+
}, error=>{
|
|
20670
|
+
reject(error)
|
|
20671
|
+
})
|
|
20672
|
+
* @param colname
|
|
20673
|
+
* @param id_doc
|
|
20674
|
+
* @return Promise => response.data ={vcode, msg, data(true or false)} / error
|
|
20675
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20676
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20677
|
+
* vcode == 0: success
|
|
20678
|
+
* vcode == 11: 'not logged in'
|
|
19810
20679
|
*/
|
|
19811
|
-
|
|
20680
|
+
enduser_dynamic_deleteDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
19812
20681
|
/**
|
|
19813
|
-
|
|
19814
|
-
|
|
19815
|
-
|
|
20682
|
+
* Hàm này lấy về dữ liệu động trong database (ko có sẳn trong service(RAM)) như: khách hàng, đơn hàng...
|
|
20683
|
+
* Dữ liệu này quan trọng nên nhân viên quản trị hoặc khách hàng phải đăng nhập mới get về được
|
|
20684
|
+
* @example
|
|
20685
|
+
* this.vhDesignAutoWeb.enduser_dynamic_getDoc('atw_customers', '5fb67fda87c0f21d484cbdf3')
|
|
20686
|
+
.then((rsp)=>{
|
|
20687
|
+
if(rsp.vcode === 0){
|
|
20688
|
+
console.log('enduser_dynamic_getDoc', rsp.data);
|
|
20689
|
+
}
|
|
20690
|
+
},(error:any)=>{
|
|
20691
|
+
console.log('error', error)
|
|
20692
|
+
})
|
|
20693
|
+
* @param colname
|
|
20694
|
+
* @param id_doc
|
|
20695
|
+
* @return Promise => response.data ={vcode, msg, data(object or null)} / error
|
|
20696
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20697
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20698
|
+
* vcode == 0: success
|
|
20699
|
+
* vcode == 11: 'not logged in'
|
|
19816
20700
|
*/
|
|
19817
|
-
|
|
20701
|
+
enduser_dynamic_getDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
19818
20702
|
/**
|
|
19819
|
-
|
|
19820
|
-
|
|
19821
|
-
* this.vhDesignAutoWeb.updateEndUser('5fb6780ca2148e09806c5b01', {name:'Nguyễn Văn A'})
|
|
20703
|
+
* @example:
|
|
20704
|
+
* this.vhDesignAutoWeb.enduser_dynamic_getDocs_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},0)
|
|
19822
20705
|
.then(rsp=>{
|
|
19823
|
-
console.log('
|
|
20706
|
+
console.log('enduser_dynamic_getDocs_byFields', rsp);
|
|
19824
20707
|
if(rsp.vcode === 0){
|
|
19825
20708
|
//-----------your code-----------
|
|
20709
|
+
let products = rsp.data;
|
|
19826
20710
|
}
|
|
19827
20711
|
},(error:any)=>{
|
|
19828
20712
|
console.log('error', error)
|
|
19829
20713
|
})
|
|
19830
|
-
|
|
19831
|
-
|
|
19832
|
-
|
|
19833
|
-
|
|
19834
|
-
|
|
19835
|
-
|
|
19836
|
-
|
|
19837
|
-
|
|
19838
|
-
|
|
19839
|
-
*
|
|
19840
|
-
* @example:
|
|
19841
|
-
* this.vhDesignAutoWeb.deleteEndUser()
|
|
19842
|
-
.then(response=>{
|
|
19843
|
-
console.log('response', response);
|
|
19844
|
-
if(response.vcode === 0){
|
|
19845
|
-
//-----------your code-----------
|
|
19846
|
-
//thoat ra trang chưa đăng nhập
|
|
19847
|
-
}
|
|
19848
|
-
},(error:any)=>{
|
|
19849
|
-
console.log('error', error)
|
|
19850
|
-
})
|
|
19851
|
-
* @return Promise object => response = {vcode, msg}
|
|
19852
|
-
* vcode == 0: Deleted successfully
|
|
20714
|
+
* @param colname
|
|
20715
|
+
* @param query
|
|
20716
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
20717
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
20718
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
20719
|
+
* @return Promise => response.data ={vcode, msg, data(array(object) = [{},{},..])} / error
|
|
20720
|
+
* @notice : hàm này chỉ get được dữ liệu sau khi khách hàng hoặc nhân viên đã đăng nhập, ở giao diện thiết kế dùng thư viện vhDesignAutoWeb
|
|
20721
|
+
* chưa thấy cần thiết kiểm tra bảo mật này nên chưa thêm dòng lệnh kiểm tra và trả về vcode=11
|
|
20722
|
+
* vcode == 0: success
|
|
20723
|
+
* vcode == 11: 'not logged in'
|
|
19853
20724
|
*/
|
|
19854
|
-
|
|
20725
|
+
enduser_dynamic_getDocs_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
19855
20726
|
/**
|
|
19856
|
-
*
|
|
19857
|
-
|
|
19858
|
-
|
|
19859
|
-
|
|
19860
|
-
|
|
20727
|
+
* @example:
|
|
20728
|
+
* this.vhDesignAutoWeb.enduser_dynamic_getDocs_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
20729
|
+
.then(response=>{
|
|
20730
|
+
console.log('response', response);
|
|
20731
|
+
if(response.vcode === 0){
|
|
20732
|
+
//-----------your code-----------
|
|
20733
|
+
let products = response.data;
|
|
20734
|
+
}
|
|
19861
20735
|
},(error:any)=>{
|
|
19862
|
-
|
|
20736
|
+
console.log('error', error)
|
|
19863
20737
|
})
|
|
19864
|
-
* @param email
|
|
19865
|
-
* @param password
|
|
19866
|
-
* @param phoneNumber
|
|
19867
|
-
* @param info
|
|
19868
|
-
* @return Promise => owner={}
|
|
19869
|
-
*/
|
|
19870
|
-
signUpWebAppOwner(email: string, password: string, phoneNumber: any, info: any): Promise<unknown>;
|
|
19871
|
-
detailPage: any;
|
|
19872
|
-
detailPage_byScroll: any;
|
|
19873
|
-
detailFreeBlock: any;
|
|
19874
|
-
/**
|
|
19875
|
-
* vhDesignAutoWeb
|
|
19876
|
-
* @param _this
|
|
19877
|
-
* @param scrollTop
|
|
19878
|
-
*/
|
|
19879
|
-
displayBocksOfPage_byScroll(_this: any, scrollTop: number): void;
|
|
19880
|
-
/**
|
|
19881
|
-
* vhDesignAutoWeb
|
|
19882
|
-
* @param _this
|
|
19883
|
-
* @param scrollTop
|
|
19884
|
-
* @param refresh
|
|
19885
|
-
*/
|
|
19886
|
-
displayBocksOfPage_byScroll_toEnd(_this: any, scrollTop: number, refresh: boolean): void;
|
|
19887
|
-
/**
|
|
19888
|
-
* vhDesignAutoWeb
|
|
19889
|
-
* @param id_page
|
|
19890
|
-
* @returns
|
|
19891
|
-
*/
|
|
19892
|
-
getDetailPage(id_page: any): Promise<unknown>;
|
|
19893
|
-
getDetailFreeBlocks(): Promise<unknown>;
|
|
19894
|
-
/**
|
|
19895
|
-
* vhDesignAutoWeb
|
|
19896
|
-
* @param id_block
|
|
19897
|
-
* @returns
|
|
19898
|
-
*/
|
|
19899
|
-
getDetailFreeBlock(id_block: any): Promise<unknown>;
|
|
19900
|
-
/**
|
|
19901
|
-
* vhDesignAutoWeb
|
|
19902
|
-
* @param id_block
|
|
19903
|
-
* @returns
|
|
19904
|
-
*/
|
|
19905
|
-
getDetailBlock(id_block: any): Promise<unknown>;
|
|
19906
|
-
/**
|
|
19907
|
-
* vhDesignAutoWeb
|
|
19908
|
-
* @param block
|
|
19909
|
-
* @returns
|
|
19910
|
-
*/
|
|
19911
|
-
getDetailBlock_byBlock(block: any): Promise<unknown>;
|
|
19912
|
-
getDetailObject(id_object: any): Promise<unknown>;
|
|
19913
|
-
/**
|
|
19914
|
-
* Hàm này trả về 1 object (có đủ thông tin object), trong mỗi object có trường objects (có đủ thông tin từng object)
|
|
19915
|
-
* @example
|
|
19916
|
-
* this.vhDesignAutoWeb.getDetailObject_byObject('00Tm41GNYN0aYbAtuncH')
|
|
19917
|
-
.then((object)=>{
|
|
19918
|
-
console.log('getDetailObject', object);
|
|
19919
|
-
}, error=>{
|
|
19920
|
-
console.log('error', error);
|
|
19921
|
-
})
|
|
19922
|
-
* @param id_object
|
|
19923
|
-
* @return Promise => page = {}
|
|
19924
|
-
*/
|
|
19925
|
-
getDetailObject_byObject(object: any): Promise<unknown>;
|
|
19926
|
-
/**
|
|
19927
|
-
* vhDesignAutoWeb
|
|
19928
|
-
*/
|
|
19929
|
-
startSocketDatabase(): void;
|
|
19930
|
-
private checkModifiedType;
|
|
19931
|
-
private addBlockOrObject_fromDetailPage;
|
|
19932
|
-
/**
|
|
19933
|
-
* Thên Block hoặc Object nhân bản vào detailpage
|
|
19934
|
-
*/
|
|
19935
|
-
private addCloneBlockOrObject_fromDetailPage;
|
|
19936
|
-
private deleteCloneBlockOrObject_fromDetailPage;
|
|
19937
|
-
private updateBlockOrObject_fromDetailPage;
|
|
19938
|
-
private deleteBlockOrObject_fromDetailPage;
|
|
19939
|
-
stopSocketDatabase(): void;
|
|
19940
|
-
/**
|
|
19941
|
-
* @example SET:
|
|
19942
|
-
* this.vhDesignAutoWeb.localStorageSET('local_name', {a=1, b='hai'});
|
|
19943
|
-
* this.vhDesignAutoWeb.localStorageSET('local_name', 15000);
|
|
19944
|
-
* this.vhDesignAutoWeb.localStorageSET('local_name', 'muoi lam nghin dong');
|
|
19945
|
-
* this.vhDesignAutoWeb.localStorageSET('local_name', null);
|
|
19946
|
-
* @returns
|
|
19947
|
-
*/
|
|
19948
|
-
localStorageSET(name: string, value: any): void;
|
|
19949
|
-
/**
|
|
19950
|
-
* @example GET:
|
|
19951
|
-
* let object = this.vhDesignAutoWeb.localStorageGET('local_name');
|
|
19952
|
-
* @returns
|
|
19953
|
-
*/
|
|
19954
|
-
localStorageGET(name: string): any;
|
|
19955
|
-
/**
|
|
19956
|
-
* @example:
|
|
19957
|
-
* this.vhDesignAutoWeb.createIndexes('atw_products', {name_textsearch:'text'})
|
|
19958
|
-
.then((obj:any)=>{
|
|
19959
|
-
console.log('createIndexes', obj);
|
|
19960
|
-
}, error=>{
|
|
19961
|
-
reject(error)
|
|
19962
|
-
})
|
|
19963
20738
|
* @param colname
|
|
19964
|
-
* @param
|
|
19965
|
-
* @
|
|
20739
|
+
* @param query
|
|
20740
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
20741
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
20742
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
20743
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
20744
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
20745
|
+
* vcode == 0: success
|
|
20746
|
+
* vcode == 11: 'not logged in'
|
|
19966
20747
|
*/
|
|
19967
|
-
|
|
20748
|
+
enduser_dynamic_getDocs_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
19968
20749
|
/**
|
|
19969
|
-
|
|
19970
|
-
|
|
19971
|
-
|
|
20750
|
+
* Hàm này lấy về dữ liệu động trong database (ko có sẳn trong service(RAM)) như: khách hàng, đơn hàng...
|
|
20751
|
+
* Dữ liệu này quan trọng nên nhân viên quản trị hoặc khách hàng phải đăng nhập mới get về được
|
|
20752
|
+
* @example
|
|
20753
|
+
* this.vhDesignAutoWeb.free_dynamic_getDoc('atw_customers', '5fb67fda87c0f21d484cbdf3')
|
|
20754
|
+
.then((rsp)=>{
|
|
19972
20755
|
if(rsp.vcode === 0){
|
|
19973
|
-
|
|
20756
|
+
console.log('free_dynamic_getDoc', rsp.data);
|
|
19974
20757
|
}
|
|
19975
|
-
},
|
|
19976
|
-
|
|
20758
|
+
},(error:any)=>{
|
|
20759
|
+
console.log('error', error)
|
|
19977
20760
|
})
|
|
19978
|
-
* @param
|
|
19979
|
-
* @
|
|
19980
|
-
* @
|
|
20761
|
+
* @param colname
|
|
20762
|
+
* @param id_doc
|
|
20763
|
+
* @return Promise => response.data ={vcode, msg, data(object or null)} / error
|
|
20764
|
+
* @notice : hàm này khách hàng (enduser) hoặc nhân viên (admin) ko đăng nhập vẫn get dữ liệu về đc, dùng hàm lấy dữ liệu về cho người duyệt website xem
|
|
19981
20765
|
* vcode == 0: success
|
|
19982
|
-
* vcode == 11: 'not logged in'
|
|
19983
20766
|
*/
|
|
19984
|
-
|
|
19985
|
-
/**
|
|
19986
|
-
* @example
|
|
19987
|
-
* this.vhDesignAutoWeb.getbranchs()
|
|
19988
|
-
.then((branchs)=>{
|
|
19989
|
-
console.log('getbranchs', branchs);
|
|
19990
|
-
})
|
|
19991
|
-
* @return Promise => array(object) = [{},{},..]
|
|
19992
|
-
*/
|
|
19993
|
-
getbranchs(): Promise<unknown>;
|
|
20767
|
+
free_dynamic_getDoc(colname: string, id_doc: string): Promise<unknown>;
|
|
19994
20768
|
/**
|
|
19995
20769
|
* @example:
|
|
19996
|
-
*
|
|
19997
|
-
|
|
19998
|
-
|
|
19999
|
-
|
|
20000
|
-
|
|
20770
|
+
* this.vhDesignAutoWeb.free_dynamic_getDocs_byFields('webapp_abouts', {name:{$eq:'name abc'}}, {},{},0)
|
|
20771
|
+
.then(rsp=>{
|
|
20772
|
+
console.log('free_dynamic_getDocs_byFields', rsp);
|
|
20773
|
+
if(rsp.vcode === 0){
|
|
20774
|
+
//-----------your code-----------
|
|
20775
|
+
let products = rsp.data;
|
|
20776
|
+
}
|
|
20777
|
+
},(error:any)=>{
|
|
20778
|
+
console.log('error', error)
|
|
20779
|
+
})
|
|
20780
|
+
* @param colname
|
|
20781
|
+
* @param query
|
|
20782
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
20783
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
20784
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
20785
|
+
* @return Promise => response.data ={vcode, msg, data(array(object) = [{},{},..])} / error
|
|
20786
|
+
* @notice : hàm này khách hàng (enduser) hoặc nhân viên (admin) ko đăng nhập vẫn get dữ liệu về đc, dùng hàm lấy dữ liệu về cho người duyệt website xem
|
|
20787
|
+
* vcode == 0: success
|
|
20788
|
+
*/
|
|
20789
|
+
free_dynamic_getDocs_byFields(colname: string, query: any, projection?: object, sort?: any, limit?: number): Promise<unknown>;
|
|
20001
20790
|
/**
|
|
20002
20791
|
* @example:
|
|
20003
|
-
*
|
|
20004
|
-
|
|
20005
|
-
|
|
20006
|
-
|
|
20792
|
+
* this.vhDesignAutoWeb.free_dynamic_getDocs_byFields_byPages('webapp_abouts', {name:{$eq:'name abc'}}, {},{},6,1)
|
|
20793
|
+
.then(response=>{
|
|
20794
|
+
console.log('response', response);
|
|
20795
|
+
if(response.vcode === 0){
|
|
20796
|
+
//-----------your code-----------
|
|
20797
|
+
let products = response.data;
|
|
20798
|
+
}
|
|
20799
|
+
},(error:any)=>{
|
|
20800
|
+
console.log('error', error)
|
|
20801
|
+
})
|
|
20802
|
+
* @param colname
|
|
20803
|
+
* @param query
|
|
20804
|
+
* @param projection — đang tìm hiểu, tạm thời để giá trị là {}
|
|
20805
|
+
* @param sort — null hoặc {}:không sắp xếp; {date:1}: sắp xếp theo ASC; {date:-1}: sắp xếp theo DESC
|
|
20806
|
+
* @param limit — null hoặc 0: không giới hạn record get về; 2: get về 2 record
|
|
20807
|
+
* @param page — null hoặc 0 hoặc 1: get về trang đầu tiên; 2: get về trang thứ 2
|
|
20808
|
+
* @notice : hàm này khách hàng (enduser) hoặc nhân viên (admin) ko đăng nhập vẫn get dữ liệu về đc, dùng hàm lấy dữ liệu về cho người duyệt website xem
|
|
20809
|
+
* @return Promise object => response = {vcode, msg, data(array), limit, page, totalpages}
|
|
20810
|
+
* vcode == 0: success
|
|
20811
|
+
*/
|
|
20812
|
+
free_dynamic_getDocs_byFields_byPages(colname: string, query: any, projection?: object, sort?: any, limit?: number, page?: number): Promise<unknown>;
|
|
20007
20813
|
/**
|
|
20008
20814
|
* @example:
|
|
20009
20815
|
* this.vhDesignAutoWeb.dynamic_addDoc_fromDatabase('atw_pages',{name:name: 'Quảng cáo 1'})
|