Commit b9fc064ccf1e3c593fddc7fdcf69297f1cb2c309

Authored by 小川 费
1 parent fafd085a
Exists in master

1

tools/sdk-share-tools-1.0.1.zip 0 → 100644
No preview for this file type
tools/sdk-share-tools-1.0.1/SDKTools.ts
@@ -1,49 +0,0 @@ @@ -1,49 +0,0 @@
1 -import ShareVideoTools, { ShareVideoKeys, ShareVideoType } from "./ShareVideoTools";  
2 -  
3 -/*  
4 -* SDK工具类库;  
5 -*/  
6 -export default class SDKTools {  
7 - // 判断PCSDK是否支持  
8 - static get isSupported() {  
9 - return typeof PCSDK === 'object';  
10 - }  
11 -  
12 - /**  
13 - * 检测普通不是返回值为Promise的 api接口:在浏览器中或其他不支持的平台不至于报错  
14 - * @param callback 接口 api函数  
15 - * @param defaltVal 返回的默认值  
16 - */  
17 - private static checkNormal<T>(callback: Function, defaltVal?: T): T {  
18 - if (!this.isSupported) return defaltVal;  
19 - return callback();  
20 - }  
21 -  
22 - /**  
23 - * 检测普返回值为Promise的 api接口:在浏览器中或其他不支持的平台不至于报错  
24 - * @param callback 接口 api函数  
25 - * @param defaltVal 返回的默认值  
26 - */  
27 - private static checkPromise(callback: Function, defaultVal: Promise<any> = Promise.resolve()): Promise<any> {  
28 - return this.checkNormal<Promise<any>>(callback, defaultVal);  
29 - }  
30 -  
31 - static getType(shareVideoKey: ShareVideoKeys): ShareVideoType {  
32 - return this.checkNormal(() => ShareVideoTools.getType(shareVideoKey), ShareVideoType.Share);  
33 - }  
34 -  
35 - static share(shareVideoKey: ShareVideoKeys, params?: any, opts?: any): void {  
36 - return this.checkNormal(() => ShareVideoTools.share(shareVideoKey, params, opts), null);  
37 - }  
38 -  
39 - static dispatch(shareVideoKey: ShareVideoKeys, params?: { type?: number, success?: Function, fail?: Function, context?: any }): void {  
40 - if (!this.isSupported)  
41 - return params && params.success && params.success.call(params.context || this);  
42 - else  
43 - return this.checkNormal(() => ShareVideoTools.dispatch(shareVideoKey, params), null);  
44 - }  
45 -  
46 - static dispatchType(shareVideoType: ShareVideoType, shareVideoKey: ShareVideoKeys, opts?: { success?: Function, fail?: Function, context?: any }): void {  
47 - return this.checkNormal(() => ShareVideoTools.dispatchType(shareVideoType, shareVideoKey, opts), null);  
48 - }  
49 -}  
50 \ No newline at end of file 0 \ No newline at end of file
tools/sdk-share-tools-1.0.1/ShareVideoTools.ts
@@ -1,150 +0,0 @@ @@ -1,150 +0,0 @@
1 -/*  
2 -* 分享与视频工具类;  
3 -*/  
4 -export default class ShareVideoTools {  
5 - /**  
6 - * @param key  
7 - * @param params  
8 - */  
9 - static getType(key: ShareVideoKeys): ShareVideoType {  
10 - return PCSDK.shareVideo.getType(key.toString());  
11 - }  
12 -  
13 - /**  
14 - * 普通分享,不进行处理回调  
15 - * @param key  
16 - * @param params 分享参数  
17 - * @param opts 扩展参数  
18 - */  
19 - static share(key: ShareVideoKeys, params: any, opts?: any) {  
20 - PCSDK.shareVideo.share(key.toString(), params, opts).then(ret => this.handleSuccess(ShareVideoFrom.Share, ret));  
21 - }  
22 -  
23 - /**  
24 - * 验证分享:可处理成功、失败  
25 - * @param key  
26 - * @param params  
27 - */  
28 - static dispatch(key: ShareVideoKeys, params?: { type?: number, success?: Function, fail?: Function, context?: any }) {  
29 - PCSDK.shareVideo.shareDispatch(key.toString(), this.buildParams(params));  
30 - }  
31 -  
32 - /**  
33 - * 可自定义类型的验证分享:例如后台配的shareVideoKey是分享,但是这个key临时想要看视频,可传递shareVideoType Video类型强制使用视频  
34 - * @param shareVideoType  
35 - * @param key  
36 - * @param params  
37 - */  
38 - static dispatchType(shareType: ShareVideoType, key: ShareVideoKeys, params?: { type?: number, success?: Function, fail?: Function, context?: any }) {  
39 - PCSDK.shareVideo.dispatchType(shareType, key.toString(), this.buildParams(params));  
40 - }  
41 -  
42 - /**  
43 - * 对参数进行处理  
44 - * @param params  
45 - */  
46 - private static buildParams(params: any = {}) {  
47 - let { isOveride } = params;  
48 - let { success, fail, context } = params;  
49 - // 设置成功处理  
50 - params = {  
51 - ...params,  
52 - success: (from: ShareVideoFrom, ret) => {  
53 - success && success.call(context, from, ret);  
54 - this.handleSuccess(from, ret);  
55 - }  
56 - };  
57 -  
58 - if (isOveride)  
59 - // 覆盖:失败默认处理  
60 - return {  
61 - ...params,  
62 - fail: (from: ShareVideoFrom, err) => {  
63 - fail && fail.call(context, from, err);  
64 - }  
65 - };  
66 - else  
67 - // 不覆盖:失败默认处理  
68 - return {  
69 - ...params,  
70 - fail: (from: ShareVideoFrom, err) => {  
71 - fail && fail.call(context, from, err);  
72 - this.handleError(from, err);  
73 - }  
74 - };  
75 - }  
76 -  
77 - /**  
78 - * 成功默认处理:分享和视频统计  
79 - * @param from 来源  
80 - * @param ret?  
81 - */  
82 - private static handleSuccess(from: ShareVideoFrom, ret: any | null) {  
83 - switch (from) {  
84 - case ShareVideoFrom.Share: // 同步分享  
85 - case ShareVideoFrom.ShareAysnc: // 异步分享  
86 - break;  
87 -  
88 - case ShareVideoFrom.Video: // 看视频  
89 - break;  
90 - }  
91 - }  
92 -  
93 - /**  
94 - * 失败默认设置(可覆盖)  
95 - * @param from 来源  
96 - * @param error: 失败消息对象  
97 - */  
98 - private static handleError(from: ShareVideoFrom, error: { code: number, msg: string } | null) {  
99 - if (!error) return;  
100 - // 开发者自定义处理 error msg  
101 - if (error.code) {  
102 - // wx.showToast({  
103 - // title: error.msg  
104 - // });  
105 - // ViewManager.I.showModal(ComTipFull, error.msg);  
106 - }  
107 - }  
108 -}  
109 -  
110 -// 分享视频类型(与后台一一对应)  
111 -export enum ShareVideoType {  
112 - None = -1, // -1无分享无视频  
113 - Share = 0, // 0同步分享  
114 - ShareAysnc = 1, // 1异步分享  
115 - ShareIntegral = 5, // 5分享积分  
116 - Video = 2, // 2看视频  
117 - VideoToShare = 3, // 3无视频则分享  
118 - VideoAndShare = 4, // 4视频和分享(控制分享和视频两个按钮的显示) ,  
119 -}  
120 -  
121 -// 分享或者视频来源  
122 -export enum ShareVideoFrom {  
123 - None, // 无分享  
124 - Share, // 同步分享  
125 - ShareAysnc, // 异步分享  
126 - Video // 看视频  
127 -}  
128 -  
129 -// 分享视频keysKeys  
130 -export enum ShareVideoKeys {  
131 - Forward = <any>'forward', // 右上角三点转发  
132 - CoinTip = <any>'coin_tip', // 金币不足弹出框  
133 - DiamondDouble = <any>'diamond_double', // 钻石再来一份  
134 - SuccessDouble = <any>'success_double', // 成功界面双倍  
135 - LevelUpDiamond = <any>'levelup_diamond', // 升级活动钻石  
136 - FailRewardDouble = <any>'fail_reward_double' // 失败获得双倍奖励  
137 -}  
138 -  
139 -// 分享和视频错误  
140 -export enum ShareVideoError {  
141 - VideoQuit = 1000, // { code: 1000, msg: '要看完视频哦!' },  
142 - VideoFail = 1001, // { code: 1001, msg: '加载视频广告失败!' },  
143 - VideoNotOpen = 1002, // { code: 1002, msg: '微信版本过低,暂不支持看视频!' },  
144 - VideoPlaying = 1003, // { code: 1003, msg: '正在观看视频中...' },  
145 - VideoInvalid = 999, // { code: 999, msg: '视频UID不存在!' },  
146 - ShareFail = 1004, // { code: 1004, msg: '失败,发给其他好友试试!' },  
147 - ShareSame = 1005, // { code: 1005, msg: '别总骚扰这个群,换个群分享吧!' },  
148 - ShareNotGroup = 1006, // { code: 1006, msg: '请分享到群哦!' }  
149 - ShareAsyncNotGroup = 1007 // { code: 1007, msg: '分享到群才能领取更多~' }  
150 -}  
151 \ No newline at end of file 0 \ No newline at end of file