我们的从事的大多数都是平凡工作。没有科学家在实验室科研的高科技创新,没有宇宙航天科技探索的奥秘。或许每天都做着重复单一的工作,或许很多岗位都被智能自动化机器给替代。14年之后,很多企业都转型成移动互联网企业,很多线下店铺都实现了线上支付功能。我们不断接触着新事物和被新事物洗礼。 那些不愿意改变,不愿意学习新事物的企业和个人 都慢慢退出了历史舞台。

图片

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#define len 9
void luoxuan(){
int arr[len][len];
//开始初始化,给数组赋值0
for(int i=0;i<len;i++){
for(int j=0;j<len;j++){
arr[i][j] = 0;
}
}

arr[0][0] = 1; //顶角确定了,我们可以算出第一行右边的数字
int circleTimes = len/2 + 1;
int circelIndex = 0; //圈的数量
//赋值过程
while(circleTimes>0){ //测试时候,每一圈结束可以打印出看一下:&& circelIndex <1
circelIndex ++;
printf("第%d圈\n",circelIndex);
for(int column = 1;column <= len-circelIndex; column++){ //往右排列
if(column >= circelIndex-1){
arr[circelIndex-1][column] = arr[circelIndex -1][column-1] + 1;
}
}

for(int row = circelIndex; row<= len-circelIndex; row++){ //往下排列,从第二行,第X-i 列开始
arr[row][len-circelIndex] = arr[row-1][len-circelIndex] + 1;
}

for(int column = len-circelIndex-1; column >= circelIndex-1; column--){ //往左排,下标递减1,值为后一个 + 1
arr[len-circelIndex][column] = arr[len-circelIndex][column+1] + 1;
}

for(int row =len-circelIndex-1; row > circelIndex-1; row--){ //往上排列
arr[row][circelIndex-1] = arr[row+1][circelIndex-1] + 1;
}

circleTimes--;
}

//输出二维数组
for(int i=0;i<len;i++){
for(int j=0;j<len;j++){
printf("%d\t",arr[i][j]);
}
printf("\n\n");
}
}

前言

SKU百度百科为 库存保有单位 (Stock keeping Unit 或者SKU)是对每一个产品和服务的唯一标示符。 也就是说sku 为商品对应的很多种类规格情况下的 库存,价格 各有不同。需要通过sku 这样一种组合结构存储这些计量值。
在移动电商时代,网购已然成为潮流。更是全民参与。每一年都有购物节 : 京东618 , 淘宝天猫双11, 双12 。 一个淘宝店家月销售额30万背后 ,他的商品sku有上千种。 一个卖橱柜的,小到抽屉,拉篮,五金 ,把手,螺丝钉 都可以细分成很小的SKU。移动电商商品背后的SKU种类的复杂性。可正是因为商品SKU的多样化,才能商家带来巨量的销售额。

从详情页认识SKU

C端sku选择

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
这个商品包含的SKU信息:{
规格类型:[{
尺寸:[XS, S, M, L,XL, XXL]
},{
颜色: [白色,珊瑚粉,草木绿]
}],
规格明细组合描述: {
XS-白色:{
图片: 图片url,
价格: ¥328,
库存: 188件,
扩展..字段: 值
},
其他规格组合:{
图片: 图片url,
价格: 价格..,
库存: 库存数量..,
扩展..字段: 值
}
}
}

时间在快马加鞭地前行,身边的人,在做的事,也都发生了变化;回顾过去一年,做过的项目不少,也经历了生命周期销毁的企业;那些盲目迭代没有思考力地堆砌功能对于用户来说是多余无用的,对于整个产品战略来说似乎渐渐步入深渊;过去一年的开发中,自己也变得被动,整个思考力和行为都被牵着走; “安分守己”一词 形容自己成了一个”标准“的职业码农,时间之河上,有一刻 似乎意识到脑洞齿轮已经生锈 转动缓慢,对,需要着手动起来了,起身,去做!

图片

抽奖功能模块源码
产品出发点
1、通过动态抽奖数据和排行激发用户抽奖消费;
2、通过技能和宝石等以及转盘的燃爆值,中奖率翻倍等等吸引用户;
3、根本上是为了激发用户活跃性以及刺激消费

技术难点
1、抽奖转盘分为两种转盘,业务逻辑分一个parentVC 管理两个 子 VC;
2、抽奖奖品服务端返回,显示在每一个扇形区域的中间,金额同似;
3、点击抽奖,拿到奖品id, 找出是在转盘中的哪个区域,让转盘指针停止在那一区域;
4、抽奖动态弹幕;
5、燃烧值 和 倒计时的控制;

业务操作说明
1、两个转盘,某个转盘点击开始抽奖 互不影响; 黄金转盘具有宝箱和技能;
2、每抽取一次,扣除相应的金额,如有中奖,则弹出中奖奖品;抽奖分为单次,十连抽,三十连抽等;
3、抽奖后产生记录;在记录中可看到每次抽奖消费情况;
4、转盘有燃烧值,当满时候,触发倒计时3分钟,倒计时内 中奖率将翻倍;
5、燃烧值每3秒刷新一次,当中途离开再次打开,则拿到最新倒计时显示;
6、弹幕从最新100条记录 每隔2秒随机生成一条记录;

模块设计
1、整个框架布局在一个 MainVC中控制转盘类型,请求余额,通知等刷新金额; 管理childVC ;
2、childVC 中 处理抽奖业务逻辑;UI 布局,抽奖请求, 燃烧值处理,弹幕处理;
3、其他功能性子View 单独自定义视图; 转盘视图,燃烧值进度视图,倒计时进度视图, 弹窗类视图;弹幕视图;
4、弹窗类视图 以一个ParentView公共视图容器 ,其中子视图由枚举参数值控制自定义;有玩法视图,记录视图,保险视图,技能视图,排行榜视图;